Bug 2442 - [ESF-Tools] New Table for Hazard Analysis

- First Commit of Task Based Hazard Analysis Table plugins

Change-Id: I889ef1705d73bc30e42529353aaae9c64605cd14
Signed-off-by: Saadia DHOUIB <saadia.dhouib@cea.fr>
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/.classpath b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/.classpath
new file mode 100644
index 0000000..e7a4ca0
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/.classpath
@@ -0,0 +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-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/.project b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/.project
new file mode 100644
index 0000000..6ba664a
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.polarsys.esf.riskanalysis.profile</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/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/.settings/org.eclipse.jdt.core.prefs b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0c68a61
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/META-INF/MANIFEST.MF b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..eb25091
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/META-INF/MANIFEST.MF
@@ -0,0 +1,20 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.polarsys.esf.riskanalysis.profile;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-ActivationPolicy: lazy
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.ecore;visibility:=reexport,
+ org.eclipse.uml2.types;visibility:=reexport,
+ org.eclipse.uml2.uml;visibility:=reexport,
+ org.eclipse.papyrus.uml.extensionpoints;bundle-version="1.3.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: org.polarsys.esf.riskanalysis,
+ org.polarsys.esf.riskanalysis.impl,
+ org.polarsys.esf.riskanalysis.util
+Automatic-Module-Name: org.polarsys.esf.riskanalysis.profile
+
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/build.properties b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/build.properties
new file mode 100644
index 0000000..4465407
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/build.properties
@@ -0,0 +1,10 @@
+#
+
+bin.includes = .,\
+               model/,\
+               META-INF/,\
+               plugin.xml,\
+               plugin.properties
+jars.compile.order = .
+source.. = src/
+output.. = bin/
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/model/TaskBasedRiskAnalysis.profile.di b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/model/TaskBasedRiskAnalysis.profile.di
new file mode 100644
index 0000000..247ed5e
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/model/TaskBasedRiskAnalysis.profile.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<architecture:ArchitectureDescription xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:architecture="http://www.eclipse.org/papyrus/infra/core/architecture" contextId="org.eclipse.papyrus.uml.architecture.Profile"/>
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/model/TaskBasedRiskAnalysis.profile.notation b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/model/TaskBasedRiskAnalysis.profile.notation
new file mode 100644
index 0000000..f774c04
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/model/TaskBasedRiskAnalysis.profile.notation
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram 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:id="_Vp5uUD9eEemSWsc0fABanw" type="PapyrusUMLProfileDiagram" name="Profile Diagram" measurementUnit="Pixel">
+  <children xmi:type="notation:Shape" xmi:id="_MnCOUEAcEemSWsc0fABanw" type="Stereotype_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_MnCOUkAcEemSWsc0fABanw" type="Stereotype_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_MnCOU0AcEemSWsc0fABanw" type="Stereotype_AttributeCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_oLH1cEAcEemSWsc0fABanw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="TaskBasedRiskAnalysis.profile.uml#_oK06gEAcEemSWsc0fABanw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_oLH1cUAcEemSWsc0fABanw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_u8uFEEAcEemSWsc0fABanw" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="TaskBasedRiskAnalysis.profile.uml#_u8bKIEAcEemSWsc0fABanw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_u8uFEUAcEemSWsc0fABanw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_HSmSUETUEemur4Ohd3RSdg" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="TaskBasedRiskAnalysis.profile.uml#_HSTXYETUEemur4Ohd3RSdg"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_HSmSUUTUEemur4Ohd3RSdg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_gvLaYETUEemur4Ohd3RSdg" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="TaskBasedRiskAnalysis.profile.uml#_gvCQcETUEemur4Ohd3RSdg"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_gvLaYUTUEemur4Ohd3RSdg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_kUc38ETUEemur4Ohd3RSdg" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="TaskBasedRiskAnalysis.profile.uml#_kUTG8ETUEemur4Ohd3RSdg"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_kUc38UTUEemur4Ohd3RSdg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_uVkXkETUEemur4Ohd3RSdg" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="TaskBasedRiskAnalysis.profile.uml#_uVbNoETUEemur4Ohd3RSdg"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_uVkXkUTUEemur4Ohd3RSdg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_xrETwETUEemur4Ohd3RSdg" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="TaskBasedRiskAnalysis.profile.uml#_xqxY0ETUEemur4Ohd3RSdg"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_xrETwUTUEemur4Ohd3RSdg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_2txYoETUEemur4Ohd3RSdg" type="Property_ClassAttributeLabel">
+        <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">
+        <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">
+        <element xmi:type="uml:Property" href="TaskBasedRiskAnalysis.profile.uml#_UxwwskTVEemur4Ohd3RSdg"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_V9CewUTaEemur4Ohd3RSdg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_V9fKsETaEemur4Ohd3RSdg" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="TaskBasedRiskAnalysis.profile.uml#_UxwwtETVEemur4Ohd3RSdg"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_V9fKsUTaEemur4Ohd3RSdg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_V9oUoETaEemur4Ohd3RSdg" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="TaskBasedRiskAnalysis.profile.uml#_UxwwsUTVEemur4Ohd3RSdg"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_V9oUoUTaEemur4Ohd3RSdg"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_V972oETaEemur4Ohd3RSdg" type="Property_ClassAttributeLabel">
+        <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">
+        <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">
+        <element xmi:type="uml:Property" href="TaskBasedRiskAnalysis.profile.uml#_1B8SsEUFEemrze-5W9aHHQ"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_1C1qkUUFEemrze-5W9aHHQ"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_hkoacEV-Eemrze-5W9aHHQ" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="TaskBasedRiskAnalysis.profile.uml#_hkLugEV-Eemrze-5W9aHHQ"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_hkoacUV-Eemrze-5W9aHHQ"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_tQu1MEV-Eemrze-5W9aHHQ" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="TaskBasedRiskAnalysis.profile.uml#_tQb6QEV-Eemrze-5W9aHHQ"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_tQu1MUV-Eemrze-5W9aHHQ"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_yP420EV-Eemrze-5W9aHHQ" type="Property_ClassAttributeLabel">
+        <element xmi:type="uml:Property" href="TaskBasedRiskAnalysis.profile.uml#_yPvs4EV-Eemrze-5W9aHHQ"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_yP420UV-Eemrze-5W9aHHQ"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_MnCOVEAcEemSWsc0fABanw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_MnCOVUAcEemSWsc0fABanw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_MnCOVkAcEemSWsc0fABanw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MnCOV0AcEemSWsc0fABanw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_MnCOWEAcEemSWsc0fABanw" type="Stereotype_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_MnCOWUAcEemSWsc0fABanw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_MnCOWkAcEemSWsc0fABanw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_MnCOW0AcEemSWsc0fABanw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MnCOXEAcEemSWsc0fABanw"/>
+    </children>
+    <element xmi:type="uml:Stereotype" href="TaskBasedRiskAnalysis.profile.uml#_Mm4dUEAcEemSWsc0fABanw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MnCOUUAcEemSWsc0fABanw" x="160" y="320"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_bPOikEUFEemrze-5W9aHHQ" type="Class_MetaclassShape">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bPOilEUFEemrze-5W9aHHQ" source="Stereotype_Annotation">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bPOilUUFEemrze-5W9aHHQ" key="StereotypeWithQualifiedNameList" value=""/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bPOilkUFEemrze-5W9aHHQ" key="StereotypeList" value="StandardProfile::Metaclass"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bPOil0UFEemrze-5W9aHHQ" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bPOimEUFEemrze-5W9aHHQ" key="PropStereoDisplay" value=""/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bPOimUUFEemrze-5W9aHHQ" key="StereotypePropertyLocation" value="Compartment"/>
+    </eAnnotations>
+    <children xmi:type="notation:DecorationNode" xmi:id="_bPOikkUFEemrze-5W9aHHQ" type="Class_MetaclassNameLabel"/>
+    <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bPOik0UFEemrze-5W9aHHQ" x="300" y="160"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_bPqnc0UFEemrze-5W9aHHQ" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_bPqndEUFEemrze-5W9aHHQ"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_bPqndkUFEemrze-5W9aHHQ" 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="_bPqndUUFEemrze-5W9aHHQ" x="820" y="320"/>
+  </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">
+    <owner xmi:type="uml:Profile" href="TaskBasedRiskAnalysis.profile.uml#_VoagkD9eEemSWsc0fABanw"/>
+  </styles>
+  <element xmi:type="uml:Profile" href="TaskBasedRiskAnalysis.profile.uml#_VoagkD9eEemSWsc0fABanw"/>
+  <edges xmi:type="notation:Connector" xmi:id="_bPqnd0UFEemrze-5W9aHHQ" type="StereotypeCommentLink" source="_bPOikEUFEemrze-5W9aHHQ" target="_bPqnc0UFEemrze-5W9aHHQ">
+    <styles xmi:type="notation:FontStyle" xmi:id="_bPqneEUFEemrze-5W9aHHQ"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_bPqnfEUFEemrze-5W9aHHQ" 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="_bPqneUUFEemrze-5W9aHHQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bPqnekUFEemrze-5W9aHHQ"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bPqne0UFEemrze-5W9aHHQ"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_cdVUcEUFEemrze-5W9aHHQ" type="Extension_Edge" source="_MnCOUEAcEemSWsc0fABanw" target="_bPOikEUFEemrze-5W9aHHQ">
+    <styles xmi:type="notation:FontStyle" xmi:id="_cdVUcUUFEemrze-5W9aHHQ"/>
+    <element xmi:type="uml:Extension" href="TaskBasedRiskAnalysis.profile.uml#_ccb8kEUFEemrze-5W9aHHQ"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_cdVUckUFEemrze-5W9aHHQ" points="[400, 320, -643984, -643984]$[560, 270, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ceE7UEUFEemrze-5W9aHHQ" id="(0.7171314741035857,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ceE7UUUFEemrze-5W9aHHQ" id="(0.4,1.0)"/>
+  </edges>
+</notation:Diagram>
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/model/TaskBasedRiskAnalysis.profile.uml b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/model/TaskBasedRiskAnalysis.profile.uml
new file mode 100644
index 0000000..bf2eaeb
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/model/TaskBasedRiskAnalysis.profile.uml
@@ -0,0 +1,100 @@
+<?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="_hPKv8EAcEemSWsc0fABanw _hPT54EAcEemSWsc0fABanw _6XbR0ETSEemur4Ohd3RSdg _bOLZsEUFEemrze-5W9aHHQ">
+    <elementImport xmi:type="uml:ElementImport" xmi:id="_hPKv8EAcEemSWsc0fABanw" alias="CallBehaviorAction">
+      <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#CallBehaviorAction"/>
+    </elementImport>
+    <elementImport xmi:type="uml:ElementImport" xmi:id="_hPT54EAcEemSWsc0fABanw" alias="CallOperationAction">
+      <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#CallOperationAction"/>
+    </elementImport>
+    <elementImport xmi:type="uml:ElementImport" xmi:id="_6XbR0ETSEemur4Ohd3RSdg" alias="Operation">
+      <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+    </elementImport>
+    <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>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_VughgD9eEemSWsc0fABanw">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_VughgT9eEemSWsc0fABanw">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_METAMODELS/UML.metamodel.uml#_0"/>
+    </packageImport>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_Mm4dUEAcEemSWsc0fABanw" name="HazardAnalysis">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_1B8SsEUFEemrze-5W9aHHQ" name="Task">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_HSTXYETUEemur4Ohd3RSdg" name="Origin">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_oK06gEAcEemSWsc0fABanw" name="HazardousSituation">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_hkLugEV-Eemrze-5W9aHHQ" name="HazardousEvent">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_u8bKIEAcEemSWsc0fABanw" name="PossibleHarm">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_7OxwkUTSEemur4Ohd3RSdg" name="base_Operation" association="_7OomoETSEemur4Ohd3RSdg">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_7OxwkkTSEemur4Ohd3RSdg"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_gvCQcETUEemur4Ohd3RSdg" name="Comment">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_tQb6QEV-Eemrze-5W9aHHQ" name="Initial_Occurence">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_kUTG8ETUEemur4Ohd3RSdg" name="Initial_Avoidance">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_uVbNoETUEemur4Ohd3RSdg" name="Initial_Frequency">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_xqxY0ETUEemur4Ohd3RSdg" name="Initial_Severity">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_2toOsETUEemur4Ohd3RSdg" name="Initial_Criticality" isDerived="true">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+      <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 xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_UxwwskTVEemur4Ohd3RSdg" name="Final_Avoidance">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_UxwwtETVEemur4Ohd3RSdg" name="Final_Frequency">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_UxwwsUTVEemur4Ohd3RSdg" name="Final_Severity">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_UxwwsETVEemur4Ohd3RSdg" name="Final_Criticality" isDerived="true">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+      <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>
+    </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"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_ccb8kEUFEemrze-5W9aHHQ" name="E_HazardAnalysis_Property1" memberEnd="_ccltkEUFEemrze-5W9aHHQ _ccu3gEUFEemrze-5W9aHHQ">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_ccltkEUFEemrze-5W9aHHQ" name="extension_HazardAnalysis" type="_Mm4dUEAcEemSWsc0fABanw" aggregation="composite" association="_ccb8kEUFEemrze-5W9aHHQ"/>
+    </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"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Ecore.profile.uml#_0"/>
+    </profileApplication>
+  </uml:Profile>
+  <Ecore:EPackage xmi:id="_RNKu8ETdEemur4Ohd3RSdg" base_Package="_VoagkD9eEemSWsc0fABanw" packageName="riskanalysis" nsPrefix="RiskAnalysis" nsURI="http://www.polarsys.org/esf/0.7.0/RiskAnalysis" basePackage="org.eclipse.papyrus.robotics"/>
+</xmi:XMI>
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/model/riskanalysis.ecore b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/model/riskanalysis.ecore
new file mode 100644
index 0000000..2259894
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/model/riskanalysis.ecore
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage 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" name="riskanalysis" nsURI="http://www.polarsys.org/esf/0.7.0/RiskAnalysis"
+    nsPrefix="RiskAnalysis">
+  <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+    <details key="originalName" value="TaskBasedRiskAnalysis"/>
+  </eAnnotations>
+  <eClassifiers xsi:type="ecore:EClass" name="HazardAnalysis">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="Task" ordered="false" lowerBound="1"
+        eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Operation"/>
+    <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"
+        lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="HazardousEvent" ordered="false"
+        lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="PossibleHarm" ordered="false"
+        lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="base_Operation" ordered="false"
+        eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Operation"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="Comment" ordered="false"
+        lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="Initial_Occurence" ordered="false"
+        lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="Initial_Avoidance" ordered="false"
+        lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="Initial_Frequency" ordered="false"
+        lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="Initial_Severity" ordered="false"
+        lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="Initial_Criticality" ordered="false"
+        lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"
+        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="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="Final_Avoidance" ordered="false"
+        lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="Final_Frequency" ordered="false"
+        lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="Final_Severity" ordered="false"
+        lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="Final_Criticality" ordered="false"
+        lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"
+        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"/>
+  </eClassifiers>
+</ecore:EPackage>
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/model/riskanalysis.profile.genmodel b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/model/riskanalysis.profile.genmodel
new file mode 100644
index 0000000..84d79b8
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/model/riskanalysis.profile.genmodel
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel 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:genmodel="http://www.eclipse.org/uml2/2.2.0/GenModel"
+    modelDirectory="/org.polarsys.esf.riskanalysis.profile/src-gen"
+    editDirectory="/org.polarsys.esf.riskanalysis.profile.edit/src-gen" modelPluginID="org.polarsys.esf.riskanalysis.profile"
+    modelName="Riskanalysis" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
+    testsDirectory="/org.polarsys.esf.riskanalysis.profile.tests/src-gen" importerID="org.eclipse.uml2.uml.ecore.importer"
+    complianceLevel="8.0" copyrightFields="false" usedGenPackages="../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../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"/>
+    <details key="DUPLICATE_FEATURES" value="DISCARD"/>
+    <details key="ANNOTATION_DETAILS" value="PROCESS"/>
+    <details key="PROPERTY_DEFAULT_EXPRESSIONS" value="IGNORE"/>
+    <details key="DUPLICATE_FEATURE_INHERITANCE" value="DISCARD"/>
+    <details key="COMMENTS" value="PROCESS"/>
+    <details key="DERIVED_FEATURES" value="PROCESS"/>
+    <details key="SUPER_CLASS_ORDER" value="PROCESS"/>
+    <details key="DUPLICATE_OPERATION_INHERITANCE" value="DISCARD"/>
+    <details key="REDEFINING_OPERATIONS" value="REPORT"/>
+    <details key="INVARIANT_CONSTRAINTS" value="PROCESS"/>
+    <details key="UNION_PROPERTIES" value="REPORT"/>
+    <details key="DUPLICATE_OPERATIONS" value="DISCARD"/>
+    <details key="NON_API_INVARIANTS" value="IGNORE"/>
+    <details key="CAMEL_CASE_NAMES" value="IGNORE"/>
+    <details key="SUBSETTING_PROPERTIES" value="REPORT"/>
+    <details key="OPERATION_BODIES" value="IGNORE"/>
+    <details key="ECORE_TAGGED_VALUES" value="PROCESS"/>
+    <details key="UNTYPED_PROPERTIES" value="REPORT"/>
+    <details key="REDEFINING_PROPERTIES" value="REPORT"/>
+    <details key="INVOCATION_DELEGATES" value="IGNORE"/>
+    <details key="VALIDATION_DELEGATES" value="IGNORE"/>
+  </genAnnotations>
+  <foreignModel>TaskBasedRiskAnalysis.profile.uml</foreignModel>
+  <genPackages xsi:type="genmodel:GenPackage" prefix="Riskanalysis" basePackage="org.polarsys.esf"
+      disposableProviderFactory="true" ecorePackage="riskanalysis.ecore#/">
+    <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/Task"/>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute riskanalysis.ecore#//HazardAnalysis/Origin"/>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute riskanalysis.ecore#//HazardAnalysis/HazardousSituation"/>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute riskanalysis.ecore#//HazardAnalysis/HazardousEvent"/>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute riskanalysis.ecore#//HazardAnalysis/PossibleHarm"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference riskanalysis.ecore#//HazardAnalysis/base_Operation"/>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute riskanalysis.ecore#//HazardAnalysis/Comment"/>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute riskanalysis.ecore#//HazardAnalysis/Initial_Occurence"/>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute riskanalysis.ecore#//HazardAnalysis/Initial_Avoidance"/>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute riskanalysis.ecore#//HazardAnalysis/Initial_Frequency"/>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute riskanalysis.ecore#//HazardAnalysis/Initial_Severity"/>
+      <genFeatures xsi:type="genmodel:GenFeature" 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" 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"/>
+    </genClasses>
+  </genPackages>
+</genmodel:GenModel>
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/plugin.properties b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/plugin.properties
new file mode 100644
index 0000000..4d85cc8
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/plugin.properties
@@ -0,0 +1,4 @@
+#
+
+pluginName = org.polarsys.esf.riskanalysis.profile
+providerName = CEA LIST
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/plugin.xml b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/plugin.xml
new file mode 100644
index 0000000..1735e14
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/plugin.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+-->
+
+<plugin>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <!-- @generated riskanalysis.profile -->
+      <package
+            uri="http://www.polarsys.org/esf/0.7.0/RiskAnalysis"
+            class="org.polarsys.esf.riskanalysis.RiskanalysisPackage"
+            genModel="model/riskanalysis.profile.genmodel"/>
+   </extension>
+   <extension
+         point="org.eclipse.emf.ecore.uri_mapping">
+      <mapping
+            source="pathmap://RISKANALYSIS_PROFILE/"
+            target="platform:/plugin/org.polarsys.esf.riskanalysis.profile/model/">
+      </mapping>
+   </extension>
+   <extension
+         point="org.eclipse.papyrus.uml.extensionpoints.UMLProfile">
+      <profile
+            description="Task based risk analysis profile"
+            name="Task Based Risk Analysis Profile"
+            path="pathmap://RISKANALYSIS_PROFILE/TaskBasedRiskAnalysis.profile.uml">
+      </profile>
+   </extension>
+   <extension
+         point="org.eclipse.uml2.uml.generated_package">
+      <profile
+            location="pathmap://RISKANALYSIS_PROFILE/TaskBasedRiskAnalysis.profile.uml#_VoagkD9eEemSWsc0fABanw"
+            uri="http://www.polarsys.org/esf/0.7.0/RiskAnalysis">
+      </profile>
+   </extension>
+   <extension
+         point="org.eclipse.emf.ecore.factory_override">
+      <factory
+            class="org.polarsys.esf.riskanalysis.custom.CustomFactory"
+            uri="org.polarsys.esf.riskanalysis.profile.factory1">
+      </factory>
+   </extension>
+   <extension
+         point="org.eclipse.emf.ecore.factory_override">
+      <factory
+            class="org.polarsys.esf.riskanalysis.custom.CustomFactory"
+            uri="http://www.polarsys.org/esf/0.7.0/RiskAnalysis">
+      </factory>
+   </extension>
+   
+   
+
+</plugin>
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/pom.xml b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/pom.xml
new file mode 100644
index 0000000..88ad28b
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/pom.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Copyright (c) 2016 ALL4TEC & 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:
+         ALL4TEC & CEA LIST - initial API and implementation
+ -->
+
+<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>
+    <groupId>org.polarsys.esf</groupId>
+    <artifactId>esf-tools.analysis.riskanalysis</artifactId>
+    <version>0.7.0-SNAPSHOT</version>
+  </parent>
+  
+  <groupId>org.polarsys.esf</groupId>
+  <artifactId>org.polarsys.esf.riskanalysis.profile</artifactId>
+  <packaging>eclipse-plugin</packaging>
+  <name>ESFRiskAnalysis profile</name>
+  <description>ESFRiskAnalysis profile description.</description>
+
+</project>
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/src-gen/org/polarsys/esf/riskanalysis/HazardAnalysis.java b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/src-gen/org/polarsys/esf/riskanalysis/HazardAnalysis.java
new file mode 100644
index 0000000..0e0eee8
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/src-gen/org/polarsys/esf/riskanalysis/HazardAnalysis.java
@@ -0,0 +1,575 @@
+/*******************************************************************************
+ * 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.polarsys.esf.riskanalysis;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hazard Analysis</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getTask <em>Task</em>}</li>
+ *   <li>{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getOrigin <em>Origin</em>}</li>
+ *   <li>{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getHazardousSituation <em>Hazardous Situation</em>}</li>
+ *   <li>{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getHazardousEvent <em>Hazardous Event</em>}</li>
+ *   <li>{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getPossibleHarm <em>Possible Harm</em>}</li>
+ *   <li>{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getBase_Operation <em>Base Operation</em>}</li>
+ *   <li>{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getComment <em>Comment</em>}</li>
+ *   <li>{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getInitial_Occurence <em>Initial Occurence</em>}</li>
+ *   <li>{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getInitial_Avoidance <em>Initial Avoidance</em>}</li>
+ *   <li>{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getInitial_Frequency <em>Initial Frequency</em>}</li>
+ *   <li>{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getInitial_Severity <em>Initial Severity</em>}</li>
+ *   <li>{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getInitial_Criticality <em>Initial Criticality</em>}</li>
+ *   <li>{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getInitial_RiskReduction <em>Initial Risk Reduction</em>}</li>
+ *   <li>{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getFinal_Occurence <em>Final Occurence</em>}</li>
+ *   <li>{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getFinal_Avoidance <em>Final Avoidance</em>}</li>
+ *   <li>{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getFinal_Frequency <em>Final Frequency</em>}</li>
+ *   <li>{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getFinal_Severity <em>Final Severity</em>}</li>
+ *   <li>{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getFinal_Criticality <em>Final Criticality</em>}</li>
+ *   <li>{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getFinal_RiskReduction <em>Final Risk Reduction</em>}</li>
+ *   <li>{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getBase_Property <em>Base Property</em>}</li>
+ * </ul>
+ *
+ * @see org.polarsys.esf.riskanalysis.RiskanalysisPackage#getHazardAnalysis()
+ * @model
+ * @generated
+ */
+public interface HazardAnalysis extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Task</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Task</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Task</em>' reference.
+	 * @see #setTask(Operation)
+	 * @see org.polarsys.esf.riskanalysis.RiskanalysisPackage#getHazardAnalysis_Task()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Operation getTask();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getTask <em>Task</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Task</em>' reference.
+	 * @see #getTask()
+	 * @generated
+	 */
+	void setTask(Operation value);
+
+	/**
+	 * Returns the value of the '<em><b>Origin</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Origin</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Origin</em>' attribute.
+	 * @see #setOrigin(String)
+	 * @see org.polarsys.esf.riskanalysis.RiskanalysisPackage#getHazardAnalysis_Origin()
+	 * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+	 * @generated
+	 */
+	String getOrigin();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getOrigin <em>Origin</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Origin</em>' attribute.
+	 * @see #getOrigin()
+	 * @generated
+	 */
+	void setOrigin(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Hazardous Situation</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Hazardous Situation</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Hazardous Situation</em>' attribute.
+	 * @see #setHazardousSituation(String)
+	 * @see org.polarsys.esf.riskanalysis.RiskanalysisPackage#getHazardAnalysis_HazardousSituation()
+	 * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+	 * @generated
+	 */
+	String getHazardousSituation();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getHazardousSituation <em>Hazardous Situation</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Hazardous Situation</em>' attribute.
+	 * @see #getHazardousSituation()
+	 * @generated
+	 */
+	void setHazardousSituation(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Hazardous Event</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Hazardous Event</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Hazardous Event</em>' attribute.
+	 * @see #setHazardousEvent(String)
+	 * @see org.polarsys.esf.riskanalysis.RiskanalysisPackage#getHazardAnalysis_HazardousEvent()
+	 * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+	 * @generated
+	 */
+	String getHazardousEvent();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getHazardousEvent <em>Hazardous Event</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Hazardous Event</em>' attribute.
+	 * @see #getHazardousEvent()
+	 * @generated
+	 */
+	void setHazardousEvent(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Possible Harm</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Possible Harm</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Possible Harm</em>' attribute.
+	 * @see #setPossibleHarm(String)
+	 * @see org.polarsys.esf.riskanalysis.RiskanalysisPackage#getHazardAnalysis_PossibleHarm()
+	 * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+	 * @generated
+	 */
+	String getPossibleHarm();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getPossibleHarm <em>Possible Harm</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Possible Harm</em>' attribute.
+	 * @see #getPossibleHarm()
+	 * @generated
+	 */
+	void setPossibleHarm(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Base Operation</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Operation</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 Operation</em>' reference.
+	 * @see #setBase_Operation(Operation)
+	 * @see org.polarsys.esf.riskanalysis.RiskanalysisPackage#getHazardAnalysis_Base_Operation()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	Operation getBase_Operation();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getBase_Operation <em>Base Operation</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Operation</em>' reference.
+	 * @see #getBase_Operation()
+	 * @generated
+	 */
+	void setBase_Operation(Operation value);
+
+	/**
+	 * Returns the value of the '<em><b>Comment</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Comment</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Comment</em>' attribute.
+	 * @see #setComment(String)
+	 * @see org.polarsys.esf.riskanalysis.RiskanalysisPackage#getHazardAnalysis_Comment()
+	 * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+	 * @generated
+	 */
+	String getComment();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getComment <em>Comment</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Comment</em>' attribute.
+	 * @see #getComment()
+	 * @generated
+	 */
+	void setComment(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Initial Occurence</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Initial Occurence</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 Occurence</em>' attribute.
+	 * @see #setInitial_Occurence(int)
+	 * @see org.polarsys.esf.riskanalysis.RiskanalysisPackage#getHazardAnalysis_Initial_Occurence()
+	 * @model dataType="org.eclipse.uml2.types.Integer" required="true" ordered="false"
+	 * @generated
+	 */
+	int getInitial_Occurence();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getInitial_Occurence <em>Initial Occurence</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Initial Occurence</em>' attribute.
+	 * @see #getInitial_Occurence()
+	 * @generated
+	 */
+	void setInitial_Occurence(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Initial Avoidance</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Initial Avoidance</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 Avoidance</em>' attribute.
+	 * @see #setInitial_Avoidance(int)
+	 * @see org.polarsys.esf.riskanalysis.RiskanalysisPackage#getHazardAnalysis_Initial_Avoidance()
+	 * @model dataType="org.eclipse.uml2.types.Integer" required="true" ordered="false"
+	 * @generated
+	 */
+	int getInitial_Avoidance();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getInitial_Avoidance <em>Initial Avoidance</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Initial Avoidance</em>' attribute.
+	 * @see #getInitial_Avoidance()
+	 * @generated
+	 */
+	void setInitial_Avoidance(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Initial Frequency</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Initial Frequency</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 Frequency</em>' attribute.
+	 * @see #setInitial_Frequency(int)
+	 * @see org.polarsys.esf.riskanalysis.RiskanalysisPackage#getHazardAnalysis_Initial_Frequency()
+	 * @model dataType="org.eclipse.uml2.types.Integer" required="true" ordered="false"
+	 * @generated
+	 */
+	int getInitial_Frequency();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getInitial_Frequency <em>Initial Frequency</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Initial Frequency</em>' attribute.
+	 * @see #getInitial_Frequency()
+	 * @generated
+	 */
+	void setInitial_Frequency(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Initial Severity</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Initial Severity</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 Severity</em>' attribute.
+	 * @see #setInitial_Severity(int)
+	 * @see org.polarsys.esf.riskanalysis.RiskanalysisPackage#getHazardAnalysis_Initial_Severity()
+	 * @model dataType="org.eclipse.uml2.types.Integer" required="true" ordered="false"
+	 * @generated
+	 */
+	int getInitial_Severity();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getInitial_Severity <em>Initial Severity</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Initial Severity</em>' attribute.
+	 * @see #getInitial_Severity()
+	 * @generated
+	 */
+	void setInitial_Severity(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Initial Criticality</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Initial Criticality</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 Criticality</em>' attribute.
+	 * @see #setInitial_Criticality(int)
+	 * @see org.polarsys.esf.riskanalysis.RiskanalysisPackage#getHazardAnalysis_Initial_Criticality()
+	 * @model dataType="org.eclipse.uml2.types.Integer" required="true" transient="true" volatile="true" derived="true" ordered="false"
+	 * @generated
+	 */
+	int getInitial_Criticality();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getInitial_Criticality <em>Initial Criticality</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Initial Criticality</em>' attribute.
+	 * @see #getInitial_Criticality()
+	 * @generated
+	 */
+	void setInitial_Criticality(int value);
+
+	/**
+	 * 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.polarsys.esf.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.polarsys.esf.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.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Final Occurence</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 Occurence</em>' attribute.
+	 * @see #setFinal_Occurence(int)
+	 * @see org.polarsys.esf.riskanalysis.RiskanalysisPackage#getHazardAnalysis_Final_Occurence()
+	 * @model dataType="org.eclipse.uml2.types.Integer" required="true" ordered="false"
+	 * @generated
+	 */
+	int getFinal_Occurence();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getFinal_Occurence <em>Final Occurence</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Final Occurence</em>' attribute.
+	 * @see #getFinal_Occurence()
+	 * @generated
+	 */
+	void setFinal_Occurence(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Final Avoidance</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Final Avoidance</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 Avoidance</em>' attribute.
+	 * @see #setFinal_Avoidance(int)
+	 * @see org.polarsys.esf.riskanalysis.RiskanalysisPackage#getHazardAnalysis_Final_Avoidance()
+	 * @model dataType="org.eclipse.uml2.types.Integer" required="true" ordered="false"
+	 * @generated
+	 */
+	int getFinal_Avoidance();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getFinal_Avoidance <em>Final Avoidance</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Final Avoidance</em>' attribute.
+	 * @see #getFinal_Avoidance()
+	 * @generated
+	 */
+	void setFinal_Avoidance(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Final Frequency</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Final Frequency</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 Frequency</em>' attribute.
+	 * @see #setFinal_Frequency(int)
+	 * @see org.polarsys.esf.riskanalysis.RiskanalysisPackage#getHazardAnalysis_Final_Frequency()
+	 * @model dataType="org.eclipse.uml2.types.Integer" required="true" ordered="false"
+	 * @generated
+	 */
+	int getFinal_Frequency();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getFinal_Frequency <em>Final Frequency</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Final Frequency</em>' attribute.
+	 * @see #getFinal_Frequency()
+	 * @generated
+	 */
+	void setFinal_Frequency(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Final Severity</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Final Severity</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 Severity</em>' attribute.
+	 * @see #setFinal_Severity(int)
+	 * @see org.polarsys.esf.riskanalysis.RiskanalysisPackage#getHazardAnalysis_Final_Severity()
+	 * @model dataType="org.eclipse.uml2.types.Integer" required="true" ordered="false"
+	 * @generated
+	 */
+	int getFinal_Severity();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getFinal_Severity <em>Final Severity</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Final Severity</em>' attribute.
+	 * @see #getFinal_Severity()
+	 * @generated
+	 */
+	void setFinal_Severity(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Final Criticality</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Final Criticality</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 Criticality</em>' attribute.
+	 * @see #setFinal_Criticality(int)
+	 * @see org.polarsys.esf.riskanalysis.RiskanalysisPackage#getHazardAnalysis_Final_Criticality()
+	 * @model dataType="org.eclipse.uml2.types.Integer" required="true" transient="true" volatile="true" derived="true" ordered="false"
+	 * @generated
+	 */
+	int getFinal_Criticality();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getFinal_Criticality <em>Final Criticality</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Final Criticality</em>' attribute.
+	 * @see #getFinal_Criticality()
+	 * @generated
+	 */
+	void setFinal_Criticality(int value);
+
+	/**
+	 * 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.polarsys.esf.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.polarsys.esf.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>
+	 * 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.polarsys.esf.riskanalysis.RiskanalysisPackage#getHazardAnalysis_Base_Property()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	Property getBase_Property();
+
+	/**
+	 * Sets the value of the '{@link org.polarsys.esf.riskanalysis.HazardAnalysis#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);
+
+} // HazardAnalysis
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/src-gen/org/polarsys/esf/riskanalysis/RiskanalysisFactory.java b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/src-gen/org/polarsys/esf/riskanalysis/RiskanalysisFactory.java
new file mode 100644
index 0000000..99c7102
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/src-gen/org/polarsys/esf/riskanalysis/RiskanalysisFactory.java
@@ -0,0 +1,51 @@
+/*******************************************************************************
+ * 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.polarsys.esf.riskanalysis;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.esf.riskanalysis.RiskanalysisPackage
+ * @generated
+ */
+public interface RiskanalysisFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	RiskanalysisFactory eINSTANCE = org.polarsys.esf.riskanalysis.impl.RiskanalysisFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Hazard Analysis</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Hazard Analysis</em>'.
+	 * @generated
+	 */
+	HazardAnalysis createHazardAnalysis();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	RiskanalysisPackage getRiskanalysisPackage();
+
+} //RiskanalysisFactory
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/src-gen/org/polarsys/esf/riskanalysis/RiskanalysisPackage.java b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/src-gen/org/polarsys/esf/riskanalysis/RiskanalysisPackage.java
new file mode 100644
index 0000000..74b7fdd
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/src-gen/org/polarsys/esf/riskanalysis/RiskanalysisPackage.java
@@ -0,0 +1,703 @@
+/*******************************************************************************
+ * 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.polarsys.esf.riskanalysis;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each operation of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.polarsys.esf.riskanalysis.RiskanalysisFactory
+ * @model kind="package"
+ *        annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='TaskBasedRiskAnalysis'"
+ * @generated
+ */
+public interface RiskanalysisPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "riskanalysis";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://www.polarsys.org/esf/0.7.0/RiskAnalysis";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "RiskAnalysis";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	RiskanalysisPackage eINSTANCE = org.polarsys.esf.riskanalysis.impl.RiskanalysisPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.polarsys.esf.riskanalysis.impl.HazardAnalysisImpl <em>Hazard Analysis</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.polarsys.esf.riskanalysis.impl.HazardAnalysisImpl
+	 * @see org.polarsys.esf.riskanalysis.impl.RiskanalysisPackageImpl#getHazardAnalysis()
+	 * @generated
+	 */
+	int HAZARD_ANALYSIS = 0;
+
+	/**
+	 * The feature id for the '<em><b>Task</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HAZARD_ANALYSIS__TASK = 0;
+
+	/**
+	 * The feature id for the '<em><b>Origin</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HAZARD_ANALYSIS__ORIGIN = 1;
+
+	/**
+	 * The feature id for the '<em><b>Hazardous Situation</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HAZARD_ANALYSIS__HAZARDOUS_SITUATION = 2;
+
+	/**
+	 * The feature id for the '<em><b>Hazardous Event</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HAZARD_ANALYSIS__HAZARDOUS_EVENT = 3;
+
+	/**
+	 * The feature id for the '<em><b>Possible Harm</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HAZARD_ANALYSIS__POSSIBLE_HARM = 4;
+
+	/**
+	 * The feature id for the '<em><b>Base Operation</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HAZARD_ANALYSIS__BASE_OPERATION = 5;
+
+	/**
+	 * The feature id for the '<em><b>Comment</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HAZARD_ANALYSIS__COMMENT = 6;
+
+	/**
+	 * The feature id for the '<em><b>Initial Occurence</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HAZARD_ANALYSIS__INITIAL_OCCURENCE = 7;
+
+	/**
+	 * The feature id for the '<em><b>Initial Avoidance</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HAZARD_ANALYSIS__INITIAL_AVOIDANCE = 8;
+
+	/**
+	 * The feature id for the '<em><b>Initial Frequency</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HAZARD_ANALYSIS__INITIAL_FREQUENCY = 9;
+
+	/**
+	 * The feature id for the '<em><b>Initial Severity</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HAZARD_ANALYSIS__INITIAL_SEVERITY = 10;
+
+	/**
+	 * The feature id for the '<em><b>Initial Criticality</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HAZARD_ANALYSIS__INITIAL_CRITICALITY = 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 = 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 = 13;
+
+	/**
+	 * The feature id for the '<em><b>Final Avoidance</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HAZARD_ANALYSIS__FINAL_AVOIDANCE = 14;
+
+	/**
+	 * The feature id for the '<em><b>Final Frequency</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HAZARD_ANALYSIS__FINAL_FREQUENCY = 15;
+
+	/**
+	 * The feature id for the '<em><b>Final Severity</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HAZARD_ANALYSIS__FINAL_SEVERITY = 16;
+
+	/**
+	 * The feature id for the '<em><b>Final Criticality</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HAZARD_ANALYSIS__FINAL_CRITICALITY = 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 = 18;
+
+	/**
+	 * The feature id for the '<em><b>Base Property</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HAZARD_ANALYSIS__BASE_PROPERTY = 19;
+
+	/**
+	 * The number of structural features of the '<em>Hazard Analysis</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HAZARD_ANALYSIS_FEATURE_COUNT = 20;
+
+	/**
+	 * The number of operations of the '<em>Hazard Analysis</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int HAZARD_ANALYSIS_OPERATION_COUNT = 0;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.polarsys.esf.riskanalysis.HazardAnalysis <em>Hazard Analysis</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Hazard Analysis</em>'.
+	 * @see org.polarsys.esf.riskanalysis.HazardAnalysis
+	 * @generated
+	 */
+	EClass getHazardAnalysis();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getTask <em>Task</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Task</em>'.
+	 * @see org.polarsys.esf.riskanalysis.HazardAnalysis#getTask()
+	 * @see #getHazardAnalysis()
+	 * @generated
+	 */
+	EReference getHazardAnalysis_Task();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getOrigin <em>Origin</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Origin</em>'.
+	 * @see org.polarsys.esf.riskanalysis.HazardAnalysis#getOrigin()
+	 * @see #getHazardAnalysis()
+	 * @generated
+	 */
+	EAttribute getHazardAnalysis_Origin();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getHazardousSituation <em>Hazardous Situation</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Hazardous Situation</em>'.
+	 * @see org.polarsys.esf.riskanalysis.HazardAnalysis#getHazardousSituation()
+	 * @see #getHazardAnalysis()
+	 * @generated
+	 */
+	EAttribute getHazardAnalysis_HazardousSituation();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getHazardousEvent <em>Hazardous Event</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Hazardous Event</em>'.
+	 * @see org.polarsys.esf.riskanalysis.HazardAnalysis#getHazardousEvent()
+	 * @see #getHazardAnalysis()
+	 * @generated
+	 */
+	EAttribute getHazardAnalysis_HazardousEvent();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getPossibleHarm <em>Possible Harm</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Possible Harm</em>'.
+	 * @see org.polarsys.esf.riskanalysis.HazardAnalysis#getPossibleHarm()
+	 * @see #getHazardAnalysis()
+	 * @generated
+	 */
+	EAttribute getHazardAnalysis_PossibleHarm();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getBase_Operation <em>Base Operation</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Base Operation</em>'.
+	 * @see org.polarsys.esf.riskanalysis.HazardAnalysis#getBase_Operation()
+	 * @see #getHazardAnalysis()
+	 * @generated
+	 */
+	EReference getHazardAnalysis_Base_Operation();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getComment <em>Comment</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Comment</em>'.
+	 * @see org.polarsys.esf.riskanalysis.HazardAnalysis#getComment()
+	 * @see #getHazardAnalysis()
+	 * @generated
+	 */
+	EAttribute getHazardAnalysis_Comment();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getInitial_Occurence <em>Initial Occurence</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Initial Occurence</em>'.
+	 * @see org.polarsys.esf.riskanalysis.HazardAnalysis#getInitial_Occurence()
+	 * @see #getHazardAnalysis()
+	 * @generated
+	 */
+	EAttribute getHazardAnalysis_Initial_Occurence();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getInitial_Avoidance <em>Initial Avoidance</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Initial Avoidance</em>'.
+	 * @see org.polarsys.esf.riskanalysis.HazardAnalysis#getInitial_Avoidance()
+	 * @see #getHazardAnalysis()
+	 * @generated
+	 */
+	EAttribute getHazardAnalysis_Initial_Avoidance();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getInitial_Frequency <em>Initial Frequency</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Initial Frequency</em>'.
+	 * @see org.polarsys.esf.riskanalysis.HazardAnalysis#getInitial_Frequency()
+	 * @see #getHazardAnalysis()
+	 * @generated
+	 */
+	EAttribute getHazardAnalysis_Initial_Frequency();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getInitial_Severity <em>Initial Severity</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Initial Severity</em>'.
+	 * @see org.polarsys.esf.riskanalysis.HazardAnalysis#getInitial_Severity()
+	 * @see #getHazardAnalysis()
+	 * @generated
+	 */
+	EAttribute getHazardAnalysis_Initial_Severity();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getInitial_Criticality <em>Initial Criticality</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Initial Criticality</em>'.
+	 * @see org.polarsys.esf.riskanalysis.HazardAnalysis#getInitial_Criticality()
+	 * @see #getHazardAnalysis()
+	 * @generated
+	 */
+	EAttribute getHazardAnalysis_Initial_Criticality();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.esf.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.polarsys.esf.riskanalysis.HazardAnalysis#getInitial_RiskReduction()
+	 * @see #getHazardAnalysis()
+	 * @generated
+	 */
+	EAttribute getHazardAnalysis_Initial_RiskReduction();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getFinal_Occurence <em>Final Occurence</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Final Occurence</em>'.
+	 * @see org.polarsys.esf.riskanalysis.HazardAnalysis#getFinal_Occurence()
+	 * @see #getHazardAnalysis()
+	 * @generated
+	 */
+	EAttribute getHazardAnalysis_Final_Occurence();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getFinal_Avoidance <em>Final Avoidance</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Final Avoidance</em>'.
+	 * @see org.polarsys.esf.riskanalysis.HazardAnalysis#getFinal_Avoidance()
+	 * @see #getHazardAnalysis()
+	 * @generated
+	 */
+	EAttribute getHazardAnalysis_Final_Avoidance();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getFinal_Frequency <em>Final Frequency</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Final Frequency</em>'.
+	 * @see org.polarsys.esf.riskanalysis.HazardAnalysis#getFinal_Frequency()
+	 * @see #getHazardAnalysis()
+	 * @generated
+	 */
+	EAttribute getHazardAnalysis_Final_Frequency();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getFinal_Severity <em>Final Severity</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Final Severity</em>'.
+	 * @see org.polarsys.esf.riskanalysis.HazardAnalysis#getFinal_Severity()
+	 * @see #getHazardAnalysis()
+	 * @generated
+	 */
+	EAttribute getHazardAnalysis_Final_Severity();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getFinal_Criticality <em>Final Criticality</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Final Criticality</em>'.
+	 * @see org.polarsys.esf.riskanalysis.HazardAnalysis#getFinal_Criticality()
+	 * @see #getHazardAnalysis()
+	 * @generated
+	 */
+	EAttribute getHazardAnalysis_Final_Criticality();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.polarsys.esf.riskanalysis.HazardAnalysis#getFinal_RiskReduction <em>Final Risk Reduction</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Final Risk Reduction</em>'.
+	 * @see org.polarsys.esf.riskanalysis.HazardAnalysis#getFinal_RiskReduction()
+	 * @see #getHazardAnalysis()
+	 * @generated
+	 */
+	EAttribute getHazardAnalysis_Final_RiskReduction();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.polarsys.esf.riskanalysis.HazardAnalysis#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.polarsys.esf.riskanalysis.HazardAnalysis#getBase_Property()
+	 * @see #getHazardAnalysis()
+	 * @generated
+	 */
+	EReference getHazardAnalysis_Base_Property();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	RiskanalysisFactory getRiskanalysisFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each operation of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.polarsys.esf.riskanalysis.impl.HazardAnalysisImpl <em>Hazard Analysis</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.polarsys.esf.riskanalysis.impl.HazardAnalysisImpl
+		 * @see org.polarsys.esf.riskanalysis.impl.RiskanalysisPackageImpl#getHazardAnalysis()
+		 * @generated
+		 */
+		EClass HAZARD_ANALYSIS = eINSTANCE.getHazardAnalysis();
+
+		/**
+		 * The meta object literal for the '<em><b>Task</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference HAZARD_ANALYSIS__TASK = eINSTANCE.getHazardAnalysis_Task();
+
+		/**
+		 * The meta object literal for the '<em><b>Origin</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute HAZARD_ANALYSIS__ORIGIN = eINSTANCE.getHazardAnalysis_Origin();
+
+		/**
+		 * The meta object literal for the '<em><b>Hazardous Situation</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute HAZARD_ANALYSIS__HAZARDOUS_SITUATION = eINSTANCE.getHazardAnalysis_HazardousSituation();
+
+		/**
+		 * The meta object literal for the '<em><b>Hazardous Event</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute HAZARD_ANALYSIS__HAZARDOUS_EVENT = eINSTANCE.getHazardAnalysis_HazardousEvent();
+
+		/**
+		 * The meta object literal for the '<em><b>Possible Harm</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute HAZARD_ANALYSIS__POSSIBLE_HARM = eINSTANCE.getHazardAnalysis_PossibleHarm();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Operation</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference HAZARD_ANALYSIS__BASE_OPERATION = eINSTANCE.getHazardAnalysis_Base_Operation();
+
+		/**
+		 * The meta object literal for the '<em><b>Comment</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute HAZARD_ANALYSIS__COMMENT = eINSTANCE.getHazardAnalysis_Comment();
+
+		/**
+		 * The meta object literal for the '<em><b>Initial Occurence</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute HAZARD_ANALYSIS__INITIAL_OCCURENCE = eINSTANCE.getHazardAnalysis_Initial_Occurence();
+
+		/**
+		 * The meta object literal for the '<em><b>Initial Avoidance</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute HAZARD_ANALYSIS__INITIAL_AVOIDANCE = eINSTANCE.getHazardAnalysis_Initial_Avoidance();
+
+		/**
+		 * The meta object literal for the '<em><b>Initial Frequency</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute HAZARD_ANALYSIS__INITIAL_FREQUENCY = eINSTANCE.getHazardAnalysis_Initial_Frequency();
+
+		/**
+		 * The meta object literal for the '<em><b>Initial Severity</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute HAZARD_ANALYSIS__INITIAL_SEVERITY = eINSTANCE.getHazardAnalysis_Initial_Severity();
+
+		/**
+		 * The meta object literal for the '<em><b>Initial Criticality</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		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 -->
+		 * @generated
+		 */
+		EAttribute HAZARD_ANALYSIS__FINAL_OCCURENCE = eINSTANCE.getHazardAnalysis_Final_Occurence();
+
+		/**
+		 * The meta object literal for the '<em><b>Final Avoidance</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute HAZARD_ANALYSIS__FINAL_AVOIDANCE = eINSTANCE.getHazardAnalysis_Final_Avoidance();
+
+		/**
+		 * The meta object literal for the '<em><b>Final Frequency</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute HAZARD_ANALYSIS__FINAL_FREQUENCY = eINSTANCE.getHazardAnalysis_Final_Frequency();
+
+		/**
+		 * The meta object literal for the '<em><b>Final Severity</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute HAZARD_ANALYSIS__FINAL_SEVERITY = eINSTANCE.getHazardAnalysis_Final_Severity();
+
+		/**
+		 * The meta object literal for the '<em><b>Final Criticality</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute HAZARD_ANALYSIS__FINAL_CRITICALITY = eINSTANCE.getHazardAnalysis_Final_Criticality();
+
+		/**
+		 * The meta object literal for the '<em><b>Final Risk Reduction</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute HAZARD_ANALYSIS__FINAL_RISK_REDUCTION = eINSTANCE.getHazardAnalysis_Final_RiskReduction();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Property</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference HAZARD_ANALYSIS__BASE_PROPERTY = eINSTANCE.getHazardAnalysis_Base_Property();
+
+	}
+
+} //RiskanalysisPackage
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/src-gen/org/polarsys/esf/riskanalysis/impl/HazardAnalysisImpl.java b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/src-gen/org/polarsys/esf/riskanalysis/impl/HazardAnalysisImpl.java
new file mode 100644
index 0000000..accacd4
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/src-gen/org/polarsys/esf/riskanalysis/impl/HazardAnalysisImpl.java
@@ -0,0 +1,1236 @@
+/*******************************************************************************
+ * 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.polarsys.esf.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.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Property;
+import org.polarsys.esf.riskanalysis.HazardAnalysis;
+import org.polarsys.esf.riskanalysis.RiskanalysisPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Hazard Analysis</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.polarsys.esf.riskanalysis.impl.HazardAnalysisImpl#getTask <em>Task</em>}</li>
+ *   <li>{@link org.polarsys.esf.riskanalysis.impl.HazardAnalysisImpl#getOrigin <em>Origin</em>}</li>
+ *   <li>{@link org.polarsys.esf.riskanalysis.impl.HazardAnalysisImpl#getHazardousSituation <em>Hazardous Situation</em>}</li>
+ *   <li>{@link org.polarsys.esf.riskanalysis.impl.HazardAnalysisImpl#getHazardousEvent <em>Hazardous Event</em>}</li>
+ *   <li>{@link org.polarsys.esf.riskanalysis.impl.HazardAnalysisImpl#getPossibleHarm <em>Possible Harm</em>}</li>
+ *   <li>{@link org.polarsys.esf.riskanalysis.impl.HazardAnalysisImpl#getBase_Operation <em>Base Operation</em>}</li>
+ *   <li>{@link org.polarsys.esf.riskanalysis.impl.HazardAnalysisImpl#getComment <em>Comment</em>}</li>
+ *   <li>{@link org.polarsys.esf.riskanalysis.impl.HazardAnalysisImpl#getInitial_Occurence <em>Initial Occurence</em>}</li>
+ *   <li>{@link org.polarsys.esf.riskanalysis.impl.HazardAnalysisImpl#getInitial_Avoidance <em>Initial Avoidance</em>}</li>
+ *   <li>{@link org.polarsys.esf.riskanalysis.impl.HazardAnalysisImpl#getInitial_Frequency <em>Initial Frequency</em>}</li>
+ *   <li>{@link org.polarsys.esf.riskanalysis.impl.HazardAnalysisImpl#getInitial_Severity <em>Initial Severity</em>}</li>
+ *   <li>{@link org.polarsys.esf.riskanalysis.impl.HazardAnalysisImpl#getInitial_Criticality <em>Initial Criticality</em>}</li>
+ *   <li>{@link org.polarsys.esf.riskanalysis.impl.HazardAnalysisImpl#getInitial_RiskReduction <em>Initial Risk Reduction</em>}</li>
+ *   <li>{@link org.polarsys.esf.riskanalysis.impl.HazardAnalysisImpl#getFinal_Occurence <em>Final Occurence</em>}</li>
+ *   <li>{@link org.polarsys.esf.riskanalysis.impl.HazardAnalysisImpl#getFinal_Avoidance <em>Final Avoidance</em>}</li>
+ *   <li>{@link org.polarsys.esf.riskanalysis.impl.HazardAnalysisImpl#getFinal_Frequency <em>Final Frequency</em>}</li>
+ *   <li>{@link org.polarsys.esf.riskanalysis.impl.HazardAnalysisImpl#getFinal_Severity <em>Final Severity</em>}</li>
+ *   <li>{@link org.polarsys.esf.riskanalysis.impl.HazardAnalysisImpl#getFinal_Criticality <em>Final Criticality</em>}</li>
+ *   <li>{@link org.polarsys.esf.riskanalysis.impl.HazardAnalysisImpl#getFinal_RiskReduction <em>Final Risk Reduction</em>}</li>
+ *   <li>{@link org.polarsys.esf.riskanalysis.impl.HazardAnalysisImpl#getBase_Property <em>Base Property</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class HazardAnalysisImpl extends MinimalEObjectImpl.Container implements HazardAnalysis {
+	/**
+	 * The cached value of the '{@link #getTask() <em>Task</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTask()
+	 * @generated
+	 * @ordered
+	 */
+	protected Operation task;
+
+	/**
+	 * The default value of the '{@link #getOrigin() <em>Origin</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOrigin()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String ORIGIN_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getOrigin() <em>Origin</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOrigin()
+	 * @generated
+	 * @ordered
+	 */
+	protected String origin = ORIGIN_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getHazardousSituation() <em>Hazardous Situation</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getHazardousSituation()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String HAZARDOUS_SITUATION_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getHazardousSituation() <em>Hazardous Situation</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getHazardousSituation()
+	 * @generated
+	 * @ordered
+	 */
+	protected String hazardousSituation = HAZARDOUS_SITUATION_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getHazardousEvent() <em>Hazardous Event</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getHazardousEvent()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String HAZARDOUS_EVENT_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getHazardousEvent() <em>Hazardous Event</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getHazardousEvent()
+	 * @generated
+	 * @ordered
+	 */
+	protected String hazardousEvent = HAZARDOUS_EVENT_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getPossibleHarm() <em>Possible Harm</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPossibleHarm()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String POSSIBLE_HARM_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getPossibleHarm() <em>Possible Harm</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPossibleHarm()
+	 * @generated
+	 * @ordered
+	 */
+	protected String possibleHarm = POSSIBLE_HARM_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getBase_Operation() <em>Base Operation</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBase_Operation()
+	 * @generated
+	 * @ordered
+	 */
+	protected Operation base_Operation;
+
+	/**
+	 * The default value of the '{@link #getComment() <em>Comment</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getComment()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String COMMENT_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getComment() <em>Comment</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getComment()
+	 * @generated
+	 * @ordered
+	 */
+	protected String comment = COMMENT_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getInitial_Occurence() <em>Initial Occurence</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getInitial_Occurence()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int INITIAL_OCCURENCE_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getInitial_Occurence() <em>Initial Occurence</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getInitial_Occurence()
+	 * @generated
+	 * @ordered
+	 */
+	protected int initial_Occurence = INITIAL_OCCURENCE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getInitial_Avoidance() <em>Initial Avoidance</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getInitial_Avoidance()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int INITIAL_AVOIDANCE_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getInitial_Avoidance() <em>Initial Avoidance</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getInitial_Avoidance()
+	 * @generated
+	 * @ordered
+	 */
+	protected int initial_Avoidance = INITIAL_AVOIDANCE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getInitial_Frequency() <em>Initial Frequency</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getInitial_Frequency()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int INITIAL_FREQUENCY_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getInitial_Frequency() <em>Initial Frequency</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getInitial_Frequency()
+	 * @generated
+	 * @ordered
+	 */
+	protected int initial_Frequency = INITIAL_FREQUENCY_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getInitial_Severity() <em>Initial Severity</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getInitial_Severity()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int INITIAL_SEVERITY_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getInitial_Severity() <em>Initial Severity</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getInitial_Severity()
+	 * @generated
+	 * @ordered
+	 */
+	protected int initial_Severity = INITIAL_SEVERITY_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getInitial_Criticality() <em>Initial Criticality</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getInitial_Criticality()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int INITIAL_CRITICALITY_EDEFAULT = 0;
+
+	/**
+	 * 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 -->
+	 * @see #getFinal_Occurence()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int FINAL_OCCURENCE_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getFinal_Occurence() <em>Final Occurence</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFinal_Occurence()
+	 * @generated
+	 * @ordered
+	 */
+	protected int final_Occurence = FINAL_OCCURENCE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getFinal_Avoidance() <em>Final Avoidance</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFinal_Avoidance()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int FINAL_AVOIDANCE_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getFinal_Avoidance() <em>Final Avoidance</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFinal_Avoidance()
+	 * @generated
+	 * @ordered
+	 */
+	protected int final_Avoidance = FINAL_AVOIDANCE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getFinal_Frequency() <em>Final Frequency</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFinal_Frequency()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int FINAL_FREQUENCY_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getFinal_Frequency() <em>Final Frequency</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFinal_Frequency()
+	 * @generated
+	 * @ordered
+	 */
+	protected int final_Frequency = FINAL_FREQUENCY_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getFinal_Severity() <em>Final Severity</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFinal_Severity()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int FINAL_SEVERITY_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getFinal_Severity() <em>Final Severity</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFinal_Severity()
+	 * @generated
+	 * @ordered
+	 */
+	protected int final_Severity = FINAL_SEVERITY_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getFinal_Criticality() <em>Final Criticality</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFinal_Criticality()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int FINAL_CRITICALITY_EDEFAULT = 0;
+
+	/**
+	 * 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 -->
+	 * @see #getBase_Property()
+	 * @generated
+	 * @ordered
+	 */
+	protected Property base_Property;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected HazardAnalysisImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RiskanalysisPackage.Literals.HAZARD_ANALYSIS;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Operation getTask() {
+		if (task != null && task.eIsProxy()) {
+			InternalEObject oldTask = (InternalEObject)task;
+			task = (Operation)eResolveProxy(oldTask);
+			if (task != oldTask) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, RiskanalysisPackage.HAZARD_ANALYSIS__TASK, oldTask, task));
+			}
+		}
+		return task;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Operation basicGetTask() {
+		return task;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setTask(Operation newTask) {
+		Operation oldTask = task;
+		task = newTask;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RiskanalysisPackage.HAZARD_ANALYSIS__TASK, oldTask, task));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getOrigin() {
+		return origin;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setOrigin(String newOrigin) {
+		String oldOrigin = origin;
+		origin = newOrigin;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RiskanalysisPackage.HAZARD_ANALYSIS__ORIGIN, oldOrigin, origin));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getHazardousSituation() {
+		return hazardousSituation;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setHazardousSituation(String newHazardousSituation) {
+		String oldHazardousSituation = hazardousSituation;
+		hazardousSituation = newHazardousSituation;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RiskanalysisPackage.HAZARD_ANALYSIS__HAZARDOUS_SITUATION, oldHazardousSituation, hazardousSituation));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getHazardousEvent() {
+		return hazardousEvent;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setHazardousEvent(String newHazardousEvent) {
+		String oldHazardousEvent = hazardousEvent;
+		hazardousEvent = newHazardousEvent;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RiskanalysisPackage.HAZARD_ANALYSIS__HAZARDOUS_EVENT, oldHazardousEvent, hazardousEvent));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getPossibleHarm() {
+		return possibleHarm;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setPossibleHarm(String newPossibleHarm) {
+		String oldPossibleHarm = possibleHarm;
+		possibleHarm = newPossibleHarm;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RiskanalysisPackage.HAZARD_ANALYSIS__POSSIBLE_HARM, oldPossibleHarm, possibleHarm));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Operation getBase_Operation() {
+		if (base_Operation != null && base_Operation.eIsProxy()) {
+			InternalEObject oldBase_Operation = (InternalEObject)base_Operation;
+			base_Operation = (Operation)eResolveProxy(oldBase_Operation);
+			if (base_Operation != oldBase_Operation) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, RiskanalysisPackage.HAZARD_ANALYSIS__BASE_OPERATION, oldBase_Operation, base_Operation));
+			}
+		}
+		return base_Operation;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Operation basicGetBase_Operation() {
+		return base_Operation;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setBase_Operation(Operation newBase_Operation) {
+		Operation oldBase_Operation = base_Operation;
+		base_Operation = newBase_Operation;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RiskanalysisPackage.HAZARD_ANALYSIS__BASE_OPERATION, oldBase_Operation, base_Operation));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getComment() {
+		return comment;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setComment(String newComment) {
+		String oldComment = comment;
+		comment = newComment;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RiskanalysisPackage.HAZARD_ANALYSIS__COMMENT, oldComment, comment));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int getInitial_Occurence() {
+		return initial_Occurence;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setInitial_Occurence(int newInitial_Occurence) {
+		int oldInitial_Occurence = initial_Occurence;
+		initial_Occurence = newInitial_Occurence;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_OCCURENCE, oldInitial_Occurence, initial_Occurence));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int getInitial_Avoidance() {
+		return initial_Avoidance;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setInitial_Avoidance(int newInitial_Avoidance) {
+		int oldInitial_Avoidance = initial_Avoidance;
+		initial_Avoidance = newInitial_Avoidance;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_AVOIDANCE, oldInitial_Avoidance, initial_Avoidance));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int getInitial_Frequency() {
+		return initial_Frequency;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setInitial_Frequency(int newInitial_Frequency) {
+		int oldInitial_Frequency = initial_Frequency;
+		initial_Frequency = newInitial_Frequency;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_FREQUENCY, oldInitial_Frequency, initial_Frequency));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int getInitial_Severity() {
+		return initial_Severity;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setInitial_Severity(int newInitial_Severity) {
+		int oldInitial_Severity = initial_Severity;
+		initial_Severity = newInitial_Severity;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_SEVERITY, oldInitial_Severity, initial_Severity));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int getInitial_Criticality() {
+		// TODO: implement this method to return the 'Initial Criticality' 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_Criticality(int newInitial_Criticality) {
+		// TODO: implement this method to set the 'Initial Criticality' attribute
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @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 int getFinal_Occurence() {
+		return final_Occurence;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setFinal_Occurence(int newFinal_Occurence) {
+		int oldFinal_Occurence = final_Occurence;
+		final_Occurence = newFinal_Occurence;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_OCCURENCE, oldFinal_Occurence, final_Occurence));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int getFinal_Avoidance() {
+		return final_Avoidance;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setFinal_Avoidance(int newFinal_Avoidance) {
+		int oldFinal_Avoidance = final_Avoidance;
+		final_Avoidance = newFinal_Avoidance;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_AVOIDANCE, oldFinal_Avoidance, final_Avoidance));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int getFinal_Frequency() {
+		return final_Frequency;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setFinal_Frequency(int newFinal_Frequency) {
+		int oldFinal_Frequency = final_Frequency;
+		final_Frequency = newFinal_Frequency;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_FREQUENCY, oldFinal_Frequency, final_Frequency));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int getFinal_Severity() {
+		return final_Severity;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setFinal_Severity(int newFinal_Severity) {
+		int oldFinal_Severity = final_Severity;
+		final_Severity = newFinal_Severity;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_SEVERITY, oldFinal_Severity, final_Severity));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int getFinal_Criticality() {
+		// TODO: implement this method to return the 'Final Criticality' 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_Criticality(int newFinal_Criticality) {
+		// TODO: implement this method to set the 'Final Criticality' attribute
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @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;
+			base_Property = (Property)eResolveProxy(oldBase_Property);
+			if (base_Property != oldBase_Property) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, RiskanalysisPackage.HAZARD_ANALYSIS__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.HAZARD_ANALYSIS__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.HAZARD_ANALYSIS__TASK:
+				if (resolve) return getTask();
+				return basicGetTask();
+			case RiskanalysisPackage.HAZARD_ANALYSIS__ORIGIN:
+				return getOrigin();
+			case RiskanalysisPackage.HAZARD_ANALYSIS__HAZARDOUS_SITUATION:
+				return getHazardousSituation();
+			case RiskanalysisPackage.HAZARD_ANALYSIS__HAZARDOUS_EVENT:
+				return getHazardousEvent();
+			case RiskanalysisPackage.HAZARD_ANALYSIS__POSSIBLE_HARM:
+				return getPossibleHarm();
+			case RiskanalysisPackage.HAZARD_ANALYSIS__BASE_OPERATION:
+				if (resolve) return getBase_Operation();
+				return basicGetBase_Operation();
+			case RiskanalysisPackage.HAZARD_ANALYSIS__COMMENT:
+				return getComment();
+			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_OCCURENCE:
+				return getInitial_Occurence();
+			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_AVOIDANCE:
+				return getInitial_Avoidance();
+			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_FREQUENCY:
+				return getInitial_Frequency();
+			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_SEVERITY:
+				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:
+				return getFinal_Avoidance();
+			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_FREQUENCY:
+				return getFinal_Frequency();
+			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_SEVERITY:
+				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();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case RiskanalysisPackage.HAZARD_ANALYSIS__TASK:
+				setTask((Operation)newValue);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__ORIGIN:
+				setOrigin((String)newValue);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__HAZARDOUS_SITUATION:
+				setHazardousSituation((String)newValue);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__HAZARDOUS_EVENT:
+				setHazardousEvent((String)newValue);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__POSSIBLE_HARM:
+				setPossibleHarm((String)newValue);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__BASE_OPERATION:
+				setBase_Operation((Operation)newValue);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__COMMENT:
+				setComment((String)newValue);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_OCCURENCE:
+				setInitial_Occurence((Integer)newValue);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_AVOIDANCE:
+				setInitial_Avoidance((Integer)newValue);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_FREQUENCY:
+				setInitial_Frequency((Integer)newValue);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_SEVERITY:
+				setInitial_Severity((Integer)newValue);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_CRITICALITY:
+				setInitial_Criticality((Integer)newValue);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_RISK_REDUCTION:
+				setInitial_RiskReduction((String)newValue);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_OCCURENCE:
+				setFinal_Occurence((Integer)newValue);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_AVOIDANCE:
+				setFinal_Avoidance((Integer)newValue);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_FREQUENCY:
+				setFinal_Frequency((Integer)newValue);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_SEVERITY:
+				setFinal_Severity((Integer)newValue);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_CRITICALITY:
+				setFinal_Criticality((Integer)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;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case RiskanalysisPackage.HAZARD_ANALYSIS__TASK:
+				setTask((Operation)null);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__ORIGIN:
+				setOrigin(ORIGIN_EDEFAULT);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__HAZARDOUS_SITUATION:
+				setHazardousSituation(HAZARDOUS_SITUATION_EDEFAULT);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__HAZARDOUS_EVENT:
+				setHazardousEvent(HAZARDOUS_EVENT_EDEFAULT);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__POSSIBLE_HARM:
+				setPossibleHarm(POSSIBLE_HARM_EDEFAULT);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__BASE_OPERATION:
+				setBase_Operation((Operation)null);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__COMMENT:
+				setComment(COMMENT_EDEFAULT);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_OCCURENCE:
+				setInitial_Occurence(INITIAL_OCCURENCE_EDEFAULT);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_AVOIDANCE:
+				setInitial_Avoidance(INITIAL_AVOIDANCE_EDEFAULT);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_FREQUENCY:
+				setInitial_Frequency(INITIAL_FREQUENCY_EDEFAULT);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_SEVERITY:
+				setInitial_Severity(INITIAL_SEVERITY_EDEFAULT);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_CRITICALITY:
+				setInitial_Criticality(INITIAL_CRITICALITY_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;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_AVOIDANCE:
+				setFinal_Avoidance(FINAL_AVOIDANCE_EDEFAULT);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_FREQUENCY:
+				setFinal_Frequency(FINAL_FREQUENCY_EDEFAULT);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_SEVERITY:
+				setFinal_Severity(FINAL_SEVERITY_EDEFAULT);
+				return;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_CRITICALITY:
+				setFinal_Criticality(FINAL_CRITICALITY_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;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case RiskanalysisPackage.HAZARD_ANALYSIS__TASK:
+				return task != null;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__ORIGIN:
+				return ORIGIN_EDEFAULT == null ? origin != null : !ORIGIN_EDEFAULT.equals(origin);
+			case RiskanalysisPackage.HAZARD_ANALYSIS__HAZARDOUS_SITUATION:
+				return HAZARDOUS_SITUATION_EDEFAULT == null ? hazardousSituation != null : !HAZARDOUS_SITUATION_EDEFAULT.equals(hazardousSituation);
+			case RiskanalysisPackage.HAZARD_ANALYSIS__HAZARDOUS_EVENT:
+				return HAZARDOUS_EVENT_EDEFAULT == null ? hazardousEvent != null : !HAZARDOUS_EVENT_EDEFAULT.equals(hazardousEvent);
+			case RiskanalysisPackage.HAZARD_ANALYSIS__POSSIBLE_HARM:
+				return POSSIBLE_HARM_EDEFAULT == null ? possibleHarm != null : !POSSIBLE_HARM_EDEFAULT.equals(possibleHarm);
+			case RiskanalysisPackage.HAZARD_ANALYSIS__BASE_OPERATION:
+				return base_Operation != null;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__COMMENT:
+				return COMMENT_EDEFAULT == null ? comment != null : !COMMENT_EDEFAULT.equals(comment);
+			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_OCCURENCE:
+				return initial_Occurence != INITIAL_OCCURENCE_EDEFAULT;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_AVOIDANCE:
+				return initial_Avoidance != INITIAL_AVOIDANCE_EDEFAULT;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_FREQUENCY:
+				return initial_Frequency != INITIAL_FREQUENCY_EDEFAULT;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__INITIAL_SEVERITY:
+				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:
+				return final_Avoidance != FINAL_AVOIDANCE_EDEFAULT;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_FREQUENCY:
+				return final_Frequency != FINAL_FREQUENCY_EDEFAULT;
+			case RiskanalysisPackage.HAZARD_ANALYSIS__FINAL_SEVERITY:
+				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;
+		}
+		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(" (Origin: ");
+		result.append(origin);
+		result.append(", HazardousSituation: ");
+		result.append(hazardousSituation);
+		result.append(", HazardousEvent: ");
+		result.append(hazardousEvent);
+		result.append(", PossibleHarm: ");
+		result.append(possibleHarm);
+		result.append(", Comment: ");
+		result.append(comment);
+		result.append(", Initial_Occurence: ");
+		result.append(initial_Occurence);
+		result.append(", Initial_Avoidance: ");
+		result.append(initial_Avoidance);
+		result.append(", Initial_Frequency: ");
+		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: ");
+		result.append(final_Avoidance);
+		result.append(", Final_Frequency: ");
+		result.append(final_Frequency);
+		result.append(", Final_Severity: ");
+		result.append(final_Severity);
+		result.append(", Final_RiskReduction: ");
+		result.append(final_RiskReduction);
+		result.append(')');
+		return result.toString();
+	}
+
+} //HazardAnalysisImpl
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/src-gen/org/polarsys/esf/riskanalysis/impl/RiskanalysisFactoryImpl.java b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/src-gen/org/polarsys/esf/riskanalysis/impl/RiskanalysisFactoryImpl.java
new file mode 100644
index 0000000..1d72173
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/src-gen/org/polarsys/esf/riskanalysis/impl/RiskanalysisFactoryImpl.java
@@ -0,0 +1,105 @@
+/*******************************************************************************
+ * 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.polarsys.esf.riskanalysis.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.polarsys.esf.riskanalysis.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RiskanalysisFactoryImpl extends EFactoryImpl implements RiskanalysisFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static RiskanalysisFactory init() {
+		try {
+			RiskanalysisFactory theRiskanalysisFactory = (RiskanalysisFactory)EPackage.Registry.INSTANCE.getEFactory(RiskanalysisPackage.eNS_URI);
+			if (theRiskanalysisFactory != null) {
+				return theRiskanalysisFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new RiskanalysisFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RiskanalysisFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case RiskanalysisPackage.HAZARD_ANALYSIS: return createHazardAnalysis();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public HazardAnalysis createHazardAnalysis() {
+		HazardAnalysisImpl hazardAnalysis = new HazardAnalysisImpl();
+		return hazardAnalysis;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public RiskanalysisPackage getRiskanalysisPackage() {
+		return (RiskanalysisPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static RiskanalysisPackage getPackage() {
+		return RiskanalysisPackage.eINSTANCE;
+	}
+
+} //RiskanalysisFactoryImpl
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/src-gen/org/polarsys/esf/riskanalysis/impl/RiskanalysisPackageImpl.java b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/src-gen/org/polarsys/esf/riskanalysis/impl/RiskanalysisPackageImpl.java
new file mode 100644
index 0000000..1a76a43
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/src-gen/org/polarsys/esf/riskanalysis/impl/RiskanalysisPackageImpl.java
@@ -0,0 +1,450 @@
+/*******************************************************************************
+ * 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.polarsys.esf.riskanalysis.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.uml2.types.TypesPackage;
+
+import org.eclipse.uml2.uml.UMLPackage;
+import org.polarsys.esf.riskanalysis.HazardAnalysis;
+import org.polarsys.esf.riskanalysis.RiskanalysisFactory;
+import org.polarsys.esf.riskanalysis.RiskanalysisPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RiskanalysisPackageImpl extends EPackageImpl implements RiskanalysisPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass hazardAnalysisEClass = 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.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.polarsys.esf.riskanalysis.RiskanalysisPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private RiskanalysisPackageImpl() {
+		super(eNS_URI, RiskanalysisFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 *
+	 * <p>This method is used to initialize {@link RiskanalysisPackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static RiskanalysisPackage init() {
+		if (isInited) return (RiskanalysisPackage)EPackage.Registry.INSTANCE.getEPackage(RiskanalysisPackage.eNS_URI);
+
+		// Obtain or create and register package
+		Object registeredRiskanalysisPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+		RiskanalysisPackageImpl theRiskanalysisPackage = registeredRiskanalysisPackage instanceof RiskanalysisPackageImpl ? (RiskanalysisPackageImpl)registeredRiskanalysisPackage : new RiskanalysisPackageImpl();
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		EcorePackage.eINSTANCE.eClass();
+		TypesPackage.eINSTANCE.eClass();
+		UMLPackage.eINSTANCE.eClass();
+
+		// Create package meta-data objects
+		theRiskanalysisPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theRiskanalysisPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theRiskanalysisPackage.freeze();
+
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(RiskanalysisPackage.eNS_URI, theRiskanalysisPackage);
+		return theRiskanalysisPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getHazardAnalysis() {
+		return hazardAnalysisEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getHazardAnalysis_Task() {
+		return (EReference)hazardAnalysisEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getHazardAnalysis_Origin() {
+		return (EAttribute)hazardAnalysisEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getHazardAnalysis_HazardousSituation() {
+		return (EAttribute)hazardAnalysisEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getHazardAnalysis_HazardousEvent() {
+		return (EAttribute)hazardAnalysisEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getHazardAnalysis_PossibleHarm() {
+		return (EAttribute)hazardAnalysisEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getHazardAnalysis_Base_Operation() {
+		return (EReference)hazardAnalysisEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getHazardAnalysis_Comment() {
+		return (EAttribute)hazardAnalysisEClass.getEStructuralFeatures().get(6);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getHazardAnalysis_Initial_Occurence() {
+		return (EAttribute)hazardAnalysisEClass.getEStructuralFeatures().get(7);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getHazardAnalysis_Initial_Avoidance() {
+		return (EAttribute)hazardAnalysisEClass.getEStructuralFeatures().get(8);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getHazardAnalysis_Initial_Frequency() {
+		return (EAttribute)hazardAnalysisEClass.getEStructuralFeatures().get(9);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getHazardAnalysis_Initial_Severity() {
+		return (EAttribute)hazardAnalysisEClass.getEStructuralFeatures().get(10);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getHazardAnalysis_Initial_Criticality() {
+		return (EAttribute)hazardAnalysisEClass.getEStructuralFeatures().get(11);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getHazardAnalysis_Initial_RiskReduction() {
+		return (EAttribute)hazardAnalysisEClass.getEStructuralFeatures().get(12);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getHazardAnalysis_Final_Occurence() {
+		return (EAttribute)hazardAnalysisEClass.getEStructuralFeatures().get(13);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getHazardAnalysis_Final_Avoidance() {
+		return (EAttribute)hazardAnalysisEClass.getEStructuralFeatures().get(14);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getHazardAnalysis_Final_Frequency() {
+		return (EAttribute)hazardAnalysisEClass.getEStructuralFeatures().get(15);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getHazardAnalysis_Final_Severity() {
+		return (EAttribute)hazardAnalysisEClass.getEStructuralFeatures().get(16);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getHazardAnalysis_Final_Criticality() {
+		return (EAttribute)hazardAnalysisEClass.getEStructuralFeatures().get(17);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getHazardAnalysis_Final_RiskReduction() {
+		return (EAttribute)hazardAnalysisEClass.getEStructuralFeatures().get(18);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getHazardAnalysis_Base_Property() {
+		return (EReference)hazardAnalysisEClass.getEStructuralFeatures().get(19);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public RiskanalysisFactory getRiskanalysisFactory() {
+		return (RiskanalysisFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		hazardAnalysisEClass = createEClass(HAZARD_ANALYSIS);
+		createEReference(hazardAnalysisEClass, HAZARD_ANALYSIS__TASK);
+		createEAttribute(hazardAnalysisEClass, HAZARD_ANALYSIS__ORIGIN);
+		createEAttribute(hazardAnalysisEClass, HAZARD_ANALYSIS__HAZARDOUS_SITUATION);
+		createEAttribute(hazardAnalysisEClass, HAZARD_ANALYSIS__HAZARDOUS_EVENT);
+		createEAttribute(hazardAnalysisEClass, HAZARD_ANALYSIS__POSSIBLE_HARM);
+		createEReference(hazardAnalysisEClass, HAZARD_ANALYSIS__BASE_OPERATION);
+		createEAttribute(hazardAnalysisEClass, HAZARD_ANALYSIS__COMMENT);
+		createEAttribute(hazardAnalysisEClass, HAZARD_ANALYSIS__INITIAL_OCCURENCE);
+		createEAttribute(hazardAnalysisEClass, HAZARD_ANALYSIS__INITIAL_AVOIDANCE);
+		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);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+		TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+
+		// Initialize classes, features, and operations; add parameters
+		initEClass(hazardAnalysisEClass, HazardAnalysis.class, "HazardAnalysis", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getHazardAnalysis_Task(), theUMLPackage.getOperation(), null, "Task", null, 1, 1, HazardAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getHazardAnalysis_Origin(), theTypesPackage.getString(), "Origin", null, 1, 1, HazardAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getHazardAnalysis_HazardousSituation(), theTypesPackage.getString(), "HazardousSituation", null, 1, 1, HazardAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getHazardAnalysis_HazardousEvent(), theTypesPackage.getString(), "HazardousEvent", null, 1, 1, HazardAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getHazardAnalysis_PossibleHarm(), theTypesPackage.getString(), "PossibleHarm", null, 1, 1, HazardAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getHazardAnalysis_Base_Operation(), theUMLPackage.getOperation(), null, "base_Operation", 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_Comment(), theTypesPackage.getString(), "Comment", null, 1, 1, HazardAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getHazardAnalysis_Initial_Occurence(), theTypesPackage.getInteger(), "Initial_Occurence", null, 1, 1, HazardAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getHazardAnalysis_Initial_Avoidance(), theTypesPackage.getInteger(), "Initial_Avoidance", null, 1, 1, HazardAnalysis.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getHazardAnalysis_Initial_Frequency(), theTypesPackage.getInteger(), "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(), theTypesPackage.getInteger(), "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(), theTypesPackage.getInteger(), "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(), theTypesPackage.getInteger(), "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(), theTypesPackage.getInteger(), "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(), theTypesPackage.getInteger(), "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(), theTypesPackage.getInteger(), "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(), theTypesPackage.getInteger(), "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);
+
+		// Create resource
+		createResource(eNS_URI);
+
+		// Create annotations
+		// http://www.eclipse.org/uml2/2.0.0/UML
+		createUMLAnnotations();
+	}
+
+	/**
+	 * Initializes the annotations for <b>http://www.eclipse.org/uml2/2.0.0/UML</b>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void createUMLAnnotations() {
+		String source = "http://www.eclipse.org/uml2/2.0.0/UML";
+		addAnnotation
+		  (this,
+		   source,
+		   new String[] {
+			   "originalName", "TaskBasedRiskAnalysis"
+		   });
+	}
+
+} //RiskanalysisPackageImpl
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/src-gen/org/polarsys/esf/riskanalysis/util/RiskanalysisAdapterFactory.java b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/src-gen/org/polarsys/esf/riskanalysis/util/RiskanalysisAdapterFactory.java
new file mode 100644
index 0000000..cc47d23
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/src-gen/org/polarsys/esf/riskanalysis/util/RiskanalysisAdapterFactory.java
@@ -0,0 +1,128 @@
+/*******************************************************************************
+ * 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.polarsys.esf.riskanalysis.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+import org.polarsys.esf.riskanalysis.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.esf.riskanalysis.RiskanalysisPackage
+ * @generated
+ */
+public class RiskanalysisAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static RiskanalysisPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RiskanalysisAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = RiskanalysisPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected RiskanalysisSwitch<Adapter> modelSwitch =
+		new RiskanalysisSwitch<Adapter>() {
+			@Override
+			public Adapter caseHazardAnalysis(HazardAnalysis object) {
+				return createHazardAnalysisAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.polarsys.esf.riskanalysis.HazardAnalysis <em>Hazard Analysis</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.polarsys.esf.riskanalysis.HazardAnalysis
+	 * @generated
+	 */
+	public Adapter createHazardAnalysisAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //RiskanalysisAdapterFactory
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/src-gen/org/polarsys/esf/riskanalysis/util/RiskanalysisSwitch.java b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/src-gen/org/polarsys/esf/riskanalysis/util/RiskanalysisSwitch.java
new file mode 100644
index 0000000..73a52b4
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/src-gen/org/polarsys/esf/riskanalysis/util/RiskanalysisSwitch.java
@@ -0,0 +1,118 @@
+/*******************************************************************************
+ * 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.polarsys.esf.riskanalysis.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+import org.polarsys.esf.riskanalysis.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.polarsys.esf.riskanalysis.RiskanalysisPackage
+ * @generated
+ */
+public class RiskanalysisSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static RiskanalysisPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RiskanalysisSwitch() {
+		if (modelPackage == null) {
+			modelPackage = RiskanalysisPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case RiskanalysisPackage.HAZARD_ANALYSIS: {
+				HazardAnalysis hazardAnalysis = (HazardAnalysis)theEObject;
+				T result = caseHazardAnalysis(hazardAnalysis);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Hazard Analysis</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>Hazard Analysis</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseHazardAnalysis(HazardAnalysis object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+} //RiskanalysisSwitch
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/src/org/polarsys/esf/riskanalysis/custom/CustomFactory.java b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/src/org/polarsys/esf/riskanalysis/custom/CustomFactory.java
new file mode 100644
index 0000000..458d160
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/src/org/polarsys/esf/riskanalysis/custom/CustomFactory.java
@@ -0,0 +1,23 @@
+/*******************************************************************************
+ * 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.polarsys.esf.riskanalysis.custom;
+
+import org.polarsys.esf.riskanalysis.HazardAnalysis;
+import org.polarsys.esf.riskanalysis.impl.RiskanalysisFactoryImpl;
+
+public class CustomFactory extends RiskanalysisFactoryImpl {
+
+	@Override
+	public HazardAnalysis createHazardAnalysis() {
+		return new CustomHazardAnalysis();
+	}
+}
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/src/org/polarsys/esf/riskanalysis/custom/CustomHazardAnalysis.java b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/src/org/polarsys/esf/riskanalysis/custom/CustomHazardAnalysis.java
new file mode 100644
index 0000000..430f89b
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.profile/src/org/polarsys/esf/riskanalysis/custom/CustomHazardAnalysis.java
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * 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.polarsys.esf.riskanalysis.custom;
+
+import org.polarsys.esf.riskanalysis.impl.HazardAnalysisImpl;
+
+public class CustomHazardAnalysis extends HazardAnalysisImpl {
+
+	
+	@Override
+	public int getInitial_Criticality() {
+		return 1;
+	}
+	
+	@Override
+	public void setInitial_Criticality(int newInitial_Criticality) {
+	//do nothing
+	}
+	
+	@Override
+	public int getFinal_Criticality() {
+	return 1;
+	}
+	
+	@Override
+	public void setFinal_Criticality(int newFinal_Criticality) {
+//		// TODO Auto-generated method stub
+//		super.setFinal_Criticality(newFinal_Criticality);
+		//do nothing
+	}
+}
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.releng/.project b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.releng/.project
new file mode 100644
index 0000000..eaa5ebc
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.releng/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.polarsys.esf.riskanalysis.releng</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.pde.FeatureBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.FeatureNature</nature>
+	</natures>
+</projectDescription>
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.releng/build.properties b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.releng/build.properties
new file mode 100644
index 0000000..3d45b4f
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.releng/build.properties
@@ -0,0 +1,4 @@
+bin.includes = feature.xml,\
+               feature.properties,\
+               license.html,\
+               epl-v20.html
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.releng/epl-v20.html b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.releng/epl-v20.html
new file mode 100644
index 0000000..637a181
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.releng/epl-v20.html
@@ -0,0 +1,300 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>Eclipse Public License - Version 2.0</title>
+    <style type="text/css">
+      body {
+        margin: 1.5em 3em;
+      }
+      h1{
+        font-size:1.5em;
+      }
+      h2{
+        font-size:1em;
+        margin-bottom:0.5em;
+        margin-top:1em;
+      }
+      p {
+        margin-top:  0.5em;
+        margin-bottom: 0.5em;
+      }
+      ul, ol{
+        list-style-type:none;
+      }
+    </style>
+  </head>
+  <body>
+    <h1>Eclipse Public License - v 2.0</h1>
+    <p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+      PUBLIC LICENSE (&ldquo;AGREEMENT&rdquo;). ANY USE, REPRODUCTION OR DISTRIBUTION
+      OF THE PROGRAM CONSTITUTES RECIPIENT&#039;S ACCEPTANCE OF THIS AGREEMENT.
+    </p>
+    <h2 id="definitions">1. DEFINITIONS</h2>
+    <p>&ldquo;Contribution&rdquo; means:</p>
+    <ul>
+      <li>a) in the case of the initial Contributor, the initial content
+        Distributed under this Agreement, and
+      </li>
+      <li>
+        b) in the case of each subsequent Contributor:
+        <ul>
+          <li>i) changes to the Program, and</li>
+          <li>ii) additions to the Program;</li>
+        </ul>
+        where such changes and/or additions to the Program originate from
+        and are Distributed by that particular Contributor. A Contribution
+        &ldquo;originates&rdquo; from a Contributor if it was added to the Program by such
+        Contributor itself or anyone acting on such Contributor&#039;s behalf.
+        Contributions do not include changes or additions to the Program that
+        are not Modified Works.
+      </li>
+    </ul>
+    <p>&ldquo;Contributor&rdquo; means any person or entity that Distributes the Program.</p>
+    <p>&ldquo;Licensed Patents&rdquo; mean patent claims licensable by a Contributor which
+      are necessarily infringed by the use or sale of its Contribution alone
+      or when combined with the Program.
+    </p>
+    <p>&ldquo;Program&rdquo; means the Contributions Distributed in accordance with this
+      Agreement.
+    </p>
+    <p>&ldquo;Recipient&rdquo; means anyone who receives the Program under this Agreement
+      or any Secondary License (as applicable), including Contributors.
+    </p>
+    <p>&ldquo;Derivative Works&rdquo; shall mean any work, whether in Source Code or other
+      form, that is based on (or derived from) the Program and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship.
+    </p>
+    <p>&ldquo;Modified Works&rdquo; shall mean any work in Source Code or other form that
+      results from an addition to, deletion from, or modification of the
+      contents of the Program, including, for purposes of clarity any new file
+      in Source Code form that contains any contents of the Program. Modified
+      Works shall not include works that contain only declarations, interfaces,
+      types, classes, structures, or files of the Program solely in each case
+      in order to link to, bind by name, or subclass the Program or Modified
+      Works thereof.
+    </p>
+    <p>&ldquo;Distribute&rdquo; means the acts of a) distributing or b) making available
+      in any manner that enables the transfer of a copy.
+    </p>
+    <p>&ldquo;Source Code&rdquo; means the form of a Program preferred for making
+      modifications, including but not limited to software source code,
+      documentation source, and configuration files.
+    </p>
+    <p>&ldquo;Secondary License&rdquo; means either the GNU General Public License,
+      Version 2.0, or any later versions of that license, including any
+      exceptions or additional permissions as identified by the initial
+      Contributor.
+    </p>
+    <h2 id="grant-of-rights">2. GRANT OF RIGHTS</h2>
+    <ul>
+      <li>a) Subject to the terms of this Agreement, each Contributor hereby
+        grants Recipient a non-exclusive, worldwide, royalty-free copyright
+        license to reproduce, prepare Derivative Works of, publicly display,
+        publicly perform, Distribute and sublicense the Contribution of such
+        Contributor, if any, and such Derivative Works.
+      </li>
+      <li>b) Subject to the terms of this Agreement, each Contributor hereby
+        grants Recipient a non-exclusive, worldwide, royalty-free patent
+        license under Licensed Patents to make, use, sell, offer to sell,
+        import and otherwise transfer the Contribution of such Contributor,
+        if any, in Source Code or other form. This patent license shall
+        apply to the combination of the Contribution and the Program if,
+        at the time the Contribution is added by the Contributor, such
+        addition of the Contribution causes such combination to be covered
+        by the Licensed Patents. The patent license shall not apply to any
+        other combinations which include the Contribution. No hardware per
+        se is licensed hereunder.
+      </li>
+      <li>c) Recipient understands that although each Contributor grants the
+        licenses to its Contributions set forth herein, no assurances are
+        provided by any Contributor that the Program does not infringe the
+        patent or other intellectual property rights of any other entity.
+        Each Contributor disclaims any liability to Recipient for claims
+        brought by any other entity based on infringement of intellectual
+        property rights or otherwise. As a condition to exercising the rights
+        and licenses granted hereunder, each Recipient hereby assumes sole
+        responsibility to secure any other intellectual property rights needed,
+        if any. For example, if a third party patent license is required to
+        allow Recipient to Distribute the Program, it is Recipient&#039;s
+        responsibility to acquire that license before distributing the Program.
+      </li>
+      <li>d) Each Contributor represents that to its knowledge it has sufficient
+        copyright rights in its Contribution, if any, to grant the copyright
+        license set forth in this Agreement.
+      </li>
+      <li>e) Notwithstanding the terms of any Secondary License, no Contributor
+        makes additional grants to any Recipient (other than those set forth
+        in this Agreement) as a result of such Recipient&#039;s receipt of the
+        Program under the terms of a Secondary License (if permitted under
+        the terms of Section 3).
+      </li>
+    </ul>
+    <h2 id="requirements">3. REQUIREMENTS</h2>
+    <p>3.1 If a Contributor Distributes the Program in any form, then:</p>
+    <ul>
+      <li>a) the Program must also be made available as Source Code, in
+        accordance with section 3.2, and the Contributor must accompany
+        the Program with a statement that the Source Code for the Program
+        is available under this Agreement, and informs Recipients how to
+        obtain it in a reasonable manner on or through a medium customarily
+        used for software exchange; and
+      </li>
+      <li>
+        b) the Contributor may Distribute the Program under a license
+        different than this Agreement, provided that such license:
+        <ul>
+          <li>i) effectively disclaims on behalf of all other Contributors all
+            warranties and conditions, express and implied, including warranties
+            or conditions of title and non-infringement, and implied warranties
+            or conditions of merchantability and fitness for a particular purpose;
+          </li>
+          <li>ii) effectively excludes on behalf of all other Contributors all
+            liability for damages, including direct, indirect, special, incidental
+            and consequential damages, such as lost profits;
+          </li>
+          <li>iii) does not attempt to limit or alter the recipients&#039; rights in the
+            Source Code under section 3.2; and
+          </li>
+          <li>iv) requires any subsequent distribution of the Program by any party
+            to be under a license that satisfies the requirements of this section 3.
+          </li>
+        </ul>
+      </li>
+    </ul>
+    <p>3.2 When the Program is Distributed as Source Code:</p>
+    <ul>
+      <li>a) it must be made available under this Agreement, or if the Program (i)
+        is combined with other material in a separate file or files made available
+        under a Secondary License, and (ii) the initial Contributor attached to
+        the Source Code the notice described in Exhibit A of this Agreement,
+        then the Program may be made available under the terms of such
+        Secondary Licenses, and
+      </li>
+      <li>b) a copy of this Agreement must be included with each copy of the Program.</li>
+    </ul>
+    <p>3.3 Contributors may not remove or alter any copyright, patent, trademark,
+      attribution notices, disclaimers of warranty, or limitations of liability
+      (&lsquo;notices&rsquo;) contained within the Program from any copy of the Program which
+      they Distribute, provided that Contributors may add their own appropriate
+      notices.
+    </p>
+    <h2 id="commercial-distribution">4. COMMERCIAL DISTRIBUTION</h2>
+    <p>Commercial distributors of software may accept certain responsibilities
+      with respect to end users, business partners and the like. While this
+      license is intended to facilitate the commercial use of the Program, the
+      Contributor who includes the Program in a commercial product offering should
+      do so in a manner which does not create potential liability for other
+      Contributors. Therefore, if a Contributor includes the Program in a
+      commercial product offering, such Contributor (&ldquo;Commercial Contributor&rdquo;)
+      hereby agrees to defend and indemnify every other Contributor
+      (&ldquo;Indemnified Contributor&rdquo;) against any losses, damages and costs
+      (collectively &ldquo;Losses&rdquo;) arising from claims, lawsuits and other legal actions
+      brought by a third party against the Indemnified Contributor to the extent
+      caused by the acts or omissions of such Commercial Contributor in connection
+      with its distribution of the Program in a commercial product offering.
+      The obligations in this section do not apply to any claims or Losses relating
+      to any actual or alleged intellectual property infringement. In order to
+      qualify, an Indemnified Contributor must: a) promptly notify the
+      Commercial Contributor in writing of such claim, and b) allow the Commercial
+      Contributor to control, and cooperate with the Commercial Contributor in,
+      the defense and any related settlement negotiations. The Indemnified
+      Contributor may participate in any such claim at its own expense.
+    </p>
+    <p>For example, a Contributor might include the Program
+      in a commercial product offering, Product X. That Contributor is then a
+      Commercial Contributor. If that Commercial Contributor then makes performance
+      claims, or offers warranties related to Product X, those performance claims
+      and warranties are such Commercial Contributor&#039;s responsibility alone.
+      Under this section, the Commercial Contributor would have to defend claims
+      against the other Contributors related to those performance claims and
+      warranties, and if a court requires any other Contributor to pay any damages
+      as a result, the Commercial Contributor must pay those damages.
+    </p>
+    <h2 id="warranty">5. NO WARRANTY</h2>
+    <p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED
+      BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN &ldquo;AS IS&rdquo; BASIS, WITHOUT
+      WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
+      WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
+      MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is
+      solely responsible for determining the appropriateness of using and
+      distributing the Program and assumes all risks associated with its
+      exercise of rights under this Agreement, including but not limited to the
+      risks and costs of program errors, compliance with applicable laws, damage
+      to or loss of data, programs or equipment, and unavailability or
+      interruption of operations.
+    </p>
+    <h2 id="disclaimer">6. DISCLAIMER OF LIABILITY</h2>
+    <p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED
+      BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY
+      LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+      OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS),
+      HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+      LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+      OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS
+      GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+    </p>
+    <h2 id="general">7. GENERAL</h2>
+    <p>If any provision of this Agreement is invalid or unenforceable under
+      applicable law, it shall not affect the validity or enforceability of the
+      remainder of the terms of this Agreement, and without further action by the
+      parties hereto, such provision shall be reformed to the minimum extent
+      necessary to make such provision valid and enforceable.
+    </p>
+    <p>If Recipient institutes patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Program itself
+      (excluding combinations of the Program with other software or hardware)
+      infringes such Recipient&#039;s patent(s), then such Recipient&#039;s rights granted
+      under Section 2(b) shall terminate as of the date such litigation is filed.
+    </p>
+    <p>All Recipient&#039;s rights under this Agreement shall terminate if it fails to
+      comply with any of the material terms or conditions of this Agreement and
+      does not cure such failure in a reasonable period of time after becoming
+      aware of such noncompliance. If all Recipient&#039;s rights under this Agreement
+      terminate, Recipient agrees to cease use and distribution of the Program
+      as soon as reasonably practicable. However, Recipient&#039;s obligations under
+      this Agreement and any licenses granted by Recipient relating to the
+      Program shall continue and survive.
+    </p>
+    <p>Everyone is permitted to copy and distribute copies of this Agreement,
+      but in order to avoid inconsistency the Agreement is copyrighted and may
+      only be modified in the following manner. The Agreement Steward reserves
+      the right to publish new versions (including revisions) of this Agreement
+      from time to time. No one other than the Agreement Steward has the right
+      to modify this Agreement. The Eclipse Foundation is the initial Agreement
+      Steward. The Eclipse Foundation may assign the responsibility to serve as
+      the Agreement Steward to a suitable separate entity. Each new version of
+      the Agreement will be given a distinguishing version number. The Program
+      (including Contributions) may always be Distributed subject to the version
+      of the Agreement under which it was received. In addition, after a new
+      version of the Agreement is published, Contributor may elect to Distribute
+      the Program (including its Contributions) under the new version.
+    </p>
+    <p>Except as expressly stated in Sections 2(a) and 2(b) above, Recipient
+      receives no rights or licenses to the intellectual property of any
+      Contributor under this Agreement, whether expressly, by implication,
+      estoppel or otherwise. All rights in the Program not expressly granted
+      under this Agreement are reserved. Nothing in this Agreement is intended
+      to be enforceable by any entity that is not a Contributor or Recipient.
+      No third-party beneficiary rights are created under this Agreement.
+    </p>
+    <h2 id="exhibit-a">Exhibit A &ndash; Form of Secondary Licenses Notice</h2>
+    <p>&ldquo;This Source Code may also be made available under the following 
+    	Secondary Licenses when the conditions for such availability set forth 
+    	in the Eclipse Public License, v. 2.0 are satisfied: {name license(s),
+    	version(s), and exceptions or additional permissions here}.&rdquo;
+    </p>
+    <blockquote>
+      <p>Simply including a copy of this Agreement, including this Exhibit A
+        is not sufficient to license the Source Code under Secondary Licenses.
+      </p>
+      <p>If it is not possible or desirable to put the notice in a particular file,
+        then You may include the notice in a location (such as a LICENSE file in a
+        relevant directory) where a recipient would be likely to look for
+        such a notice.
+      </p>
+      <p>You may add additional accurate notices of copyright ownership.</p>
+    </blockquote>
+  </body>
+</html>
\ No newline at end of file
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.releng/feature.properties b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.releng/feature.properties
new file mode 100644
index 0000000..de9360f
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.releng/feature.properties
@@ -0,0 +1,79 @@
+featureName = ESF Core (Mandatory) (Incubation)
+providerName = PolarSys
+description = Hazard and Risk analysis feature of ESF (Incubation)
+copyright=\
+Copyright (c) 2016 ALL4TEC & CEA LIST.\n\
+All rights reserved. This program and the accompanying materials\n\
+are made available under the terms of the Eclipse Public License v2.0\n\
+which accompanies this distribution, and is available at\n\
+https://www.eclipse.org/legal/epl-2.0/\n\
+\n\
+Contributors:\n\
+    Saadia Dhouib (CEA LIST) - initial API and implementation\n\
+	Ansgar Radermacher (CEA LIST) - feature definition\n
+licenseURL=license.html
+license=\
+Eclipse.org Software User Agreement\n\
+\n\
+Eclipse Foundation Software User Agreement\n\
+April 9, 2014\n\
+\n\
+Usage Of Content\n\
+\n\
+THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS\n\
+(COLLECTIVELY "CONTENT").  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND\n\
+CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE\n\
+OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR\n\
+NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND\n\
+CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
+\n\
+Applicable Licenses\n\
+\n\
+Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 2.0\n\
+("EPL").  A copy of the EPL is provided with this Content and is also available at https://www.eclipse.org/legal/epl-2.0/\n\
+For purposes of the EPL, "Program" will mean the Content.\n\
+\n\
+Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS\n\
+modules ("Modules") and made available as downloadable archives ("Downloads").\n\
+   \n\
+       - Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").\n\
+       - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(tm) ARchive) in a directory named "plugins".\n\
+       - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named "features".  Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins\n\
+         and/or Fragments associated with that Feature.\n\
+       - Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
+ \n\
+The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and\n\
+Included Features should be contained in files named "license.html" ("Feature Licenses").  Abouts and Feature Licenses may be located in any directory of a Download or Module\n\
+including, but not limited to the following locations:\n\
+\n\
+       - The top-level (root) directory\n\
+       - Plug-in and Fragment directories\n\
+       - Inside Plug-ins and Fragments packaged as JARs\n\
+       - Sub-directories of the directory named "src" of certain Plug-ins\n\
+       - Feature directories\n\
+		\n\
+Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the\n\
+installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or\n\
+inform you where you can locate them.  Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature.\n\
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in\n\
+that directory.\n\
+\n\
+THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE\n\
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
+\n\
+       - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
+       - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
+       - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
+       - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)	\n\
+       - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
+\n\
+IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please\n\
+contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.\n\
+\n\
+Cryptography\n\
+\n\
+Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to\n\
+another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,\n\
+possession, or use, and re-export of encryption software, to see if this is permitted.\n\
+\n\
+Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.releng/feature.xml b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.releng/feature.xml
new file mode 100644
index 0000000..4584aef
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.releng/feature.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.polarsys.esf.riskanalysis.releng"
+      label="%featureName"
+      version="0.7.0.qualifier"
+      provider-name="%providerName"
+      plugin="org.polarsys.esf.riskanalysis.releng.branding">
+
+   <description>
+      %description
+   </description>
+
+   <copyright>
+      %copyright
+   </copyright>
+
+   <license url="%licenseURL">
+      %copyright
+   </license>
+
+   <url>
+      <discovery label="ESF Website" url="http://www.polarsys.org/esf"/>
+   </url>
+
+   <requires>
+      <import plugin="org.eclipse.core.runtime"/>
+      <import plugin="org.eclipse.emf.common"/>
+      <import plugin="org.eclipse.papyrus.infra.viewpoints.policy" version="1.2.0" match="greaterOrEqual"/>
+      <import plugin="org.polarsys.esf.localanalysis.resources.graphical" version="0.7.0" match="greaterOrEqual"/>
+      <import plugin="org.polarsys.esf.localanalysis.profile.service.types" version="0.7.0" match="greaterOrEqual"/>
+      <import plugin="org.polarsys.esf.localanalysis.profile" version="0.7.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.uml2.uml"/>
+      <import plugin="org.polarsys.esf.core.utils" version="0.7.0" match="greaterOrEqual"/>
+      <import plugin="org.polarsys.esf.localanalysis.diagram" version="0.7.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.emf.common.ui"/>
+      <import plugin="org.polarsys.esf.localanalysis.execution" version="0.7.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.ui.workbench"/>
+      <import plugin="org.eclipse.core.commands"/>
+      <import plugin="org.eclipse.jface"/>
+      <import plugin="org.polarsys.esf.core.profile.esfarchitectureconcepts" version="0.7.0" match="greaterOrEqual"/>
+      <import plugin="org.polarsys.esf.localanalysis.table" version="0.7.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.papyrus.uml.nattable.menu" version="1.2.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.papyrus.uml.service.types" version="2.0.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.papyrus.uml.service.types.ui" version="1.2.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.papyrus.infra.nattable"/>
+      <import plugin="org.polarsys.esf.localanalysis.profile.tools" version="0.7.0" match="greaterOrEqual"/>
+      <import plugin="org.polarsys.esf.analysis.common.ui" version="0.7.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.core.runtime" version="3.11.1" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.emf.common" version="2.11.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.uml2.uml" version="5.1.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.papyrus.uml.extensionpoints" version="1.1.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.emf.ecore"/>
+      <import plugin="org.polarsys.esf.core.profile.esfcore" version="0.7.0" match="greaterOrEqual"/>
+      <import plugin="org.polarsys.esf.core.profile.esfproperties" version="0.7.0" match="greaterOrEqual"/>
+      <import plugin="org.polarsys.esf.core.profile.esfsafetyconcepts" version="0.7.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.uml2.types"/>
+      <import plugin="org.eclipse.emf.ecore.xmi" version="2.11.1" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.emf.transaction"/>
+      <import plugin="org.eclipse.papyrus.uml.tools.utils"/>
+      <import plugin="org.eclipse.core.runtime" version="3.12.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.emf.common" version="2.12.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.emf.ecore" version="2.12.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.papyrus.infra.types.core" version="2.0.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.uml2.uml" version="5.2.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.swt" version="3.105.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.papyrus.uml.diagram.common" version="2.0.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.emf.common.ui" version="2.11.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.emf.validation" version="1.8.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.equinox.registry"/>
+      <import plugin="org.eclipse.papyrus.infra.tools" version="2.0.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.papyrus.infra.nattable" version="2.0.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.papyrus.infra.nattable.common" version="2.0.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.papyrus.infra.emf.nattable" version="2.0.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.papyrus.uml.nattable" version="2.0.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.help" version="3.7.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.papyrus.views.properties"/>
+   </requires>
+
+   <plugin
+         id="org.polarsys.esf.riskanalysis.profile"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.polarsys.esf.riskanalysis.table"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.polarsys.esf.riskanalysis.ui"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+</feature>
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.releng/license.html b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.releng/license.html
new file mode 100644
index 0000000..637a181
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.releng/license.html
@@ -0,0 +1,300 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>Eclipse Public License - Version 2.0</title>
+    <style type="text/css">
+      body {
+        margin: 1.5em 3em;
+      }
+      h1{
+        font-size:1.5em;
+      }
+      h2{
+        font-size:1em;
+        margin-bottom:0.5em;
+        margin-top:1em;
+      }
+      p {
+        margin-top:  0.5em;
+        margin-bottom: 0.5em;
+      }
+      ul, ol{
+        list-style-type:none;
+      }
+    </style>
+  </head>
+  <body>
+    <h1>Eclipse Public License - v 2.0</h1>
+    <p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+      PUBLIC LICENSE (&ldquo;AGREEMENT&rdquo;). ANY USE, REPRODUCTION OR DISTRIBUTION
+      OF THE PROGRAM CONSTITUTES RECIPIENT&#039;S ACCEPTANCE OF THIS AGREEMENT.
+    </p>
+    <h2 id="definitions">1. DEFINITIONS</h2>
+    <p>&ldquo;Contribution&rdquo; means:</p>
+    <ul>
+      <li>a) in the case of the initial Contributor, the initial content
+        Distributed under this Agreement, and
+      </li>
+      <li>
+        b) in the case of each subsequent Contributor:
+        <ul>
+          <li>i) changes to the Program, and</li>
+          <li>ii) additions to the Program;</li>
+        </ul>
+        where such changes and/or additions to the Program originate from
+        and are Distributed by that particular Contributor. A Contribution
+        &ldquo;originates&rdquo; from a Contributor if it was added to the Program by such
+        Contributor itself or anyone acting on such Contributor&#039;s behalf.
+        Contributions do not include changes or additions to the Program that
+        are not Modified Works.
+      </li>
+    </ul>
+    <p>&ldquo;Contributor&rdquo; means any person or entity that Distributes the Program.</p>
+    <p>&ldquo;Licensed Patents&rdquo; mean patent claims licensable by a Contributor which
+      are necessarily infringed by the use or sale of its Contribution alone
+      or when combined with the Program.
+    </p>
+    <p>&ldquo;Program&rdquo; means the Contributions Distributed in accordance with this
+      Agreement.
+    </p>
+    <p>&ldquo;Recipient&rdquo; means anyone who receives the Program under this Agreement
+      or any Secondary License (as applicable), including Contributors.
+    </p>
+    <p>&ldquo;Derivative Works&rdquo; shall mean any work, whether in Source Code or other
+      form, that is based on (or derived from) the Program and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship.
+    </p>
+    <p>&ldquo;Modified Works&rdquo; shall mean any work in Source Code or other form that
+      results from an addition to, deletion from, or modification of the
+      contents of the Program, including, for purposes of clarity any new file
+      in Source Code form that contains any contents of the Program. Modified
+      Works shall not include works that contain only declarations, interfaces,
+      types, classes, structures, or files of the Program solely in each case
+      in order to link to, bind by name, or subclass the Program or Modified
+      Works thereof.
+    </p>
+    <p>&ldquo;Distribute&rdquo; means the acts of a) distributing or b) making available
+      in any manner that enables the transfer of a copy.
+    </p>
+    <p>&ldquo;Source Code&rdquo; means the form of a Program preferred for making
+      modifications, including but not limited to software source code,
+      documentation source, and configuration files.
+    </p>
+    <p>&ldquo;Secondary License&rdquo; means either the GNU General Public License,
+      Version 2.0, or any later versions of that license, including any
+      exceptions or additional permissions as identified by the initial
+      Contributor.
+    </p>
+    <h2 id="grant-of-rights">2. GRANT OF RIGHTS</h2>
+    <ul>
+      <li>a) Subject to the terms of this Agreement, each Contributor hereby
+        grants Recipient a non-exclusive, worldwide, royalty-free copyright
+        license to reproduce, prepare Derivative Works of, publicly display,
+        publicly perform, Distribute and sublicense the Contribution of such
+        Contributor, if any, and such Derivative Works.
+      </li>
+      <li>b) Subject to the terms of this Agreement, each Contributor hereby
+        grants Recipient a non-exclusive, worldwide, royalty-free patent
+        license under Licensed Patents to make, use, sell, offer to sell,
+        import and otherwise transfer the Contribution of such Contributor,
+        if any, in Source Code or other form. This patent license shall
+        apply to the combination of the Contribution and the Program if,
+        at the time the Contribution is added by the Contributor, such
+        addition of the Contribution causes such combination to be covered
+        by the Licensed Patents. The patent license shall not apply to any
+        other combinations which include the Contribution. No hardware per
+        se is licensed hereunder.
+      </li>
+      <li>c) Recipient understands that although each Contributor grants the
+        licenses to its Contributions set forth herein, no assurances are
+        provided by any Contributor that the Program does not infringe the
+        patent or other intellectual property rights of any other entity.
+        Each Contributor disclaims any liability to Recipient for claims
+        brought by any other entity based on infringement of intellectual
+        property rights or otherwise. As a condition to exercising the rights
+        and licenses granted hereunder, each Recipient hereby assumes sole
+        responsibility to secure any other intellectual property rights needed,
+        if any. For example, if a third party patent license is required to
+        allow Recipient to Distribute the Program, it is Recipient&#039;s
+        responsibility to acquire that license before distributing the Program.
+      </li>
+      <li>d) Each Contributor represents that to its knowledge it has sufficient
+        copyright rights in its Contribution, if any, to grant the copyright
+        license set forth in this Agreement.
+      </li>
+      <li>e) Notwithstanding the terms of any Secondary License, no Contributor
+        makes additional grants to any Recipient (other than those set forth
+        in this Agreement) as a result of such Recipient&#039;s receipt of the
+        Program under the terms of a Secondary License (if permitted under
+        the terms of Section 3).
+      </li>
+    </ul>
+    <h2 id="requirements">3. REQUIREMENTS</h2>
+    <p>3.1 If a Contributor Distributes the Program in any form, then:</p>
+    <ul>
+      <li>a) the Program must also be made available as Source Code, in
+        accordance with section 3.2, and the Contributor must accompany
+        the Program with a statement that the Source Code for the Program
+        is available under this Agreement, and informs Recipients how to
+        obtain it in a reasonable manner on or through a medium customarily
+        used for software exchange; and
+      </li>
+      <li>
+        b) the Contributor may Distribute the Program under a license
+        different than this Agreement, provided that such license:
+        <ul>
+          <li>i) effectively disclaims on behalf of all other Contributors all
+            warranties and conditions, express and implied, including warranties
+            or conditions of title and non-infringement, and implied warranties
+            or conditions of merchantability and fitness for a particular purpose;
+          </li>
+          <li>ii) effectively excludes on behalf of all other Contributors all
+            liability for damages, including direct, indirect, special, incidental
+            and consequential damages, such as lost profits;
+          </li>
+          <li>iii) does not attempt to limit or alter the recipients&#039; rights in the
+            Source Code under section 3.2; and
+          </li>
+          <li>iv) requires any subsequent distribution of the Program by any party
+            to be under a license that satisfies the requirements of this section 3.
+          </li>
+        </ul>
+      </li>
+    </ul>
+    <p>3.2 When the Program is Distributed as Source Code:</p>
+    <ul>
+      <li>a) it must be made available under this Agreement, or if the Program (i)
+        is combined with other material in a separate file or files made available
+        under a Secondary License, and (ii) the initial Contributor attached to
+        the Source Code the notice described in Exhibit A of this Agreement,
+        then the Program may be made available under the terms of such
+        Secondary Licenses, and
+      </li>
+      <li>b) a copy of this Agreement must be included with each copy of the Program.</li>
+    </ul>
+    <p>3.3 Contributors may not remove or alter any copyright, patent, trademark,
+      attribution notices, disclaimers of warranty, or limitations of liability
+      (&lsquo;notices&rsquo;) contained within the Program from any copy of the Program which
+      they Distribute, provided that Contributors may add their own appropriate
+      notices.
+    </p>
+    <h2 id="commercial-distribution">4. COMMERCIAL DISTRIBUTION</h2>
+    <p>Commercial distributors of software may accept certain responsibilities
+      with respect to end users, business partners and the like. While this
+      license is intended to facilitate the commercial use of the Program, the
+      Contributor who includes the Program in a commercial product offering should
+      do so in a manner which does not create potential liability for other
+      Contributors. Therefore, if a Contributor includes the Program in a
+      commercial product offering, such Contributor (&ldquo;Commercial Contributor&rdquo;)
+      hereby agrees to defend and indemnify every other Contributor
+      (&ldquo;Indemnified Contributor&rdquo;) against any losses, damages and costs
+      (collectively &ldquo;Losses&rdquo;) arising from claims, lawsuits and other legal actions
+      brought by a third party against the Indemnified Contributor to the extent
+      caused by the acts or omissions of such Commercial Contributor in connection
+      with its distribution of the Program in a commercial product offering.
+      The obligations in this section do not apply to any claims or Losses relating
+      to any actual or alleged intellectual property infringement. In order to
+      qualify, an Indemnified Contributor must: a) promptly notify the
+      Commercial Contributor in writing of such claim, and b) allow the Commercial
+      Contributor to control, and cooperate with the Commercial Contributor in,
+      the defense and any related settlement negotiations. The Indemnified
+      Contributor may participate in any such claim at its own expense.
+    </p>
+    <p>For example, a Contributor might include the Program
+      in a commercial product offering, Product X. That Contributor is then a
+      Commercial Contributor. If that Commercial Contributor then makes performance
+      claims, or offers warranties related to Product X, those performance claims
+      and warranties are such Commercial Contributor&#039;s responsibility alone.
+      Under this section, the Commercial Contributor would have to defend claims
+      against the other Contributors related to those performance claims and
+      warranties, and if a court requires any other Contributor to pay any damages
+      as a result, the Commercial Contributor must pay those damages.
+    </p>
+    <h2 id="warranty">5. NO WARRANTY</h2>
+    <p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED
+      BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN &ldquo;AS IS&rdquo; BASIS, WITHOUT
+      WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
+      WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
+      MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is
+      solely responsible for determining the appropriateness of using and
+      distributing the Program and assumes all risks associated with its
+      exercise of rights under this Agreement, including but not limited to the
+      risks and costs of program errors, compliance with applicable laws, damage
+      to or loss of data, programs or equipment, and unavailability or
+      interruption of operations.
+    </p>
+    <h2 id="disclaimer">6. DISCLAIMER OF LIABILITY</h2>
+    <p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED
+      BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY
+      LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+      OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS),
+      HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+      LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+      OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS
+      GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+    </p>
+    <h2 id="general">7. GENERAL</h2>
+    <p>If any provision of this Agreement is invalid or unenforceable under
+      applicable law, it shall not affect the validity or enforceability of the
+      remainder of the terms of this Agreement, and without further action by the
+      parties hereto, such provision shall be reformed to the minimum extent
+      necessary to make such provision valid and enforceable.
+    </p>
+    <p>If Recipient institutes patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Program itself
+      (excluding combinations of the Program with other software or hardware)
+      infringes such Recipient&#039;s patent(s), then such Recipient&#039;s rights granted
+      under Section 2(b) shall terminate as of the date such litigation is filed.
+    </p>
+    <p>All Recipient&#039;s rights under this Agreement shall terminate if it fails to
+      comply with any of the material terms or conditions of this Agreement and
+      does not cure such failure in a reasonable period of time after becoming
+      aware of such noncompliance. If all Recipient&#039;s rights under this Agreement
+      terminate, Recipient agrees to cease use and distribution of the Program
+      as soon as reasonably practicable. However, Recipient&#039;s obligations under
+      this Agreement and any licenses granted by Recipient relating to the
+      Program shall continue and survive.
+    </p>
+    <p>Everyone is permitted to copy and distribute copies of this Agreement,
+      but in order to avoid inconsistency the Agreement is copyrighted and may
+      only be modified in the following manner. The Agreement Steward reserves
+      the right to publish new versions (including revisions) of this Agreement
+      from time to time. No one other than the Agreement Steward has the right
+      to modify this Agreement. The Eclipse Foundation is the initial Agreement
+      Steward. The Eclipse Foundation may assign the responsibility to serve as
+      the Agreement Steward to a suitable separate entity. Each new version of
+      the Agreement will be given a distinguishing version number. The Program
+      (including Contributions) may always be Distributed subject to the version
+      of the Agreement under which it was received. In addition, after a new
+      version of the Agreement is published, Contributor may elect to Distribute
+      the Program (including its Contributions) under the new version.
+    </p>
+    <p>Except as expressly stated in Sections 2(a) and 2(b) above, Recipient
+      receives no rights or licenses to the intellectual property of any
+      Contributor under this Agreement, whether expressly, by implication,
+      estoppel or otherwise. All rights in the Program not expressly granted
+      under this Agreement are reserved. Nothing in this Agreement is intended
+      to be enforceable by any entity that is not a Contributor or Recipient.
+      No third-party beneficiary rights are created under this Agreement.
+    </p>
+    <h2 id="exhibit-a">Exhibit A &ndash; Form of Secondary Licenses Notice</h2>
+    <p>&ldquo;This Source Code may also be made available under the following 
+    	Secondary Licenses when the conditions for such availability set forth 
+    	in the Eclipse Public License, v. 2.0 are satisfied: {name license(s),
+    	version(s), and exceptions or additional permissions here}.&rdquo;
+    </p>
+    <blockquote>
+      <p>Simply including a copy of this Agreement, including this Exhibit A
+        is not sufficient to license the Source Code under Secondary Licenses.
+      </p>
+      <p>If it is not possible or desirable to put the notice in a particular file,
+        then You may include the notice in a location (such as a LICENSE file in a
+        relevant directory) where a recipient would be likely to look for
+        such a notice.
+      </p>
+      <p>You may add additional accurate notices of copyright ownership.</p>
+    </blockquote>
+  </body>
+</html>
\ No newline at end of file
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.releng/pom.xml b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.releng/pom.xml
new file mode 100644
index 0000000..a9ed45e
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.releng/pom.xml
@@ -0,0 +1,20 @@
+<?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>
+    <groupId>org.polarsys.esf</groupId>
+    <artifactId>esf-tools.analysis.riskanalysis</artifactId>
+    <version>0.7.0-SNAPSHOT</version>
+  </parent>
+  
+  <groupId>org.polarsys.esf</groupId>
+  <artifactId>org.polarsys.esf.riskanalysis.releng</artifactId>
+  <packaging>eclipse-feature</packaging>
+  <name>ESF Risk Analysis feature</name>
+  <description>ESF Risk Analysis feature description.</description>
+  
+</project>
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.table/.classpath b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.table/.classpath
new file mode 100644
index 0000000..eca7bdb
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.table/.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-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.table/.project b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.table/.project
new file mode 100644
index 0000000..1526c7a
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.table/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.polarsys.esf.riskanalysis.table</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/analysis/riskanalysis/org.polarsys.esf.riskanalysis.table/.settings/org.eclipse.jdt.core.prefs b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.table/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0c68a61
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.table/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.table/META-INF/MANIFEST.MF b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.table/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..fe50c10
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.table/META-INF/MANIFEST.MF
@@ -0,0 +1,8 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Table
+Bundle-SymbolicName: org.polarsys.esf.riskanalysis.table;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Automatic-Module-Name: org.polarsys.esf.riskanalysis.table
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.eclipse.papyrus.infra.nattable
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.table/architecture/hazardanalysis.architecture b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.table/architecture/hazardanalysis.architecture
new file mode 100644
index 0000000..c2503cb
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.table/architecture/hazardanalysis.architecture
@@ -0,0 +1,33 @@
+<?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="_CBeUoEMqEeeNE9tB5iN5zA" id="org.eclipse.papyrus.esf" name="Eclipse Safety Framework" description="Architecture domain for ESF">
+  <stakeholders xmi:type="architecture:Stakeholder" xmi:id="_SFcaQOGpEeewEL8Y1DXhbQ" id="org.eclipse.papyrus.esf.SafetyDesigner" name="Safety Designer" description="Safety Designer" concerns="_SqiO4OGqEeewEL8Y1DXhbQ"/>
+  <stakeholders xmi:type="architecture:Stakeholder" xmi:id="_wrP_4EmSEem0gvUEdUYVHQ" id="org.eclipse.papyrus.esf.HazardAnalysisDesigner" name="Hazard Analysis Expert" description="Task Based Hazard Analysis Expert" concerns="_SqiO4OGqEeewEL8Y1DXhbQ"/>
+  <concerns xmi:type="architecture:Concern" xmi:id="_SqiO4OGqEeewEL8Y1DXhbQ" id="org.eclipse.papyrus.ESF-LA.concern.SafetyModeling" name="Safety modeling"/>
+  <contexts xmi:type="architecture:ArchitectureDescriptionLanguage" xmi:id="_XiGkgEMqEeeNE9tB5iN5zA" id="org.eclipse.papyrus.esf.context" name="ESF ADL" description="Extension for ESF" defaultViewpoints="_fuR0EPRYEeer9MDJI6SgXA" extensionPrefix="" creationCommandClass="org.polarsys.esf.core.diagram.esfarchitectureconcepts.command.CreateESFModelCommand">
+    <viewpoints xmi:type="architecture:ArchitectureViewpoint" xmi:id="_fuR0EPRYEeer9MDJI6SgXA" id="org.eclipse.papyrus.ESF-LA.viewpoint.TadkBasedHazardAnalysis" name="Task Based Hazard Analysisg view" description="The view clusters elements that are relevant to Task Based Hazard Analysis" concerns="_SqiO4OGqEeewEL8Y1DXhbQ" representationKinds="org.eclipse.papyrus.robotics.esf.table.HazardAnalysisTableType"/>
+    <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"/>
+    <elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.infra.services.edit/model/marker.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/>
+    <elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.infra.types.rulebased/model/rulebased.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/>
+    <elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/>
+    <elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/>
+    <elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.diagram.composite/model/compositediagram.elementtypesconfigurations#_tL86sLazEeSbnofizoRSMQ"/>
+    <elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.diagram.clazz/model/classdiagram.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/>
+    <elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.polarsys.esf.fmea.profile.service.types/src/main/resources/elementtypes/esffmea_di.elementtypesconfigurations#org.polarsys.esf.ESFFMEADI.elementTypes"/>
+    <elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.polarsys.esf.fmea.profile.service.types/src/main/resources/elementtypes/esffmea.elementtypesconfigurations#org.polarsys.esf.ESFFMEA.elementTypes"/>
+    <elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.infra.emf/model/infra-emf.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/>
+    <elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml-containments.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/>
+    <representationKinds xmi:type="nattablerepresentation:PapyrusTable" xmi:id="org.eclipse.papyrus.robotics.esf.table.HazardAnalysisTableType" id="org.eclipse.papyrus.robotics.esf.table.HazardAnalysisTableType" name="Papyrus for Robotics ADL Hazard Analysis Table" description="" icon="platform:/plugin/org.polarsys.esf.riskanalysis.table/icons/HazardAnalysisTableType.png" concerns="_SqiO4OGqEeewEL8Y1DXhbQ" implementationID="HazardAnalysisTableType">
+      <modelRules xmi:type="representation:ModelRule" xmi:id="_nHjgYEWSEemNyPj0A9fWiA" 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="_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.polarsys.esf.riskanalysis.table/tableConfiguration/HazardAnalysisTableType.nattableconfiguration#_4sLZQEWIEem1bPXeAqLfZw"/>
+    </representationKinds>
+    <metamodel xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML#/"/>
+    <profiles xmi:type="ecore:EPackage" href="http://www.polarsys.org/esf/0.7.0/RiskAnalysis#/"/>
+  </contexts>
+</architecture:ArchitectureDomain>
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.table/build.properties b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.table/build.properties
new file mode 100644
index 0000000..adb4a6e
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.table/build.properties
@@ -0,0 +1,5 @@
+#
+#Wed Mar 13 12:58:58 CET 2019
+bin.includes=META-INF/,.,tableConfiguration/,icons/,plugin.xml/
+output..=bin/
+source..=src/
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.table/icons/HazardAnalysisTableType.png b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.table/icons/HazardAnalysisTableType.png
new file mode 100644
index 0000000..2a97952
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.table/icons/HazardAnalysisTableType.png
Binary files differ
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.table/plugin.xml b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.table/plugin.xml
new file mode 100644
index 0000000..c310eea
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.table/plugin.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?eclipse version="3.4"?><plugin>
+<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"/>
+   </extension>
+      
+</plugin>
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.table/pom.xml b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.table/pom.xml
new file mode 100644
index 0000000..0d847a5
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.table/pom.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Copyright (c) 2016 ALL4TEC & 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:
+         ALL4TEC & CEA LIST - initial API and implementation
+ -->
+
+<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>
+    <groupId>org.polarsys.esf</groupId>
+    <artifactId>esf-tools.analysis.riskanalysis</artifactId>
+    <version>0.7.0-SNAPSHOT</version>
+  </parent>
+  
+  <groupId>org.polarsys.esf</groupId>
+  <artifactId>org.polarsys.esf.riskanalysis.table</artifactId>
+  <packaging>eclipse-plugin</packaging>
+  <name>ESFRiskAnalysis table</name>
+  <description>ESFRiskAnalysis table description.</description>
+
+</project>
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.table/tableConfiguration/HazardAnalysisTableType.nattableconfiguration b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.table/tableConfiguration/HazardAnalysisTableType.nattableconfiguration
new file mode 100644
index 0000000..562ee7c
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.table/tableConfiguration/HazardAnalysisTableType.nattableconfiguration
@@ -0,0 +1,93 @@
+<?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.polarsys.esf.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>
+    </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>
+    <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"/>
+  </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>
+  <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" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Task">
+      <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">
+      <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">
+      <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">
+      <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">
+      <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">
+      <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">
+      <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">
+      <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">
+      <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">
+      <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">
+      <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">
+      <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">
+      <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">
+      <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">
+      <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">
+      <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">
+      <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">
+      <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">
+      <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"/>
+</nattableconfiguration:TableConfiguration>
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.table/tableConfiguration/HazardAnalysisTableType2.nattableconfiguration b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.table/tableConfiguration/HazardAnalysisTableType2.nattableconfiguration
new file mode 100644
index 0000000..2e6e029
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.table/tableConfiguration/HazardAnalysisTableType2.nattableconfiguration
@@ -0,0 +1,87 @@
+<?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.polarsys.esf.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" 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>
+    </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"/>
+  </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>
+  <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" element="property_of_stereotype:/TaskBasedRiskAnalysis::HazardAnalysis::Task">
+      <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">
+      <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">
+      <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">
+      <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">
+      <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">
+      <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">
+      <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">
+      <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">
+      <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">
+      <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">
+      <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">
+      <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">
+      <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">
+      <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">
+      <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">
+      <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">
+      <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">
+      <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">
+      <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"/>
+</nattableconfiguration:TableConfiguration>
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.ui/.classpath b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.ui/.classpath
new file mode 100644
index 0000000..eca7bdb
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.ui/.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-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.ui/.project b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.ui/.project
new file mode 100644
index 0000000..dbecb79
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.ui/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.polarsys.esf.riskanalysis.ui</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/analysis/riskanalysis/org.polarsys.esf.riskanalysis.ui/.settings/org.eclipse.jdt.core.prefs b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.ui/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0c68a61
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.ui/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.ui/META-INF/MANIFEST.MF b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.ui/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..a94af61
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,17 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Ui
+Bundle-SymbolicName: org.polarsys.esf.riskanalysis.ui;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Activator: org.polarsys.esf.riskanalysis.ui.Activator
+Bundle-Vendor: CEA LIST
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.ui,
+ org.eclipse.uml2.uml;bundle-version="5.5.0",
+ org.polarsys.esf.core.utils,
+ org.eclipse.emf.transaction,
+ org.polarsys.esf.riskanalysis.profile,
+ org.eclipse.papyrus.uml.tools.utils
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Automatic-Module-Name: org.polarsys.esf.riskanalysis.ui
+Bundle-ActivationPolicy: lazy
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.ui/build.properties b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.ui/build.properties
new file mode 100644
index 0000000..e9863e2
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.ui/build.properties
@@ -0,0 +1,5 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.ui/plugin.xml b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.ui/plugin.xml
new file mode 100644
index 0000000..7cc8020
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.ui/plugin.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+   <extension
+         point="org.eclipse.ui.commands">
+         <command
+            description="Create new Hazard"
+            id="org.polarsys.esf.riskanalysis.ui.create.hazard.command"
+            name="Create new Hazard Analysis">
+      </command>
+   </extension>
+   <extension
+         point="org.eclipse.ui.handlers">
+	<handler
+            class="org.polarsys.esf.riskanalysis.ui.handler.CreateHazardAnalysisHandler"
+            commandId="org.polarsys.esf.riskanalysis.ui.create.hazard.command">
+         <activeWhen>
+            <and>
+               <with
+                     variable="selection">
+                  <iterate>
+                     <adapt
+                           type="org.eclipse.emf.ecore.EObject">
+                        <instanceof
+                              value="org.eclipse.uml2.uml.Interface">
+                        </instanceof>
+                     </adapt>
+                  </iterate>
+               </with>
+               <count
+                     value="1">
+               </count>
+            </and>
+         </activeWhen>
+      </handler>
+      </extension>
+       <extension
+         point="org.eclipse.ui.menus">
+      <menuContribution
+            allPopups="false"
+            locationURI="popup:org.polarsys.esf.analysis.common.ui.analysis.tools.modelexplorer.menu">
+        
+            <menu
+                  icon="platform:/plugin/org.polarsys.esf.fmea.resources.graphical/src/main/resources/icons/icon_esffmea_menu.png"
+                  id="org.polarsys.esf.hazardanalysis.execution.ui.menu"
+                  label="Task Based Hazard Analysis">
+              
+               <command
+                     commandId="org.polarsys.esf.riskanalysis.ui.create.hazard.command"
+                     label="Create new Hazard"
+                     style="push">
+               </command>
+              
+            </menu>
+         
+      </menuContribution>
+  
+   </extension>
+   <extension
+         point="org.eclipse.ui.commandImages">
+     
+      <image
+            commandId="org.polarsys.esf.riskanalysis.ui.create.hazard.command"
+            icon="platform:/plugin/org.polarsys.esf.fmea.resources.graphical/src/main/resources/icons/profile/icon_sfailuremodefmea.png">
+      </image>
+      
+   </extension>
+      
+</plugin>
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.ui/pom.xml b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.ui/pom.xml
new file mode 100644
index 0000000..5761fd9
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.ui/pom.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Copyright (c) 2016 ALL4TEC & 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:
+         ALL4TEC & CEA LIST - initial API and implementation
+ -->
+
+<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>
+    <groupId>org.polarsys.esf</groupId>
+    <artifactId>esf-tools.analysis.riskanalysis</artifactId>
+    <version>0.7.0-SNAPSHOT</version>
+  </parent>
+  
+  <groupId>org.polarsys.esf</groupId>
+  <artifactId>org.polarsys.esf.riskanalysis.ui</artifactId>
+  <packaging>eclipse-plugin</packaging>
+  <name>ESFRiskAnalysis UI</name>
+  <description>ESFRiskAnalysis UI description.</description>
+
+</project>
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.ui/src/org/polarsys/esf/riskanalysis/ui/Activator.java b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.ui/src/org/polarsys/esf/riskanalysis/ui/Activator.java
new file mode 100644
index 0000000..8ed3efa
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.ui/src/org/polarsys/esf/riskanalysis/ui/Activator.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * 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.polarsys.esf.riskanalysis.ui;
+
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+
+public class Activator implements BundleActivator {
+
+	private static BundleContext context;
+
+	static BundleContext getContext() {
+		return context;
+	}
+
+	public void start(BundleContext bundleContext) throws Exception {
+		Activator.context = bundleContext;
+	}
+
+	public void stop(BundleContext bundleContext) throws Exception {
+		Activator.context = null;
+	}
+
+}
diff --git a/analysis/riskanalysis/org.polarsys.esf.riskanalysis.ui/src/org/polarsys/esf/riskanalysis/ui/handler/CreateHazardAnalysisHandler.java b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.ui/src/org/polarsys/esf/riskanalysis/ui/handler/CreateHazardAnalysisHandler.java
new file mode 100644
index 0000000..e0a5d50
--- /dev/null
+++ b/analysis/riskanalysis/org.polarsys.esf.riskanalysis.ui/src/org/polarsys/esf/riskanalysis/ui/handler/CreateHazardAnalysisHandler.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.polarsys.esf.riskanalysis.ui.handler;
+
+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.polarsys.esf.riskanalysis.HazardAnalysis;
+
+
+public class CreateHazardAnalysisHandler extends AbstractHandler  {
+	/** Create HazardAnalysis label. */
+	private static final String CREATE_HAZARDANALYSIS_LABEL = "Create Hazard Analysis"; //$NON-NLS-1$
+
+	/**
+	 * Default constructor.
+	 */
+	public CreateHazardAnalysisHandler() {
+		
+	}	
+	
+	/**
+	 * Get the selected element (Interface) and call the command for creating a HazardAnalysis.
+	 *
+	 * {@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 vCreateHazardAnalysis = new RecordingCommand(vDomain, CREATE_HAZARDANALYSIS_LABEL) {
+
+					@Override
+					protected void doExecute() {
+						// compute the name for the new property
+						String vName = "Hazard";
+						// Create the object 'Property' of the interface containing the skills to analyze
+						Property hazardAnalysisProperty = vSelectedInterface.createOwnedAttribute(vName, null);
+
+						// Apply 'HazardAnalysis' stereotype on 'hazardAnalysisProperty'
+						StereotypeUtil.apply(hazardAnalysisProperty, HazardAnalysis.class);
+						
+					}
+				};
+
+				// Verify if command can be executed
+				if (vCreateHazardAnalysis.canExecute()) {
+					// Execute command
+					vDomain.getCommandStack().execute(vCreateHazardAnalysis);
+				}
+			}
+		
+		return null;
+	}
+
+	
+
+}