Add new feature "SafetyReq".

Change-Id: I861c207f78eb05e9fd4d6e66bb284dc3558f1a06
diff --git a/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/.classpath b/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/.classpath
new file mode 100644
index 0000000..d60cbc5
--- /dev/null
+++ b/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/.classpath
@@ -0,0 +1,6 @@
+<?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.7"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="target/classes/"/>
+</classpath>
diff --git a/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/.project b/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/.project
new file mode 100644
index 0000000..1ce64d7
--- /dev/null
+++ b/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.polarsys.esf.safetyreq.doc</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/safetyreq/doc/org.polarsys.esf.safetyreq.doc/.settings/org.eclipse.jdt.core.prefs b/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..f42de36
--- /dev/null
+++ b/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/.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.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/META-INF/MANIFEST.MF b/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..0c6920c
--- /dev/null
+++ b/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/META-INF/MANIFEST.MF
@@ -0,0 +1,10 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-Vendor: %Bundle-Vendor
+Bundle-Localization: src/main/resources/properties/plugin
+Bundle-SymbolicName: org.polarsys.esf.safetyreq.doc;singleton:=true
+Bundle-Version: 0.7.0.qualifier
+Require-Bundle: org.eclipse.help;bundle-version="3.7.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-ActivationPolicy: lazy
diff --git a/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/about.html b/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/about.html
new file mode 100644
index 0000000..d35d5ae
--- /dev/null
+++ b/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/about.html
@@ -0,0 +1,28 @@
+<!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">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>June 5, 2007</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/build.properties b/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/build.properties
new file mode 100644
index 0000000..40cb4aa
--- /dev/null
+++ b/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/build.properties
@@ -0,0 +1,5 @@
+bin.includes = META-INF/,\
+               .,\
+               about.html,\
+               src/main/resources/,\
+               plugin.xml
diff --git a/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/plugin.xml b/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/plugin.xml
new file mode 100644
index 0000000..527b2d1
--- /dev/null
+++ b/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/plugin.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+   <extension
+         point="org.eclipse.help.toc">
+      <toc
+            file="src/main/resources/help/toc.xml"
+            primary="true">
+      </toc>
+   </extension>
+
+</plugin>
diff --git a/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/pom.xml b/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/pom.xml
new file mode 100644
index 0000000..7a93682
--- /dev/null
+++ b/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/pom.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+  xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  
+  <parent>
+    <groupId>org.polarsys.esf</groupId>
+    <artifactId>esf-tools.analysis.safetyreq.doc</artifactId>
+    <version>0.7.0-SNAPSHOT</version>
+  </parent>
+
+  <groupId>org.polarsys.esf</groupId>
+  <artifactId>org.polarsys.esf.safetyreq.doc</artifactId>
+  <packaging>eclipse-plugin</packaging>
+  <name>ESF Safety Requirements Documentation</name>
+  <description>ESF Safety Requirements Documentation description.</description>
+   
+</project>
diff --git a/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/src/main/resources/help/html/css/style.css b/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/src/main/resources/help/html/css/style.css
new file mode 100644
index 0000000..8bfad85
--- /dev/null
+++ b/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/src/main/resources/help/html/css/style.css
@@ -0,0 +1,179 @@
+/*******************************************************************************
+ * Style sheet made for ESF help.
+ * It extends the standard book.css provided by Eclipse.
+ *******************************************************************************/
+
+/*******************************************************************************
+ * Standard rules to edit the Help HTML content :
+ *   - Don't use the encoded caracters &raquo; and &laquo; which are too heavy,
+ *     prefer the '"' caracter.
+ *   - Use an italic style for all the references to the menu, button, etc.
+ *     of the application, and don't wrap it between '"'
+ *   - The beginning of a sentence in a list (ordered or not) must start by
+ *     a capital letter
+ *   - The large images must be bordered, and have standard margins. To do this
+ *     automatically, use the CSS class "bordered". Moreover, their maximum
+ *     width is 650 to ensure that they can be displayed in the help window
+ *   - The small images must not be bordered, and don't have any margins. To do
+ *     this automatically, use the CSS class "icon".
+ *   - The text content must be included in a paragraph <p>.
+ *******************************************************************************/
+
+/*****************************
+ * Global margin management. *
+ *****************************/
+
+body {
+	margin: 0px 0px 0px 0px;
+}
+span.icon {
+	white-space: nowrap;
+}
+
+#banner {
+	width: 100%;
+	overflow: hidden;
+}
+#content {
+	margin: 0px 10px 0px 10px;
+}
+
+/****************************
+ * Global fonts management. *
+ ****************************/
+
+body, h1, h2, h3, h4, h5, h6, p, table, td, caption, th, ul, ol, dl, li, dd, dt {
+  font-family: "Arial", "Helvetica", "sans-serif";
+  color: #000000
+}
+
+/**************************
+ * End fonts declarations *
+ **************************/
+
+body { font-size: 10.0pt; background: #FFFFFF; margin-bottom: 1em }
+h1   { font-size: 14.0pt; margin-top: 25px; margin-bottom: 3px }
+h2   { font-size: 12.0pt; margin-top: 20px; margin-bottom: 3px }
+h3   { font-size: 10.0pt; margin-top: 10px; margin-bottom: 3px; text-decoration:underline; }
+p    { text-align: justify; }
+
+p.titlegrey {
+  border-width: thin;
+  border-style: solid;
+  border-color: black;
+  color: white;
+  background-color : #595959;
+}
+
+p.code {
+  border-width: thin;
+  border-style: dashed;
+  border-color: black;
+  background-color : #EEEEEE;
+  font-family: "Courier New", "Courier", "Prestige", "monospace";
+  font-size: 10.0pt;
+  margin-left: 10px;
+}
+
+/******************************************
+ * Management of the titles numerotation. *
+ ******************************************/
+
+body { counter-reset: h1 h2 h3; }
+h1:before {
+  content: counter(h1) " - ";
+  counter-increment: h1;
+}
+
+h2:before {
+  content: counter(h1) "." counter(h2) " - ";
+  counter-increment: h2;
+}
+
+h3:before {
+  content: counter(h1) "." counter(h2) "." counter(h3) " - ";
+  counter-increment: h3;
+}
+
+h1 {
+  counter-reset: h2;
+}
+
+h2 {
+  counter-reset: h3;
+}
+
+h1.unnumbered, h2.unnumbered {
+  counter-reset: none;
+}
+
+h1.unnumbered:before,
+h2.unnumbered:before,
+h3.unnumbered:before {
+  content: none;
+  counter-increment: none;
+}
+
+/*************************
+ * Table specifications. *
+ *************************/
+
+table {
+  border: thin solid #9F8AB9;
+  border-collapse: collapse;
+  width: 60%;
+  font-size: 10.0pt;
+  font-family: "Arial","sans-serif";
+}
+
+th {
+  background-color: #8064a2;
+  color: #FFFFFF;
+}
+
+th, td {
+  border: thin solid #9F8AB9;
+  padding: 5px;
+}
+
+th.centered, td.centered {
+  text-align: center;
+}
+
+tr:nth-child(even) {
+    background: #DFD8E8;
+}
+
+tr:nth-child(odd) {
+    background: #FFFFFF;
+}
+
+/*************************
+ * Lists specifications. *
+ *************************/
+ul {
+  padding-left: 2em;
+}
+
+ol {
+  padding-left: 2em;
+}
+
+/**************************
+ * Images specifications. *
+ **************************/
+img {
+  max-width: 800px;
+}
+
+img.bordered {
+  border:1px solid black;
+  margin: 10px 10px 10px 10px;
+}
+
+img.icon {
+  margin: 0px 0px 0px 0px;
+	width: 16px;
+	height: 16px;
+}
+
diff --git a/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/src/main/resources/help/html/images/help_banner.jpg b/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/src/main/resources/help/html/images/help_banner.jpg
new file mode 100644
index 0000000..cff6498
--- /dev/null
+++ b/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/src/main/resources/help/html/images/help_banner.jpg
Binary files differ
diff --git a/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/src/main/resources/help/html/toc.html b/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/src/main/resources/help/html/toc.html
new file mode 100644
index 0000000..0883cf0
--- /dev/null
+++ b/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/src/main/resources/help/html/toc.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+    <head>
+      <meta content="text/html; charset=iso-8859-1" http-equiv="content-type">
+      <title>ESF SafetyReq Documentation</title>
+      <link title="esf-styles" href="css/style.css" rel="stylesheet" type="text/css">
+    </head>
+    <body>
+        <div id="banner"> <img src="images/help_banner.jpg" alt="Help banner"> </div>
+        <div id="content">
+          <h1 class="unnumbered">ESF SafetyReq Documentation</h1>
+          <br>
+          <h2 class="unnumbered">Content</h2>
+          <ul>
+            <li><a href="usermanual/UserManual.html">User Manual</a></li>
+          </ul>
+        </div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/src/main/resources/help/html/usermanual/UserManual.html b/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/src/main/resources/help/html/usermanual/UserManual.html
new file mode 100644
index 0000000..8600acc
--- /dev/null
+++ b/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/src/main/resources/help/html/usermanual/UserManual.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+  <head>
+    <meta content="text/html; charset=iso-8859-1" http-equiv="content-type">
+    <title>User Manual</title>
+    <link title="esf-styles" href="../css/style.css" rel="stylesheet" type="text/css">
+  </head>
+  <body>
+    <div id="banner"> <img src="../images/help_banner.jpg" alt="Help banner"> </div>
+    <div id="content">
+      <h1 class="unnumbered">User Manual</h1>
+      <h2 class="unnumbered">Content</h2>
+      <ul>
+        <li><a href="#req">Requirements</a></li>
+        <li><a href="#safreq">SafetyReq</a></li>
+      </ul>
+    </div>
+
+    <div id="start">
+      <h1>Requirements</h1>
+
+    </div>
+
+    <div id="safreq">
+        <h1>SafetyReq</h1>
+
+    </div>
+</html>
diff --git a/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/src/main/resources/help/toc.xml b/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/src/main/resources/help/toc.xml
new file mode 100644
index 0000000..0c3e8ca
--- /dev/null
+++ b/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/src/main/resources/help/toc.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?NLS TYPE="org.eclipse.help.toc"?>
+
+<toc label="ESF FMEA Documentation" topic="src/main/resources/help/html/toc.html">
+   <topic href="src/main/resources/help/html/usermanual/UserManual.html" label="User Manual">
+      
+   </topic>
+</toc>
diff --git a/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/src/main/resources/properties/plugin.properties b/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/src/main/resources/properties/plugin.properties
new file mode 100644
index 0000000..ca6f877
--- /dev/null
+++ b/analysis/safetyreq/doc/org.polarsys.esf.safetyreq.doc/src/main/resources/properties/plugin.properties
@@ -0,0 +1,3 @@
+#Properties file for org.polarsys.esf.safetyreq.doc
+Bundle-Name = ESF Safety Requirements Documentation
+Bundle-Vendor = Polarsys
diff --git a/analysis/safetyreq/doc/pom.xml b/analysis/safetyreq/doc/pom.xml
new file mode 100644
index 0000000..b061246
--- /dev/null
+++ b/analysis/safetyreq/doc/pom.xml
@@ -0,0 +1,25 @@
+<?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>
+  
+  <!-- PROJECT DESCRIPTION -->
+  <parent>
+    <groupId>org.polarsys.esf</groupId>
+    <artifactId>esf-tools.analysis.safetyreq</artifactId>
+    <version>0.7.0-SNAPSHOT</version>
+  </parent>
+  
+  <groupId>org.polarsys.esf</groupId>
+  <artifactId>esf-tools.analysis.safetyreq.doc</artifactId>
+  <packaging>pom</packaging>
+  <name>ESF Safety Requirements  Doc</name>
+  <description>ESF Safety Requirements Doc description.</description>
+  
+  <!-- MODULES -->  
+  <modules>
+    <module>org.polarsys.esf.safetyreq.doc</module>
+  </modules>
+</project>
\ No newline at end of file
diff --git a/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/.classpath b/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/.classpath
new file mode 100644
index 0000000..d97031b
--- /dev/null
+++ b/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.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.7"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src/main/java"/>
+	<classpathentry kind="output" path="target/classes/"/>
+</classpath>
diff --git a/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/.project b/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/.project
new file mode 100644
index 0000000..454d8b3
--- /dev/null
+++ b/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.polarsys.esf.safetyreq.execution.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>
+		<buildCommand>
+			<name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+	</natures>
+</projectDescription>
diff --git a/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/.settings/org.eclipse.jdt.core.prefs b/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..f42de36
--- /dev/null
+++ b/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.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.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/META-INF/MANIFEST.MF b/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..af1a644
--- /dev/null
+++ b/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,26 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-Vendor: %Bundle-Vendor
+Bundle-Localization: src/main/resources/properties/plugin
+Bundle-SymbolicName: org.polarsys.esf.safetyreq.execution.ui;singleton:=true
+Bundle-Version: 0.7.0.qualifier
+Bundle-Activator: org.polarsys.esf.safetyreq.execution.ui.ESFSafetyReqExecutionUIActivator$Implementation
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.common,
+ org.eclipse.emf.common.ui,
+ org.eclipse.uml2.uml;bundle-version="5.2.2",
+ org.polarsys.esf.analysis.common.ui;bundle-version="0.7.0";visibility:=reexport,
+ org.polarsys.esf.core.utils;bundle-version="0.7.0";visibility:=reexport,
+ org.polarsys.esf.safetyreq.resources.graphical;bundle-version="0.7.0";visibility:=reexport,
+ org.eclipse.core.expressions;bundle-version="3.5.100",
+ org.eclipse.jface,
+ org.eclipse.papyrus.emf.facet.custom.metamodel,
+ org.eclipse.gef,
+ org.eclipse.papyrus.sysml;bundle-version="1.2.0",
+ org.eclipse.gmf.runtime.notation.edit,
+ org.polarsys.esf.safetyreq.profile;bundle-version="0.7.0";visibility:=reexport,
+ org.polarsys.esf.safetyreq.profile.tools;bundle-version="0.7.0",
+ org.polarsys.esf.safetyreq.table;bundle-version="0.7.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-ActivationPolicy: lazy
diff --git a/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/about.html b/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/about.html
new file mode 100644
index 0000000..d35d5ae
--- /dev/null
+++ b/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/about.html
@@ -0,0 +1,28 @@
+<!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">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>June 5, 2007</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/build.properties b/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/build.properties
new file mode 100644
index 0000000..890cb2e
--- /dev/null
+++ b/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/build.properties
@@ -0,0 +1,16 @@
+###############################################################################
+# 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 v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+# Contributors:
+#     ALL4TEC & CEA LIST - initial API and implementation
+###############################################################################
+source.. = src/main/java/
+output.. = target/classes/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               src/main/resources/properties/,\
+               about.html
diff --git a/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/plugin.xml b/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/plugin.xml
new file mode 100644
index 0000000..ab8df9d
--- /dev/null
+++ b/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/plugin.xml
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+   <extension
+         point="org.eclipse.ui.commands">
+      <command
+            description="%menucontext.execution.ui.set.ssafetyrequirement.description"
+            id="org.polarsys.esf.safetyreq.execution.ui.set.ssafetyrequirement.command"
+            name="%menucontext.execution.ui.set.ssafetyrequirement.label">
+      </command>
+      <command
+            description="%menucontext.execution.ui.create.safetyreq.table.description"
+            id="org.polarsys.esf.safetyreq.execution.ui.create.safetyreq.table.command"
+            name="%menucontext.execution.ui.create.safetyreq.table.label">
+      </command>
+      <command
+            description="%menucontext.execution.ui.create.ssafetyrequirement.description"
+            id="org.polarsys.esf.safetyreq.execution.ui.create.ssafetyrequirement.command"
+            name="%menucontext.execution.ui.create.ssafetyrequirement.label">
+      </command>
+      <command
+            description="%menucontext.execution.ui.apply.sysmlprofile.description"
+            id="org.polarsys.esf.safetyreq.execution.ui.apply.sysmlprofile.command"
+            name="%menucontext.execution.ui.apply.sysmlprofile.label">
+      </command>
+   </extension>
+   <extension
+         point="org.eclipse.ui.handlers">
+      <handler
+            class="org.polarsys.esf.safetyreq.execution.ui.handler.SetSSafetyRequirementHandler"
+            commandId="org.polarsys.esf.safetyreq.execution.ui.set.ssafetyrequirement.command">
+         <activeWhen>
+            <and>
+               <with
+                     variable="selection">
+                  <test
+                        property="org.polarsys.esf.safetyreq.execution.ui.propertyTester.isSysMLRequirement"
+                        value="true">
+                  </test>
+               </with>
+               <count
+                     value="1">
+               </count>
+            </and>
+         </activeWhen>
+      </handler>
+      <handler
+            class="org.polarsys.esf.safetyreq.execution.ui.handler.CreateESFSafetyRequirementsTableHandler"
+            commandId="org.polarsys.esf.safetyreq.execution.ui.create.safetyreq.table.command">
+      </handler>
+      <handler
+            class="org.polarsys.esf.safetyreq.execution.ui.handler.CreateSSafetyRequirementHandler"
+            commandId="org.polarsys.esf.safetyreq.execution.ui.create.ssafetyrequirement.command">
+         <activeWhen>
+            <and>
+               <with
+                     variable="selection">
+                  <iterate>
+                     <adapt
+                           type="org.eclipse.emf.ecore.EObject">
+                           <instanceof
+                                 value="org.eclipse.uml2.uml.Package">
+                           </instanceof>
+                     </adapt>
+                  </iterate>
+               </with>
+               <count
+                     value="1">
+               </count>
+            </and>
+         </activeWhen>
+      </handler>
+      <handler
+            class="org.polarsys.esf.safetyreq.execution.ui.handler.ApplySysMLProfileHandler"
+            commandId="org.polarsys.esf.safetyreq.execution.ui.apply.sysmlprofile.command">
+      </handler>
+   </extension>
+   <extension
+         point="org.eclipse.ui.menus">
+      <menuContribution
+            allPopups="false"
+            locationURI="popup:org.eclipse.papyrus.views.modelexplorer.modelexplorer.popup?before=esf.general.bottom">
+         <menu
+               id="org.polarsys.esf.analysis.common.ui.analysis.tools.modelexplorer.menu"
+               label="%menucontext.analysis.ui.analysis.tools.menu.label">
+            <menu
+                  icon="platform:/plugin/org.polarsys.esf.safetyreq.resources.graphical/src/main/resources/icons/icon_esfsafetyreq_menu.png"
+                  id="org.polarsys.esf.safetyreq.execution.ui.menu"
+                  label="%menucontext.execution.ui.menu.label">
+               <command
+                     commandId="org.polarsys.esf.safetyreq.execution.ui.set.ssafetyrequirement.command"
+                     label="%menucontext.execution.ui.set.ssafetyrequirement.label"
+                     style="push">
+               </command>
+               <command
+                     commandId="org.polarsys.esf.safetyreq.execution.ui.create.ssafetyrequirement.command"
+                     label="%menucontext.execution.ui.create.ssafetyrequirement.label"
+                     style="push">
+               </command>
+               <command
+                     commandId="org.polarsys.esf.safetyreq.execution.ui.create.safetyreq.table.command"
+                     label="%menucontext.execution.ui.create.safetyreq.table.label"
+                     style="push">
+               </command>
+               <command
+                     commandId="org.polarsys.esf.safetyreq.execution.ui.apply.sysmlprofile.command"
+                     label="%menucontext.execution.ui.apply.sysmlprofile.label"
+                     style="push">
+               </command>
+            </menu>
+         </menu>
+      </menuContribution>
+   </extension>
+   <extension
+         point="org.eclipse.ui.commandImages">
+      <image
+            commandId="org.polarsys.esf.safetyreq.execution.ui.create.safetyreq.table.command"
+            icon="platform:/plugin/org.polarsys.esf.safetyreq.resources.graphical/src/main/resources/icons/icon_esfsafetyrequirements_table.png">
+      </image>
+   </extension>
+   <extension
+         point="org.eclipse.core.expressions.propertyTesters">
+      <propertyTester
+            class="org.polarsys.esf.safetyreq.execution.ui.tester.SysMLRequirementTester"
+            id="org.polarsys.esf.safetyreq.execution.ui.propertyTester"
+            namespace="org.polarsys.esf.safetyreq.execution.ui.propertyTester"
+            properties="isSysMLRequirement"
+            type="org.eclipse.jface.viewers.IStructuredSelection">
+      </propertyTester>
+   </extension>
+
+</plugin>
diff --git a/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/pom.xml b/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/pom.xml
new file mode 100644
index 0000000..5ddfce2
--- /dev/null
+++ b/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/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.safetyreq.execution</artifactId>
+    <version>0.7.0-SNAPSHOT</version>
+  </parent>
+  
+  <groupId>org.polarsys.esf</groupId>
+  <artifactId>org.polarsys.esf.safetyreq.execution.ui</artifactId>
+  <packaging>eclipse-plugin</packaging>
+  <name>Safety Requirements Execution UI</name>
+  <description>Safety Requirements Execution UI description.</description>
+
+</project>
\ No newline at end of file
diff --git a/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/src/main/java/org/polarsys/esf/safetyreq/execution/ui/ESFSafetyReqExecutionUIActivator.java b/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/src/main/java/org/polarsys/esf/safetyreq/execution/ui/ESFSafetyReqExecutionUIActivator.java
new file mode 100644
index 0000000..85ae155
--- /dev/null
+++ b/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/src/main/java/org/polarsys/esf/safetyreq/execution/ui/ESFSafetyReqExecutionUIActivator.java
@@ -0,0 +1,128 @@
+/*******************************************************************************
+ * 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 v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * Contributors:
+ *     ALL4TEC & CEA LIST - initial API and implementation
+ *******************************************************************************/
+package org.polarsys.esf.safetyreq.execution.ui;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emf.common.EMFPlugin;
+import org.eclipse.emf.common.ui.EclipseUIPlugin;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle.
+ *
+ * @author $Author: ymunoz $
+ * @version $Revision: 168 $
+ */
+public class ESFSafetyReqExecutionUIActivator extends EMFPlugin {
+
+    /** Keep track of the encapsulating singleton. */
+    public static final ESFSafetyReqExecutionUIActivator INSTANCE = new ESFSafetyReqExecutionUIActivator();
+
+    /** Keep track of the implementation singleton. */
+    private static Implementation sPlugin = null;
+
+    /**
+     * Create the instance.
+     */
+    public ESFSafetyReqExecutionUIActivator() {
+        super(new ResourceLocator[] {});
+    }
+
+    /**
+     * Create an Error status with the data given in parameter and log it.
+     *
+     * @param pMessage The message to log
+     * @param pException The exception to log
+     */
+    public static void logError(final String pMessage, final Exception pException) {
+        // Create the Error status
+        IStatus vStatus = new Status(IStatus.ERROR, sPlugin.getSymbolicName(), IStatus.ERROR, pMessage, pException);
+
+        // Log it
+        INSTANCE.log(vStatus);
+    }
+
+    /**
+     * Create a Warning status with the data given in parameter and log it.
+     *
+     * @param pMessage The message to log
+     * @param pException The exception to log
+     */
+    public static void logWarning(final String pMessage, final Exception pException) {
+        // Create the Warning status
+        IStatus vStatus = new Status(IStatus.WARNING, sPlugin.getSymbolicName(), IStatus.WARNING, pMessage, pException);
+
+        // Log it
+        INSTANCE.log(vStatus);
+    }
+
+    /**
+     * Create an Info status with the data given in parameter and log it.
+     *
+     * @param pMessage The message to log
+     * @param pException The exception to log
+     */
+    public static void logInfo(final String pMessage, final Exception pException) {
+        // Create the Info status
+        IStatus vStatus = new Status(IStatus.INFO, sPlugin.getSymbolicName(), IStatus.INFO, pMessage, pException);
+
+        // Log it
+        INSTANCE.log(vStatus);
+    }
+
+    /**
+     * Returns the singleton instance of the Eclipse plugin.
+     *
+     * @return The singleton instance.
+     */
+    @Override
+    public ResourceLocator getPluginResourceLocator() {
+        return sPlugin;
+    }
+
+    /**
+     * Returns the singleton instance of the Eclipse plugin.
+     *
+     * @return The singleton instance.
+     */
+    public static Implementation getPlugin() {
+        return sPlugin;
+    }
+
+    /**
+     * The actual implementation of the Eclipse <b>UIPlugin</b>.
+     */
+    public static class Implementation
+        extends EclipseUIPlugin {
+
+        /**
+         * Creates an instance.
+         */
+        public Implementation() {
+            super();
+
+            // Remember the static instance.
+            sPlugin = this;
+
+        }
+
+        /**
+         * {@inheritDoc}
+         */
+        @Override
+        public void start(final BundleContext pContext) throws Exception {
+            super.start(pContext);
+        }
+    }
+
+
+}
diff --git a/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/src/main/java/org/polarsys/esf/safetyreq/execution/ui/handler/ApplySysMLProfileHandler.java b/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/src/main/java/org/polarsys/esf/safetyreq/execution/ui/handler/ApplySysMLProfileHandler.java
new file mode 100644
index 0000000..d5609f6
--- /dev/null
+++ b/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/src/main/java/org/polarsys/esf/safetyreq/execution/ui/handler/ApplySysMLProfileHandler.java
@@ -0,0 +1,65 @@
+/*******************************************************************************
+ * 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 v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     ALL4TEC & CEA LIST - initial API and implementation
+ ******************************************************************************/
+package org.polarsys.esf.safetyreq.execution.ui.handler;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+import org.eclipse.ui.handlers.HandlerUtil;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.polarsys.esf.core.utils.ModelUtil;
+import org.polarsys.esf.safetyreq.profile.tools.util.ESFSafetyRequirementsUtil;
+
+/**
+ * Handler class for applying SysML profile.
+ *
+ * @author $Author: ymunoz $
+ * @version $Revision: 168 $
+ */
+public class ApplySysMLProfileHandler
+    extends AbstractHandler {
+
+    /**
+     * Default constructor.
+     */
+    public ApplySysMLProfileHandler() {
+    }
+
+    /**
+     * Get the selected an element and apply SysML profile.
+     *
+     * {@inheritDoc}
+     */
+    @Override
+    public Object execute(final ExecutionEvent pEvent) throws ExecutionException {
+        ISelection vSelection = HandlerUtil.getCurrentSelection(pEvent);
+
+        final NamedElement vSelectedElement =
+            (NamedElement) ModelUtil.getSelectedEObjectOfType(vSelection, UMLPackage.eINSTANCE.getNamedElement());
+
+        if (vSelectedElement != null) {
+            Model vESFModel = ModelUtil.getWorkingModel();
+            if (vESFModel != null) {
+
+                // Verify and apply (if necessary) SysML profile
+                if (vESFModel.getAppliedProfile(SysmlPackage.eNS_PREFIX) == null) {
+                    ESFSafetyRequirementsUtil.applySysMLProfile(vESFModel);
+                }
+            }
+        }
+
+        return null;
+    }
+}
diff --git a/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/src/main/java/org/polarsys/esf/safetyreq/execution/ui/handler/CreateESFSafetyRequirementsTableHandler.java b/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/src/main/java/org/polarsys/esf/safetyreq/execution/ui/handler/CreateESFSafetyRequirementsTableHandler.java
new file mode 100644
index 0000000..cbbadf7
--- /dev/null
+++ b/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/src/main/java/org/polarsys/esf/safetyreq/execution/ui/handler/CreateESFSafetyRequirementsTableHandler.java
@@ -0,0 +1,86 @@
+/*******************************************************************************
+ * 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 v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     ALL4TEC & CEA LIST - initial API and implementation
+ ******************************************************************************/
+package org.polarsys.esf.safetyreq.execution.ui.handler;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+import org.eclipse.ui.handlers.HandlerUtil;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.polarsys.esf.core.utils.ESFTablesUtil;
+import org.polarsys.esf.core.utils.ModelUtil;
+import org.polarsys.esf.esfsafetyrequirements.impl.ESFSafetyRequirementsPackage;
+import org.polarsys.esf.safetyreq.profile.tools.util.ESFSafetyRequirementsUtil;
+import org.polarsys.esf.safetyreq.table.set.ESFSafetyRequirementsTablesSet;
+
+/**
+ * Handler class for creating an ESFSafetyRequirements Table.
+ *
+ * @author $Author: ymunoz $
+ * @version $Revision: 168 $
+ */
+public class CreateESFSafetyRequirementsTableHandler
+    extends AbstractHandler {
+
+    /**
+     * Default constructor.
+     */
+    public CreateESFSafetyRequirementsTableHandler() {
+    }
+
+    /**
+     * Get the selected element (Package/Model) and call the action for creating an ESFSafetyRequirements Table.
+     *
+     * Table.
+     *
+     * {@inheritDoc}
+     */
+    @Override
+    public Object execute(final ExecutionEvent pEvent) throws ExecutionException {
+
+        ISelection vSelection = HandlerUtil.getCurrentSelection(pEvent);
+
+        final Package vSelectedPackage =
+            (Package) ModelUtil.getSelectedEObjectOfType(vSelection, UMLPackage.eINSTANCE.getPackage());
+
+        if (vSelectedPackage != null) {
+            Model vESFModel = ModelUtil.getWorkingModel();
+            if (vESFModel != null) {
+
+                // Verify and apply (if necessary) ESFSafetyRequirements profile
+                if (vESFModel.getAppliedProfile(ESFSafetyRequirementsPackage.eNS_PREFIX) == null) {
+                    ESFSafetyRequirementsUtil.applyESFSafetyRequirementsProfile(vESFModel);
+                }
+
+                // Verify and apply (if necessary) SysML profile
+                if (vESFModel.getAppliedProfile(SysmlPackage.eNS_PREFIX) == null) {
+                    ESFSafetyRequirementsUtil.applySysMLProfile(vESFModel);
+                }
+
+                if ((vESFModel.getAppliedProfile(ESFSafetyRequirementsPackage.eNS_PREFIX) != null)
+                    && (vESFModel.getAppliedProfile(SysmlPackage.eNS_PREFIX) != null)) {
+                    // Create an ESFSafetyRequirements Table
+                    ESFTablesUtil.createTable(
+                        ESFSafetyRequirementsTablesSet.SAFETYREQ_TABLE_ID,
+                        ESFSafetyRequirementsTablesSet.SAFETYREQ_TABLE_NAME,
+                        vSelectedPackage);
+                }
+            }
+        }
+
+        return null;
+    }
+
+}
diff --git a/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/src/main/java/org/polarsys/esf/safetyreq/execution/ui/handler/CreateSSafetyRequirementHandler.java b/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/src/main/java/org/polarsys/esf/safetyreq/execution/ui/handler/CreateSSafetyRequirementHandler.java
new file mode 100644
index 0000000..af297e0
--- /dev/null
+++ b/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/src/main/java/org/polarsys/esf/safetyreq/execution/ui/handler/CreateSSafetyRequirementHandler.java
@@ -0,0 +1,77 @@
+/*******************************************************************************
+ * 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 v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     ALL4TEC & CEA LIST - initial API and implementation
+ ******************************************************************************/
+package org.polarsys.esf.safetyreq.execution.ui.handler;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+import org.eclipse.ui.handlers.HandlerUtil;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.polarsys.esf.core.utils.ModelUtil;
+import org.polarsys.esf.esfsafetyrequirements.impl.ESFSafetyRequirementsPackage;
+import org.polarsys.esf.safetyreq.profile.tools.util.ESFSafetyRequirementsUtil;
+
+/**
+ * Handler class for creating an element as a SSafetyRequirement.
+ *
+ * @author $Author: ymunoz $
+ * @version $Revision: 168 $
+ */
+public class CreateSSafetyRequirementHandler
+    extends AbstractHandler {
+
+    /**
+     * Default constructor.
+     */
+    public CreateSSafetyRequirementHandler() {
+    }
+
+    /**
+     * Get the selected element (Package/Model) and and call the action for creating a SSafetyRequirement.
+     *
+     * {@inheritDoc}
+     */
+    @Override
+    public Object execute(final ExecutionEvent pEvent) throws ExecutionException {
+        ISelection vSelection = HandlerUtil.getCurrentSelection(pEvent);
+
+        final Package vSelectedPackage =
+            (Package) ModelUtil.getSelectedEObjectOfType(vSelection, UMLPackage.eINSTANCE.getPackage());
+
+        if (vSelectedPackage != null) {
+            Model vESFModel = ModelUtil.getWorkingModel();
+            if (vESFModel != null) {
+
+                // Verify and apply (if necessary) ESFSafetyRequirements profile
+                if (vESFModel.getAppliedProfile(ESFSafetyRequirementsPackage.eNS_PREFIX) == null) {
+                    ESFSafetyRequirementsUtil.applyESFSafetyRequirementsProfile(vESFModel);
+                }
+
+                // Verify and apply (if necessary) SysML profile
+                if (vESFModel.getAppliedProfile(SysmlPackage.eNS_PREFIX) == null) {
+                    ESFSafetyRequirementsUtil.applySysMLProfile(vESFModel);
+                }
+
+                if ((vESFModel.getAppliedProfile(ESFSafetyRequirementsPackage.eNS_PREFIX) != null)
+                    && (vESFModel.getAppliedProfile(SysmlPackage.eNS_PREFIX) != null)) {
+                    // Create 'SSafetyRequirement' Element
+                    ESFSafetyRequirementsUtil.createSSafetyRequirement(vSelectedPackage);
+                }
+            }
+        }
+
+        return null;
+    }
+}
diff --git a/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/src/main/java/org/polarsys/esf/safetyreq/execution/ui/handler/SetSSafetyRequirementHandler.java b/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/src/main/java/org/polarsys/esf/safetyreq/execution/ui/handler/SetSSafetyRequirementHandler.java
new file mode 100644
index 0000000..8ef5df8
--- /dev/null
+++ b/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/src/main/java/org/polarsys/esf/safetyreq/execution/ui/handler/SetSSafetyRequirementHandler.java
@@ -0,0 +1,73 @@
+/*******************************************************************************
+ * 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 v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     ALL4TEC & CEA LIST - initial API and implementation
+ ******************************************************************************/
+package org.polarsys.esf.safetyreq.execution.ui.handler;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.papyrus.sysml.requirements.Requirement;
+import org.eclipse.ui.handlers.HandlerUtil;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.util.UMLUtil;
+import org.polarsys.esf.core.utils.ModelUtil;
+import org.polarsys.esf.esfsafetyrequirements.ISSafetyRequirement;
+import org.polarsys.esf.esfsafetyrequirements.impl.ESFSafetyRequirementsPackage;
+import org.polarsys.esf.safetyreq.profile.tools.util.ESFSafetyRequirementsUtil;
+
+/**
+ * Handler class for setting an element as a SSafetyRequirement.
+ *
+ * @author $Author: ymunoz $
+ * @version $Revision: 168 $
+ */
+public class SetSSafetyRequirementHandler
+    extends AbstractHandler {
+
+    /**
+     * Default constructor.
+     */
+    public SetSSafetyRequirementHandler() {
+    }
+
+    /**
+     * Get the selected element (SysML Requirement) and set as a SSafetyRequirement.
+     *
+     * {@inheritDoc}
+     */
+    @Override
+    public Object execute(final ExecutionEvent pEvent) throws ExecutionException {
+        ISelection vSelection = HandlerUtil.getCurrentSelection(pEvent);
+
+        final Class vSelectedClass =
+            (Class) ModelUtil.getSelectedEObjectOfType(vSelection, UMLPackage.eINSTANCE.getClass_());
+
+        if ((vSelectedClass != null) && (UMLUtil.getStereotypeApplication(vSelectedClass, Requirement.class) != null)) {
+            Model vESFModel = ModelUtil.getWorkingModel();
+            if (vESFModel != null) {
+
+                // Verify and apply (if necessary) ESFSafetyRequirements profile
+                if (vESFModel.getAppliedProfile(ESFSafetyRequirementsPackage.eNS_PREFIX) == null) {
+                    ESFSafetyRequirementsUtil.applyESFSafetyRequirementsProfile(vESFModel);
+                }
+
+                if (UMLUtil.getStereotypeApplication(vSelectedClass, ISSafetyRequirement.class) == null) {
+                    // Apply 'SSafetyRequirement' Stereotype
+                    ESFSafetyRequirementsUtil.applySSafetyRequirementStereotype(vSelectedClass);
+                }
+            }
+        }
+
+        return null;
+    }
+}
diff --git a/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/src/main/java/org/polarsys/esf/safetyreq/execution/ui/tester/SysMLRequirementTester.java b/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/src/main/java/org/polarsys/esf/safetyreq/execution/ui/tester/SysMLRequirementTester.java
new file mode 100644
index 0000000..037d0e3
--- /dev/null
+++ b/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/src/main/java/org/polarsys/esf/safetyreq/execution/ui/tester/SysMLRequirementTester.java
@@ -0,0 +1,83 @@
+/*******************************************************************************
+ * 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 v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     ALL4TEC & CEA LIST - initial API and implementation
+ ******************************************************************************/
+package org.polarsys.esf.safetyreq.execution.ui.tester;
+
+import org.eclipse.core.expressions.PropertyTester;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.papyrus.emf.facet.custom.metamodel.v0_2_0.internal.treeproxy.EObjectTreeElement;
+import org.eclipse.papyrus.sysml.requirements.Requirement;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * Class dedicated to verify if the selected element is a SysML Requirement.
+ *
+ * @author $Author: ymunoz $
+ * @version $Revision: 168 $
+ */
+public class SysMLRequirementTester
+    extends PropertyTester {
+
+    /** Property "isSysMLRequirement". */
+    private static final String IS_SYSML_REQUIREMENT = "isSysMLRequirement"; //$NON-NLS-1$
+
+    /**
+     * Default constructor.
+     */
+    public SysMLRequirementTester() {
+        // TODO Auto-generated constructor stub
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public boolean test(
+        final Object pReceiver,
+        final String pProperty,
+        final Object[] pArgs,
+        final Object pExpectedValue) {
+        boolean vAnswer = false;
+
+        if (IS_SYSML_REQUIREMENT.equals(pProperty) && pReceiver instanceof IStructuredSelection) {
+            IStructuredSelection vSelection = (IStructuredSelection) pReceiver;
+            final Object vFirstElement = vSelection.getFirstElement();
+
+            // If selected element in a EditPart
+            if (vFirstElement instanceof EditPart) {
+                EditPart vEditPart = (EditPart) vFirstElement;
+                if (vEditPart.getModel() instanceof View) {
+                    View vView = (View) vEditPart.getModel();
+                    Class vClass = null;
+                    if (vView.getElement() instanceof Class) {
+                        vClass = (Class) vView.getElement();
+                    }
+                    if ((vClass != null) && (UMLUtil.getStereotypeApplication(vClass, Requirement.class) != null)) {
+                        vAnswer = true;
+                    }
+                }
+            } else if (vFirstElement instanceof EObjectTreeElement) {
+                // If selected element in the Model Explorer
+                EObjectTreeElement vTreeEl = (EObjectTreeElement) vFirstElement;
+                if (vTreeEl.getEObject() instanceof Class) {
+                    Class vClass = (Class) vTreeEl.getEObject();
+                    if (UMLUtil.getStereotypeApplication(vClass, Requirement.class) != null) {
+                        vAnswer = true;
+                    }
+                }
+            }
+        }
+        return new Boolean(vAnswer).equals(pExpectedValue);
+    }
+
+}
diff --git a/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/src/main/resources/properties/plugin.properties b/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/src/main/resources/properties/plugin.properties
new file mode 100644
index 0000000..1eb66f2
--- /dev/null
+++ b/analysis/safetyreq/execution/org.polarsys.esf.safetyreq.execution.ui/src/main/resources/properties/plugin.properties
@@ -0,0 +1,16 @@
+#Properties file for org.polarsys.esf.safetyreq.execution.ui
+Bundle-Name=Safety Requirements Execution UI
+Bundle-Vendor=PolarSys
+
+menucontext.analysis.ui.analysis.tools.menu.label = ESF Analysis Tools
+
+menucontext.execution.ui.menu.label = ESF SafetyReq
+menucontext.execution.ui.set.ssafetyrequirement.label = Set as a Safety Requirement 
+menucontext.execution.ui.set.ssafetyrequirement.description = Set as a Safety Requirement
+menucontext.execution.ui.create.ssafetyrequirement.label = Create a new Safety Requirement 
+menucontext.execution.ui.create.ssafetyrequirement.description = Create a new Safety Requirement
+menucontext.execution.ui.create.safetyreq.table.label = Create a new Safety Requirements Table
+menucontext.execution.ui.create.safetyreq.table.description = Create a new Safety Requirements Table
+
+menucontext.execution.ui.apply.sysmlprofile.label = Apply SysML profile
+menucontext.execution.ui.apply.sysmlprofile.description = Apply SysML profile
diff --git a/analysis/safetyreq/execution/pom.xml b/analysis/safetyreq/execution/pom.xml
new file mode 100644
index 0000000..95834c7
--- /dev/null
+++ b/analysis/safetyreq/execution/pom.xml
@@ -0,0 +1,25 @@
+<?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>
+  
+  <!-- PROJECT DESCRIPTION -->
+  <parent>
+    <groupId>org.polarsys.esf</groupId>
+    <artifactId>esf-tools.analysis.safetyreq</artifactId>
+    <version>0.7.0-SNAPSHOT</version>
+  </parent>
+  
+  <groupId>org.polarsys.esf</groupId>
+  <artifactId>esf-tools.analysis.safetyreq.execution</artifactId>
+  <packaging>pom</packaging>
+  <name>ESF Safety Requirements Execution</name>
+  <description>ESF Safety Requirements Execution description.</description>
+  
+  <!-- MODULES -->  
+  <modules>
+    <module>org.polarsys.esf.safetyreq.execution.ui</module>
+  </modules>
+</project>
\ No newline at end of file
diff --git a/analysis/safetyreq/metamodel/org.polarsys.esf.safetyreq.metamodel/.classpath b/analysis/safetyreq/metamodel/org.polarsys.esf.safetyreq.metamodel/.classpath
new file mode 100644
index 0000000..07f905e
--- /dev/null
+++ b/analysis/safetyreq/metamodel/org.polarsys.esf.safetyreq.metamodel/.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/main/java"/>
+	<classpathentry kind="output" path="target/classes/"/>
+</classpath>
diff --git a/analysis/safetyreq/metamodel/org.polarsys.esf.safetyreq.metamodel/.project b/analysis/safetyreq/metamodel/org.polarsys.esf.safetyreq.metamodel/.project
new file mode 100644
index 0000000..b0c0a33
--- /dev/null
+++ b/analysis/safetyreq/metamodel/org.polarsys.esf.safetyreq.metamodel/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.polarsys.esf.safetyreq.metamodel</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>
+		<buildCommand>
+			<name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+	</natures>
+</projectDescription>
diff --git a/analysis/safetyreq/metamodel/org.polarsys.esf.safetyreq.metamodel/.settings/org.eclipse.jdt.core.prefs b/analysis/safetyreq/metamodel/org.polarsys.esf.safetyreq.metamodel/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0c68a61
--- /dev/null
+++ b/analysis/safetyreq/metamodel/org.polarsys.esf.safetyreq.metamodel/.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/safetyreq/metamodel/org.polarsys.esf.safetyreq.metamodel/META-INF/MANIFEST.MF b/analysis/safetyreq/metamodel/org.polarsys.esf.safetyreq.metamodel/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..52c8397
--- /dev/null
+++ b/analysis/safetyreq/metamodel/org.polarsys.esf.safetyreq.metamodel/META-INF/MANIFEST.MF
@@ -0,0 +1,14 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-Vendor: %Bundle-Vendor
+Bundle-Localization: src/main/resources/properties/plugin
+Bundle-SymbolicName: org.polarsys.esf.safetyreq.metamodel
+Bundle-Version: 0.7.0.qualifier
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-Activator: org.polarsys.esf.safetyreq.metamodel.ESFSafetyReqMetamodelActivator$Implementation
+Require-Bundle: org.eclipse.core.runtime;bundle-version="3.12.0",
+ org.eclipse.emf.common;bundle-version="2.12.0",
+ org.polarsys.esf.core.metamodel.esfcore;bundle-version="0.7.0";visibility:=reexport,
+ org.polarsys.esf.fmea.metamodel;bundle-version="0.7.0";visibility:=reexport,
+ org.eclipse.papyrus.sysml;bundle-version="1.2.0"
diff --git a/analysis/safetyreq/metamodel/org.polarsys.esf.safetyreq.metamodel/about.html b/analysis/safetyreq/metamodel/org.polarsys.esf.safetyreq.metamodel/about.html
new file mode 100644
index 0000000..d35d5ae
--- /dev/null
+++ b/analysis/safetyreq/metamodel/org.polarsys.esf.safetyreq.metamodel/about.html
@@ -0,0 +1,28 @@
+<!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">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>June 5, 2007</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/analysis/safetyreq/metamodel/org.polarsys.esf.safetyreq.metamodel/build.properties b/analysis/safetyreq/metamodel/org.polarsys.esf.safetyreq.metamodel/build.properties
new file mode 100644
index 0000000..370ae3b
--- /dev/null
+++ b/analysis/safetyreq/metamodel/org.polarsys.esf.safetyreq.metamodel/build.properties
@@ -0,0 +1,7 @@
+jars.compile.order = .
+source.. = src/main/java/
+output.. = target/classes/
+bin.includes = .,\
+               src/main/resources/,\
+               META-INF/,\
+               about.html
diff --git a/analysis/safetyreq/metamodel/org.polarsys.esf.safetyreq.metamodel/pom.xml b/analysis/safetyreq/metamodel/org.polarsys.esf.safetyreq.metamodel/pom.xml
new file mode 100644
index 0000000..faa5415
--- /dev/null
+++ b/analysis/safetyreq/metamodel/org.polarsys.esf.safetyreq.metamodel/pom.xml
@@ -0,0 +1,19 @@
+<?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.safetyreq.metamodel</artifactId>
+    <version>0.7.0-SNAPSHOT</version>
+  </parent>
+
+  <groupId>org.polarsys.esf</groupId>
+  <artifactId>org.polarsys.esf.safetyreq.metamodel</artifactId>
+  <packaging>eclipse-plugin</packaging>
+  <name>ESFSafetyReq Meta-model</name>
+  <description>ESFSafetyReq Meta-model description.</description>
+  
+</project>
\ No newline at end of file
diff --git a/analysis/safetyreq/metamodel/org.polarsys.esf.safetyreq.metamodel/src/main/java/org/polarsys/esf/safetyreq/metamodel/ESFSafetyReqMetamodelActivator.java b/analysis/safetyreq/metamodel/org.polarsys.esf.safetyreq.metamodel/src/main/java/org/polarsys/esf/safetyreq/metamodel/ESFSafetyReqMetamodelActivator.java
new file mode 100644
index 0000000..1d07c9e
--- /dev/null
+++ b/analysis/safetyreq/metamodel/org.polarsys.esf.safetyreq.metamodel/src/main/java/org/polarsys/esf/safetyreq/metamodel/ESFSafetyReqMetamodelActivator.java
@@ -0,0 +1,72 @@
+/*******************************************************************************
+ * 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 v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     ALL4TEC & CEA LIST - initial API and implementation
+ ******************************************************************************/
+package org.polarsys.esf.safetyreq.metamodel;
+
+import org.eclipse.emf.common.EMFPlugin;
+import org.eclipse.emf.common.util.ResourceLocator;
+
+/**
+ * The activator class controls the plug-in life cycle. Central singleton for
+ * the ESFFMEA Meta-model plug-in.
+ *
+ * @author $Author: ogurcan $
+ * @version $Revision: 169 $
+ */
+public class ESFSafetyReqMetamodelActivator
+    extends EMFPlugin {
+
+    /** Keep track of the encapsulating singleton. */
+    public static final ESFSafetyReqMetamodelActivator INSTANCE = new ESFSafetyReqMetamodelActivator();
+
+    /** Keep track of the implementation singleton. */
+    private static Implementation sPlugin = null;
+
+    /**
+     * Create the instance.
+     */
+    public ESFSafetyReqMetamodelActivator() {
+        super(new ResourceLocator[] {});
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public ResourceLocator getPluginResourceLocator() {
+        return sPlugin;
+    }
+
+    /**
+     * Returns the singleton instance of the Eclipse plugin.
+     *
+     * @return The singleton instance
+     */
+    public static Implementation getPlugin() {
+        return sPlugin;
+    }
+
+    /**
+     * The actual implementation of the Eclipse <b>UIPlugin</b>.
+     */
+    public static class Implementation
+        extends EclipsePlugin {
+
+        /**
+         * Creates an instance.
+         */
+        public Implementation() {
+            super();
+
+            // Remember of the static instance
+            sPlugin = this;
+        }
+    }
+}
diff --git a/analysis/safetyreq/metamodel/org.polarsys.esf.safetyreq.metamodel/src/main/resources/metamodel/esfsafetyrequirements_metamodel.di b/analysis/safetyreq/metamodel/org.polarsys.esf.safetyreq.metamodel/src/main/resources/metamodel/esfsafetyrequirements_metamodel.di
new file mode 100644
index 0000000..bf9abab
--- /dev/null
+++ b/analysis/safetyreq/metamodel/org.polarsys.esf.safetyreq.metamodel/src/main/resources/metamodel/esfsafetyrequirements_metamodel.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/analysis/safetyreq/metamodel/org.polarsys.esf.safetyreq.metamodel/src/main/resources/metamodel/esfsafetyrequirements_metamodel.notation b/analysis/safetyreq/metamodel/org.polarsys.esf.safetyreq.metamodel/src/main/resources/metamodel/esfsafetyrequirements_metamodel.notation
new file mode 100644
index 0000000..23852a7
--- /dev/null
+++ b/analysis/safetyreq/metamodel/org.polarsys.esf.safetyreq.metamodel/src/main/resources/metamodel/esfsafetyrequirements_metamodel.notation
@@ -0,0 +1,266 @@
+<?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/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_dSXzUOe_Eea18bRB26vfxg" type="PapyrusUMLClassDiagram" name="ESFSafetyReq Diagram" measurementUnit="Pixel">
+  <children xmi:type="notation:Shape" xmi:id="_fQwyoOe_Eea18bRB26vfxg" type="Model_Shape" fillColor="10265827">
+    <children xmi:type="notation:DecorationNode" xmi:id="_fQyn0Oe_Eea18bRB26vfxg" type="Model_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_fQzO4Oe_Eea18bRB26vfxg" type="Model_PackagedElementCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_ucrjMOe_Eea18bRB26vfxg" type="Class_Shape_CN">
+        <children xmi:type="notation:DecorationNode" xmi:id="_ucrjMue_Eea18bRB26vfxg" type="Class_NameLabel_CN"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_ucrjM-e_Eea18bRB26vfxg" type="Class_FloatingNameLabel_CN">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ucrjNOe_Eea18bRB26vfxg" y="5"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_ucrjNee_Eea18bRB26vfxg" type="Class_AttributeCompartment_CN">
+          <children xmi:type="notation:Shape" xmi:id="_TZw6AOfAEea18bRB26vfxg" type="Property_ClassAttributeLabel">
+            <styles xmi:type="notation:StringListValueStyle" xmi:id="_dCWk4OfAEea18bRB26vfxg" name="maskLabel">
+              <stringListValue>multiplicity</stringListValue>
+              <stringListValue>name</stringListValue>
+              <stringListValue>type</stringListValue>
+              <stringListValue>derived</stringListValue>
+            </styles>
+            <element xmi:type="uml:Property" href="esfsafetyrequirements_metamodel.uml#_TZhCYOfAEea18bRB26vfxg"/>
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_TZw6AefAEea18bRB26vfxg"/>
+          </children>
+          <styles xmi:type="notation:TitleStyle" xmi:id="_ucrjNue_Eea18bRB26vfxg"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_ucrjN-e_Eea18bRB26vfxg"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_ucrjOOe_Eea18bRB26vfxg"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ucrjOee_Eea18bRB26vfxg"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_ucsKQOe_Eea18bRB26vfxg" visible="false" type="Class_OperationCompartment_CN">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_ucsKQee_Eea18bRB26vfxg"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_ucsKQue_Eea18bRB26vfxg"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_ucsKQ-e_Eea18bRB26vfxg"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ucsKROe_Eea18bRB26vfxg"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_ucsKRee_Eea18bRB26vfxg" visible="false" type="Class_NestedClassifierCompartment_CN">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_ucsKRue_Eea18bRB26vfxg"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_ucsKR-e_Eea18bRB26vfxg"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_ucsKSOe_Eea18bRB26vfxg"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ucsKSee_Eea18bRB26vfxg"/>
+        </children>
+        <element xmi:type="uml:Class" href="esfsafetyrequirements_metamodel.uml#_ucbEgOe_Eea18bRB26vfxg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ucrjMee_Eea18bRB26vfxg" x="181" y="43" width="195" height="80"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_fQzO4ee_Eea18bRB26vfxg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fQzO4ue_Eea18bRB26vfxg"/>
+    </children>
+    <element xmi:type="uml:Model" href="esfsafetyrequirements_metamodel.uml#_Hmvp0Oe-Eea18bRB26vfxg"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fQwyoee_Eea18bRB26vfxg" x="389" y="325" width="524" height="200"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_frJokOe_Eea18bRB26vfxg" type="Model_Shape" fillColor="15053796">
+    <children xmi:type="notation:DecorationNode" xmi:id="_frKPoOe_Eea18bRB26vfxg" type="Model_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_frKPoee_Eea18bRB26vfxg" type="Model_PackagedElementCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_lkFK0Oe_Eea18bRB26vfxg" type="Class_Shape_CN">
+        <children xmi:type="notation:DecorationNode" xmi:id="_lkFK0ue_Eea18bRB26vfxg" type="Class_NameLabel_CN"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_lkFK0-e_Eea18bRB26vfxg" type="Class_FloatingNameLabel_CN">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_lkFK1Oe_Eea18bRB26vfxg" y="5"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_lkFK1ee_Eea18bRB26vfxg" visible="false" type="Class_AttributeCompartment_CN">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_lkFK1ue_Eea18bRB26vfxg"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_lkFK1-e_Eea18bRB26vfxg"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_lkFK2Oe_Eea18bRB26vfxg"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lkFK2ee_Eea18bRB26vfxg"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_lkFx4Oe_Eea18bRB26vfxg" visible="false" type="Class_OperationCompartment_CN">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_lkFx4ee_Eea18bRB26vfxg"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_lkFx4ue_Eea18bRB26vfxg"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_lkFx4-e_Eea18bRB26vfxg"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lkFx5Oe_Eea18bRB26vfxg"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_lkFx5ee_Eea18bRB26vfxg" visible="false" type="Class_NestedClassifierCompartment_CN">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_lkFx5ue_Eea18bRB26vfxg"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_lkFx5-e_Eea18bRB26vfxg"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_lkFx6Oe_Eea18bRB26vfxg"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lkFx6ee_Eea18bRB26vfxg"/>
+        </children>
+        <element xmi:type="uml:Class" href="platform:/resource/org.polarsys.esf.fmea.metamodel/src/main/resources/metamodel/esffmea_metamodel.uml#_0GWCMFJVEeaIvuiu5ht2Dg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lkFK0ee_Eea18bRB26vfxg" x="181" y="55" width="195" height="80"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_frKPoue_Eea18bRB26vfxg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_frKPo-e_Eea18bRB26vfxg"/>
+    </children>
+    <element xmi:type="uml:Model" href="platform:/resource/org.polarsys.esf.fmea.metamodel/src/main/resources/metamodel/esffmea_metamodel.uml#_XHOmsFAUEeaDo9LNtFuqhg"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_frJokee_Eea18bRB26vfxg" x="389" y="592" width="524" height="200"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_f_YMIOe_Eea18bRB26vfxg" type="Model_Shape" fillColor="12621752">
+    <children xmi:type="notation:DecorationNode" xmi:id="_f_YzMOe_Eea18bRB26vfxg" type="Model_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_f_YzMee_Eea18bRB26vfxg" type="Model_PackagedElementCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_hNwDwOe_Eea18bRB26vfxg" type="Class_Shape_CN">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qXsq0Oe_Eea18bRB26vfxg" source="PapyrusCSSForceValue">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qXsq0ee_Eea18bRB26vfxg" key="fillColor" value="true"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_hNwq0Oe_Eea18bRB26vfxg" type="Class_NameLabel_CN"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_hNwq0ee_Eea18bRB26vfxg" type="Class_FloatingNameLabel_CN">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_hNwq0ue_Eea18bRB26vfxg" y="5"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_hNwq0-e_Eea18bRB26vfxg" visible="false" type="Class_AttributeCompartment_CN">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_hNwq1Oe_Eea18bRB26vfxg"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_hNwq1ee_Eea18bRB26vfxg"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_hNwq1ue_Eea18bRB26vfxg"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hNwq1-e_Eea18bRB26vfxg"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_hNwq2Oe_Eea18bRB26vfxg" visible="false" type="Class_OperationCompartment_CN">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_hNwq2ee_Eea18bRB26vfxg"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_hNwq2ue_Eea18bRB26vfxg"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_hNwq2-e_Eea18bRB26vfxg"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hNwq3Oe_Eea18bRB26vfxg"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_hNx48Oe_Eea18bRB26vfxg" visible="false" type="Class_NestedClassifierCompartment_CN">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_hNx48ee_Eea18bRB26vfxg"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_hNx48ue_Eea18bRB26vfxg"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_hNx48-e_Eea18bRB26vfxg"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hNx49Oe_Eea18bRB26vfxg"/>
+        </children>
+        <element xmi:type="uml:Class" href="platform:/resource/org.polarsys.esf.core.metamodel.esfcore/src/main/resources/metamodel/esfcore_metamodel.uml#_T0muwHyyEeW5YtCK2zP8qA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hNwDwee_Eea18bRB26vfxg" x="181" y="51" width="195" height="80"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_f_YzMue_Eea18bRB26vfxg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_f_YzM-e_Eea18bRB26vfxg"/>
+    </children>
+    <element xmi:type="uml:Model" href="platform:/resource/org.polarsys.esf.core.metamodel.esfcore/src/main/resources/metamodel/esfcore_metamodel.uml#_VB4SINLoEeSb47LgOrWUpg"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_f_YMIee_Eea18bRB26vfxg" x="389" y="77" width="524" height="200"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_bF-lgOfFEea18bRB26vfxg" type="Package_Shape">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_d5_lQOfFEea18bRB26vfxg" source="PapyrusCSSForceValue">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_d5_lQefFEea18bRB26vfxg" key="fillColor" value="true"/>
+    </eAnnotations>
+    <children xmi:type="notation:DecorationNode" xmi:id="_bF_zoOfFEea18bRB26vfxg" type="Package_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_bF_zoefFEea18bRB26vfxg" type="Package_PackagedElementCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_cqly4OfFEea18bRB26vfxg" type="Class_Shape_CN">
+        <children xmi:type="notation:DecorationNode" xmi:id="_cqmZ8OfFEea18bRB26vfxg" type="Class_NameLabel_CN"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_cqmZ8efFEea18bRB26vfxg" type="Class_FloatingNameLabel_CN">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_cqmZ8ufFEea18bRB26vfxg" y="5"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_cqmZ8-fFEea18bRB26vfxg" type="Class_AttributeCompartment_CN">
+          <children xmi:type="notation:Shape" xmi:id="_mDmJoOfFEea18bRB26vfxg" type="Property_ClassAttributeLabel">
+            <styles xmi:type="notation:StringListValueStyle" xmi:id="_m4Ik8OfFEea18bRB26vfxg" name="maskLabel">
+              <stringListValue>multiplicity</stringListValue>
+              <stringListValue>name</stringListValue>
+              <stringListValue>type</stringListValue>
+              <stringListValue>derived</stringListValue>
+            </styles>
+            <element xmi:type="uml:Property" href="pathmap://SysML_PROFILES/SysML.profile.uml#_3DxdwLXqEduHWpAaWjM62w"/>
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_mDmJoefFEea18bRB26vfxg"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_mDmwsOfFEea18bRB26vfxg" type="Property_ClassAttributeLabel">
+            <styles xmi:type="notation:StringListValueStyle" xmi:id="_nL9f4OfFEea18bRB26vfxg" name="maskLabel">
+              <stringListValue>multiplicity</stringListValue>
+              <stringListValue>name</stringListValue>
+              <stringListValue>type</stringListValue>
+              <stringListValue>derived</stringListValue>
+            </styles>
+            <element xmi:type="uml:Property" href="pathmap://SysML_PROFILES/SysML.profile.uml#_3YlQILXqEduHWpAaWjM62w"/>
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_mDmwsefFEea18bRB26vfxg"/>
+          </children>
+          <styles xmi:type="notation:TitleStyle" xmi:id="_cqmZ9OfFEea18bRB26vfxg"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_cqmZ9efFEea18bRB26vfxg"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_cqmZ9ufFEea18bRB26vfxg"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cqmZ9-fFEea18bRB26vfxg"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_cqmZ-OfFEea18bRB26vfxg" visible="false" type="Class_OperationCompartment_CN">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_cqmZ-efFEea18bRB26vfxg"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_cqmZ-ufFEea18bRB26vfxg"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_cqmZ--fFEea18bRB26vfxg"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cqmZ_OfFEea18bRB26vfxg"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_cqmZ_efFEea18bRB26vfxg" visible="false" type="Class_NestedClassifierCompartment_CN">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_cqmZ_ufFEea18bRB26vfxg"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_cqmZ_-fFEea18bRB26vfxg"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_cqmaAOfFEea18bRB26vfxg"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cqmaAefFEea18bRB26vfxg"/>
+        </children>
+        <element xmi:type="uml:Stereotype" href="pathmap://SysML_PROFILES/SysML.profile.uml#_xajygLXqEduHWpAaWjM62w"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cqly4efFEea18bRB26vfxg" x="43" y="20" width="195" height="80"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_bF_zoufFEea18bRB26vfxg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bF_zo-fFEea18bRB26vfxg"/>
+    </children>
+    <element xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bF-lgefFEea18bRB26vfxg" x="30" y="325" width="315" height="200"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_bGcfkOfFEea18bRB26vfxg" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_bGcfkefFEea18bRB26vfxg"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_bGdGoOfFEea18bRB26vfxg" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bGcfkufFEea18bRB26vfxg" x="200"/>
+  </children>
+  <styles xmi:type="notation:StringValueStyle" xmi:id="_dSXzUee_Eea18bRB26vfxg" name="diagram_compatibility_version" stringValue="1.2.0"/>
+  <styles xmi:type="notation:DiagramStyle" xmi:id="_dSXzUue_Eea18bRB26vfxg"/>
+  <styles xmi:type="style:PapyrusViewStyle" xmi:id="_dSXzU-e_Eea18bRB26vfxg">
+    <owner xmi:type="uml:Model" href="esfsafetyrequirements_metamodel.uml#_Hmvp0Oe-Eea18bRB26vfxg"/>
+  </styles>
+  <element xmi:type="uml:Model" href="esfsafetyrequirements_metamodel.uml#_Hmvp0Oe-Eea18bRB26vfxg"/>
+  <edges xmi:type="notation:Connector" xmi:id="_6EsvMOe_Eea18bRB26vfxg" type="Generalization_Edge" source="_ucrjMOe_Eea18bRB26vfxg" target="_hNwDwOe_Eea18bRB26vfxg" routing="Rectilinear">
+    <children xmi:type="notation:DecorationNode" xmi:id="_6EsvM-e_Eea18bRB26vfxg" type="Generalization_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_7cEKwOe_Eea18bRB26vfxg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_6EsvNOe_Eea18bRB26vfxg" y="40"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_6EsvMee_Eea18bRB26vfxg"/>
+    <element xmi:type="uml:Generalization" href="esfsafetyrequirements_metamodel.uml#_6EeswOe_Eea18bRB26vfxg"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6EsvMue_Eea18bRB26vfxg" points="[673, 414, -643984, -643984]$[673, 240, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6E8m0Oe_Eea18bRB26vfxg" id="(0.49230769230769234,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6E9N4Oe_Eea18bRB26vfxg" id="(0.49230769230769234,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_e4r0YOfAEea18bRB26vfxg" type="Association_Edge" source="_ucrjMOe_Eea18bRB26vfxg" target="_lkFK0Oe_Eea18bRB26vfxg" routing="Rectilinear">
+    <children xmi:type="notation:DecorationNode" xmi:id="_e4r0Y-fAEea18bRB26vfxg" visible="false" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_kinRUOfAEea18bRB26vfxg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_e4r0ZOfAEea18bRB26vfxg" y="-20"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_e4sbcOfAEea18bRB26vfxg" visible="false" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_kit_AOfAEea18bRB26vfxg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_e4sbcefAEea18bRB26vfxg" y="20"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_e4sbcufAEea18bRB26vfxg" visible="false" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ki160OfAEea18bRB26vfxg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <styles xmi:type="notation:StringListValueStyle" xmi:id="_k1z6IOfAEea18bRB26vfxg" name="maskLabel">
+        <stringListValue>name</stringListValue>
+        <stringListValue>derived</stringListValue>
+      </styles>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_e4sbc-fAEea18bRB26vfxg" x="20" y="-5"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_e4sbdOfAEea18bRB26vfxg" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_kjA58OfAEea18bRB26vfxg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <styles xmi:type="notation:StringListValueStyle" xmi:id="_lG7fUOfAEea18bRB26vfxg" name="maskLabel">
+        <stringListValue>name</stringListValue>
+        <stringListValue>derived</stringListValue>
+      </styles>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_e4sbdefAEea18bRB26vfxg" x="-31" y="-5"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_e4sbdufAEea18bRB26vfxg" visible="false" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_kjHnoOfAEea18bRB26vfxg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_e4sbd-fAEea18bRB26vfxg" x="15" y="18"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_e4sbeOfAEea18bRB26vfxg" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_kjTN0OfAEea18bRB26vfxg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_e4sbeefAEea18bRB26vfxg" x="-29" y="25"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_e4r0YefAEea18bRB26vfxg"/>
+    <element xmi:type="uml:Association" href="esfsafetyrequirements_metamodel.uml#_ehn_QOfAEea18bRB26vfxg"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_e4r0YufAEea18bRB26vfxg" points="[668, 494, -643984, -643984]$[668, 679, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_e5FdAOfAEea18bRB26vfxg" id="(0.4666666666666667,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_e5FdAefAEea18bRB26vfxg" id="(0.4666666666666667,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_bGdtsOfFEea18bRB26vfxg" type="StereotypeCommentLink" source="_bF-lgOfFEea18bRB26vfxg" target="_bGcfkOfFEea18bRB26vfxg">
+    <styles xmi:type="notation:FontStyle" xmi:id="_bGdtsefFEea18bRB26vfxg"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_bGdttefFEea18bRB26vfxg" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bGdtsufFEea18bRB26vfxg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bGdts-fFEea18bRB26vfxg"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bGdttOfFEea18bRB26vfxg"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_sRBVMOfFEea18bRB26vfxg" type="Dependency_Edge" source="_ucrjMOe_Eea18bRB26vfxg" target="_cqly4OfFEea18bRB26vfxg">
+    <children xmi:type="notation:DecorationNode" xmi:id="_sRB8QOfFEea18bRB26vfxg" type="Dependency_NameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_sRB8QefFEea18bRB26vfxg" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_sRB8QufFEea18bRB26vfxg" type="Dependency_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_sRB8Q-fFEea18bRB26vfxg" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_sRBVMefFEea18bRB26vfxg"/>
+    <element xmi:type="uml:Dependency" href="esfsafetyrequirements_metamodel.uml#_sQphwOfFEea18bRB26vfxg"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sRBVMufFEea18bRB26vfxg" points="[576, 448, -643984, -643984]$[274, 448, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sRXTcOfFEea18bRB26vfxg" id="(0.0,0.6)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sRXTcefFEea18bRB26vfxg" id="(1.0,0.6)"/>
+  </edges>
+</notation:Diagram>
diff --git a/analysis/safetyreq/metamodel/org.polarsys.esf.safetyreq.metamodel/src/main/resources/metamodel/esfsafetyrequirements_metamodel.uml b/analysis/safetyreq/metamodel/org.polarsys.esf.safetyreq.metamodel/src/main/resources/metamodel/esfsafetyrequirements_metamodel.uml
new file mode 100644
index 0000000..b124569
--- /dev/null
+++ b/analysis/safetyreq/metamodel/org.polarsys.esf.safetyreq.metamodel/src/main/resources/metamodel/esfsafetyrequirements_metamodel.uml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_Hmvp0Oe-Eea18bRB26vfxg" name="ESFSafetyRequirements">
+  <packageImport xmi:type="uml:PackageImport" xmi:id="_YSB3MOfFEea18bRB26vfxg">
+    <importedPackage xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+  </packageImport>
+  <packagedElement xmi:type="uml:Class" xmi:id="_ucbEgOe_Eea18bRB26vfxg" name="SSafetyRequirement">
+    <generalization xmi:type="uml:Generalization" xmi:id="_6EeswOe_Eea18bRB26vfxg">
+      <general xmi:type="uml:Class" href="../../../../../org.polarsys.esf.core.metamodel.esfcore/src/main/resources/metamodel/esfcore_metamodel.uml#_T0muwHyyEeW5YtCK2zP8qA"/>
+    </generalization>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_TZhCYOfAEea18bRB26vfxg" name="criticality" isDerived="true">
+      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_ehte0OfAEea18bRB26vfxg" name="sFailureModesFMEAList" association="_ehn_QOfAEea18bRB26vfxg">
+      <type xmi:type="uml:Class" href="../../../../../org.polarsys.esf.fmea.metamodel/src/main/resources/metamodel/esffmea_metamodel.uml#_0GWCMFJVEeaIvuiu5ht2Dg"/>
+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hsgm4OfAEea18bRB26vfxg"/>
+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hsk4UOfAEea18bRB26vfxg" value="*"/>
+    </ownedAttribute>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Association" xmi:id="_ehn_QOfAEea18bRB26vfxg" memberEnd="_ehte0OfAEea18bRB26vfxg _ehuF4OfAEea18bRB26vfxg">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ehqbgOfAEea18bRB26vfxg" source="org.eclipse.papyrus">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ehqbgefAEea18bRB26vfxg" key="nature" value="UML_Nature"/>
+    </eAnnotations>
+    <ownedEnd xmi:type="uml:Property" xmi:id="_ehuF4OfAEea18bRB26vfxg" name="sSafetyRequirementsList" type="_ucbEgOe_Eea18bRB26vfxg" association="_ehn_QOfAEea18bRB26vfxg">
+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iYAa8OfAEea18bRB26vfxg"/>
+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iYFTcOfAEea18bRB26vfxg" value="*"/>
+    </ownedEnd>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Dependency" xmi:id="_sQphwOfFEea18bRB26vfxg" client="_ucbEgOe_Eea18bRB26vfxg">
+    <supplier xmi:type="uml:Stereotype" href="pathmap://SysML_PROFILES/SysML.profile.uml#_xajygLXqEduHWpAaWjM62w"/>
+  </packagedElement>
+</uml:Model>
diff --git a/analysis/safetyreq/metamodel/org.polarsys.esf.safetyreq.metamodel/src/main/resources/properties/plugin.properties b/analysis/safetyreq/metamodel/org.polarsys.esf.safetyreq.metamodel/src/main/resources/properties/plugin.properties
new file mode 100644
index 0000000..c88d2d8
--- /dev/null
+++ b/analysis/safetyreq/metamodel/org.polarsys.esf.safetyreq.metamodel/src/main/resources/properties/plugin.properties
@@ -0,0 +1,3 @@
+#Properties file for org.polarsys.esf.safetyReq.metamodel
+Bundle-Name=ESFSafetyReq Metamodel
+Bundle-Vendor=PolarSys
diff --git a/analysis/safetyreq/metamodel/pom.xml b/analysis/safetyreq/metamodel/pom.xml
new file mode 100644
index 0000000..d566943
--- /dev/null
+++ b/analysis/safetyreq/metamodel/pom.xml
@@ -0,0 +1,26 @@
+<?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>
+  
+  <!-- PROJECT DESCRIPTION -->
+  <parent>
+    <groupId>org.polarsys.esf</groupId>
+    <artifactId>esf-tools.analysis.safetyreq</artifactId>
+    <version>0.7.0-SNAPSHOT</version>
+  </parent>
+  
+  <groupId>org.polarsys.esf</groupId>
+  <artifactId>esf-tools.analysis.safetyreq.metamodel</artifactId>
+  <packaging>pom</packaging>
+  <name>ESF SafetyReq Meta-model</name>
+  <description>ESF SafetyReq Meta-model description.</description>
+  
+  <!-- MODULES -->  
+  <modules>
+    <module>org.polarsys.esf.safetyreq.metamodel</module>
+  </modules>
+  
+</project>
\ No newline at end of file
diff --git a/analysis/safetyreq/pom.xml b/analysis/safetyreq/pom.xml
new file mode 100644
index 0000000..5ad7e2a
--- /dev/null
+++ b/analysis/safetyreq/pom.xml
@@ -0,0 +1,32 @@
+<?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>
+  
+  <!-- PROJECT DESCRIPTION -->
+  <parent>
+    <groupId>org.polarsys.esf</groupId>
+    <artifactId>esf-tools.analysis</artifactId>
+    <version>0.7.0-SNAPSHOT</version>
+  </parent>
+  
+  <groupId>org.polarsys.esf</groupId>
+  <artifactId>esf-tools.analysis.safetyreq</artifactId>
+  <packaging>pom</packaging>
+  <name>ESF Tools Safety Requirements</name>
+  <description>ESF Tools Safety Requirements description</description>
+  
+  <!-- MODULES -->  
+  <modules>
+  	<module>doc</module>
+	<module>execution</module>
+    <module>metamodel</module>
+	<module>profile</module>
+	<module>releng</module>
+	<module>resources</module>
+	<module>table</module>
+  </modules>
+  
+</project>
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.service.types/.classpath b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.service.types/.classpath
new file mode 100644
index 0000000..d97031b
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.service.types/.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.7"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src/main/java"/>
+	<classpathentry kind="output" path="target/classes/"/>
+</classpath>
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.service.types/.project b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.service.types/.project
new file mode 100644
index 0000000..f9906db
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.service.types/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.polarsys.esf.safetyreq.profile.service.types</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>
+		<buildCommand>
+			<name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+	</natures>
+</projectDescription>
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.service.types/.settings/org.eclipse.jdt.core.prefs b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.service.types/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..f42de36
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.service.types/.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.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.service.types/META-INF/MANIFEST.MF b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.service.types/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..df0f481
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.service.types/META-INF/MANIFEST.MF
@@ -0,0 +1,13 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-Vendor: %Bundle-Vendor
+Bundle-SymbolicName: org.polarsys.esf.safetyreq.profile.service.types;singleton:=true
+Bundle-Version: 0.7.0.qualifier
+Bundle-Localization: src/main/resources/properties/plugin
+Bundle-Activator: org.polarsys.esf.safetyreq.profile.service.types.ESFSafetyReqServiceTypesActivator$Implementation
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.common
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-ActivationPolicy: lazy
+Export-Package: org.polarsys.esf.safetyreq.profile.service.types.set
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.service.types/about.html b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.service.types/about.html
new file mode 100644
index 0000000..d35d5ae
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.service.types/about.html
@@ -0,0 +1,28 @@
+<!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">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>June 5, 2007</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.service.types/build.properties b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.service.types/build.properties
new file mode 100644
index 0000000..26182b6
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.service.types/build.properties
@@ -0,0 +1,16 @@
+###############################################################################
+# 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 v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+# Contributors:
+#     ALL4TEC & CEA LIST - initial API and implementation
+###############################################################################
+source.. = src/main/java/
+output.. = target/classes/
+bin.includes = META-INF/,\
+               .,\
+               about.html,\
+               src/main/resources/,\
+               plugin.xml
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.service.types/plugin.xml b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.service.types/plugin.xml
new file mode 100644
index 0000000..cae3ca6
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.service.types/plugin.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+   <extension
+         point="org.eclipse.papyrus.infra.types.core.elementTypeSetConfiguration">
+      <elementTypeSet
+            clientContextID="org.eclipse.papyrus.infra.services.edit.TypeContext"
+            path="src/main/resources/typeconfigurations/esfsafetyrequirements.typesconfigurations">
+      </elementTypeSet>
+   </extension>
+
+</plugin>
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.service.types/pom.xml b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.service.types/pom.xml
new file mode 100644
index 0000000..f4815e8
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.service.types/pom.xml
@@ -0,0 +1,30 @@
+<?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 v1.0
+    which accompanies this distribution, and is available at
+    http://www.eclipse.org/legal/epl-v10.html
+    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.safetyreq.profile</artifactId>
+    <version>0.7.0-SNAPSHOT</version>
+  </parent>
+  
+  <groupId>org.polarsys.esf</groupId>
+  <artifactId>org.polarsys.esf.safetyreq.profile.service.types</artifactId>
+  <packaging>eclipse-plugin</packaging>
+  <name>ESFSafetyReq Profile Service Types</name>
+  <description>ESFSafetyReq Profile Service Types description.</description>
+
+</project>
\ No newline at end of file
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.service.types/src/main/java/org/polarsys/esf/safetyreq/profile/service/types/ESFSafetyReqServiceTypesActivator.java b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.service.types/src/main/java/org/polarsys/esf/safetyreq/profile/service/types/ESFSafetyReqServiceTypesActivator.java
new file mode 100644
index 0000000..6b277f6
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.service.types/src/main/java/org/polarsys/esf/safetyreq/profile/service/types/ESFSafetyReqServiceTypesActivator.java
@@ -0,0 +1,106 @@
+/*******************************************************************************
+ * 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 v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * Contributors:
+ *     ALL4TEC & CEA LIST - initial API and implementation
+ *******************************************************************************/
+package org.polarsys.esf.safetyreq.profile.service.types;
+
+import org.eclipse.emf.common.EMFPlugin;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle. Central singleton for
+ * the ESFSafetyReq Service Types plug-in.
+ *
+ * @author $Author: ymunoz $
+ * @version $Revision: 183 $
+ */
+public class ESFSafetyReqServiceTypesActivator extends EMFPlugin implements BundleActivator {
+
+    /** Keep track of the encapsulating singleton. */
+    public static final ESFSafetyReqServiceTypesActivator INSTANCE = new ESFSafetyReqServiceTypesActivator();
+
+    /** Execution context for the bundle. */
+    private static BundleContext sBundleContext = null;
+
+    /** Keep track of the implementation singleton. */
+    private static Implementation sPlugin = null;
+
+    /**
+     * Create the instance.
+     */
+    public ESFSafetyReqServiceTypesActivator() {
+        super(new ResourceLocator[] {});
+    }
+
+    /**
+     * Get BundlexContext.
+     *
+     * @return BundleContext
+     */
+    static BundleContext getContext() {
+        return sBundleContext;
+    }
+
+    /**
+     * {@inheritDoc}
+     *
+     * Added to ensure that the activator can work with the profile mechanisms.
+     */
+    @Override
+    public void start(final BundleContext pContext) throws Exception {
+        sBundleContext = pContext;
+
+    }
+
+    /**
+     * {@inheritDoc}
+     *
+     * Added to ensure that the activator can work with the profile mechanisms.
+     */
+    @Override
+    public void stop(final BundleContext pContext) throws Exception {
+        sBundleContext = null;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public ResourceLocator getPluginResourceLocator() {
+        return sPlugin;
+    }
+
+    /**
+     * Returns the singleton instance of the Eclipse plugin.
+     *
+     * @return The singleton instance
+     */
+    public static Implementation getPlugin() {
+        return sPlugin;
+    }
+
+    /**
+     * The actual implementation of the Eclipse <b>UIPlugin</b>.
+     */
+    public static class Implementation
+        extends EclipsePlugin {
+
+        /**
+         * Creates an instance.
+         */
+        public Implementation() {
+            super();
+
+            // Remember of the static instance
+            sPlugin = this;
+        }
+    }
+
+}
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.service.types/src/main/java/org/polarsys/esf/safetyreq/profile/service/types/set/ESFSafetyRequirementsTypesSet.java b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.service.types/src/main/java/org/polarsys/esf/safetyreq/profile/service/types/set/ESFSafetyRequirementsTypesSet.java
new file mode 100644
index 0000000..1669651
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.service.types/src/main/java/org/polarsys/esf/safetyreq/profile/service/types/set/ESFSafetyRequirementsTypesSet.java
@@ -0,0 +1,31 @@
+/*******************************************************************************
+ * 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 v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     ALL4TEC & CEA LIST - initial API and implementation
+ ******************************************************************************/
+package org.polarsys.esf.safetyreq.profile.service.types.set;
+
+/**
+ * ESFSafetyRequirements types set.
+ *
+ * @author $Author: ymunoz $
+ * @version $Revision: 168 $
+ */
+public final class ESFSafetyRequirementsTypesSet {
+
+    /** Specialized Types ID of SSafetyRequirement. */
+    public static final String SSAFETYREQUIREMENT_TYPE_ID =
+        "org.polarsys.esf.ESFSafetyRequirements.SSafetyRequirement"; //$NON-NLS-1$
+
+    /**
+     * Default constructor, private as it's a utility class.
+     */
+    private ESFSafetyRequirementsTypesSet() {
+        // Nothing to do
+    }
+}
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.service.types/src/main/resources/properties/plugin.properties b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.service.types/src/main/resources/properties/plugin.properties
new file mode 100644
index 0000000..b7fc225
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.service.types/src/main/resources/properties/plugin.properties
@@ -0,0 +1,12 @@
+###############################################################################
+# 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 v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+# Contributors:
+#     ALL4TEC & CEA LIST - initial API and implementation
+###############################################################################
+#Properties file for org.polarsys.esf.safetyreq.profile.service.types
+Bundle-Name=ESSafetyReq Profile Service Types
+Bundle-Vendor=PolarSys
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.service.types/src/main/resources/typeconfigurations/esfsafetyrequirements.typesconfigurations b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.service.types/src/main/resources/typeconfigurations/esfsafetyrequirements.typesconfigurations
new file mode 100644
index 0000000..25a547f
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.service.types/src/main/resources/typeconfigurations/esfsafetyrequirements.typesconfigurations
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="ASCII"?>
+<elementtypesconfigurations:ElementTypeSetConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:applystereotypeadvice="http://www.eclipse.org/papyrus/uml/types/applystereotypeadvice/1.1" xmlns:elementtypesconfigurations="http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.1" xmlns:stereotypematcher="http://www.eclipse.org/papyrus/uml/types/stereotypematcher/1.1" identifier="org.polarsys.esf.ESFSafetyRequirements.elementTypes" metamodelNsURI="http://www.eclipse.org/uml2/5.0.0/UML">
+  <elementTypeConfigurations xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" identifier="org.polarsys.esf.ESFSafetyRequirements.SSafetyRequirement" name="SSafetyRequirement" hint="UML::Class">
+    <iconEntry iconPath="/icons/full/obj16/Class.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+    <specializedTypesID>org.eclipse.papyrus.uml.Class</specializedTypesID>
+    <matcherConfiguration xsi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration">
+      <stereotypesQualifiedNames>ESFSafetyRequirements::SSafetyRequirement</stereotypesQualifiedNames>
+    </matcherConfiguration>
+  </elementTypeConfigurations>
+  <adviceBindingsConfigurations xsi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" identifier="org.polarsys.esf.ESFSafetyRequirements.sSafetyRequirement" target="//@elementTypeConfigurations.0">
+    <stereotypesToApply stereotypeQualifiedName="ESFSafetyRequirements::SSafetyRequirement" updateName="true">
+      <requiredProfiles>ESFSafetyRequirements</requiredProfiles>
+    </stereotypesToApply>
+  </adviceBindingsConfigurations>
+</elementtypesconfigurations:ElementTypeSetConfiguration>
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.tools/.classpath b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.tools/.classpath
new file mode 100644
index 0000000..d97031b
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.tools/.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.7"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src/main/java"/>
+	<classpathentry kind="output" path="target/classes/"/>
+</classpath>
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.tools/.project b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.tools/.project
new file mode 100644
index 0000000..c0943f0
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.tools/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.polarsys.esf.safetyreq.profile.tools</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>
+		<buildCommand>
+			<name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+	</natures>
+</projectDescription>
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.tools/.settings/org.eclipse.jdt.core.prefs b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.tools/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..f42de36
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.tools/.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.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.tools/META-INF/MANIFEST.MF b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.tools/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..15e31ac
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.tools/META-INF/MANIFEST.MF
@@ -0,0 +1,18 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-SymbolicName: org.polarsys.esf.safetyreq.profile.tools
+Bundle-Version: 0.7.0.qualifier
+Bundle-Activator: org.polarsys.esf.safetyreq.profile.tools.ESFSafetyReqProfileToolsActivator$Implementation
+Require-Bundle: org.eclipse.core.runtime;bundle-version="3.12.0",
+ org.eclipse.emf.common,
+ org.polarsys.esf.core.utils,
+ org.eclipse.emf.transaction,
+ org.eclipse.papyrus.uml.tools.utils,
+ org.polarsys.esf.safetyreq.profile;bundle-version="0.7.0",
+ org.eclipse.papyrus.sysml
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-ActivationPolicy: lazy
+Bundle-Vendor: %Bundle-Vendor
+Bundle-Localization: src/main/resources/properties/plugin
+Export-Package: org.polarsys.esf.safetyreq.profile.tools.util
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.tools/about.html b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.tools/about.html
new file mode 100644
index 0000000..d35d5ae
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.tools/about.html
@@ -0,0 +1,28 @@
+<!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">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>June 5, 2007</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.tools/build.properties b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.tools/build.properties
new file mode 100644
index 0000000..d39af84
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.tools/build.properties
@@ -0,0 +1,15 @@
+###############################################################################
+# 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 v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+# Contributors:
+#     ALL4TEC & CEA LIST - initial API and implementation
+###############################################################################
+source.. = src/main/java/
+output.. = target/classes/
+bin.includes = META-INF/,\
+               .,\
+               about.html,\
+               src/main/resources/
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.tools/pom.xml b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.tools/pom.xml
new file mode 100644
index 0000000..093f9e3
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.tools/pom.xml
@@ -0,0 +1,30 @@
+<?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 v1.0
+    which accompanies this distribution, and is available at
+    http://www.eclipse.org/legal/epl-v10.html
+    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.safetyreq.profile</artifactId>
+    <version>0.7.0-SNAPSHOT</version>
+  </parent>
+  
+  <groupId>org.polarsys.esf</groupId>
+  <artifactId>org.polarsys.esf.safetyreq.profile.tools</artifactId>
+  <packaging>eclipse-plugin</packaging>
+  <name>ESFSafetyReq Profile Tools</name>
+  <description>ESFSafetyReq Profile Tools description.</description>
+
+</project>
\ No newline at end of file
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.tools/src/main/java/org/polarsys/esf/safetyreq/profile/tools/ESFSafetyReqProfileToolsActivator.java b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.tools/src/main/java/org/polarsys/esf/safetyreq/profile/tools/ESFSafetyReqProfileToolsActivator.java
new file mode 100644
index 0000000..fd3da8e
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.tools/src/main/java/org/polarsys/esf/safetyreq/profile/tools/ESFSafetyReqProfileToolsActivator.java
@@ -0,0 +1,106 @@
+/*******************************************************************************
+ * 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 v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * Contributors:
+ *     ALL4TEC & CEA LIST - initial API and implementation
+ *******************************************************************************/
+package org.polarsys.esf.safetyreq.profile.tools;
+
+import org.eclipse.emf.common.EMFPlugin;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle. Central singleton for
+ * the ESFSSafetyReq Profile Tools plug-in.
+ *
+ * @author  $Author: ymunoz $
+ * @version $Revision: 168 $
+ */
+public class ESFSafetyReqProfileToolsActivator extends EMFPlugin implements BundleActivator {
+
+    /** Keep track of the encapsulating singleton. */
+    public static final ESFSafetyReqProfileToolsActivator INSTANCE = new ESFSafetyReqProfileToolsActivator();
+
+    /** Execution context for the bundle. */
+    private static BundleContext sBundleContext = null;
+
+    /** Keep track of the implementation singleton. */
+    private static Implementation sPlugin = null;
+
+    /**
+     * Create the instance.
+     */
+    public ESFSafetyReqProfileToolsActivator() {
+        super(new ResourceLocator[] {});
+    }
+
+    /**
+     * Get BundlexContext.
+     *
+     * @return BundleContext
+     */
+    static BundleContext getContext() {
+        return sBundleContext;
+    }
+
+    /**
+     * {@inheritDoc}
+     *
+     * Added to ensure that the activator can work with the profile mechanisms.
+     */
+    @Override
+    public void start(final BundleContext pContext) throws Exception {
+        sBundleContext = pContext;
+
+    }
+
+    /**
+     * {@inheritDoc}
+     *
+     * Added to ensure that the activator can work with the profile mechanisms.
+     */
+    @Override
+    public void stop(final BundleContext pContext) throws Exception {
+        sBundleContext = null;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public ResourceLocator getPluginResourceLocator() {
+        return sPlugin;
+    }
+
+    /**
+     * Returns the singleton instance of the Eclipse plugin.
+     *
+     * @return The singleton instance
+     */
+    public static Implementation getPlugin() {
+        return sPlugin;
+    }
+
+    /**
+     * The actual implementation of the Eclipse <b>UIPlugin</b>.
+     */
+    public static class Implementation
+        extends EclipsePlugin {
+
+        /**
+         * Creates an instance.
+         */
+        public Implementation() {
+            super();
+
+            // Remember of the static instance
+            sPlugin = this;
+        }
+    }
+
+}
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.tools/src/main/java/org/polarsys/esf/safetyreq/profile/tools/util/ESFSafetyRequirementsUtil.java b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.tools/src/main/java/org/polarsys/esf/safetyreq/profile/tools/util/ESFSafetyRequirementsUtil.java
new file mode 100644
index 0000000..ed1249c
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.tools/src/main/java/org/polarsys/esf/safetyreq/profile/tools/util/ESFSafetyRequirementsUtil.java
@@ -0,0 +1,176 @@
+/*******************************************************************************
+ * 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 v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * Contributors:
+ *     ALL4TEC & CEA LIST - initial API and implementation
+ *******************************************************************************/
+package org.polarsys.esf.safetyreq.profile.tools.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.transaction.RecordingCommand;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementsPackageImpl;
+import org.eclipse.papyrus.sysml.util.SysmlResource;
+import org.eclipse.papyrus.uml.tools.utils.PackageUtil;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.util.UMLUtil;
+import org.polarsys.esf.core.utils.ModelUtil;
+import org.polarsys.esf.esfsafetyrequirements.impl.ESFSafetyRequirementsPackage;
+import org.polarsys.esf.esfsafetyrequirements.impl.SSafetyRequirement;
+import org.polarsys.esf.safetyreq.profile.set.ESFSafetyRequirementsSet;
+
+/**
+ * Utilities for working with ESFSafetyRequirements profile.
+ *
+ * @author $Author: ymunoz $
+ * @version $Revision: 168 $
+ */
+public final class ESFSafetyRequirementsUtil {
+
+    /** Apply ESFSSafetyReq profile label. */
+    private static final String APPLY_ESFSAFETYREQUIREMENTS_PROFILE_LABEL = "Apply ESFSSafetyRequirments profile"; //$NON-NLS-1$
+
+    /** Apply SysML profile label. */
+    private static final String APPLY_SYSML_PROFILE_LABEL = "Apply SysML profile"; //$NON-NLS-1$
+
+    /** Create SSafetyRequirment label. */
+    private static final String CREATE_SSAFETYREQUIREMENT_LABEL = "Create SSafetyRequirment"; //$NON-NLS-1$
+
+    /** Apply SSafetyRequirment stereotype label. */
+    private static final String APPLY_SSAFETYREQUIREMENT_STEREOTYPE_LABEL = "Apply SSafetyRequirment stereotype"; //$NON-NLS-1$
+
+    /**
+     * Default constructor.
+     */
+    private ESFSafetyRequirementsUtil() {
+    }
+
+    /**
+     * Apply ESFSafetyRequirements profile to the given model element.
+     *
+     * @param pModel The model target
+     */
+    public static void applyESFSafetyRequirementsProfile(final Model pModel) {
+        TransactionalEditingDomain vDomain = ModelUtil.getTransactionalEditingDomain(pModel);
+
+        RecordingCommand vApplyESFSafetyReqProfileCmd =
+            new RecordingCommand(vDomain, APPLY_ESFSAFETYREQUIREMENTS_PROFILE_LABEL) {
+
+                @Override
+                protected void doExecute() {
+                    // Retrieve ESFSSafetyRequirements profile and apply it
+                    Profile vESFSSafetyRequirementsProfile = (Profile) PackageUtil.loadPackage(
+                        URI.createURI(ESFSafetyRequirementsSet.PROFILE_PATH),
+                        pModel.eResource().getResourceSet());
+
+                    if (vESFSSafetyRequirementsProfile != null) {
+                        PackageUtil.applyProfile(pModel, vESFSSafetyRequirementsProfile, true);
+                    }
+                }
+            };
+
+        // Verify if command can be executed
+        if (vApplyESFSafetyReqProfileCmd.canExecute()) {
+            // Execute command
+            vDomain.getCommandStack().execute(vApplyESFSafetyReqProfileCmd);
+        }
+    }
+
+    /**
+     * Apply 'SSafetyRequirement' Stereotype.
+     *
+     * @param pRequirement The requirement
+     */
+    public static void applySSafetyRequirementStereotype(final Class pRequirement) {
+        TransactionalEditingDomain vDomain = ModelUtil.getTransactionalEditingDomain(pRequirement);
+
+        RecordingCommand vApplySSafetyRequirementCmd =
+            new RecordingCommand(vDomain, APPLY_SSAFETYREQUIREMENT_STEREOTYPE_LABEL) {
+
+                @Override
+                protected void doExecute() {
+                    UMLUtil.StereotypeApplicationHelper.getInstance(pRequirement)
+                        .applyStereotype(pRequirement, ESFSafetyRequirementsPackage.eINSTANCE.getSSafetyRequirement());
+                }
+            };
+
+        // Verify if command can be executed
+        if (vApplySSafetyRequirementCmd.canExecute()) {
+            // Execute command
+            vDomain.getCommandStack().execute(vApplySSafetyRequirementCmd);
+        }
+    }
+
+    /**
+     * Apply SysML profile to the given model element.
+     *
+     * @param pModel The model target
+     */
+    public static void applySysMLProfile(final Model pModel) {
+        TransactionalEditingDomain vDomain = ModelUtil.getTransactionalEditingDomain(pModel);
+
+        RecordingCommand vApplySysMLProfileCmd =
+            new RecordingCommand(vDomain, APPLY_SYSML_PROFILE_LABEL) {
+
+                @Override
+                protected void doExecute() {
+                    // Retrieve SysML profile and apply it
+                    Profile vSysMLProfile = (Profile) PackageUtil.loadPackage(
+                        URI.createURI(SysmlResource.SYSML_PROFILE_URI),
+                        pModel.eResource().getResourceSet());
+
+                    if (vSysMLProfile != null) {
+                        PackageUtil.applyProfile(pModel, vSysMLProfile, true);
+                    }
+                }
+            };
+
+        // Verify if command can be executed
+        if (vApplySysMLProfileCmd.canExecute()) {
+            // Execute command
+            vDomain.getCommandStack().execute(vApplySysMLProfileCmd);
+        }
+
+    }
+
+
+
+    /**
+     * Create a new SSafetyRequirement element.
+     *
+     * @param pPackage The package where the SSafetyRequirement must be created
+     */
+    public static void createSSafetyRequirement(final Package pPackage) {
+        TransactionalEditingDomain vDomain = ModelUtil.getTransactionalEditingDomain(pPackage);
+
+        RecordingCommand vApplySSafetyRequirementCmd =
+            new RecordingCommand(vDomain, CREATE_SSAFETYREQUIREMENT_LABEL) {
+
+                @Override
+                protected void doExecute() {
+                    String vName = SSafetyRequirement.class.getSimpleName() + pPackage.getOwnedElements().size();
+                    // Create a new SSafetyRequirement element
+                    Class vSSafetyRequirement = pPackage.createOwnedClass(vName, false);
+                    // Apply 'SSafetyRequirement' stereotype on the created class
+                    UMLUtil.StereotypeApplicationHelper.getInstance(vSSafetyRequirement)
+                        .applyStereotype(vSSafetyRequirement,
+                            ESFSafetyRequirementsPackage.eINSTANCE.getSSafetyRequirement());
+                    // Apply 'Requirement' stereotype on the created class
+                    UMLUtil.StereotypeApplicationHelper.getInstance(vSSafetyRequirement)
+                        .applyStereotype(vSSafetyRequirement, RequirementsPackageImpl.eINSTANCE.getRequirement());
+                }
+            };
+
+        // Verify if command can be executed
+        if (vApplySSafetyRequirementCmd.canExecute()) {
+            // Execute command
+            vDomain.getCommandStack().execute(vApplySSafetyRequirementCmd);
+        }
+    }
+}
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.tools/src/main/resources/properties/plugin.properties b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.tools/src/main/resources/properties/plugin.properties
new file mode 100644
index 0000000..303548c
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile.tools/src/main/resources/properties/plugin.properties
@@ -0,0 +1,12 @@
+###############################################################################
+# 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 v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+# Contributors:
+#     ALL4TEC & CEA LIST - initial API and implementation
+###############################################################################
+#Properties file for org.polarsys.esf.safetyreq.profile.tools
+Bundle-Name=ESFSafetyReq Profile Tools
+Bundle-Vendor=PolarSys
\ No newline at end of file
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/.classpath b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/.classpath
new file mode 100644
index 0000000..cd5a663
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/.classpath
@@ -0,0 +1,8 @@
+<?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.7"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src/main/java"/>
+	<classpathentry kind="src" path="src-gen/main/java"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/.project b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/.project
new file mode 100644
index 0000000..f695381
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.polarsys.esf.safetyreq.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>
+		<buildCommand>
+			<name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+	</natures>
+</projectDescription>
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/.settings/org.eclipse.jdt.core.prefs b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..f42de36
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.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.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/META-INF/MANIFEST.MF b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..72def7f
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/META-INF/MANIFEST.MF
@@ -0,0 +1,27 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-Vendor: %Bundle-Vendor
+Bundle-Localization: src/main/resources/properties/plugin
+Bundle-SymbolicName: org.polarsys.esf.safetyreq.profile;singleton:=true
+Bundle-Version: 0.7.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.polarsys.esf.safetyreq.profile.ESFSafetyReqProfileActivator$Implementation
+Require-Bundle: org.eclipse.uml2.uml;bundle-version="5.2.0";visibility:=reexport,
+ org.eclipse.papyrus.uml.extensionpoints;bundle-version="1.2.0",
+ org.eclipse.core.runtime,
+ org.eclipse.emf.ecore;visibility:=reexport,
+ org.polarsys.esf.core.profile.esfarchitectureconcepts;visibility:=reexport,
+ org.polarsys.esf.core.profile.esfcore;bundle-version="0.7.0";visibility:=reexport,
+ org.polarsys.esf.fmea.profile;visibility:=reexport,
+ org.polarsys.esf.core.profile.esfproperties;visibility:=reexport,
+ org.polarsys.esf.core.profile.esfsafetyconcepts;visibility:=reexport,
+ org.eclipse.uml2.types;visibility:=reexport,
+ org.polarsys.esf.safetyreq.resources.graphical;bundle-version="0.7.0";visibility:=reexport,
+ org.eclipse.emf.common
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Export-Package: org.polarsys.esf.esfsafetyrequirements,
+ org.polarsys.esf.esfsafetyrequirements.impl,
+ org.polarsys.esf.esfsafetyrequirements.util,
+ org.polarsys.esf.safetyreq.profile.set
+Bundle-ActivationPolicy: lazy
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/about.html b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/about.html
new file mode 100644
index 0000000..d35d5ae
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/about.html
@@ -0,0 +1,28 @@
+<!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">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>June 5, 2007</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/build.properties b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/build.properties
new file mode 100644
index 0000000..36fea36
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/build.properties
@@ -0,0 +1,20 @@
+###############################################################################
+# 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 v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#     ALL4TEC & CEA LIST - initial API and implementation
+###############################################################################
+#
+
+source.. = src/main/java,\
+           src-gen/main/java
+output.. = target/classes/
+bin.includes = .,\
+               META-INF/,\
+               plugin.xml,\
+               src/main/resources/,\
+               about.html
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/plugin.properties b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/plugin.properties
new file mode 100644
index 0000000..886d581
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/plugin.properties
@@ -0,0 +1,11 @@
+# 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 v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#   
+# Contributors:
+#      ALL4TEC & CEA LIST - initial API and implementation
+
+pluginName = ESFSafetyRequirements Model
+providerName = www.example.org
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/plugin.xml b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/plugin.xml
new file mode 100644
index 0000000..1da9c91
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/plugin.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+    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 v1.0
+    which accompanies this distribution, and is available at
+    http://www.eclipse.org/legal/epl-v10.html
+   
+    Contributors:
+        ALL4TEC & CEA LIST - initial API and implementation
+ -->
+
+<!--
+-->
+
+<plugin>
+
+   <extension
+         point="org.eclipse.emf.ecore.uri_mapping">
+      <mapping
+            source="pathmap://ESFSAFETYREQUIREMENTS_PROFILE/"
+            target="platform:/plugin/org.polarsys.esf.safetyreq.profile/src/main/resources/models/profile/">
+      </mapping>
+   </extension>
+   <extension
+         point="org.eclipse.papyrus.uml.extensionpoints.UMLProfile">
+      <profile
+            description="%esfsafetyreq.profile.description"
+            iconpath="platform:/plugin/org.polarsys.esf.safetyreq.resources.graphical/src/main/resources/icons/profile/icon_esfsafetyrequirements_profile.png"
+            name="%esfsafetyreq.profile.name"
+            path="pathmap://ESFSAFETYREQUIREMENTS_PROFILE/esfsafetyrequirements.profile.uml">
+      </profile>
+   </extension>
+   <extension
+         point="org.eclipse.uml2.uml.generated_package">
+      <profile
+            location="pathmap://ESFSAFETYREQUIREMENTS_PROFILE/esfsafetyrequirements.profile.uml#_uTXf0OhnEea18bRB26vfxg"
+            uri="http://www.polarsys.org/esf/0.7.0/ESFSafetyRequirements">
+      </profile>
+   </extension>
+   <extension
+         point="org.eclipse.emf.ecore.factory_override">
+      <factory
+            class="org.polarsys.esf.esfsafetyrequirements.impl.MESFSafetyRequirementsFactory"
+            uri="http://www.polarsys.org/esf/0.7.0/ESFSafetyRequirements">
+      </factory>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <!-- @generated esfsafetyreq -->
+      <package
+            uri="http://www.polarsys.org/esf/0.7.0/ESFSafetyRequirements"
+            class="org.polarsys.esf.esfsafetyrequirements.IESFSafetyRequirementsPackage"
+            genModel="src/main/resources/models/genmodel/esfsafetyrequirements.genmodel"/>
+   </extension>
+
+</plugin>
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/pom.xml b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/pom.xml
new file mode 100644
index 0000000..03f6620
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/pom.xml
@@ -0,0 +1,31 @@
+<?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 v1.0
+    which accompanies this distribution, and is available at
+    http://www.eclipse.org/legal/epl-v10.html
+   
+    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.safetyreq.profile</artifactId>
+    <version>0.7.0-SNAPSHOT</version>
+  </parent>
+  
+  <groupId>org.polarsys.esf</groupId>
+  <artifactId>org.polarsys.esf.safetyreq.profile</artifactId>
+  <packaging>eclipse-plugin</packaging>
+  <name>ESFSafetyReq Profile</name>
+  <description>ESFSafetyReq Profile description.</description>
+
+</project>
\ No newline at end of file
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src-gen/main/java/org/polarsys/esf/esfsafetyrequirements/IESFSafetyRequirementsFactory.java b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src-gen/main/java/org/polarsys/esf/esfsafetyrequirements/IESFSafetyRequirementsFactory.java
new file mode 100644
index 0000000..9c45e1a
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src-gen/main/java/org/polarsys/esf/esfsafetyrequirements/IESFSafetyRequirementsFactory.java
@@ -0,0 +1,57 @@
+/**
+ * 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 v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *   
+ * Contributors:
+ *      ALL4TEC & CEA LIST - initial API and implementation
+ */
+package org.polarsys.esf.esfsafetyrequirements;
+
+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.esfsafetyrequirements.IESFSafetyRequirementsPackage
+ * @generated
+ */
+public interface IESFSafetyRequirementsFactory
+    extends EFactory {
+
+    /**
+     * The singleton instance of the factory.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     */
+    IESFSafetyRequirementsFactory eINSTANCE =
+        org.polarsys.esf.esfsafetyrequirements.impl.ESFSafetyRequirementsFactory.init();
+
+    /**
+     * Returns a new object of class '<em>SSafety Requirement</em>'.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @return a new object of class '<em>SSafety Requirement</em>'.
+     * @generated
+     */
+    ISSafetyRequirement createSSafetyRequirement();
+
+    /**
+     * Returns the package supported by this factory.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @return the package supported by this factory.
+     * @generated
+     */
+    IESFSafetyRequirementsPackage getESFSafetyRequirementsPackage();
+
+} // IESFSafetyRequirementsFactory
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src-gen/main/java/org/polarsys/esf/esfsafetyrequirements/IESFSafetyRequirementsPackage.java b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src-gen/main/java/org/polarsys/esf/esfsafetyrequirements/IESFSafetyRequirementsPackage.java
new file mode 100644
index 0000000..a56baab
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src-gen/main/java/org/polarsys/esf/esfsafetyrequirements/IESFSafetyRequirementsPackage.java
@@ -0,0 +1,300 @@
+/**
+ * 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 v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *   
+ * Contributors:
+ *      ALL4TEC & CEA LIST - initial API and implementation
+ */
+package org.polarsys.esf.esfsafetyrequirements;
+
+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.polarsys.esf.esfcore.IESFCorePackage;
+
+/**
+ * <!-- 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.esfsafetyrequirements.IESFSafetyRequirementsFactory
+ * @model kind="package"
+ * annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='ESFSafetyRequirements'"
+ * @generated
+ */
+public interface IESFSafetyRequirementsPackage
+    extends EPackage {
+
+    /**
+     * The package name.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     */
+    String eNAME = "esfsafetyrequirements"; //$NON-NLS-1$
+
+    /**
+     * The package namespace URI.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     */
+    String eNS_URI = "http://www.polarsys.org/esf/0.7.0/ESFSafetyRequirements"; //$NON-NLS-1$
+
+    /**
+     * The package namespace name.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     */
+    String eNS_PREFIX = "ESFSafetyRequirements"; //$NON-NLS-1$
+
+    /**
+     * The singleton instance of the package.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     */
+    IESFSafetyRequirementsPackage eINSTANCE =
+        org.polarsys.esf.esfsafetyrequirements.impl.ESFSafetyRequirementsPackage.init();
+
+    /**
+     * The meta object id for the '{@link org.polarsys.esf.esfsafetyrequirements.impl.SSafetyRequirement <em>SSafety
+     * Requirement</em>}' class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @see org.polarsys.esf.esfsafetyrequirements.impl.SSafetyRequirement
+     * @see org.polarsys.esf.esfsafetyrequirements.impl.ESFSafetyRequirementsPackage#getSSafetyRequirement()
+     * @generated
+     */
+    int SSAFETY_REQUIREMENT = 0;
+
+    /**
+     * The feature id for the '<em><b>UUID</b></em>' attribute.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     * @ordered
+     */
+    int SSAFETY_REQUIREMENT__UUID = IESFCorePackage.ABSTRACT_SREQUIREMENT__UUID;
+
+    /**
+     * The feature id for the '<em><b>Name</b></em>' attribute.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     * @ordered
+     */
+    int SSAFETY_REQUIREMENT__NAME = IESFCorePackage.ABSTRACT_SREQUIREMENT__NAME;
+
+    /**
+     * The feature id for the '<em><b>Description</b></em>' attribute.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     * @ordered
+     */
+    int SSAFETY_REQUIREMENT__DESCRIPTION = IESFCorePackage.ABSTRACT_SREQUIREMENT__DESCRIPTION;
+
+    /**
+     * The feature id for the '<em><b>SElements List</b></em>' reference list.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     * @ordered
+     */
+    int SSAFETY_REQUIREMENT__SELEMENTS_LIST = IESFCorePackage.ABSTRACT_SREQUIREMENT__SELEMENTS_LIST;
+
+    /**
+     * The feature id for the '<em><b>Criticality</b></em>' attribute.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     * @ordered
+     */
+    int SSAFETY_REQUIREMENT__CRITICALITY = IESFCorePackage.ABSTRACT_SREQUIREMENT_FEATURE_COUNT + 0;
+
+    /**
+     * The feature id for the '<em><b>SFailure Modes FMEA List</b></em>' reference list.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     * @ordered
+     */
+    int SSAFETY_REQUIREMENT__SFAILURE_MODES_FMEA_LIST = IESFCorePackage.ABSTRACT_SREQUIREMENT_FEATURE_COUNT + 1;
+
+    /**
+     * The feature id for the '<em><b>Base Class</b></em>' reference.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     * @ordered
+     */
+    int SSAFETY_REQUIREMENT__BASE_CLASS = IESFCorePackage.ABSTRACT_SREQUIREMENT_FEATURE_COUNT + 2;
+
+    /**
+     * The number of structural features of the '<em>SSafety Requirement</em>' class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     * @ordered
+     */
+    int SSAFETY_REQUIREMENT_FEATURE_COUNT = IESFCorePackage.ABSTRACT_SREQUIREMENT_FEATURE_COUNT + 3;
+
+    /**
+     * The number of operations of the '<em>SSafety Requirement</em>' class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     * @ordered
+     */
+    int SSAFETY_REQUIREMENT_OPERATION_COUNT = IESFCorePackage.ABSTRACT_SREQUIREMENT_OPERATION_COUNT + 0;
+
+    /**
+     * Returns the meta object for class '{@link org.polarsys.esf.esfsafetyrequirements.ISSafetyRequirement <em>SSafety
+     * Requirement</em>}'.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @return the meta object for class '<em>SSafety Requirement</em>'.
+     * @see org.polarsys.esf.esfsafetyrequirements.ISSafetyRequirement
+     * @generated
+     */
+    EClass getSSafetyRequirement();
+
+    /**
+     * Returns the meta object for the attribute
+     * '{@link org.polarsys.esf.esfsafetyrequirements.ISSafetyRequirement#getCriticality <em>Criticality</em>}'.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @return the meta object for the attribute '<em>Criticality</em>'.
+     * @see org.polarsys.esf.esfsafetyrequirements.ISSafetyRequirement#getCriticality()
+     * @see #getSSafetyRequirement()
+     * @generated
+     */
+    EAttribute getSSafetyRequirement_Criticality();
+
+    /**
+     * Returns the meta object for the reference list
+     * '{@link org.polarsys.esf.esfsafetyrequirements.ISSafetyRequirement#getSFailureModesFMEAList <em>SFailure Modes
+     * FMEA List</em>}'.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @return the meta object for the reference list '<em>SFailure Modes FMEA List</em>'.
+     * @see org.polarsys.esf.esfsafetyrequirements.ISSafetyRequirement#getSFailureModesFMEAList()
+     * @see #getSSafetyRequirement()
+     * @generated
+     */
+    EReference getSSafetyRequirement_SFailureModesFMEAList();
+
+    /**
+     * Returns the meta object for the reference
+     * '{@link org.polarsys.esf.esfsafetyrequirements.ISSafetyRequirement#getBase_Class <em>Base Class</em>}'.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @return the meta object for the reference '<em>Base Class</em>'.
+     * @see org.polarsys.esf.esfsafetyrequirements.ISSafetyRequirement#getBase_Class()
+     * @see #getSSafetyRequirement()
+     * @generated
+     */
+    EReference getSSafetyRequirement_Base_Class();
+
+    /**
+     * 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
+     */
+    IESFSafetyRequirementsFactory getESFSafetyRequirementsFactory();
+
+    /**
+     * <!-- 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.esfsafetyrequirements.impl.SSafetyRequirement
+         * <em>SSafety Requirement</em>}' class.
+         * <!-- begin-user-doc -->
+         * <!-- end-user-doc -->
+         * 
+         * @see org.polarsys.esf.esfsafetyrequirements.impl.SSafetyRequirement
+         * @see org.polarsys.esf.esfsafetyrequirements.impl.ESFSafetyRequirementsPackage#getSSafetyRequirement()
+         * @generated
+         */
+        EClass SSAFETY_REQUIREMENT = eINSTANCE.getSSafetyRequirement();
+
+        /**
+         * The meta object literal for the '<em><b>Criticality</b></em>' attribute feature.
+         * <!-- begin-user-doc -->
+         * <!-- end-user-doc -->
+         * 
+         * @generated
+         */
+        EAttribute SSAFETY_REQUIREMENT__CRITICALITY = eINSTANCE.getSSafetyRequirement_Criticality();
+
+        /**
+         * The meta object literal for the '<em><b>SFailure Modes FMEA List</b></em>' reference list feature.
+         * <!-- begin-user-doc -->
+         * <!-- end-user-doc -->
+         * 
+         * @generated
+         */
+        EReference SSAFETY_REQUIREMENT__SFAILURE_MODES_FMEA_LIST =
+            eINSTANCE.getSSafetyRequirement_SFailureModesFMEAList();
+
+        /**
+         * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+         * <!-- begin-user-doc -->
+         * <!-- end-user-doc -->
+         * 
+         * @generated
+         */
+        EReference SSAFETY_REQUIREMENT__BASE_CLASS = eINSTANCE.getSSafetyRequirement_Base_Class();
+
+    }
+
+} // IESFSafetyRequirementsPackage
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src-gen/main/java/org/polarsys/esf/esfsafetyrequirements/ISSafetyRequirement.java b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src-gen/main/java/org/polarsys/esf/esfsafetyrequirements/ISSafetyRequirement.java
new file mode 100644
index 0000000..5d61b37
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src-gen/main/java/org/polarsys/esf/esfsafetyrequirements/ISSafetyRequirement.java
@@ -0,0 +1,117 @@
+/**
+ * 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 v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *   
+ * Contributors:
+ *      ALL4TEC & CEA LIST - initial API and implementation
+ */
+package org.polarsys.esf.esfsafetyrequirements;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.polarsys.esf.esfcore.IAbstractSRequirement;
+
+import org.polarsys.esf.esffmea.ISFailureModeFMEA;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>SSafety Requirement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.polarsys.esf.esfsafetyrequirements.ISSafetyRequirement#getCriticality <em>Criticality</em>}</li>
+ * <li>{@link org.polarsys.esf.esfsafetyrequirements.ISSafetyRequirement#getSFailureModesFMEAList <em>SFailure Modes
+ * FMEA List</em>}</li>
+ * <li>{@link org.polarsys.esf.esfsafetyrequirements.ISSafetyRequirement#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ *
+ * @see org.polarsys.esf.esfsafetyrequirements.IESFSafetyRequirementsPackage#getSSafetyRequirement()
+ * @model
+ * @generated
+ */
+public interface ISSafetyRequirement
+    extends IAbstractSRequirement {
+
+    /**
+     * Returns the value of the '<em><b>Criticality</b></em>' attribute.
+     * <!-- begin-user-doc -->
+     * <p>
+     * If the meaning of the '<em>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>Criticality</em>' attribute.
+     * @see #setCriticality(int)
+     * @see org.polarsys.esf.esfsafetyrequirements.IESFSafetyRequirementsPackage#getSSafetyRequirement_Criticality()
+     * @model dataType="org.eclipse.uml2.types.Integer" required="true" transient="true" volatile="true" derived="true"
+     * ordered="false"
+     * @generated
+     */
+    int getCriticality();
+
+    /**
+     * Sets the value of the '{@link org.polarsys.esf.esfsafetyrequirements.ISSafetyRequirement#getCriticality
+     * <em>Criticality</em>}' attribute.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @param value the new value of the '<em>Criticality</em>' attribute.
+     * @see #getCriticality()
+     * @generated
+     */
+    void setCriticality(int value);
+
+    /**
+     * Returns the value of the '<em><b>SFailure Modes FMEA List</b></em>' reference list.
+     * The list contents are of type {@link org.polarsys.esf.esffmea.ISFailureModeFMEA}.
+     * <!-- begin-user-doc -->
+     * <p>
+     * If the meaning of the '<em>SFailure Modes FMEA List</em>' reference list isn't clear,
+     * there really should be more of a description here...
+     * </p>
+     * <!-- end-user-doc -->
+     * 
+     * @return the value of the '<em>SFailure Modes FMEA List</em>' reference list.
+     * @see org.polarsys.esf.esfsafetyrequirements.IESFSafetyRequirementsPackage#getSSafetyRequirement_SFailureModesFMEAList()
+     * @model ordered="false"
+     * @generated
+     */
+    EList<ISFailureModeFMEA> getSFailureModesFMEAList();
+
+    /**
+     * Returns the value of the '<em><b>Base Class</b></em>' reference.
+     * <!-- begin-user-doc -->
+     * <p>
+     * If the meaning of the '<em>Base Class</em>' reference isn't clear,
+     * there really should be more of a description here...
+     * </p>
+     * <!-- end-user-doc -->
+     * 
+     * @return the value of the '<em>Base Class</em>' reference.
+     * @see #setBase_Class(org.eclipse.uml2.uml.Class)
+     * @see org.polarsys.esf.esfsafetyrequirements.IESFSafetyRequirementsPackage#getSSafetyRequirement_Base_Class()
+     * @model required="true" ordered="false"
+     * @generated
+     */
+    org.eclipse.uml2.uml.Class getBase_Class();
+
+    /**
+     * Sets the value of the '{@link org.polarsys.esf.esfsafetyrequirements.ISSafetyRequirement#getBase_Class <em>Base
+     * Class</em>}' reference.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @param value the new value of the '<em>Base Class</em>' reference.
+     * @see #getBase_Class()
+     * @generated
+     */
+    void setBase_Class(org.eclipse.uml2.uml.Class value);
+
+} // ISSafetyRequirement
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src-gen/main/java/org/polarsys/esf/esfsafetyrequirements/impl/ESFSafetyRequirementsFactory.java b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src-gen/main/java/org/polarsys/esf/esfsafetyrequirements/impl/ESFSafetyRequirementsFactory.java
new file mode 100644
index 0000000..9364191
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src-gen/main/java/org/polarsys/esf/esfsafetyrequirements/impl/ESFSafetyRequirementsFactory.java
@@ -0,0 +1,115 @@
+/**
+ * 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 v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *   
+ * Contributors:
+ *      ALL4TEC & CEA LIST - initial API and implementation
+ */
+package org.polarsys.esf.esfsafetyrequirements.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.esfsafetyrequirements.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * 
+ * @generated
+ */
+public class ESFSafetyRequirementsFactory
+    extends EFactoryImpl
+    implements IESFSafetyRequirementsFactory {
+
+    /**
+     * Creates the default factory implementation.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     */
+    public static IESFSafetyRequirementsFactory init() {
+        try {
+            IESFSafetyRequirementsFactory theESFSafetyRequirementsFactory =
+                (IESFSafetyRequirementsFactory) EPackage.Registry.INSTANCE
+                    .getEFactory(IESFSafetyRequirementsPackage.eNS_URI);
+            if (theESFSafetyRequirementsFactory != null) {
+                return theESFSafetyRequirementsFactory;
+            }
+        } catch (Exception exception) {
+            EcorePlugin.INSTANCE.log(exception);
+        }
+        return new ESFSafetyRequirementsFactory();
+    }
+
+    /**
+     * Creates an instance of the factory.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     */
+    public ESFSafetyRequirementsFactory() {
+        super();
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     */
+    @Override
+    public EObject create(EClass eClass) {
+        switch (eClass.getClassifierID()) {
+            case IESFSafetyRequirementsPackage.SSAFETY_REQUIREMENT:
+                return createSSafetyRequirement();
+            default:
+                throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+        }
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     */
+    public ISSafetyRequirement createSSafetyRequirement() {
+        SSafetyRequirement sSafetyRequirement = new SSafetyRequirement();
+        return sSafetyRequirement;
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     */
+    public IESFSafetyRequirementsPackage getESFSafetyRequirementsPackage() {
+        return (IESFSafetyRequirementsPackage) getEPackage();
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @deprecated
+     * @generated
+     */
+    @Deprecated
+    public static IESFSafetyRequirementsPackage getPackage() {
+        return IESFSafetyRequirementsPackage.eINSTANCE;
+    }
+
+} // ESFSafetyRequirementsFactory
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src-gen/main/java/org/polarsys/esf/esfsafetyrequirements/impl/ESFSafetyRequirementsPackage.java b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src-gen/main/java/org/polarsys/esf/esfsafetyrequirements/impl/ESFSafetyRequirementsPackage.java
new file mode 100644
index 0000000..cb3f6e7
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src-gen/main/java/org/polarsys/esf/esfsafetyrequirements/impl/ESFSafetyRequirementsPackage.java
@@ -0,0 +1,326 @@
+/**
+ * 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 v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *   
+ * Contributors:
+ *      ALL4TEC & CEA LIST - initial API and implementation
+ */
+package org.polarsys.esf.esfsafetyrequirements.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.impl.EPackageImpl;
+
+import org.eclipse.uml2.types.TypesPackage;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.polarsys.esf.esfcore.IESFCorePackage;
+
+import org.polarsys.esf.esffmea.IESFFMEAPackage;
+
+import org.polarsys.esf.esfsafetyrequirements.IESFSafetyRequirementsFactory;
+import org.polarsys.esf.esfsafetyrequirements.IESFSafetyRequirementsPackage;
+import org.polarsys.esf.esfsafetyrequirements.ISSafetyRequirement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * 
+ * @generated
+ */
+public class ESFSafetyRequirementsPackage
+    extends EPackageImpl
+    implements IESFSafetyRequirementsPackage {
+
+    /**
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     */
+    private EClass sSafetyRequirementEClass = 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.esfsafetyrequirements.IESFSafetyRequirementsPackage#eNS_URI
+     * @see #init()
+     * @generated
+     */
+    private ESFSafetyRequirementsPackage() {
+        super(eNS_URI, IESFSafetyRequirementsFactory.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 IESFSafetyRequirementsPackage#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 IESFSafetyRequirementsPackage init() {
+        if (isInited)
+            return (IESFSafetyRequirementsPackage) EPackage.Registry.INSTANCE
+                .getEPackage(IESFSafetyRequirementsPackage.eNS_URI);
+
+        // Obtain or create and register package
+        ESFSafetyRequirementsPackage theESFSafetyRequirementsPackage =
+            (ESFSafetyRequirementsPackage) (EPackage.Registry.INSTANCE
+                .get(eNS_URI) instanceof ESFSafetyRequirementsPackage
+                    ? EPackage.Registry.INSTANCE.get(eNS_URI)
+                    : new ESFSafetyRequirementsPackage());
+
+        isInited = true;
+
+        // Initialize simple dependencies
+        IESFFMEAPackage.eINSTANCE.eClass();
+
+        // Create package meta-data objects
+        theESFSafetyRequirementsPackage.createPackageContents();
+
+        // Initialize created meta-data
+        theESFSafetyRequirementsPackage.initializePackageContents();
+
+        // Mark meta-data to indicate it can't be changed
+        theESFSafetyRequirementsPackage.freeze();
+
+        // Update the registry and return the package
+        EPackage.Registry.INSTANCE.put(IESFSafetyRequirementsPackage.eNS_URI, theESFSafetyRequirementsPackage);
+        return theESFSafetyRequirementsPackage;
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     */
+    public EClass getSSafetyRequirement() {
+        return sSafetyRequirementEClass;
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     */
+    public EAttribute getSSafetyRequirement_Criticality() {
+        return (EAttribute) sSafetyRequirementEClass.getEStructuralFeatures().get(0);
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     */
+    public EReference getSSafetyRequirement_SFailureModesFMEAList() {
+        return (EReference) sSafetyRequirementEClass.getEStructuralFeatures().get(1);
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     */
+    public EReference getSSafetyRequirement_Base_Class() {
+        return (EReference) sSafetyRequirementEClass.getEStructuralFeatures().get(2);
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     */
+    public IESFSafetyRequirementsFactory getESFSafetyRequirementsFactory() {
+        return (IESFSafetyRequirementsFactory) 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
+        sSafetyRequirementEClass = createEClass(SSAFETY_REQUIREMENT);
+        createEAttribute(sSafetyRequirementEClass, SSAFETY_REQUIREMENT__CRITICALITY);
+        createEReference(sSafetyRequirementEClass, SSAFETY_REQUIREMENT__SFAILURE_MODES_FMEA_LIST);
+        createEReference(sSafetyRequirementEClass, SSAFETY_REQUIREMENT__BASE_CLASS);
+    }
+
+    /**
+     * <!-- 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
+        IESFCorePackage theESFCorePackage =
+            (IESFCorePackage) EPackage.Registry.INSTANCE.getEPackage(IESFCorePackage.eNS_URI);
+        TypesPackage theTypesPackage = (TypesPackage) EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+        IESFFMEAPackage theESFFMEAPackage =
+            (IESFFMEAPackage) EPackage.Registry.INSTANCE.getEPackage(IESFFMEAPackage.eNS_URI);
+        UMLPackage theUMLPackage = (UMLPackage) EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+
+        // Create type parameters
+
+        // Set bounds for type parameters
+
+        // Add supertypes to classes
+        sSafetyRequirementEClass.getESuperTypes().add(theESFCorePackage.getAbstractSRequirement());
+
+        // Initialize classes, features, and operations; add parameters
+        initEClass(
+            sSafetyRequirementEClass,
+            ISSafetyRequirement.class,
+            "SSafetyRequirement", //$NON-NLS-1$
+            !IS_ABSTRACT,
+            !IS_INTERFACE,
+            IS_GENERATED_INSTANCE_CLASS);
+        initEAttribute(
+            getSSafetyRequirement_Criticality(),
+            theTypesPackage.getInteger(),
+            "criticality", //$NON-NLS-1$
+            null,
+            1,
+            1,
+            ISSafetyRequirement.class,
+            IS_TRANSIENT,
+            IS_VOLATILE,
+            IS_CHANGEABLE,
+            !IS_UNSETTABLE,
+            !IS_ID,
+            IS_UNIQUE,
+            IS_DERIVED,
+            !IS_ORDERED);
+        initEReference(
+            getSSafetyRequirement_SFailureModesFMEAList(),
+            theESFFMEAPackage.getSFailureModeFMEA(),
+            null,
+            "sFailureModesFMEAList", //$NON-NLS-1$
+            null,
+            0,
+            -1,
+            ISSafetyRequirement.class,
+            !IS_TRANSIENT,
+            !IS_VOLATILE,
+            IS_CHANGEABLE,
+            !IS_COMPOSITE,
+            IS_RESOLVE_PROXIES,
+            !IS_UNSETTABLE,
+            IS_UNIQUE,
+            !IS_DERIVED,
+            !IS_ORDERED);
+        initEReference(
+            getSSafetyRequirement_Base_Class(),
+            theUMLPackage.getClass_(),
+            null,
+            "base_Class", //$NON-NLS-1$
+            null,
+            1,
+            1,
+            ISSafetyRequirement.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"; //$NON-NLS-1$
+        addAnnotation(this, source, new String[] {"originalName", "ESFSafetyRequirements" //$NON-NLS-1$ //$NON-NLS-2$
+        });
+    }
+
+} // ESFSafetyRequirementsPackage
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src-gen/main/java/org/polarsys/esf/esfsafetyrequirements/impl/SSafetyRequirement.java b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src-gen/main/java/org/polarsys/esf/esfsafetyrequirements/impl/SSafetyRequirement.java
new file mode 100644
index 0000000..39c6306
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src-gen/main/java/org/polarsys/esf/esfsafetyrequirements/impl/SSafetyRequirement.java
@@ -0,0 +1,286 @@
+/**
+ * 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 v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *   
+ * Contributors:
+ *      ALL4TEC & CEA LIST - initial API and implementation
+ */
+package org.polarsys.esf.esfsafetyrequirements.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.polarsys.esf.esfcore.impl.AbstractSRequirement;
+
+import org.polarsys.esf.esffmea.ISFailureModeFMEA;
+
+import org.polarsys.esf.esfsafetyrequirements.IESFSafetyRequirementsPackage;
+import org.polarsys.esf.esfsafetyrequirements.ISSafetyRequirement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>SSafety Requirement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.polarsys.esf.esfsafetyrequirements.impl.SSafetyRequirement#getCriticality <em>Criticality</em>}</li>
+ * <li>{@link org.polarsys.esf.esfsafetyrequirements.impl.SSafetyRequirement#getSFailureModesFMEAList <em>SFailure Modes
+ * FMEA List</em>}</li>
+ * <li>{@link org.polarsys.esf.esfsafetyrequirements.impl.SSafetyRequirement#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class SSafetyRequirement
+    extends AbstractSRequirement
+    implements ISSafetyRequirement {
+
+    /**
+     * The default value of the '{@link #getCriticality() <em>Criticality</em>}' attribute.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @see #getCriticality()
+     * @generated
+     * @ordered
+     */
+    protected static final int CRITICALITY_EDEFAULT = 0;
+
+    /**
+     * The cached value of the '{@link #getSFailureModesFMEAList() <em>SFailure Modes FMEA List</em>}' reference list.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @see #getSFailureModesFMEAList()
+     * @generated
+     * @ordered
+     */
+    protected EList<ISFailureModeFMEA> sFailureModesFMEAList;
+
+    /**
+     * The cached value of the '{@link #getBase_Class() <em>Base Class</em>}' reference.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @see #getBase_Class()
+     * @generated
+     * @ordered
+     */
+    protected org.eclipse.uml2.uml.Class base_Class;
+
+    /**
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     */
+    protected SSafetyRequirement() {
+        super();
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     */
+    @Override
+    protected EClass eStaticClass() {
+        return IESFSafetyRequirementsPackage.Literals.SSAFETY_REQUIREMENT;
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     */
+    public int getCriticality() {
+        // TODO: implement this method to return the 'Criticality' attribute
+        // Ensure that you remove @generated or mark it @generated NOT
+        throw new UnsupportedOperationException();
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     */
+    public void setCriticality(int newCriticality) {
+        // TODO: implement this method to set the 'Criticality' attribute
+        // Ensure that you remove @generated or mark it @generated NOT
+        throw new UnsupportedOperationException();
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     */
+    public EList<ISFailureModeFMEA> getSFailureModesFMEAList() {
+        if (sFailureModesFMEAList == null) {
+            sFailureModesFMEAList = new EObjectResolvingEList<ISFailureModeFMEA>(
+                ISFailureModeFMEA.class,
+                this,
+                IESFSafetyRequirementsPackage.SSAFETY_REQUIREMENT__SFAILURE_MODES_FMEA_LIST);
+        }
+        return sFailureModesFMEAList;
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     */
+    public org.eclipse.uml2.uml.Class getBase_Class() {
+        if (base_Class != null && base_Class.eIsProxy()) {
+            InternalEObject oldBase_Class = (InternalEObject) base_Class;
+            base_Class = (org.eclipse.uml2.uml.Class) eResolveProxy(oldBase_Class);
+            if (base_Class != oldBase_Class) {
+                if (eNotificationRequired())
+                    eNotify(
+                        new ENotificationImpl(
+                            this,
+                            Notification.RESOLVE,
+                            IESFSafetyRequirementsPackage.SSAFETY_REQUIREMENT__BASE_CLASS,
+                            oldBase_Class,
+                            base_Class));
+            }
+        }
+        return base_Class;
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     */
+    public org.eclipse.uml2.uml.Class basicGetBase_Class() {
+        return base_Class;
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     */
+    public void setBase_Class(org.eclipse.uml2.uml.Class newBase_Class) {
+        org.eclipse.uml2.uml.Class oldBase_Class = base_Class;
+        base_Class = newBase_Class;
+        if (eNotificationRequired())
+            eNotify(
+                new ENotificationImpl(
+                    this,
+                    Notification.SET,
+                    IESFSafetyRequirementsPackage.SSAFETY_REQUIREMENT__BASE_CLASS,
+                    oldBase_Class,
+                    base_Class));
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     */
+    @Override
+    public Object eGet(int featureID, boolean resolve, boolean coreType) {
+        switch (featureID) {
+            case IESFSafetyRequirementsPackage.SSAFETY_REQUIREMENT__CRITICALITY:
+                return getCriticality();
+            case IESFSafetyRequirementsPackage.SSAFETY_REQUIREMENT__SFAILURE_MODES_FMEA_LIST:
+                return getSFailureModesFMEAList();
+            case IESFSafetyRequirementsPackage.SSAFETY_REQUIREMENT__BASE_CLASS:
+                if (resolve)
+                    return getBase_Class();
+                return basicGetBase_Class();
+        }
+        return super.eGet(featureID, resolve, coreType);
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     */
+    @SuppressWarnings("unchecked")
+    @Override
+    public void eSet(int featureID, Object newValue) {
+        switch (featureID) {
+            case IESFSafetyRequirementsPackage.SSAFETY_REQUIREMENT__CRITICALITY:
+                setCriticality((Integer) newValue);
+                return;
+            case IESFSafetyRequirementsPackage.SSAFETY_REQUIREMENT__SFAILURE_MODES_FMEA_LIST:
+                getSFailureModesFMEAList().clear();
+                getSFailureModesFMEAList().addAll((Collection<? extends ISFailureModeFMEA>) newValue);
+                return;
+            case IESFSafetyRequirementsPackage.SSAFETY_REQUIREMENT__BASE_CLASS:
+                setBase_Class((org.eclipse.uml2.uml.Class) newValue);
+                return;
+        }
+        super.eSet(featureID, newValue);
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     */
+    @Override
+    public void eUnset(int featureID) {
+        switch (featureID) {
+            case IESFSafetyRequirementsPackage.SSAFETY_REQUIREMENT__CRITICALITY:
+                setCriticality(CRITICALITY_EDEFAULT);
+                return;
+            case IESFSafetyRequirementsPackage.SSAFETY_REQUIREMENT__SFAILURE_MODES_FMEA_LIST:
+                getSFailureModesFMEAList().clear();
+                return;
+            case IESFSafetyRequirementsPackage.SSAFETY_REQUIREMENT__BASE_CLASS:
+                setBase_Class((org.eclipse.uml2.uml.Class) null);
+                return;
+        }
+        super.eUnset(featureID);
+    }
+
+    /**
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     */
+    @Override
+    public boolean eIsSet(int featureID) {
+        switch (featureID) {
+            case IESFSafetyRequirementsPackage.SSAFETY_REQUIREMENT__CRITICALITY:
+                return getCriticality() != CRITICALITY_EDEFAULT;
+            case IESFSafetyRequirementsPackage.SSAFETY_REQUIREMENT__SFAILURE_MODES_FMEA_LIST:
+                return sFailureModesFMEAList != null && !sFailureModesFMEAList.isEmpty();
+            case IESFSafetyRequirementsPackage.SSAFETY_REQUIREMENT__BASE_CLASS:
+                return base_Class != null;
+        }
+        return super.eIsSet(featureID);
+    }
+
+} // SSafetyRequirement
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src-gen/main/java/org/polarsys/esf/esfsafetyrequirements/util/ESFSafetyRequirementsAdapterFactory.java b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src-gen/main/java/org/polarsys/esf/esfsafetyrequirements/util/ESFSafetyRequirementsAdapterFactory.java
new file mode 100644
index 0000000..bc1db10
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src-gen/main/java/org/polarsys/esf/esfsafetyrequirements/util/ESFSafetyRequirementsAdapterFactory.java
@@ -0,0 +1,185 @@
+/**
+ * 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 v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *   
+ * Contributors:
+ *      ALL4TEC & CEA LIST - initial API and implementation
+ */
+package org.polarsys.esf.esfsafetyrequirements.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.esfcore.IAbstractSElement;
+import org.polarsys.esf.esfcore.IAbstractSRequirement;
+
+import org.polarsys.esf.esfsafetyrequirements.*;
+
+/**
+ * <!-- 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.esfsafetyrequirements.IESFSafetyRequirementsPackage
+ * @generated
+ */
+public class ESFSafetyRequirementsAdapterFactory
+    extends AdapterFactoryImpl {
+
+    /**
+     * The cached model package.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     */
+    protected static IESFSafetyRequirementsPackage modelPackage;
+
+    /**
+     * Creates an instance of the adapter factory.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     */
+    public ESFSafetyRequirementsAdapterFactory() {
+        if (modelPackage == null) {
+            modelPackage = IESFSafetyRequirementsPackage.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 ESFSafetyRequirementsSwitch<Adapter> modelSwitch = new ESFSafetyRequirementsSwitch<Adapter>() {
+
+        @Override
+        public Adapter caseSSafetyRequirement(ISSafetyRequirement object) {
+            return createSSafetyRequirementAdapter();
+        }
+
+        @Override
+        public Adapter caseAbstractSElement(IAbstractSElement object) {
+            return createAbstractSElementAdapter();
+        }
+
+        @Override
+        public Adapter caseAbstractSRequirement(IAbstractSRequirement object) {
+            return createAbstractSRequirementAdapter();
+        }
+
+        @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.esfsafetyrequirements.ISSafetyRequirement
+     * <em>SSafety Requirement</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.esfsafetyrequirements.ISSafetyRequirement
+     * @generated
+     */
+    public Adapter createSSafetyRequirementAdapter() {
+        return null;
+    }
+
+    /**
+     * Creates a new adapter for an object of class '{@link org.polarsys.esf.esfcore.IAbstractSElement <em>Abstract
+     * SElement</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.esfcore.IAbstractSElement
+     * @generated
+     */
+    public Adapter createAbstractSElementAdapter() {
+        return null;
+    }
+
+    /**
+     * Creates a new adapter for an object of class '{@link org.polarsys.esf.esfcore.IAbstractSRequirement <em>Abstract
+     * SRequirement</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.esfcore.IAbstractSRequirement
+     * @generated
+     */
+    public Adapter createAbstractSRequirementAdapter() {
+        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;
+    }
+
+} // ESFSafetyRequirementsAdapterFactory
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src-gen/main/java/org/polarsys/esf/esfsafetyrequirements/util/ESFSafetyRequirementsSwitch.java b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src-gen/main/java/org/polarsys/esf/esfsafetyrequirements/util/ESFSafetyRequirementsSwitch.java
new file mode 100644
index 0000000..2137df2
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src-gen/main/java/org/polarsys/esf/esfsafetyrequirements/util/ESFSafetyRequirementsSwitch.java
@@ -0,0 +1,169 @@
+/**
+ * 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 v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *   
+ * Contributors:
+ *      ALL4TEC & CEA LIST - initial API and implementation
+ */
+package org.polarsys.esf.esfsafetyrequirements.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.polarsys.esf.esfcore.IAbstractSElement;
+import org.polarsys.esf.esfcore.IAbstractSRequirement;
+
+import org.polarsys.esf.esfsafetyrequirements.*;
+
+/**
+ * <!-- 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.esfsafetyrequirements.IESFSafetyRequirementsPackage
+ * @generated
+ */
+public class ESFSafetyRequirementsSwitch<T>
+    extends Switch<T> {
+
+    /**
+     * The cached model package
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     */
+    protected static IESFSafetyRequirementsPackage modelPackage;
+
+    /**
+     * Creates an instance of the switch.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * 
+     * @generated
+     */
+    public ESFSafetyRequirementsSwitch() {
+        if (modelPackage == null) {
+            modelPackage = IESFSafetyRequirementsPackage.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 IESFSafetyRequirementsPackage.SSAFETY_REQUIREMENT: {
+                ISSafetyRequirement sSafetyRequirement = (ISSafetyRequirement) theEObject;
+                T result = caseSSafetyRequirement(sSafetyRequirement);
+                if (result == null)
+                    result = caseAbstractSRequirement(sSafetyRequirement);
+                if (result == null)
+                    result = caseAbstractSElement(sSafetyRequirement);
+                if (result == null)
+                    result = defaultCase(theEObject);
+                return result;
+            }
+            default:
+                return defaultCase(theEObject);
+        }
+    }
+
+    /**
+     * Returns the result of interpreting the object as an instance of '<em>SSafety Requirement</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>SSafety Requirement</em>'.
+     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+     * @generated
+     */
+    public T caseSSafetyRequirement(ISSafetyRequirement object) {
+        return null;
+    }
+
+    /**
+     * Returns the result of interpreting the object as an instance of '<em>Abstract SElement</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>Abstract SElement</em>'.
+     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+     * @generated
+     */
+    public T caseAbstractSElement(IAbstractSElement object) {
+        return null;
+    }
+
+    /**
+     * Returns the result of interpreting the object as an instance of '<em>Abstract SRequirement</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>Abstract SRequirement</em>'.
+     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+     * @generated
+     */
+    public T caseAbstractSRequirement(IAbstractSRequirement 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;
+    }
+
+} // ESFSafetyRequirementsSwitch
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src/main/java/org/polarsys/esf/esfsafetyrequirements/IMESFSafetyRequirementsFactory.java b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src/main/java/org/polarsys/esf/esfsafetyrequirements/IMESFSafetyRequirementsFactory.java
new file mode 100644
index 0000000..68e6fc2
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src/main/java/org/polarsys/esf/esfsafetyrequirements/IMESFSafetyRequirementsFactory.java
@@ -0,0 +1,32 @@
+/*******************************************************************************
+ * 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 v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *      ALL4TEC & CEA LIST - initial API and implementation
+ *******************************************************************************/
+package org.polarsys.esf.esfsafetyrequirements;
+
+import org.polarsys.esf.esfsafetyrequirements.impl.MESFSafetyRequirementsFactory;
+
+/**
+ * This interface can override the generated interface {@link IESFSafetyRequirementsFactory}.
+ *
+ * @author $Author: ymunoz $
+ * @version $Revision: 168 $
+ */
+public interface IMESFSafetyRequirementsFactory
+    extends IESFSafetyRequirementsFactory {
+
+    /**
+     * Specialise the eINSTANCE initialisation with the new interface type
+     * (overridden in the override_factory extension).
+     */
+    IMESFSafetyRequirementsFactory INSTANCE = MESFSafetyRequirementsFactory.init();
+
+    @Override
+    ISSafetyRequirement createSSafetyRequirement();
+}
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src/main/java/org/polarsys/esf/esfsafetyrequirements/IMSSafetyRequirement.java b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src/main/java/org/polarsys/esf/esfsafetyrequirements/IMSSafetyRequirement.java
new file mode 100644
index 0000000..b33bbea
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src/main/java/org/polarsys/esf/esfsafetyrequirements/IMSSafetyRequirement.java
@@ -0,0 +1,23 @@
+/*******************************************************************************
+ * 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 v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *      ALL4TEC & CEA LIST - initial API and implementation
+ *******************************************************************************/
+package org.polarsys.esf.esfsafetyrequirements;
+
+/**
+ * This interface can override the generated interface {@link ISSafetyRequirement} and
+ * will be used by the custom factory.
+ *
+ * @author $Author: ymunoz $
+ * @version $Revision: 176 $
+ */
+public interface IMSSafetyRequirement
+    extends ISSafetyRequirement {
+
+}
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src/main/java/org/polarsys/esf/esfsafetyrequirements/impl/MESFSafetyRequirementsFactory.java b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src/main/java/org/polarsys/esf/esfsafetyrequirements/impl/MESFSafetyRequirementsFactory.java
new file mode 100644
index 0000000..c2e4f79
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src/main/java/org/polarsys/esf/esfsafetyrequirements/impl/MESFSafetyRequirementsFactory.java
@@ -0,0 +1,55 @@
+/*******************************************************************************
+ * 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 v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     ALL4TEC & CEA LIST - initial API and implementation
+ *******************************************************************************/
+package org.polarsys.esf.esfsafetyrequirements.impl;
+
+import org.polarsys.esf.esfsafetyrequirements.IESFSafetyRequirementsFactory;
+import org.polarsys.esf.esfsafetyrequirements.IMESFSafetyRequirementsFactory;
+import org.polarsys.esf.esfsafetyrequirements.IMSSafetyRequirement;
+
+/**
+ * This factory overrides the generated factory {@link ESFSafetyRequirementsFactory}
+ * and returns the new generated interfaces.
+ *
+ * @author $Author: ymunoz $
+ * @version $Revision: 168 $
+ */
+public class MESFSafetyRequirementsFactory
+    extends ESFSafetyRequirementsFactory
+    implements IMESFSafetyRequirementsFactory {
+
+    /**
+     * Default constructor.
+     */
+    public MESFSafetyRequirementsFactory() {
+        super();
+    }
+
+    /**
+     * @return The initialised factory
+     */
+    public static IMESFSafetyRequirementsFactory init() {
+        IESFSafetyRequirementsFactory vFactory = ESFSafetyRequirementsFactory.init();
+
+        // Check if the factory returned by the standard implementation can suit,
+        // otherwise create a new instance
+        if (!(vFactory instanceof IMESFSafetyRequirementsFactory)) {
+            vFactory = new MESFSafetyRequirementsFactory();
+        }
+
+        return (IMESFSafetyRequirementsFactory) vFactory;
+    }
+
+    @Override
+    public IMSSafetyRequirement createSSafetyRequirement() {
+        IMSSafetyRequirement vSSafetyRequirement = new MSSafetyRequirement();
+        return vSSafetyRequirement;
+    }
+}
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src/main/java/org/polarsys/esf/esfsafetyrequirements/impl/MSSafetyRequirement.java b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src/main/java/org/polarsys/esf/esfsafetyrequirements/impl/MSSafetyRequirement.java
new file mode 100644
index 0000000..7ca6456
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src/main/java/org/polarsys/esf/esfsafetyrequirements/impl/MSSafetyRequirement.java
@@ -0,0 +1,71 @@
+/*******************************************************************************
+ * 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 v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *      ALL4TEC & CEA LIST - initial API and implementation
+ *******************************************************************************/
+package org.polarsys.esf.esfsafetyrequirements.impl;
+
+import org.eclipse.emf.common.util.EList;
+import org.polarsys.esf.esfcore.impl.GenericAbstractSElement;
+import org.polarsys.esf.esffmea.ISFailureModeFMEA;
+import org.polarsys.esf.esfsafetyrequirements.IMSSafetyRequirement;
+
+/**
+ * This class can override the generated class {@link SSafetyRequirement} and will be
+ * used by the custom factory.
+ *
+ * @author $Author: ymunoz $
+ * @version $Revision: 168 $
+ */
+public class MSSafetyRequirement
+    extends SSafetyRequirement
+    implements IMSSafetyRequirement {
+
+    /**
+     * Default constructor.
+     */
+    public MSSafetyRequirement() {
+        super();
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public String getName() {
+        return GenericAbstractSElement.getName(getBase_Class());
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public String getUUID() {
+        return GenericAbstractSElement.getUUID(getBase_Class());
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public int getCriticality() {
+        int vCriticality = 0;
+        EList<ISFailureModeFMEA> vSFailureModesList = getSFailureModesFMEAList();
+
+        if (!vSFailureModesList.isEmpty()) {
+            for (ISFailureModeFMEA vSFailureMode : vSFailureModesList) {
+                if (vCriticality < vSFailureMode.getFinalCriticality()) {
+                    vCriticality = vSFailureMode.getFinalCriticality();
+                }
+            }
+        }
+
+        return vCriticality;
+    }
+
+}
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src/main/java/org/polarsys/esf/safetyreq/profile/ESFSafetyReqProfileActivator.java b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src/main/java/org/polarsys/esf/safetyreq/profile/ESFSafetyReqProfileActivator.java
new file mode 100644
index 0000000..4fc5df8
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src/main/java/org/polarsys/esf/safetyreq/profile/ESFSafetyReqProfileActivator.java
@@ -0,0 +1,107 @@
+/*******************************************************************************
+ * 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 v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     ALL4TEC & CEA LIST - initial API and implementation
+ *******************************************************************************/
+package org.polarsys.esf.safetyreq.profile;
+
+import org.eclipse.emf.common.EMFPlugin;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle.
+ * Central singleton for the ESFSafetyReq Profile plug-in.
+ *
+ * @author $Author: ymunoz $
+ * @version $Revision: 183 $
+ */
+public final class ESFSafetyReqProfileActivator
+    extends EMFPlugin
+    implements BundleActivator {
+
+    /** Keep track of the encapsulating singleton. */
+    public static final ESFSafetyReqProfileActivator INSTANCE = new ESFSafetyReqProfileActivator();
+
+    /** Execution context for the bundle. */
+    private static BundleContext sBundleContext = null;
+
+    /** Keep track of the implementation singleton. */
+    private static Implementation sPlugin = null;
+
+    /**
+     * Create the instance.
+     */
+    public ESFSafetyReqProfileActivator() {
+        super(new ResourceLocator[] {});
+    }
+
+    /**
+     * Get BundlexContext.
+     *
+     * @return BundleContext
+     */
+    public static BundleContext getContext() {
+        return sBundleContext;
+    }
+
+    /**
+     * {@inheritDoc}
+     *
+     * Added to ensure that the activator can work with the profile mechanisms.
+     */
+    @Override
+    public void start(final BundleContext pContext) throws Exception {
+        sBundleContext = pContext;
+
+        // Manually create the plugin implementation
+        sPlugin = new Implementation();
+    }
+
+    /**
+     * {@inheritDoc}
+     *
+     * Added to ensure that the activator can work with the profile mechanisms.
+     */
+    @Override
+    public void stop(final BundleContext pContext) throws Exception {
+        sBundleContext = null;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public ResourceLocator getPluginResourceLocator() {
+        return sPlugin;
+    }
+
+    /**
+     * Returns the singleton instance of the Eclipse plugin.
+     *
+     * @return The singleton instance
+     */
+    public static Implementation getPlugin() {
+        return sPlugin;
+    }
+
+    /**
+     * The actual implementation of the Eclipse <b>UIPlugin</b>.
+     */
+    public static class Implementation
+        extends EclipsePlugin {
+
+        /**
+         * Creates an instance.
+         */
+        public Implementation() {
+            super();
+        }
+    }
+}
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src/main/java/org/polarsys/esf/safetyreq/profile/set/ESFSafetyRequirementsSet.java b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src/main/java/org/polarsys/esf/safetyreq/profile/set/ESFSafetyRequirementsSet.java
new file mode 100644
index 0000000..ecc35bf
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src/main/java/org/polarsys/esf/safetyreq/profile/set/ESFSafetyRequirementsSet.java
@@ -0,0 +1,35 @@
+/*******************************************************************************
+ * 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 v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *      ALL4TEC & CEA LIST - initial API and implementation
+ *******************************************************************************/
+package org.polarsys.esf.safetyreq.profile.set;
+
+
+/**
+ * ESFSafetyReq profile set.
+ *
+ * @author  $Author: ymunoz $
+ * @version $Revision: 169 $
+ */
+public final class ESFSafetyRequirementsSet {
+    /** ESFSafetyRequirements profile path. */
+    public static final String PROFILE_PATH =
+        "pathmap://ESFSAFETYREQUIREMENTS_PROFILE/esfsafetyrequirements.profile.uml"; //$NON-NLS-1$
+
+    /** ESFSafetyRequirements profile URI. */
+    public static final String PROFILE_URI =
+        "http://www.polarsys.org/esf/0.7.0/ESFSafetyRequirements"; //$NON-NLS-1$
+
+    /**
+     * Default constructor, private as it's a utility class.
+     */
+    private ESFSafetyRequirementsSet() {
+     // Nothing to do
+    }
+}
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src/main/resources/models/genmodel/esfsafetyrequirements.ecore b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src/main/resources/models/genmodel/esfsafetyrequirements.ecore
new file mode 100644
index 0000000..80c780b
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src/main/resources/models/genmodel/esfsafetyrequirements.ecore
@@ -0,0 +1,17 @@
+<?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="esfsafetyrequirements" nsURI="http://www.polarsys.org/esf/0.7.0/ESFSafetyRequirements"
+    nsPrefix="ESFSafetyRequirements">
+  <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+    <details key="originalName" value="ESFSafetyRequirements"/>
+  </eAnnotations>
+  <eClassifiers xsi:type="ecore:EClass" name="SSafetyRequirement" eSuperTypes="../../../../../../org.polarsys.esf.core.profile.esfcore/src/main/resources/models/genmodel/esfcore.ecore#//AbstractSRequirement">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="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:EReference" name="sFailureModesFMEAList"
+        ordered="false" upperBound="-1" eType="ecore:EClass ../../../../../../org.polarsys.esf.fmea.profile/src/main/resources/models/genmodel/esffmea.ecore#//SFailureModeFMEA"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+        lowerBound="1" eType="ecore:EClass ../../../../../../org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+  </eClassifiers>
+</ecore:EPackage>
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src/main/resources/models/genmodel/esfsafetyrequirements.genmodel b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src/main/resources/models/genmodel/esfsafetyrequirements.genmodel
new file mode 100644
index 0000000..e34a4bb
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src/main/resources/models/genmodel/esfsafetyrequirements.genmodel
@@ -0,0 +1,50 @@
+<?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"
+    copyrightText="Copyright (c) 2016 ALL4TEC &amp; CEA LIST.&#xD;&#xA;All rights reserved. This program and the accompanying materials&#xD;&#xA;are made available under the terms of the Eclipse Public License v1.0&#xD;&#xA;which accompanies this distribution, and is available at&#xD;&#xA;http://www.eclipse.org/legal/epl-v10.html&#xD;&#xA;  &#xD;&#xA;Contributors:&#xD;&#xA;     ALL4TEC &amp; CEA LIST - initial API and implementation"
+    modelDirectory="/org.polarsys.esf.safetyreq.profile/src-gen/main/java/" creationIcons="false"
+    editDirectory="/org.polarsys.esf.safetyreq.profile.edit/src-gen/main/java/" editorDirectory="/org.polarsys.esf.safetyreq.profile.editor/src-gen/main/java/"
+    modelPluginID="org.polarsys.esf.safetyreq.profile" modelName="ESFSafetyRequirements"
+    nonNLSMarkers="true" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
+    codeFormatting="true" commentFormatting="true" testsDirectory="/org.polarsys.esf.safetyreq.profile.tests/src-gen/tests/java/"
+    importerID="org.eclipse.uml2.uml.ecore.importer" bundleManifest="false" complianceLevel="7.0"
+    copyrightFields="false" colorProviders="true" fontProviders="true" language="EN"
+    usedGenPackages="../../../../../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../../../../../org.polarsys.esf.core.profile.esfarchitectureconcepts/src/main/resources/models/genmodel/esfarchitectureconcepts.genmodel#//esfarchitectureconcepts ../../../../../../org.polarsys.esf.core.profile.esfcore/src/main/resources/models/genmodel/esfcore.genmodel#//esfcore ../../../../../../org.polarsys.esf.fmea.profile/src/main/resources/models/genmodel/esffmea.genmodel#//esffmea ../../../../../../org.polarsys.esf.core.profile.esfproperties/src/main/resources/models/genmodel/esfproperties.genmodel#//esfproperties ../../../../../../org.polarsys.esf.core.profile.esfsafetyconcepts/src/main/resources/models/genmodel/esfsafetyconcepts.genmodel#//esfsafetyconcepts ../../../../../../org.eclipse.uml2.types/model/Types.genmodel#//types ../../../../../../org.eclipse.uml2.uml/model/UML.genmodel#//uml"
+    interfaceNamePattern="I{0}" classNamePattern="{0}" 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>../profile/esfsafetyrequirements.profile.uml</foreignModel>
+  <genPackages xsi:type="genmodel:GenPackage" prefix="ESFSafetyRequirements" basePackage="org.polarsys.esf"
+      disposableProviderFactory="true" ecorePackage="esfsafetyrequirements.ecore#/">
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="esfsafetyrequirements.ecore#//SSafetyRequirement">
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute esfsafetyrequirements.ecore#//SSafetyRequirement/criticality"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference esfsafetyrequirements.ecore#//SSafetyRequirement/sFailureModesFMEAList"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference esfsafetyrequirements.ecore#//SSafetyRequirement/base_Class"/>
+    </genClasses>
+  </genPackages>
+</genmodel:GenModel>
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src/main/resources/models/profile/esfsafetyrequirements.profile.di b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src/main/resources/models/profile/esfsafetyrequirements.profile.di
new file mode 100644
index 0000000..bf9abab
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src/main/resources/models/profile/esfsafetyrequirements.profile.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src/main/resources/models/profile/esfsafetyrequirements.profile.notation b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src/main/resources/models/profile/esfsafetyrequirements.profile.notation
new file mode 100644
index 0000000..b8f98d6
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src/main/resources/models/profile/esfsafetyrequirements.profile.notation
@@ -0,0 +1,237 @@
+<?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/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_kiHFgOiFEea18bRB26vfxg" type="PapyrusUMLProfileDiagram" name="ESFSafetyReq ProfileDiagram" measurementUnit="Pixel">
+  <children xmi:type="notation:Shape" xmi:id="_lECt4OiFEea18bRB26vfxg" type="Profile_Shape" fillColor="10265827">
+    <children xmi:type="notation:DecorationNode" xmi:id="_lEDU8OiFEea18bRB26vfxg" type="Profile_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_lEDU8eiFEea18bRB26vfxg" type="Profile_PackagedElementCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_jv2FoOiGEea18bRB26vfxg" type="Stereotype_Shape_CN">
+        <children xmi:type="notation:DecorationNode" xmi:id="_jv3TwOiGEea18bRB26vfxg" type="Stereotype_NameLabel_CN"/>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_jv3TweiGEea18bRB26vfxg" type="Stereotype_AttributeCompartment_CN">
+          <children xmi:type="notation:Shape" xmi:id="_mqLIwOiGEea18bRB26vfxg" type="Property_ClassAttributeLabel">
+            <styles xmi:type="notation:StringListValueStyle" xmi:id="_nbZKUOiGEea18bRB26vfxg" name="maskLabel">
+              <stringListValue>multiplicity</stringListValue>
+              <stringListValue>name</stringListValue>
+              <stringListValue>type</stringListValue>
+              <stringListValue>derived</stringListValue>
+            </styles>
+            <element xmi:type="uml:Property" href="esfsafetyrequirements.profile.uml#_mqAJoOiGEea18bRB26vfxg"/>
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_mqLIweiGEea18bRB26vfxg"/>
+          </children>
+          <styles xmi:type="notation:TitleStyle" xmi:id="_jv3TwuiGEea18bRB26vfxg"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_jv3Tw-iGEea18bRB26vfxg"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_jv3TxOiGEea18bRB26vfxg"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jv3TxeiGEea18bRB26vfxg"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_jv3TxuiGEea18bRB26vfxg" visible="false" type="Stereotype_OperationCompartment_CN">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_jv3Tx-iGEea18bRB26vfxg"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_jv3TyOiGEea18bRB26vfxg"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_jv3TyeiGEea18bRB26vfxg"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jv3TyuiGEea18bRB26vfxg"/>
+        </children>
+        <element xmi:type="uml:Stereotype" href="esfsafetyrequirements.profile.uml#_jvp4YOiGEea18bRB26vfxg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jv2FoeiGEea18bRB26vfxg" x="170" y="22" width="211" height="79"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_TofyIOiHEea18bRB26vfxg" type="Class_MetaclassShape_CN" fillColor="8047085">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TohAQOiHEea18bRB26vfxg" source="Stereotype_Annotation">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TohnUOiHEea18bRB26vfxg" key="StereotypeWithQualifiedNameList" value=""/>
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TohnUeiHEea18bRB26vfxg" key="StereotypeList" value="StandardProfile::Metaclass"/>
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TohnUuiHEea18bRB26vfxg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TohnU-iHEea18bRB26vfxg" key="PropStereoDisplay" value=""/>
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TohnVOiHEea18bRB26vfxg" key="StereotypePropertyLocation" value="Compartment"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_TofyIuiHEea18bRB26vfxg" type="Class_MetaclassNameLabel_CN"/>
+        <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TofyI-iHEea18bRB26vfxg" x="316" y="138"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_To4MoOiHEea18bRB26vfxg" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_To4MoeiHEea18bRB26vfxg"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_To4Mo-iHEea18bRB26vfxg" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_To4MouiHEea18bRB26vfxg" x="230" y="26"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_lEDU8uiFEea18bRB26vfxg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lEDU8-iFEea18bRB26vfxg"/>
+    </children>
+    <element xmi:type="uml:Profile" href="esfsafetyrequirements.profile.uml#_uTXf0OhnEea18bRB26vfxg"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lECt4eiFEea18bRB26vfxg" x="245" y="288" width="536" height="290"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_wviEoOiFEea18bRB26vfxg" type="Profile_Shape" fillColor="15053796">
+    <children xmi:type="notation:DecorationNode" xmi:id="_wvj50OiFEea18bRB26vfxg" type="Profile_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_wvj50eiFEea18bRB26vfxg" type="Profile_PackagedElementCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_eK7rkOiGEea18bRB26vfxg" type="Stereotype_Shape_CN">
+        <children xmi:type="notation:DecorationNode" xmi:id="_eK7rkuiGEea18bRB26vfxg" type="Stereotype_NameLabel_CN"/>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_eK7rk-iGEea18bRB26vfxg" visible="false" type="Stereotype_AttributeCompartment_CN">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_eK7rlOiGEea18bRB26vfxg"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_eK7rleiGEea18bRB26vfxg"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_eK7rluiGEea18bRB26vfxg"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eK7rl-iGEea18bRB26vfxg"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_eK7rmOiGEea18bRB26vfxg" visible="false" type="Stereotype_OperationCompartment_CN">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_eK7rmeiGEea18bRB26vfxg"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_eK7rmuiGEea18bRB26vfxg"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_eK7rm-iGEea18bRB26vfxg"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eK7rnOiGEea18bRB26vfxg"/>
+        </children>
+        <element xmi:type="uml:Stereotype" href="platform:/resource/org.polarsys.esf.fmea.profile/src/main/resources/models/profile/esffmea.profile.uml#_9j9CUHA0EeapONmreJXr3g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eK7rkeiGEea18bRB26vfxg" x="170" y="58" width="211"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_wvj50uiFEea18bRB26vfxg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wvj50-iFEea18bRB26vfxg"/>
+    </children>
+    <element xmi:type="uml:Profile" href="platform:/resource/org.polarsys.esf.fmea.profile/src/main/resources/models/profile/esffmea.profile.uml#_MvCRIG3fEeagV9MLoZdF0A"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wviEoeiFEea18bRB26vfxg" x="245" y="588" width="536" height="261"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_wvwuI-iFEea18bRB26vfxg" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_wvwuJOiFEea18bRB26vfxg"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_wvxVMeiFEea18bRB26vfxg" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Profile" href="platform:/resource/org.polarsys.esf.fmea.profile/src/main/resources/models/profile/esffmea.profile.uml#_MvCRIG3fEeagV9MLoZdF0A"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wvxVMOiFEea18bRB26vfxg" x="200"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_xSirEOiFEea18bRB26vfxg" type="Profile_Shape" fillColor="12621752">
+    <children xmi:type="notation:DecorationNode" xmi:id="_xSjSIOiFEea18bRB26vfxg" type="Profile_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_xSjSIeiFEea18bRB26vfxg" type="Profile_PackagedElementCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_-Qcr8OiFEea18bRB26vfxg" type="Stereotype_Shape_CN">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_--rq8OiFEea18bRB26vfxg" source="PapyrusCSSForceValue">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_--rq8eiFEea18bRB26vfxg" key="fillColor" value="true"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_-Qcr8uiFEea18bRB26vfxg" type="Stereotype_NameLabel_CN"/>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_-Qcr8-iFEea18bRB26vfxg" visible="false" type="Stereotype_AttributeCompartment_CN">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_-Qcr9OiFEea18bRB26vfxg"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_-Qcr9eiFEea18bRB26vfxg"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_-Qcr9uiFEea18bRB26vfxg"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-Qcr9-iFEea18bRB26vfxg"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_-Qcr-OiFEea18bRB26vfxg" visible="false" type="Stereotype_OperationCompartment_CN">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_-Qcr-eiFEea18bRB26vfxg"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_-Qcr-uiFEea18bRB26vfxg"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_-Qcr--iFEea18bRB26vfxg"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-Qcr_OiFEea18bRB26vfxg"/>
+        </children>
+        <element xmi:type="uml:Stereotype" href="platform:/resource/org.polarsys.esf.core.profile.esfcore/src/main/resources/models/profile/esfcore.profile.uml#_6yz2wI0vEeWHTsP20wwFZA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-Qcr8eiFEea18bRB26vfxg" x="170" y="24" width="211"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_xSjSIuiFEea18bRB26vfxg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xSjSI-iFEea18bRB26vfxg"/>
+    </children>
+    <element xmi:type="uml:Profile" href="platform:/resource/org.polarsys.esf.core.profile.esfcore/src/main/resources/models/profile/esfcore.profile.uml#_5CO-gA3OEeWIHrhJxYOO3w"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xSirEeiFEea18bRB26vfxg" x="245" y="9" width="536" height="261"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_xSqm4-iFEea18bRB26vfxg" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_xSqm5OiFEea18bRB26vfxg"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_xSqm5uiFEea18bRB26vfxg" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Profile" href="platform:/resource/org.polarsys.esf.core.profile.esfcore/src/main/resources/models/profile/esfcore.profile.uml#_5CO-gA3OEeWIHrhJxYOO3w"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xSqm5eiFEea18bRB26vfxg" x="200"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_rvVPSOiHEea18bRB26vfxg" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_rvVPSeiHEea18bRB26vfxg"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_rvVPS-iHEea18bRB26vfxg" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Profile" href="esfsafetyrequirements.profile.uml#_uTXf0OhnEea18bRB26vfxg"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rvVPSuiHEea18bRB26vfxg" x="445" y="303"/>
+  </children>
+  <styles xmi:type="notation:StringValueStyle" xmi:id="_kiHFgeiFEea18bRB26vfxg" name="diagram_compatibility_version" stringValue="1.2.0"/>
+  <styles xmi:type="notation:DiagramStyle" xmi:id="_kiHFguiFEea18bRB26vfxg"/>
+  <styles xmi:type="style:PapyrusViewStyle" xmi:id="_kiHFg-iFEea18bRB26vfxg">
+    <owner xmi:type="uml:Profile" href="esfsafetyrequirements.profile.uml#_uTXf0OhnEea18bRB26vfxg"/>
+  </styles>
+  <element xmi:type="uml:Profile" href="esfsafetyrequirements.profile.uml#_uTXf0OhnEea18bRB26vfxg"/>
+  <edges xmi:type="notation:Connector" xmi:id="_wvxVMuiFEea18bRB26vfxg" type="StereotypeCommentLink" source="_wviEoOiFEea18bRB26vfxg" target="_wvwuI-iFEea18bRB26vfxg">
+    <styles xmi:type="notation:FontStyle" xmi:id="_wvxVM-iFEea18bRB26vfxg"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_wvx8QOiFEea18bRB26vfxg" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Profile" href="platform:/resource/org.polarsys.esf.fmea.profile/src/main/resources/models/profile/esffmea.profile.uml#_MvCRIG3fEeagV9MLoZdF0A"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wvxVNOiFEea18bRB26vfxg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wvxVNeiFEea18bRB26vfxg"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wvxVNuiFEea18bRB26vfxg"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_xSrN8OiFEea18bRB26vfxg" type="StereotypeCommentLink" source="_xSirEOiFEea18bRB26vfxg" target="_xSqm4-iFEea18bRB26vfxg">
+    <styles xmi:type="notation:FontStyle" xmi:id="_xSrN8eiFEea18bRB26vfxg"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_xSrN9eiFEea18bRB26vfxg" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Profile" href="platform:/resource/org.polarsys.esf.core.profile.esfcore/src/main/resources/models/profile/esfcore.profile.uml#_5CO-gA3OEeWIHrhJxYOO3w"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xSrN8uiFEea18bRB26vfxg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xSrN8-iFEea18bRB26vfxg"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xSrN9OiFEea18bRB26vfxg"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_vjcPgOiGEea18bRB26vfxg" type="Association_Edge" source="_jv2FoOiGEea18bRB26vfxg" target="_eK7rkOiGEea18bRB26vfxg" routing="Rectilinear">
+    <children xmi:type="notation:DecorationNode" xmi:id="_vjcPg-iGEea18bRB26vfxg" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_KZoO0OiHEea18bRB26vfxg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_vjc2kOiGEea18bRB26vfxg" y="-20"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_vjc2keiGEea18bRB26vfxg" visible="false" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_KZuVcOiHEea18bRB26vfxg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_vjc2kuiGEea18bRB26vfxg" y="20"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_vjc2k-iGEea18bRB26vfxg" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:StringListValueStyle" xmi:id="_1r7QsOiGEea18bRB26vfxg" name="maskLabel">
+        <stringListValue>name</stringListValue>
+        <stringListValue>derived</stringListValue>
+      </styles>
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_KZz1AOiHEea18bRB26vfxg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_vjc2lOiGEea18bRB26vfxg" x="-29" y="-20"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_vjc2leiGEea18bRB26vfxg" visible="false" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_KZ57oOiHEea18bRB26vfxg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_vjc2luiGEea18bRB26vfxg" x="54" y="11"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_vjc2l-iGEea18bRB26vfxg" visible="false" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_KaBQYOiHEea18bRB26vfxg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_vjc2mOiGEea18bRB26vfxg" x="14" y="55"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_vjc2meiGEea18bRB26vfxg" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_KaKaUOiHEea18bRB26vfxg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_vjc2muiGEea18bRB26vfxg" x="-28" y="38"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_vjcPgeiGEea18bRB26vfxg"/>
+    <element xmi:type="uml:Association" href="esfsafetyrequirements.profile.uml#_vafH0OiGEea18bRB26vfxg"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vjcPguiGEea18bRB26vfxg" points="[515, 531, -643984, -643984]$[515, 724, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vjwYkOiGEea18bRB26vfxg" id="(0.44549763033175355,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vjwYkeiGEea18bRB26vfxg" id="(0.44549763033175355,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_QoBqwOiHEea18bRB26vfxg" type="Generalization_Edge" source="_jv2FoOiGEea18bRB26vfxg" target="_-Qcr8OiFEea18bRB26vfxg">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QoBqw-iHEea18bRB26vfxg" type="Generalization_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_fNxMIOiHEea18bRB26vfxg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QoBqxOiHEea18bRB26vfxg" y="40"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_QoBqweiHEea18bRB26vfxg"/>
+    <element xmi:type="uml:Generalization" href="esfsafetyrequirements.profile.uml#_Qn0PYOiHEea18bRB26vfxg"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QoBqwuiHEea18bRB26vfxg" points="[526, 431, -643984, -643984]$[526, 211, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QoWa4OiHEea18bRB26vfxg" id="(0.4976303317535545,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QoWa4eiHEea18bRB26vfxg" id="(0.4976303317535545,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_To4zsOiHEea18bRB26vfxg" type="StereotypeCommentLink" source="_TofyIOiHEea18bRB26vfxg" target="_To4MoOiHEea18bRB26vfxg">
+    <styles xmi:type="notation:FontStyle" xmi:id="_To4zseiHEea18bRB26vfxg"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_To4zteiHEea18bRB26vfxg" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_To4zsuiHEea18bRB26vfxg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_To4zs-iHEea18bRB26vfxg"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_To4ztOiHEea18bRB26vfxg"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_URBKsOiHEea18bRB26vfxg" type="Extension_Edge" source="_jv2FoOiGEea18bRB26vfxg" target="_TofyIOiHEea18bRB26vfxg" routing="Rectilinear">
+    <styles xmi:type="notation:FontStyle" xmi:id="_URBKseiHEea18bRB26vfxg"/>
+    <element xmi:type="uml:Extension" href="esfsafetyrequirements.profile.uml#_UQXqcOiHEea18bRB26vfxg"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_URBKsuiHEea18bRB26vfxg" points="[620, 459, -643984, -643984]$[620, 496, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_URVTwOiHEea18bRB26vfxg" id="(0.943127962085308,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_URVTweiHEea18bRB26vfxg" id="(0.53,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_rvV2UOiHEea18bRB26vfxg" type="StereotypeCommentLink" source="_lECt4OiFEea18bRB26vfxg" target="_rvVPSOiHEea18bRB26vfxg">
+    <styles xmi:type="notation:FontStyle" xmi:id="_rvV2UeiHEea18bRB26vfxg"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_rvV2VeiHEea18bRB26vfxg" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Profile" href="esfsafetyrequirements.profile.uml#_uTXf0OhnEea18bRB26vfxg"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rvV2UuiHEea18bRB26vfxg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rvV2U-iHEea18bRB26vfxg"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rvV2VOiHEea18bRB26vfxg"/>
+  </edges>
+</notation:Diagram>
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src/main/resources/models/profile/esfsafetyrequirements.profile.uml b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src/main/resources/models/profile/esfsafetyrequirements.profile.uml
new file mode 100644
index 0000000..fbe03b4
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src/main/resources/models/profile/esfsafetyrequirements.profile.uml
@@ -0,0 +1,43 @@
+<?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="_uTXf0OhnEea18bRB26vfxg" name="ESFSafetyRequirements" metaclassReference="_ToWBIOiHEea18bRB26vfxg">
+    <elementImport xmi:type="uml:ElementImport" xmi:id="_ToWBIOiHEea18bRB26vfxg" alias="Class">
+      <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+    </elementImport>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_jvp4YOiGEea18bRB26vfxg" name="SSafetyRequirement">
+      <generalization xmi:type="uml:Generalization" xmi:id="_Qn0PYOiHEea18bRB26vfxg">
+        <general xmi:type="uml:Stereotype" href="../../../../../../org.polarsys.esf.core.profile.esfcore/src/main/resources/models/profile/esfcore.profile.uml#_6yz2wI0vEeWHTsP20wwFZA"/>
+      </generalization>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_mqAJoOiGEea18bRB26vfxg" name="criticality" isDerived="true">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_vagV8uiGEea18bRB26vfxg" name="sFailureModesFMEAList" association="_vafH0OiGEea18bRB26vfxg">
+        <type xmi:type="uml:Stereotype" href="../../../../../../org.polarsys.esf.fmea.profile/src/main/resources/models/profile/esffmea.profile.uml#_9j9CUHA0EeapONmreJXr3g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_NH_5kOiHEea18bRB26vfxg"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_NIFZIOiHEea18bRB26vfxg" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_UQb74OiHEea18bRB26vfxg" name="base_Class" association="_UQXqcOiHEea18bRB26vfxg">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_vafH0OiGEea18bRB26vfxg" memberEnd="_vagV8uiGEea18bRB26vfxg _vag9AOiGEea18bRB26vfxg">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vagV8OiGEea18bRB26vfxg" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vagV8eiGEea18bRB26vfxg" key="nature" value="UML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_vag9AOiGEea18bRB26vfxg" name="sSafetyRequirementsList" type="_jvp4YOiGEea18bRB26vfxg" association="_vafH0OiGEea18bRB26vfxg">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_MyN20OiHEea18bRB26vfxg"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_MyUkgOiHEea18bRB26vfxg" value="*"/>
+      </ownedEnd>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_UQXqcOiHEea18bRB26vfxg" name="E_SSafetyRequirement_Class1" memberEnd="_UQbU0OiHEea18bRB26vfxg _UQb74OiHEea18bRB26vfxg">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_UQbU0OiHEea18bRB26vfxg" name="extension_SSafetyRequirement" type="_jvp4YOiGEea18bRB26vfxg" aggregation="composite" association="_UQXqcOiHEea18bRB26vfxg"/>
+    </packagedElement>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_qv4kcOiHEea18bRB26vfxg">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qv6ZoOiHEea18bRB26vfxg" 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="_ru3VMOiHEea18bRB26vfxg" base_Package="_uTXf0OhnEea18bRB26vfxg" packageName="esfsafetyrequirements" nsPrefix="ESFSafetyRequirements" nsURI="http://www.polarsys.org/esf/0.7.0/ESFSafetyRequirements" basePackage="org.polarsys.esf" prefix="ESFSafetyRequirements"/>
+</xmi:XMI>
diff --git a/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src/main/resources/properties/plugin.properties b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src/main/resources/properties/plugin.properties
new file mode 100644
index 0000000..ccca647
--- /dev/null
+++ b/analysis/safetyreq/profile/org.polarsys.esf.safetyreq.profile/src/main/resources/properties/plugin.properties
@@ -0,0 +1,16 @@
+###############################################################################
+# 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 v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#     ALL4TEC & CEA LIST - initial API and implementation
+###############################################################################
+#Properties file for org.polarsys.esf.safetyreq.profile
+Bundle-Name=ESFSafetyReq Profile
+Bundle-Vendor=PolarSys
+
+esfsafetyreq.profile.name = ESFSafetyRequirements
+esfsafetyreq.profile.description = UML profile for the Safety Requirements concepts used in ESF to perform safety analysis.
diff --git a/analysis/safetyreq/profile/pom.xml b/analysis/safetyreq/profile/pom.xml
new file mode 100644
index 0000000..eab174b
--- /dev/null
+++ b/analysis/safetyreq/profile/pom.xml
@@ -0,0 +1,28 @@
+<?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>
+  
+  <!-- PROJECT DESCRIPTION -->
+  <parent>
+    <groupId>org.polarsys.esf</groupId>
+    <artifactId>esf-tools.analysis.safetyreq</artifactId>
+    <version>0.7.0-SNAPSHOT</version>
+  </parent>
+  
+  <groupId>org.polarsys.esf</groupId>
+  <artifactId>esf-tools.analysis.safetyreq.profile</artifactId>
+  <packaging>pom</packaging>
+  <name>ESF SafetyReq Profile</name>
+  <description>ESF SafetyReq Profile description.</description>
+  
+  <!-- MODULES -->  
+  <modules>
+    <module>org.polarsys.esf.safetyreq.profile</module>
+	<module>org.polarsys.esf.safetyreq.profile.service.types</module>
+	<module>org.polarsys.esf.safetyreq.profile.tools</module>
+  </modules>
+  
+</project>
\ No newline at end of file
diff --git a/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng.branding/.checkstyle b/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng.branding/.checkstyle
new file mode 100644
index 0000000..e20d38a
--- /dev/null
+++ b/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng.branding/.checkstyle
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="true" sync-formatter="false">
+  <fileset name="all" enabled="true" check-config-name="Checkstyle ESF" local="false">
+    <file-match-pattern match-pattern=".*" include-pattern="true"/>
+  </fileset>
+</fileset-config>
diff --git a/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng.branding/.project b/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng.branding/.project
new file mode 100644
index 0000000..e8488bc
--- /dev/null
+++ b/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng.branding/.project
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.polarsys.esf.safetyreq.releng.branding</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<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>
+	</natures>
+</projectDescription>
diff --git a/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng.branding/META-INF/MANIFEST.MF b/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng.branding/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..59e9628
--- /dev/null
+++ b/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng.branding/META-INF/MANIFEST.MF
@@ -0,0 +1,7 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-SymbolicName: org.polarsys.esf.safetyreq.releng.branding
+Bundle-Version: 0.7.0.qualifier
+Bundle-Vendor: %Bundle-Vendor
+Bundle-Localization: src/main/resources/properties/plugin
diff --git a/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng.branding/about.ini b/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng.branding/about.ini
new file mode 100644
index 0000000..8b2a769
--- /dev/null
+++ b/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng.branding/about.ini
@@ -0,0 +1,2 @@
+aboutText=%blurb
+featureImage=src/main/resources/icons/logos/icon_sa_32x32.png
diff --git a/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng.branding/about.properties b/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng.branding/about.properties
new file mode 100644
index 0000000..0d9ad09
--- /dev/null
+++ b/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng.branding/about.properties
@@ -0,0 +1,7 @@
+blurb = SafetyReq feature of ESF. (Incubation)\n\
+\n\
+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 v1.0\n\
+which accompanies this distribution, and is available at\n\
+http://www.eclipse.org/legal/epl-v10.html\n\
diff --git a/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng.branding/build.properties b/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng.branding/build.properties
new file mode 100644
index 0000000..e996588
--- /dev/null
+++ b/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng.branding/build.properties
@@ -0,0 +1,4 @@
+bin.includes = META-INF/,\
+               src/main/resources/,\
+               about.ini,\
+               about.properties
diff --git a/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng.branding/pom.xml b/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng.branding/pom.xml
new file mode 100644
index 0000000..6c4b587
--- /dev/null
+++ b/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng.branding/pom.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  
+  <parent>
+    <groupId>org.polarsys.esf</groupId>
+    <artifactId>esf-tools.analysis.safetyreq.releng</artifactId>
+    <version>0.7.0-SNAPSHOT</version>
+  </parent>
+  
+  <groupId>org.polarsys.esf</groupId>
+  <artifactId>org.polarsys.esf.safetyreq.releng.branding</artifactId>
+  <packaging>eclipse-plugin</packaging>
+  <name>ESF SafetyReq branding</name>
+  <description>ESF SafetyReq branding description.</description>
+  
+</project>
\ No newline at end of file
diff --git a/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng.branding/src/main/resources/icons/logos/icon_esf_32x32.png b/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng.branding/src/main/resources/icons/logos/icon_esf_32x32.png
new file mode 100644
index 0000000..6bf2990
--- /dev/null
+++ b/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng.branding/src/main/resources/icons/logos/icon_esf_32x32.png
Binary files differ
diff --git a/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng.branding/src/main/resources/properties/plugin.properties b/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng.branding/src/main/resources/properties/plugin.properties
new file mode 100644
index 0000000..a1429aa
--- /dev/null
+++ b/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng.branding/src/main/resources/properties/plugin.properties
@@ -0,0 +1,3 @@
+#Properties file for org.polarsys.esf.safetyreq.releng.branding
+Bundle-Name = ESF SafetyReq Branding
+Bundle-Vendor = PolarSys
diff --git a/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng/.project b/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng/.project
new file mode 100644
index 0000000..5ce23cb
--- /dev/null
+++ b/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.polarsys.esf.safetyreq.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/safetyreq/releng/org.polarsys.esf.safetyreq.releng/build.properties b/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng/build.properties
new file mode 100644
index 0000000..94bb883
--- /dev/null
+++ b/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng/build.properties
@@ -0,0 +1,4 @@
+bin.includes = feature.xml,\
+               feature.properties,\
+               license.html,\
+               epl-v10.html
diff --git a/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng/epl-v10.html b/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng/epl-v10.html
new file mode 100644
index 0000000..9c0feb7
--- /dev/null
+++ b/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng/epl-v10.html
@@ -0,0 +1,259 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- saved from url=(0041)http://www.eclipse.org/legal/epl-v10.html -->
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+
+<title>Eclipse Public License - Version 1.0</title>
+<style type="text/css">
+  body {
+    size: 8.5in 11.0in;
+    margin: 0.25in 0.5in 0.25in 0.5in;
+    tab-interval: 0.5in;
+    }
+  p {  	
+    margin-left: auto;
+    margin-top:  0.5em;
+    margin-bottom: 0.5em;
+    }
+  p.list {
+  	margin-left: 0.5in;
+    margin-top:  0.05em;
+    margin-bottom: 0.05em;
+    }
+  </style>
+
+</head>
+
+<body lang="EN-US">
+
+<h2>Eclipse Public License - v 1.0</h2>
+
+<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR
+DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
+AGREEMENT.</p>
+
+<p><b>1. DEFINITIONS</b></p>
+
+<p>"Contribution" means:</p>
+
+<p class="list">a) in the case of the initial Contributor, the initial
+code and documentation distributed under this Agreement, and</p>
+<p class="list">b) in the case of each subsequent Contributor:</p>
+<p class="list">i) changes to the Program, and</p>
+<p class="list">ii) additions to the Program;</p>
+<p class="list">where such changes and/or additions to the Program
+originate from and are distributed by that particular Contributor. A
+Contribution 'originates' from a Contributor if it was added to the
+Program by such Contributor itself or anyone acting on such
+Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in
+conjunction with the Program under their own license agreement, and (ii)
+are not derivative works of the Program.</p>
+
+<p>"Contributor" means any person or entity that distributes
+the Program.</p>
+
+<p>"Licensed Patents" 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>"Program" means the Contributions distributed in accordance
+with this Agreement.</p>
+
+<p>"Recipient" means anyone who receives the Program under
+this Agreement, including all Contributors.</p>
+
+<p><b>2. GRANT OF RIGHTS</b></p>
+
+<p class="list">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, in
+source code and object code form.</p>
+
+<p class="list">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 and object code 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.</p>
+
+<p class="list">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's responsibility to acquire
+that license before distributing the Program.</p>
+
+<p class="list">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.</p>
+
+<p><b>3. REQUIREMENTS</b></p>
+
+<p>A Contributor may choose to distribute the Program in object code
+form under its own license agreement, provided that:</p>
+
+<p class="list">a) it complies with the terms and conditions of this
+Agreement; and</p>
+
+<p class="list">b) its license agreement:</p>
+
+<p class="list">i) effectively disclaims on behalf of all 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;</p>
+
+<p class="list">ii) effectively excludes on behalf of all Contributors
+all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;</p>
+
+<p class="list">iii) states that any provisions which differ from this
+Agreement are offered by that Contributor alone and not by any other
+party; and</p>
+
+<p class="list">iv) states that source code for the Program is available
+from such Contributor, and informs licensees how to obtain it in a
+reasonable manner on or through a medium customarily used for software
+exchange.</p>
+
+<p>When the Program is made available in source code form:</p>
+
+<p class="list">a) it must be made available under this Agreement; and</p>
+
+<p class="list">b) a copy of this Agreement must be included with each
+copy of the Program.</p>
+
+<p>Contributors may not remove or alter any copyright notices contained
+within the Program.</p>
+
+<p>Each Contributor must identify itself as the originator of its
+Contribution, if any, in a manner that reasonably allows subsequent
+Recipients to identify the originator of the Contribution.</p>
+
+<p><b>4. COMMERCIAL DISTRIBUTION</b></p>
+
+<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
+("Commercial Contributor") hereby agrees to defend and
+indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses")
+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'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>
+
+<p><b>5. NO WARRANTY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
+PROVIDED ON AN "AS IS" 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>
+
+<p><b>6. DISCLAIMER OF LIABILITY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, 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>
+
+<p><b>7. GENERAL</b></p>
+
+<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's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the
+date such litigation is filed.</p>
+
+<p>All Recipient'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's rights
+under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient'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. 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.</p>
+
+<p>This Agreement is governed by the laws of the State of New York and
+the intellectual property laws of the United States of America. No party
+to this Agreement will bring a legal action under this Agreement more
+than one year after the cause of action arose. Each party waives its
+rights to a jury trial in any resulting litigation.</p>
+
+
+
+</body></html>
\ No newline at end of file
diff --git a/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng/feature.properties b/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng/feature.properties
new file mode 100644
index 0000000..5936029
--- /dev/null
+++ b/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng/feature.properties
@@ -0,0 +1,79 @@
+featureName = ESF SafetyReq (Incubation)
+providerName = PolarSys
+description = SafetyReq 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 v1.0\n\
+which accompanies this distribution, and is available at\n\
+http://www.eclipse.org/legal/epl-v10.html\n\
+\n\
+Contributors:\n\
+    Jonathan Dumont (ALL4TEC) - initial API and implementation\n\
+    Yupanqui Munoz Julho (CEA LIST) - initial API and implementation\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 1.0\n\
+("EPL").  A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\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/safetyreq/releng/org.polarsys.esf.safetyreq.releng/feature.xml b/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng/feature.xml
new file mode 100644
index 0000000..017f482
--- /dev/null
+++ b/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng/feature.xml
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.polarsys.esf.safetyreq.releng"
+      label="%featureName"
+      version="0.7.0.qualifier"
+      provider-name="%providerName"
+      plugin="org.polarsys.esf.safetyreq.releng.branding"
+      os="win32"
+      ws="win32"
+      arch="x86_64">
+
+   <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.help" version="3.7.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.core.runtime"/>
+      <import plugin="org.eclipse.emf.common"/>
+      <import plugin="org.eclipse.emf.common.ui"/>
+      <import plugin="org.eclipse.uml2.uml" version="5.2.2" match="greaterOrEqual"/>
+      <import plugin="org.polarsys.esf.analysis.common.ui" version="0.7.0" match="greaterOrEqual"/>
+      <import plugin="org.polarsys.esf.core.utils" version="0.7.0" match="greaterOrEqual"/>
+      <import plugin="org.polarsys.esf.safetyreq.resources.graphical" version="0.7.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.core.expressions" version="3.5.100" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.jface"/>
+      <import plugin="org.eclipse.papyrus.emf.facet.custom.metamodel"/>
+      <import plugin="org.eclipse.gef"/>
+      <import plugin="org.eclipse.papyrus.sysml" version="1.2.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.gmf.runtime.notation.edit"/>
+      <import plugin="org.polarsys.esf.safetyreq.profile" version="0.7.0" match="greaterOrEqual"/>
+      <import plugin="org.polarsys.esf.safetyreq.profile.tools" version="0.7.0" match="greaterOrEqual"/>
+      <import plugin="org.polarsys.esf.safetyreq.table" version="0.7.0" match="greaterOrEqual"/>
+      <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.polarsys.esf.core.metamodel.esfcore" version="0.7.0" match="greaterOrEqual"/>
+      <import plugin="org.polarsys.esf.fmea.metamodel" version="0.7.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.uml2.uml" version="5.2.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.papyrus.uml.extensionpoints" version="1.2.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.emf.ecore"/>
+      <import plugin="org.polarsys.esf.core.profile.esfarchitectureconcepts"/>
+      <import plugin="org.polarsys.esf.core.profile.esfcore" version="0.7.0" match="greaterOrEqual"/>
+      <import plugin="org.polarsys.esf.fmea.profile"/>
+      <import plugin="org.polarsys.esf.core.profile.esfproperties"/>
+      <import plugin="org.polarsys.esf.core.profile.esfsafetyconcepts"/>
+      <import plugin="org.eclipse.uml2.types"/>
+      <import plugin="org.eclipse.emf.transaction"/>
+      <import plugin="org.eclipse.papyrus.uml.tools.utils"/>
+      <import plugin="org.eclipse.emf.common.ui" version="2.11.0" match="greaterOrEqual"/>
+      <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.polarsys.esf.safetyreq.profile.service.types" version="0.7.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 feature="org.eclipse.papyrus.sysml.feature" version="1.2.0.201612071122"/>
+      <import feature="org.eclipse.papyrus.requirements.feature" version="0.7.0.201612071122"/>
+   </requires>
+
+   <plugin
+         id="org.polarsys.esf.safetyreq.doc"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.polarsys.esf.safetyreq.execution.ui"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.polarsys.esf.safetyreq.metamodel"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.polarsys.esf.safetyreq.profile"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.polarsys.esf.safetyreq.profile.service.types"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.polarsys.esf.safetyreq.profile.tools"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.polarsys.esf.safetyreq.releng.branding"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.polarsys.esf.safetyreq.resources.graphical"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.polarsys.esf.safetyreq.table"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+</feature>
diff --git a/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng/license.html b/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng/license.html
new file mode 100644
index 0000000..95ad95e
--- /dev/null
+++ b/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng/license.html
@@ -0,0 +1,106 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!-- saved from url=(0044)http://www.eclipse.org/legal/epl/notice.html -->
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+
+<title>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>April 9, 2014</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+   (COLLECTIVELY "CONTENT").  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>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 1.0
+   ("EPL").  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+   For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
+   repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").</p>
+
+<ul>
+       <li>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").</li>
+       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".</li>
+       <li>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
+      and/or Fragments associated with that Feature.</li>
+       <li>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.</li>
+</ul>
+
+<p>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
+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
+including, but not limited to the following locations:</p>
+
+<ul>
+       <li>The top-level (root) directory</li>
+       <li>Plug-in and Fragment directories</li>
+       <li>Inside Plug-ins and Fragments packaged as JARs</li>
+       <li>Sub-directories of the directory named "src" of certain Plug-ins</li>
+       <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the
+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
+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.
+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
+that directory.</p>
+
+<p>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
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+       <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>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
+contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
+   Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or
+   other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to
+   install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+   ("Specification").</p>
+
+<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
+   applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
+   in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
+   Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+       <li>A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology
+       on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based
+       product.</li>
+       <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
+       accessed and copied to the Target Machine.</li>
+       <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
+       Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target
+       Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
+       the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
+       indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>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
+   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
+   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+
+
+</body></html>
\ No newline at end of file
diff --git a/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng/pom.xml b/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.releng/pom.xml
new file mode 100644
index 0000000..7ffb62e
--- /dev/null
+++ b/analysis/safetyreq/releng/org.polarsys.esf.safetyreq.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.safetyreq.releng</artifactId>
+    <version>0.7.0-SNAPSHOT</version>
+  </parent>
+  
+  <groupId>org.polarsys.esf</groupId>
+  <artifactId>org.polarsys.esf.safetyreq.releng</artifactId>
+  <packaging>eclipse-feature</packaging>
+  <name>ESF SafetyReq feature</name>
+  <description>ESF SafetyReq feature description.</description>
+  
+</project>
\ No newline at end of file
diff --git a/analysis/safetyreq/releng/pom.xml b/analysis/safetyreq/releng/pom.xml
new file mode 100644
index 0000000..a34e0ba
--- /dev/null
+++ b/analysis/safetyreq/releng/pom.xml
@@ -0,0 +1,27 @@
+<?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>
+  
+  <!-- PROJECT DESCRIPTION -->
+  <parent>
+    <groupId>org.polarsys.esf</groupId>
+    <artifactId>esf-tools.analysis.safetyreq</artifactId>
+    <version>0.7.0-SNAPSHOT</version>
+  </parent>
+  
+  <groupId>org.polarsys.esf</groupId>
+  <artifactId>esf-tools.analysis.safetyreq.releng</artifactId>
+  <packaging>pom</packaging>
+  <name>ESF Tools SafetyReq Releng</name>
+  <description>ESF Tools SafetyReq Releng description.</description>
+  
+  <!-- MODULES -->  
+  <modules>
+    <module>org.polarsys.esf.safetyreq.releng</module>
+    <module>org.polarsys.esf.safetyreq.releng.branding</module>
+  </modules>
+  
+</project>
\ No newline at end of file
diff --git a/analysis/safetyreq/resources/org.polarsys.esf.safetyreq.resources.graphical/.classpath b/analysis/safetyreq/resources/org.polarsys.esf.safetyreq.resources.graphical/.classpath
new file mode 100644
index 0000000..d97031b
--- /dev/null
+++ b/analysis/safetyreq/resources/org.polarsys.esf.safetyreq.resources.graphical/.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.7"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src/main/java"/>
+	<classpathentry kind="output" path="target/classes/"/>
+</classpath>
diff --git a/analysis/safetyreq/resources/org.polarsys.esf.safetyreq.resources.graphical/.project b/analysis/safetyreq/resources/org.polarsys.esf.safetyreq.resources.graphical/.project
new file mode 100644
index 0000000..0a9d1a0
--- /dev/null
+++ b/analysis/safetyreq/resources/org.polarsys.esf.safetyreq.resources.graphical/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.polarsys.esf.safetyreq.resources.graphical</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>
+		<buildCommand>
+			<name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+	</natures>
+</projectDescription>
diff --git a/analysis/safetyreq/resources/org.polarsys.esf.safetyreq.resources.graphical/.settings/org.eclipse.jdt.core.prefs b/analysis/safetyreq/resources/org.polarsys.esf.safetyreq.resources.graphical/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..f42de36
--- /dev/null
+++ b/analysis/safetyreq/resources/org.polarsys.esf.safetyreq.resources.graphical/.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.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/analysis/safetyreq/resources/org.polarsys.esf.safetyreq.resources.graphical/META-INF/MANIFEST.MF b/analysis/safetyreq/resources/org.polarsys.esf.safetyreq.resources.graphical/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..7496f40
--- /dev/null
+++ b/analysis/safetyreq/resources/org.polarsys.esf.safetyreq.resources.graphical/META-INF/MANIFEST.MF
@@ -0,0 +1,13 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-Vendor: %Bundle-Vendor
+Bundle-Localization: src/main/resources/properties/plugin
+Bundle-SymbolicName: org.polarsys.esf.safetyreq.resources.graphical
+Bundle-Version: 0.7.0.qualifier
+Bundle-Activator: org.polarsys.esf.safetyreq.resources.graphical.ESFSafetyReqResourcesGraphicalActivator$Implementation
+Require-Bundle: org.eclipse.core.runtime;bundle-version="3.12.0",
+ org.eclipse.emf.common;bundle-version="2.12.0",
+ org.eclipse.emf.common.ui;bundle-version="2.11.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-ActivationPolicy: lazy
diff --git a/analysis/safetyreq/resources/org.polarsys.esf.safetyreq.resources.graphical/about.html b/analysis/safetyreq/resources/org.polarsys.esf.safetyreq.resources.graphical/about.html
new file mode 100644
index 0000000..d35d5ae
--- /dev/null
+++ b/analysis/safetyreq/resources/org.polarsys.esf.safetyreq.resources.graphical/about.html
@@ -0,0 +1,28 @@
+<!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">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>June 5, 2007</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/analysis/safetyreq/resources/org.polarsys.esf.safetyreq.resources.graphical/build.properties b/analysis/safetyreq/resources/org.polarsys.esf.safetyreq.resources.graphical/build.properties
new file mode 100644
index 0000000..dbe8fda
--- /dev/null
+++ b/analysis/safetyreq/resources/org.polarsys.esf.safetyreq.resources.graphical/build.properties
@@ -0,0 +1,16 @@
+###############################################################################
+# 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 v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+# Contributors:
+#     ALL4TEC & CEA LIST - initial API and implementation
+###############################################################################
+source.. = src/main/java/
+output.. = target/classes/
+bin.includes = META-INF/,\
+               .,\
+               about.html,\
+               src/
+bin.excludes = src/main/java/
diff --git a/analysis/safetyreq/resources/org.polarsys.esf.safetyreq.resources.graphical/pom.xml b/analysis/safetyreq/resources/org.polarsys.esf.safetyreq.resources.graphical/pom.xml
new file mode 100644
index 0000000..b0f7afd
--- /dev/null
+++ b/analysis/safetyreq/resources/org.polarsys.esf.safetyreq.resources.graphical/pom.xml
@@ -0,0 +1,30 @@
+<?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 v1.0
+    which accompanies this distribution, and is available at
+    http://www.eclipse.org/legal/epl-v10.html
+    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.safetyreq.resources</artifactId>
+    <version>0.7.0-SNAPSHOT</version>
+  </parent>
+  
+  <groupId>org.polarsys.esf</groupId>
+  <artifactId>org.polarsys.esf.safetyreq.resources.graphical</artifactId>
+  <packaging>eclipse-plugin</packaging>
+  <name>ESFSafety Requirements Graphical Resources</name>
+  <description>ESFSafety Requirements Graphical Resources description.</description>
+
+</project>
\ No newline at end of file
diff --git a/analysis/safetyreq/resources/org.polarsys.esf.safetyreq.resources.graphical/src/main/java/org/polarsys/esf/safetyreq/resources/graphical/ESFSafetyReqResourcesGraphicalActivator.java b/analysis/safetyreq/resources/org.polarsys.esf.safetyreq.resources.graphical/src/main/java/org/polarsys/esf/safetyreq/resources/graphical/ESFSafetyReqResourcesGraphicalActivator.java
new file mode 100644
index 0000000..1a69a5e
--- /dev/null
+++ b/analysis/safetyreq/resources/org.polarsys.esf.safetyreq.resources.graphical/src/main/java/org/polarsys/esf/safetyreq/resources/graphical/ESFSafetyReqResourcesGraphicalActivator.java
@@ -0,0 +1,122 @@
+/*******************************************************************************
+ * 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 v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * Contributors:
+ *     ALL4TEC & CEA LIST - initial API and implementation
+ *******************************************************************************/
+package org.polarsys.esf.safetyreq.resources.graphical;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emf.common.EMFPlugin;
+import org.eclipse.emf.common.ui.EclipseUIPlugin;
+import org.eclipse.emf.common.util.ResourceLocator;
+
+/**
+ * The activator class controls the plug-in life cycle.
+ *
+ * @author $Author: ymunoz $
+ * @version $Revision: 168 $
+ */
+public class ESFSafetyReqResourcesGraphicalActivator
+    extends EMFPlugin {
+
+    /** The plug-in ID. */
+    public static final String PLUGIN_ID = "org.polarsys.esf.safetyreq.resources.graphical"; //$NON-NLS-1$
+
+    /** Keep track of this singleton activator. */
+    private static final ESFSafetyReqResourcesGraphicalActivator INSTANCE =
+        new ESFSafetyReqResourcesGraphicalActivator();
+
+    /** The shared instance of this plugin. */
+    private static Implementation sPlugin = null;
+
+    /**
+     * The default constructor.
+     */
+    public ESFSafetyReqResourcesGraphicalActivator() {
+        super(new ResourceLocator[] {});
+    }
+
+    /**
+     * Returns the singleton instance of the Eclipse plugin.
+     *
+     * @return The singleton instance.
+     */
+    @Override
+    public ResourceLocator getPluginResourceLocator() {
+        return sPlugin;
+    }
+
+    /**
+     * Returns the shared instance.
+     *
+     * @return The shared instance
+     */
+    public static Implementation getPlugin() {
+        return sPlugin;
+    }
+
+    /**
+     * Create an Error status with the data given in parameter and log it.
+     *
+     * @param pMessage The message to log
+     * @param pException The exception to log
+     */
+    public static void logError(final String pMessage, final Exception pException) {
+        // Create the Error status
+        IStatus vStatus = new Status(IStatus.ERROR, PLUGIN_ID, IStatus.ERROR, pMessage, pException);
+
+        // Log it
+        INSTANCE.log(vStatus);
+    }
+
+    /**
+     * Create a Warning status with the data given in parameter and log it.
+     *
+     * @param pMessage The message to log
+     * @param pException The exception to log
+     */
+    public static void logWarning(final String pMessage, final Exception pException) {
+        // Create the Warning status
+        IStatus vStatus = new Status(IStatus.WARNING, PLUGIN_ID, IStatus.WARNING, pMessage, pException);
+
+        // Log it
+        INSTANCE.log(vStatus);
+    }
+
+    /**
+     * Create an Info status with the data given in parameter and log it.
+     *
+     * @param pMessage The message to log
+     * @param pException The exception to log
+     */
+    public static void logInfo(final String pMessage, final Exception pException) {
+        // Create the Info status
+        IStatus vStatus = new Status(IStatus.INFO, PLUGIN_ID, IStatus.INFO, pMessage, pException);
+
+        // Log it
+        INSTANCE.log(vStatus);
+    }
+
+    /**
+     * The actual implementation of the Eclipse <b>UIPlugin</b>.
+     */
+    public static class Implementation
+        extends EclipseUIPlugin {
+
+        /**
+         * Default constructor.
+         */
+        public Implementation() {
+            super();
+
+            // Remember the static instance
+            sPlugin = this;
+        }
+    }
+
+}
diff --git a/analysis/safetyreq/resources/org.polarsys.esf.safetyreq.resources.graphical/src/main/resources/icons/icon_esfsafetyreq_menu.png b/analysis/safetyreq/resources/org.polarsys.esf.safetyreq.resources.graphical/src/main/resources/icons/icon_esfsafetyreq_menu.png
new file mode 100644
index 0000000..cf3d97f
--- /dev/null
+++ b/analysis/safetyreq/resources/org.polarsys.esf.safetyreq.resources.graphical/src/main/resources/icons/icon_esfsafetyreq_menu.png
Binary files differ
diff --git a/analysis/safetyreq/resources/org.polarsys.esf.safetyreq.resources.graphical/src/main/resources/icons/icon_esfsafetyrequirements_table.png b/analysis/safetyreq/resources/org.polarsys.esf.safetyreq.resources.graphical/src/main/resources/icons/icon_esfsafetyrequirements_table.png
new file mode 100644
index 0000000..8a87135
--- /dev/null
+++ b/analysis/safetyreq/resources/org.polarsys.esf.safetyreq.resources.graphical/src/main/resources/icons/icon_esfsafetyrequirements_table.png
Binary files differ
diff --git a/analysis/safetyreq/resources/org.polarsys.esf.safetyreq.resources.graphical/src/main/resources/icons/profile/icon_esfsafetyrequirements_profile.png b/analysis/safetyreq/resources/org.polarsys.esf.safetyreq.resources.graphical/src/main/resources/icons/profile/icon_esfsafetyrequirements_profile.png
new file mode 100644
index 0000000..cf3d97f
--- /dev/null
+++ b/analysis/safetyreq/resources/org.polarsys.esf.safetyreq.resources.graphical/src/main/resources/icons/profile/icon_esfsafetyrequirements_profile.png
Binary files differ
diff --git a/analysis/safetyreq/resources/org.polarsys.esf.safetyreq.resources.graphical/src/main/resources/properties/plugin.properties b/analysis/safetyreq/resources/org.polarsys.esf.safetyreq.resources.graphical/src/main/resources/properties/plugin.properties
new file mode 100644
index 0000000..9a48f92
--- /dev/null
+++ b/analysis/safetyreq/resources/org.polarsys.esf.safetyreq.resources.graphical/src/main/resources/properties/plugin.properties
@@ -0,0 +1,12 @@
+###############################################################################
+# 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 v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+# Contributors:
+#     ALL4TEC & CEA LIST - initial API and implementation
+###############################################################################
+#Properties file for org.polarsys.esf.safetyreq.resources.graphical
+Bundle-Name=Safety Requirements Graphical Resources
+Bundle-Vendor=PolarSys
diff --git a/analysis/safetyreq/resources/pom.xml b/analysis/safetyreq/resources/pom.xml
new file mode 100644
index 0000000..bf29f21
--- /dev/null
+++ b/analysis/safetyreq/resources/pom.xml
@@ -0,0 +1,25 @@
+<?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>
+  
+  <!-- PROJECT DESCRIPTION -->
+  <parent>
+    <groupId>org.polarsys.esf</groupId>
+    <artifactId>esf-tools.analysis.safetyreq</artifactId>
+    <version>0.7.0-SNAPSHOT</version>
+  </parent>
+  
+  <groupId>org.polarsys.esf</groupId>
+  <artifactId>esf-tools.analysis.safetyreq.resources</artifactId>
+  <packaging>pom</packaging>
+  <name>ESF Safety Requirements Resources</name>
+  <description>ESF Safety Requirements Resources description.</description>
+  
+  <!-- MODULES -->  
+  <modules>
+    <module>org.polarsys.esf.safetyreq.resources.graphical</module>
+  </modules>
+</project>
\ No newline at end of file
diff --git a/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/.classpath b/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/.classpath
new file mode 100644
index 0000000..d97031b
--- /dev/null
+++ b/analysis/safetyreq/table/org.polarsys.esf.safetyreq.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.7"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src/main/java"/>
+	<classpathentry kind="output" path="target/classes/"/>
+</classpath>
diff --git a/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/.project b/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/.project
new file mode 100644
index 0000000..8413614
--- /dev/null
+++ b/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.polarsys.esf.safetyreq.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>
+		<buildCommand>
+			<name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+	</natures>
+</projectDescription>
diff --git a/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/.settings/org.eclipse.jdt.core.prefs b/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..f42de36
--- /dev/null
+++ b/analysis/safetyreq/table/org.polarsys.esf.safetyreq.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.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/META-INF/MANIFEST.MF b/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..3b5bfa8
--- /dev/null
+++ b/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/META-INF/MANIFEST.MF
@@ -0,0 +1,20 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-SymbolicName: org.polarsys.esf.safetyreq.table;singleton:=true
+Bundle-Version: 0.7.0.qualifier
+Bundle-Activator: org.polarsys.esf.safetyreq.table.ESFSafetyReqTableActivator$Implementation
+Require-Bundle: org.eclipse.core.runtime;bundle-version="3.12.0",
+ org.eclipse.papyrus.infra.tools;bundle-version="2.0.0",
+ org.eclipse.papyrus.infra.nattable;bundle-version="2.0.0",
+ org.polarsys.esf.safetyreq.profile;bundle-version="0.7.0";visibility:=reexport,
+ org.polarsys.esf.safetyreq.profile.service.types;bundle-version="0.7.0";visibility:=reexport,
+ org.polarsys.esf.safetyreq.resources.graphical;bundle-version="0.7.0";visibility:=reexport,
+ org.eclipse.papyrus.infra.nattable.common;bundle-version="2.0.0",
+ org.eclipse.papyrus.infra.emf.nattable;bundle-version="2.0.0",
+ org.eclipse.papyrus.uml.nattable;bundle-version="2.0.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-ActivationPolicy: lazy
+Bundle-Vendor: %Bundle-Vendor
+Bundle-Localization: src/main/resources/properties/plugin
+Export-Package: org.polarsys.esf.safetyreq.table.set
diff --git a/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/about.html b/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/about.html
new file mode 100644
index 0000000..d35d5ae
--- /dev/null
+++ b/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/about.html
@@ -0,0 +1,28 @@
+<!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">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>June 5, 2007</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/build.properties b/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/build.properties
new file mode 100644
index 0000000..d0a33a3
--- /dev/null
+++ b/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/build.properties
@@ -0,0 +1,16 @@
+###############################################################################
+# 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 v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+# Contributors:
+#     ALL4TEC & CEA LIST - initial API and implementation
+###############################################################################
+source.. = src/main/java/
+output.. = target/classes/
+bin.includes = META-INF/,\
+               .,\
+               src/main/resources/,\
+               about.html,\
+               plugin.xml
diff --git a/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/plugin.xml b/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/plugin.xml
new file mode 100644
index 0000000..6466c0d
--- /dev/null
+++ b/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/plugin.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+   <extension
+         point="org.eclipse.papyrus.infra.viewpoints.policy.custom">
+      <contribution
+            file="src/main/resources/viewpoint/ESFSafetyRequirementsTable.configuration"
+            original="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration">
+      </contribution>
+   </extension>
+   <extension
+         point="org.eclipse.papyrus.infra.nattable.configuration">
+      <configuration
+            file="src/main/resources/nattable/ESFSafetyRequirementsTable.nattableconfiguration"
+            type="%nattable.id.safetyreqtable">
+      </configuration>
+   </extension>
+   <extension
+         point="org.eclipse.papyrus.infra.nattable.tester">
+      <tester
+            class="org.polarsys.esf.safetyreq.table.tester.ESFSafetyRequirementsTableTester"
+            id="org.polarsys.esf.safetyreq.table.tester.canSafetyReqTable">
+      </tester>
+   </extension>
+   <extension
+         point="org.eclipse.papyrus.infra.nattable.axismanager">
+      <axisManager
+            id="org.polarsys.esf.safetyreq.nattable.ESFSafetyRequirementsAxisManager"
+            manager="org.polarsys.esf.safetyreq.table.manager.axis.ESFSafetyRequirementsAxisManager">
+      </axisManager>
+   </extension>
+   <extension
+         point="org.eclipse.ui.commands">
+      <command
+            categoryId="org.eclipse.papyrus.editor.category"
+            description="%menucontext.ui.commands.create.safetyreq.table.description"
+            id="org.polarsys.esf.safetyreq.table.safetyreq.create.command"
+            name="%menucontext.ui.commands.create.safetyreq.table.label">
+      </command>
+   </extension>
+   <extension
+         point="org.eclipse.ui.handlers">
+      <handler
+            commandId="org.polarsys.esf.safetyreq.table.safetyreq.create.command">
+      </handler>
+   </extension>
+   <extension
+         point="org.eclipse.ui.commandImages">
+      <image
+            commandId="org.polarsys.esf.safetyreq.table.safetyreq.create.command"
+            icon="platform:/plugin/org.polarsys.esf.safetyreq.resources.graphical/src/main/resources/icons/icon_esfsafetyrequirements_table.png">
+      </image>
+   </extension>
+
+</plugin>
diff --git a/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/pom.xml b/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/pom.xml
new file mode 100644
index 0000000..a697a64
--- /dev/null
+++ b/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/pom.xml
@@ -0,0 +1,30 @@
+<?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 v1.0
+    which accompanies this distribution, and is available at
+    http://www.eclipse.org/legal/epl-v10.html
+    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.safetyreq.table</artifactId>
+    <version>0.7.0-SNAPSHOT</version>
+  </parent>
+  
+  <groupId>org.polarsys.esf</groupId>
+  <artifactId>org.polarsys.esf.safetyreq.table</artifactId>
+  <packaging>eclipse-plugin</packaging>
+  <name>ESFSafetyReq Table</name>
+  <description>ESFSafetyReq Table description.</description>
+
+</project>
\ No newline at end of file
diff --git a/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/src/main/java/org/polarsys/esf/safetyreq/table/ESFSafetyReqTableActivator.java b/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/src/main/java/org/polarsys/esf/safetyreq/table/ESFSafetyReqTableActivator.java
new file mode 100644
index 0000000..35e1d84
--- /dev/null
+++ b/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/src/main/java/org/polarsys/esf/safetyreq/table/ESFSafetyReqTableActivator.java
@@ -0,0 +1,158 @@
+/*******************************************************************************
+ * 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 v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * Contributors:
+ *     ALL4TEC & CEA LIST - initial API and implementation
+ *******************************************************************************/
+package org.polarsys.esf.safetyreq.table;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emf.common.EMFPlugin;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+
+/**
+ *
+ * The activator class controls the plug-in life cycle. It also provide an access to utility methods.
+ *
+ * @author $Author: ymunoz $
+ * @version $Revision: 168 $
+ */
+public class ESFSafetyReqTableActivator
+    extends EMFPlugin
+    implements BundleActivator {
+
+    /** The plug-in ID. */
+    public static final String PLUGIN_ID = "org.polarsys.esf.safetyreq.table"; //$NON-NLS-1$
+
+    /** The Table Type. */
+    public static final String TABLE_TYPE = "ESFSafetyRequirementsTable"; //$NON-NLS-1$
+
+    /** Keep track of the encapsulating singleton. */
+    public static final ESFSafetyReqTableActivator INSTANCE = new ESFSafetyReqTableActivator();
+
+    /** Execution context for the bundle. */
+    private static BundleContext sBundleContext = null;
+
+    /** Keep track of the implementation singleton. */
+    private static Implementation sPlugin = null;
+
+    /**
+     * Create the instance.
+     */
+    public ESFSafetyReqTableActivator() {
+        super(new ResourceLocator[] {});
+    }
+
+    /**
+     * Get BundlexContext.
+     *
+     * @return BundleContext
+     */
+    static BundleContext getContext() {
+        return sBundleContext;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public void start(final BundleContext pContext) throws Exception {
+        sBundleContext = pContext;
+
+        // Create the plugin implementation manually
+        sPlugin = new Implementation();
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public void stop(final BundleContext pContext) throws Exception {
+        sBundleContext = null;
+    }
+
+    /**
+     * Returns the singleton instance of the Eclipse plugin.
+     *
+     * @return The singleton instance.
+     */
+    @Override
+    public ResourceLocator getPluginResourceLocator() {
+        return sPlugin;
+    }
+
+    /**
+     * Returns the singleton instance of the Eclipse plugin.
+     *
+     * @return The singleton instance.
+     */
+    public static Implementation getPlugin() {
+        return sPlugin;
+    }
+
+    /**
+     * Create an Error status with the data given in parameter and log it.
+     *
+     * @param pMessage The message to log
+     * @param pException The exception to log
+     */
+    public static void logError(final String pMessage, final Exception pException) {
+        // Create the Error status
+        IStatus vStatus = new Status(IStatus.ERROR, PLUGIN_ID, IStatus.ERROR, pMessage, pException);
+
+        // Log it
+        INSTANCE.log(vStatus);
+    }
+
+    /**
+     * Create a Warning status with the data given in parameter and log it.
+     *
+     * @param pMessage The message to log
+     * @param pException The exception to log
+     */
+    public static void logWarning(final String pMessage, final Exception pException) {
+        // Create the Warning status
+        IStatus vStatus = new Status(IStatus.WARNING, PLUGIN_ID, IStatus.WARNING, pMessage, pException);
+
+        // Log it
+        INSTANCE.log(vStatus);
+    }
+
+    /**
+     * Create an Info status with the data given in parameter and log it.
+     *
+     * @param pMessage The message to log
+     * @param pException The exception to log
+     */
+    public static void logInfo(final String pMessage, final Exception pException) {
+        // Create the Info status
+        IStatus vStatus = new Status(IStatus.INFO, PLUGIN_ID, IStatus.INFO, pMessage, pException);
+
+        // Log it
+        INSTANCE.log(vStatus);
+    }
+
+    /**
+     * The actual implementation of the Eclipse <b>UIPlugin</b>.
+     */
+    public static class Implementation
+        extends EclipsePlugin {
+
+        /**
+         * Creates an instance.
+         */
+        public Implementation() {
+            super();
+
+            // Remember of the static instance
+            sPlugin = this;
+        }
+    }
+
+}
diff --git a/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/src/main/java/org/polarsys/esf/safetyreq/table/manager/axis/ESFSafetyRequirementsAxisManager.java b/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/src/main/java/org/polarsys/esf/safetyreq/table/manager/axis/ESFSafetyRequirementsAxisManager.java
new file mode 100644
index 0000000..8458e72
--- /dev/null
+++ b/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/src/main/java/org/polarsys/esf/safetyreq/table/manager/axis/ESFSafetyRequirementsAxisManager.java
@@ -0,0 +1,97 @@
+/*******************************************************************************
+ * 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 v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     ALL4TEC & CEA LIST - initial API and implementation
+ ******************************************************************************/
+package org.polarsys.esf.safetyreq.table.manager.axis;
+
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
+import org.eclipse.papyrus.uml.nattable.manager.axis.AbstractStereotypedElementUMLSynchronizedOnFeatureAxisManager;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.util.UMLUtil;
+import org.polarsys.esf.esfsafetyrequirements.ISSafetyRequirement;
+import org.polarsys.esf.esfsafetyrequirements.impl.ESFSafetyRequirementsPackage;
+import org.polarsys.esf.safetyreq.profile.service.types.set.ESFSafetyRequirementsTypesSet;
+
+/**
+ *
+ * Axis Manager for ESFSafetyRequirements Table.
+ *
+ * @author $Author: ymunoz $
+ * @version $Revision: 168 $
+ */
+public class ESFSafetyRequirementsAxisManager
+    extends AbstractStereotypedElementUMLSynchronizedOnFeatureAxisManager<ISSafetyRequirement> {
+
+    /**
+     *
+     * Default constructor.
+     */
+    public ESFSafetyRequirementsAxisManager() {
+    }
+
+    /**
+     *
+     * {@inheritDoc}
+     */
+    @Override
+    public boolean canCreateAxisElement(final String pElementId) {
+        ISpecializationType vType = (ISpecializationType) ElementTypeRegistry.getInstance()
+            .getType(ESFSafetyRequirementsTypesSet.SSAFETYREQUIREMENT_TYPE_ID);
+        return vType.getId().equals(pElementId);
+    }
+
+    /**
+     *
+     * {@inheritDoc}
+     */
+    @Override
+    protected Element getStereotypeBaseElement(final ISSafetyRequirement pStereotypeApplication) {
+        return pStereotypeApplication.getBase_Class();
+    }
+
+    /**
+     *
+     * {@inheritDoc}
+     */
+    @Override
+    protected boolean isInstanceOfRequiredStereotypeApplication(final Object pObject) {
+        return pObject instanceof ISSafetyRequirement;
+    }
+
+    /**
+     *
+     * {@inheritDoc}
+     */
+    @Override
+    protected boolean isAllowedAsBaseElement(final Element pElement) {
+        return pElement instanceof Class;
+    }
+
+    /**
+     *
+     * {@inheritDoc}
+     */
+    @Override
+    protected ISSafetyRequirement getStereotypeApplication(final Element pElement) {
+        return UMLUtil.getStereotypeApplication(pElement, ISSafetyRequirement.class);
+    }
+
+    /**
+     *
+     * {@inheritDoc}
+     */
+    @Override
+    protected String getStereotypeApplicationBasePropertyName() {
+        return ESFSafetyRequirementsPackage.eINSTANCE.getSSafetyRequirement().getName();
+    }
+
+}
+
diff --git a/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/src/main/java/org/polarsys/esf/safetyreq/table/set/ESFSafetyRequirementsTablesSet.java b/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/src/main/java/org/polarsys/esf/safetyreq/table/set/ESFSafetyRequirementsTablesSet.java
new file mode 100644
index 0000000..0c5b670
--- /dev/null
+++ b/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/src/main/java/org/polarsys/esf/safetyreq/table/set/ESFSafetyRequirementsTablesSet.java
@@ -0,0 +1,45 @@
+/*******************************************************************************
+ * 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 v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     ALL4TEC & CEA LIST - initial API and implementation
+ ******************************************************************************/
+package org.polarsys.esf.safetyreq.table.set;
+
+/**
+ * ESFSafetyRequirements tables set.
+ *
+ * @author $Author: ymunoz $
+ * @version $Revision: 168 $
+ */
+public final class ESFSafetyRequirementsTablesSet {
+
+    /**
+     * ESFSafetyRequirements Table Table ID.
+     * NOTE: The ID must be the same in:
+     *  - ESFSafetyRequirementsTable.configuration
+     *  - ESFSafetyRequirementsTable.nattableconfiguration
+     */
+    public static final String SAFETYREQ_TABLE_ID =
+        "ESFSafetyRequirementsTable"; //$NON-NLS-1$
+
+    /**
+     * ESFSafetyRequirements Table name.
+     * NOTE: The name must be the same in:
+     *  - ESFSafetyRequirementsTable.nattableconfiguration
+     */
+    public static final String SAFETYREQ_TABLE_NAME =
+        "ESFSafetyReqTable"; //$NON-NLS-1$
+
+
+    /**
+     * Default constructor, private as it's a utility class.
+     */
+    private ESFSafetyRequirementsTablesSet() {
+        // Nothing to do
+    }
+}
diff --git a/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/src/main/java/org/polarsys/esf/safetyreq/table/tester/ESFSafetyRequirementsTableTester.java b/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/src/main/java/org/polarsys/esf/safetyreq/table/tester/ESFSafetyRequirementsTableTester.java
new file mode 100644
index 0000000..35c5688
--- /dev/null
+++ b/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/src/main/java/org/polarsys/esf/safetyreq/table/tester/ESFSafetyRequirementsTableTester.java
@@ -0,0 +1,88 @@
+/*******************************************************************************
+ * 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 v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     ALL4TEC & CEA LIST - initial API and implementation
+ ******************************************************************************/
+package org.polarsys.esf.safetyreq.table.tester;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
+import org.eclipse.papyrus.infra.nattable.tester.ITableTester;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.util.UMLUtil;
+import org.polarsys.esf.esfsafetyrequirements.IESFSafetyRequirementsPackage;
+import org.polarsys.esf.safetyreq.profile.service.types.set.ESFSafetyRequirementsTypesSet;
+import org.polarsys.esf.safetyreq.table.ESFSafetyReqTableActivator;
+
+/**
+ *
+ * Class responsible to test if the ESFSafetyRequirements Table can be created.
+ *
+ * @author $Author: ymunoz $
+ * @version $Revision: 168 $
+ */
+public final class ESFSafetyRequirementsTableTester
+    implements ITableTester {
+
+    /**
+     *
+     * Default constructor.
+     */
+    public ESFSafetyRequirementsTableTester() {
+    }
+
+    /**
+     *
+     * {@inheritDoc}
+     */
+    @Override
+    public IStatus isAllowed(final Object pContext) {
+        IStatus vStatus = null;
+        if (pContext instanceof Element) {
+            Element vEl = (Element) pContext;
+            ISpecializationType vType = (ISpecializationType) ElementTypeRegistry.getInstance()
+                .getType(ESFSafetyRequirementsTypesSet.SSAFETYREQUIREMENT_TYPE_ID);
+            if (vType != null) {
+                IElementMatcher vMatcher = vType.getMatcher();
+                Profile vProfile = null;
+                if (pContext instanceof Package || vMatcher.matches(vEl)) {
+                    vProfile = UMLUtil.getProfile(IESFSafetyRequirementsPackage.eINSTANCE, vEl);
+                }
+
+                if (vProfile != null) {
+                    final String vPackageQN = vProfile.getQualifiedName();
+                    if (vEl.getNearestPackage().getAppliedProfile(vPackageQN, true) != null) {
+                        vStatus = new Status(
+                            IStatus.OK,
+                            ESFSafetyReqTableActivator.PLUGIN_ID,
+                            "The context allowed to create a ESFSafetyRequirements Table"); //$NON-NLS-1$
+                    } else {
+                        vStatus = new Status(
+                            IStatus.ERROR,
+                            ESFSafetyReqTableActivator.PLUGIN_ID,
+                            "The profile " + vPackageQN //$NON-NLS-1$
+                                + " is not applied on the model"); //$NON-NLS-1$
+                    }
+                }
+            }
+        }
+
+        if (vStatus == null) {
+            vStatus = new Status(
+                IStatus.ERROR,
+                ESFSafetyReqTableActivator.PLUGIN_ID,
+                "The context is not an UML Element"); //$NON-NLS-1$
+        }
+        return vStatus;
+    }
+
+}
diff --git a/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/src/main/resources/nattable/ESFSafetyRequirementsTable.nattableconfiguration b/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/src/main/resources/nattable/ESFSafetyRequirementsTable.nattableconfiguration
new file mode 100644
index 0000000..62e4fd7
--- /dev/null
+++ b/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/src/main/resources/nattable/ESFSafetyRequirementsTable.nattableconfiguration
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattableconfiguration:TableConfiguration 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: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" xmlns:nattabletester="http://www.eclipse.org/papyrus/nattable/model/table/nattabletester" description="A synchronized table for ESFSafetyRequirements" name="ESFSafetyReqTable" type="ESFSafetyRequirementsTable" iconPath="platform:/plugin/org.polarsys.esf.safetyreq.resources.graphical/src/main/resources/icons/icon_esfsafetyrequirements_table.png" defaultRowAxisProvider="//@rowAxisProviders.0" defaultColumnAxisProvider="//@columnAxisProviders.0">
+  <styles xsi:type="nattablestyle:TableDisplayStyle"/>
+  <creationTester xsi:type="nattabletester:JavaTableTester" tester="org.polarsys.esf.safetyreq.table.tester.canESFSafetyRequirementsTable"/>
+  <rowHeaderAxisConfiguration xsi:type="nattableaxisconfiguration:TableHeaderAxisConfiguration" indexStyle="NUMERIC">
+    <ownedLabelConfigurations xsi:type="nattablelabelprovider:ObjectLabelProviderConfiguration"/>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:EStructuralFeatureValueFillingConfiguration">
+      <listenFeature xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Namespace/ownedMember"/>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xsi:type="nattableaxisconfiguration:PasteEObjectConfiguration" pastedElementId="org.polarsys.esf.ESFSafetyRequirements.SSSafetyRequirement">
+      <postActions>applyStereotype:/ESFSafetyRequirements::SSafetyRequirement</postActions>
+      <pasteElementContainementFeature xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property/class"/>
+      <axisIdentifier xsi:type="nattableaxis:EStructuralFeatureAxis"/>
+    </ownedAxisConfigurations>
+    <axisManagers xsi:type="nattableaxisconfiguration:AxisManagerRepresentation" axisManagerId="org.polarsys.esf.safetyreq.nattable.ESFSafetyRequirementsAxisManager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.labelprovider" headerLabelConfiguration="//@rowHeaderAxisConfiguration/@ownedLabelConfigurations.0" specificAxisConfigurations="//@rowHeaderAxisConfiguration/@ownedAxisConfigurations.0"/>
+  </rowHeaderAxisConfiguration>
+  <columnHeaderAxisConfiguration xsi:type="nattableaxisconfiguration:TableHeaderAxisConfiguration">
+    <ownedLabelConfigurations xsi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" displayIcon="false" displayIsDerived="false" displayType="false" displayMultiplicity="false"/>
+    <axisManagers xsi:type="nattableaxisconfiguration:AxisManagerRepresentation" axisManagerId="org.eclipse.papyrus.uml.nattable.feature.axis.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.feature.labelprovider" headerLabelConfiguration="//@columnHeaderAxisConfiguration/@ownedLabelConfigurations.0"/>
+    <axisManagers xsi:type="nattableaxisconfiguration:AxisManagerRepresentation" axisManagerId="org.eclipse.papyrus.uml.nattable.stereotype.property.axis.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.feature.labelprovider" headerLabelConfiguration="//@columnHeaderAxisConfiguration/@ownedLabelConfigurations.0"/>
+  </columnHeaderAxisConfiguration>
+  <columnAxisProviders xsi:type="nattableaxisprovider:SlaveObjectAxisProvider" description="Provides the columns of the tables with a default configuration" name="SSafetyRequirement Feature Columns Provider">
+    <axis xsi:type="nattableaxis:FeatureIdAxis" manager="//@columnHeaderAxisConfiguration/@axisManagers.1" alias="ID" element="property_of_stereotype:/SysML::Requirements::Requirement::id"/>
+    <axis xsi:type="nattableaxis:FeatureIdAxis" manager="//@columnHeaderAxisConfiguration/@axisManagers.1" alias="Text" element="property_of_stereotype:/SysML::Requirements::Requirement::text"/>
+    <axis xsi:type="nattableaxis:EStructuralFeatureAxis" manager="//@columnHeaderAxisConfiguration/@axisManagers.0" alias="Name">
+      <element xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+    </axis>
+    <axis xsi:type="nattableaxis:FeatureIdAxis" manager="//@columnHeaderAxisConfiguration/@axisManagers.1" alias="Criticality" element="property_of_stereotype:/ESFSafetyRequirements::SSafetyRequirement::criticality"/>
+    <axis xsi:type="nattableaxis:FeatureIdAxis" manager="//@rowHeaderAxisConfiguration/@axisManagers.0" alias="Failure Modes (FMEA)" element="property_of_stereotype:/ESFSafetyRequirements::SSafetyRequirement::sFailureModesFMEAList"/>
+  </columnAxisProviders>
+  <rowAxisProviders xsi:type="nattableaxisprovider:MasterObjectAxisProvider" description="Provides the requirements directly owned by the context of the table" name="SSafetyRequirement Axis Provider" disconnectSlave="true"/>
+</nattableconfiguration:TableConfiguration>
diff --git a/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/src/main/resources/properties/plugin.properties b/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/src/main/resources/properties/plugin.properties
new file mode 100644
index 0000000..ea93fc1
--- /dev/null
+++ b/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/src/main/resources/properties/plugin.properties
@@ -0,0 +1,18 @@
+###############################################################################
+# 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 v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+# Contributors:
+#     ALL4TEC & CEA LIST - initial API and implementation
+###############################################################################
+#Properties file for org.polarsys.esf.safetyreq.table
+Bundle-Name= ESF SafetyReq Table
+Bundle-Vendor=PolarSys
+
+
+menucontext.ui.commands.create.safetyreq.table.label = Create a new SafetyRequirements Table
+menucontext.ui.commands.create.safetyreq.table.description = Create a new SafetyRequirements Table Editor
+
+nattable.id.safetyreqtable = ESFSafetyRequirementsTable
\ No newline at end of file
diff --git a/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/src/main/resources/viewpoint/ESFSafetyRequirementsTable.configuration b/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/src/main/resources/viewpoint/ESFSafetyRequirementsTable.configuration
new file mode 100644
index 0000000..d9f34b9
--- /dev/null
+++ b/analysis/safetyreq/table/org.polarsys.esf.safetyreq.table/src/main/resources/viewpoint/ESFSafetyRequirementsTable.configuration
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration:PapyrusConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmi:id="_9UDYEO4KEeabccJ0ZdhGEQ">
+  <viewpoints xsi:type="configuration:PapyrusViewpoint" xmi:id="_QWMMQO4LEeabccJ0ZdhGEQ" name="Default Papyrus Viewpoint">
+    <modelKinds xsi:type="configuration:PapyrusSyncTable" xmi:id="_Wy0RcO4LEeabccJ0ZdhGEQ" name="ESFSafetyRequirements Table" icon="platform:/plugin/org.polarsys.esf.safetyreq.resources.graphical/src/main/resources/icons/icon_esfsafetyrequirements_table.png" implementationID="ESFSafetyRequirementsTable" categories="_QxfBIO4LEeabccJ0ZdhGEQ">
+      <profiles href="http://www.polarsys.org/esf/0.7.0/ESFSafetyRequirements#/"/>
+      <modelRules xmi:id="_j7c7oO4LEeabccJ0ZdhGEQ">
+        <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+      </modelRules>
+      <owningRules xmi:id="_noqNMO4LEeabccJ0ZdhGEQ">
+        <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+      </owningRules>
+    </modelKinds>
+  </viewpoints>
+  <defaultStakeholder href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wLmkdxhEeOqHvRyiN87hA"/>
+  <metamodel href="http://www.eclipse.org/uml2/5.0.0/UML#/"/>
+  <categories xmi:id="_QxfBIO4LEeabccJ0ZdhGEQ" name="ESF"/>
+</configuration:PapyrusConfiguration>
diff --git a/analysis/safetyreq/table/pom.xml b/analysis/safetyreq/table/pom.xml
new file mode 100644
index 0000000..fc576bc
--- /dev/null
+++ b/analysis/safetyreq/table/pom.xml
@@ -0,0 +1,25 @@
+<?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>
+  
+  <!-- PROJECT DESCRIPTION -->
+  <parent>
+    <groupId>org.polarsys.esf</groupId>
+    <artifactId>esf-tools.analysis.safetyreq</artifactId>
+    <version>0.7.0-SNAPSHOT</version>
+  </parent>
+  
+  <groupId>org.polarsys.esf</groupId>
+  <artifactId>esf-tools.analysis.safetyreq.table</artifactId>
+  <packaging>pom</packaging>
+  <name>ESF SafetyReq Table</name>
+  <description>ESF SafetyReq Table description.</description>
+  
+  <!-- MODULES -->  
+  <modules>
+    <module>org.polarsys.esf.safetyreq.table</module>
+  </modules>
+</project>
\ No newline at end of file