Bug 569242 - [PrivacyDesigner] add validation to ensure that process
requirement depends of Requirement

Change-Id: I64fc5e5cd8090ba6e17bd2193f0509adf6378090
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/src/org/eclipse/pdp4eng/req/gdprananalysis/internal/RequirementTestGeneratorImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/src/org/eclipse/pdp4eng/req/gdprananalysis/internal/RequirementTestGeneratorImpl.java
index ce721c0..01f7cff 100644
--- a/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/src/org/eclipse/pdp4eng/req/gdprananalysis/internal/RequirementTestGeneratorImpl.java
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/src/org/eclipse/pdp4eng/req/gdprananalysis/internal/RequirementTestGeneratorImpl.java
@@ -49,6 +49,7 @@
 
 	@Override
 	public Command generateArticle51a(TransactionalEditingDomain domain, Package owner) {
+		// Create 1 requirement Fairly, Lawfull, Transparent per PR-PD (Process requirement where PersonalData.size()>0 *implied DataSubject
 		CompoundCommand compoundCommand= new CompoundCommand();
 		Iterator<EObject> iterator=owner.eAllContents();
 
@@ -102,6 +103,7 @@
 
 	@Override
 	public Command generateArticle51b(TransactionalEditingDomain domain, Package owner) {
+		// Create 1 requirement PurposeLimitation per PR-PD (Process requirement where PersonalData.size()>0 *PersonalData.size()
 		//purpose Limitation
 		CompoundCommand compoundCommand= new CompoundCommand();
 		Iterator<EObject> iterator=owner.eAllContents();
@@ -127,6 +129,7 @@
 
 	@Override
 	public Command generateArticle51d(TransactionalEditingDomain domain, Package owner) {
+		// Create 1 requirement Accuracy per PR-PD (Process requirement where PersonalData.size()>0 *PersonalData.size()
 		//accuracy
 		CompoundCommand compoundCommand= new CompoundCommand();
 		Iterator<EObject> iterator=owner.eAllContents();
@@ -152,6 +155,7 @@
 
 	@Override
 	public Command generateArticle51e(TransactionalEditingDomain domain, Package owner) {
+		// Create 1 requirement StorageLimitation per PR-PD (Process requirement where PersonalData.size()>0 *PersonalData.size()
 		// storage limitation
 		CompoundCommand compoundCommand= new CompoundCommand();
 		Iterator<EObject> iterator=owner.eAllContents();
@@ -177,6 +181,7 @@
 
 	@Override
 	public Command generateArticle51f(TransactionalEditingDomain domain, Package owner) {
+		// Create 1 requirement StorageLimitation per PR-PD (Process requirement where PersonalData.size()>0 
 		// integrity confidentiality
 		CompoundCommand compoundCommand= new CompoundCommand();
 		Iterator<EObject> iterator=owner.eAllContents();
@@ -210,6 +215,8 @@
 	@Override
 	public Command generateArticle51c(TransactionalEditingDomain domain, Package owner) {
 		// data minimisation
+		// Create 1 requirement DataMinimization per PR-PD *PersonalData.size()
+		
 		CompoundCommand compoundCommand= new CompoundCommand();
 		Iterator<EObject> iterator=owner.eAllContents();
 
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/.classpath b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/.classpath
index eca7bdb..f0c5549 100644
--- a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/.classpath
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/.classpath
@@ -3,5 +3,6 @@
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="src" path="src-gen"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/META-INF/MANIFEST.MF b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/META-INF/MANIFEST.MF
index 22114b3..7edb0e5 100644
--- a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/META-INF/MANIFEST.MF
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/META-INF/MANIFEST.MF
@@ -12,7 +12,9 @@
  org.eclipse.emf.ecore;bundle-version="[2.22.0,3.0.0)";visibility:=reexport,
  org.eclipse.uml2.types;bundle-version="[2.5.0,3.0.0)";visibility:=reexport,
  org.eclipse.uml2.uml;bundle-version="[5.5.0,6.0.0)";visibility:=reexport,
- org.eclipse.papyrus.pdp4eng.common.profile;bundle-version="[1.0.0,2.0.0)";visibility:=reexport
+ org.eclipse.papyrus.pdp4eng.common.profile;bundle-version="[1.0.0,2.0.0)";visibility:=reexport,
+ org.eclipse.emf.validation;bundle-version="[1.8.0,2.0.0)",
+ org.eclipse.papyrus.sysml14;bundle-version="[1.3.0,2.0.0)"
 Bundle-ActivationPolicy: lazy
 Export-Package: org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR,
  org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl,
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/build.properties b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/build.properties
index bcfc6fd..d2ac20c 100644
--- a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/build.properties
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/build.properties
@@ -1,4 +1,5 @@
-source.. = src/
+source.. = src/,\
+           src-gen/
 output.. = bin/
 bin.includes = META-INF/,\
                .,\
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/plugin.xml b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/plugin.xml
index 531320c..41cfa49 100644
--- a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/plugin.xml
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/plugin.xml
@@ -22,6 +22,44 @@
             location="pathmap://PDP4ENG-REQ/pdp4engReqGDPR.profile.uml#pdp4engreqprofile"
             uri="http://org.eclipse.papyrus.pdp4eng.req.profile">
       </profile>
-    </extension>
+    </extension><extension
+         point="org.eclipse.emf.validation.constraintProviders">
+      <category
+            id="org.eclipse.papyrus.pdp4eng.req"
+            mandatory="true"
+            name="PDP4Eng Req constraints"/>
+      <constraintProvider cache="true">
+         <package namespaceUri="http://org.eclipse.papyrus.pdp4eng.req.profile"/>
+         <constraints categories="org.eclipse.papyrus.pdp4eng.req">
+            <constraint
+                  lang="Java"
+                  class="org.eclipse.papyrus.pdp4eng.req.profile.constraints.PRShallHaveAbstractionLink"
+                  severity="ERROR"
+                  mode="Batch"
+                  name="Process Requirement shall depend from a requirement"
+                  id="org.eclipse.papyrus.pdp4eng.req.PRShallHaveAbstractionLink"
+                  statusCode="1">
+               <description>
+                  All Process Requirement shall have a Abstraction link to a requirement.
+               </description>
+               <message>
+                  The process Requirement {0} has no link to a requirement.
+               </message>
+               <target class="Class"/>
+            </constraint>
+         </constraints>
+      </constraintProvider>
+   </extension>
+     <extension
+         point="org.eclipse.emf.validation.constraintBindings">
+      <clientContext
+            default="false"
+            id="org.eclipse.papyrus.pdp4eng.reqContext">
+         <selector class="org.eclipse.papyrus.pdp4eng.req.profile.constraints.ValidationDelegateClientSelector"/>
+      </clientContext>
+      <binding
+            context="org.eclipse.papyrus.pdp4eng.reqContext"
+            category="org.eclipse.papyrus.pdp4eng.req"/>
+   </extension> 
 
 </plugin>
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Accuracy.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Accuracy.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Accuracy.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Accuracy.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/AnanomityRequirement.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/AnanomityRequirement.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/AnanomityRequirement.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/AnanomityRequirement.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/AvailableAt.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/AvailableAt.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/AvailableAt.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/AvailableAt.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/AvailableInformation.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/AvailableInformation.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/AvailableInformation.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/AvailableInformation.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/AvailableInformationContainer.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/AvailableInformationContainer.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/AvailableInformationContainer.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/AvailableInformationContainer.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/CollectionMethod.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/CollectionMethod.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/CollectionMethod.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/CollectionMethod.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Controlers.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Controlers.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Controlers.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Controlers.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataFlowRequirement.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataFlowRequirement.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataFlowRequirement.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataFlowRequirement.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataMinimisation.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataMinimisation.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataMinimisation.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataMinimisation.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataRecordRequirement.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataRecordRequirement.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataRecordRequirement.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataRecordRequirement.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataRequirement.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataRequirement.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataRequirement.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataRequirement.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataRequirements.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataRequirements.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataRequirements.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataRequirements.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataSubjects.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataSubjects.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataSubjects.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataSubjects.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataUnlinkabilityRequirement.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataUnlinkabilityRequirement.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataUnlinkabilityRequirement.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataUnlinkabilityRequirement.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DerivedFrom.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DerivedFrom.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DerivedFrom.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DerivedFrom.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Duration.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Duration.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Duration.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Duration.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Fairly.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Fairly.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Fairly.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Fairly.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/FunctionalRequirements.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/FunctionalRequirements.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/FunctionalRequirements.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/FunctionalRequirements.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/GDPRPrinciple.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/GDPRPrinciple.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/GDPRPrinciple.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/GDPRPrinciple.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/GeneratedRequirements.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/GeneratedRequirements.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/GeneratedRequirements.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/GeneratedRequirements.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Lawful.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Lawful.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Lawful.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Lawful.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByConsent.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByConsent.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByConsent.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByConsent.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByContract.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByContract.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByContract.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByContract.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByLegalObligation.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByLegalObligation.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByLegalObligation.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByLegalObligation.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByLegitimateInterest.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByLegitimateInterest.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByLegitimateInterest.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByLegitimateInterest.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByPublicInterest.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByPublicInterest.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByPublicInterest.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByPublicInterest.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByVitalInterest.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByVitalInterest.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByVitalInterest.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByVitalInterest.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Link.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Link.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Link.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Link.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Linkability.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Linkability.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Linkability.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Linkability.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Linkable.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Linkable.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Linkable.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Linkable.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/NonFunctionalRequirements.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/NonFunctionalRequirements.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/NonFunctionalRequirements.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/NonFunctionalRequirements.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PersonalDataRequirement.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PersonalDataRequirement.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PersonalDataRequirement.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PersonalDataRequirement.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PersonalInformation.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PersonalInformation.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PersonalInformation.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PersonalInformation.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PersonalInformationContainer.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PersonalInformationContainer.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PersonalInformationContainer.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PersonalInformationContainer.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PrivacyRequirement.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PrivacyRequirement.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PrivacyRequirement.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PrivacyRequirement.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/ProcessPrinciple.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/ProcessPrinciple.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/ProcessPrinciple.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/ProcessPrinciple.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/ProcessRequirement.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/ProcessRequirement.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/ProcessRequirement.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/ProcessRequirement.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PseudonimityRequirement.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PseudonimityRequirement.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PseudonimityRequirement.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PseudonimityRequirement.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PseudonymKind.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PseudonymKind.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PseudonymKind.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PseudonymKind.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PurposeLimitation.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PurposeLimitation.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PurposeLimitation.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PurposeLimitation.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PurposePersonalDataPrinciple.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PurposePersonalDataPrinciple.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PurposePersonalDataPrinciple.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PurposePersonalDataPrinciple.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/RelatedTo.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/RelatedTo.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/RelatedTo.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/RelatedTo.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/SecuritySafety.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/SecuritySafety.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/SecuritySafety.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/SecuritySafety.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Stakeholder.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Stakeholder.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Stakeholder.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Stakeholder.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/StorageLimitation.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/StorageLimitation.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/StorageLimitation.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/StorageLimitation.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Transparency.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Transparency.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Transparency.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Transparency.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/UndectabilityRequirement.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/UndectabilityRequirement.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/UndectabilityRequirement.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/UndectabilityRequirement.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/UnlinkabilityRequirement.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/UnlinkabilityRequirement.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/UnlinkabilityRequirement.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/UnlinkabilityRequirement.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/AccuracyImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/AccuracyImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/AccuracyImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/AccuracyImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/AnanomityRequirementImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/AnanomityRequirementImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/AnanomityRequirementImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/AnanomityRequirementImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/AvailableAtImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/AvailableAtImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/AvailableAtImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/AvailableAtImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/AvailableInformationContainerImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/AvailableInformationContainerImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/AvailableInformationContainerImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/AvailableInformationContainerImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/AvailableInformationImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/AvailableInformationImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/AvailableInformationImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/AvailableInformationImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/ControlersImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/ControlersImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/ControlersImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/ControlersImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataFlowRequirementImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataFlowRequirementImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataFlowRequirementImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataFlowRequirementImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataMinimisationImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataMinimisationImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataMinimisationImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataMinimisationImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataRecordRequirementImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataRecordRequirementImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataRecordRequirementImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataRecordRequirementImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataRequirementImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataRequirementImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataRequirementImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataRequirementImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataRequirementsImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataRequirementsImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataRequirementsImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataRequirementsImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataSubjectsImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataSubjectsImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataSubjectsImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataSubjectsImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataUnlinkabilityRequirementImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataUnlinkabilityRequirementImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataUnlinkabilityRequirementImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataUnlinkabilityRequirementImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DerivedFromImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DerivedFromImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DerivedFromImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DerivedFromImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/FairlyImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/FairlyImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/FairlyImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/FairlyImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/FunctionalRequirementsImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/FunctionalRequirementsImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/FunctionalRequirementsImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/FunctionalRequirementsImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/GDPRPrincipleImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/GDPRPrincipleImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/GDPRPrincipleImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/GDPRPrincipleImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/GeneratedRequirementsImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/GeneratedRequirementsImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/GeneratedRequirementsImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/GeneratedRequirementsImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByConsentImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByConsentImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByConsentImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByConsentImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByContractImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByContractImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByContractImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByContractImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByLegalObligationImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByLegalObligationImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByLegalObligationImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByLegalObligationImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByLegitimateInterestImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByLegitimateInterestImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByLegitimateInterestImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByLegitimateInterestImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByPublicInterestImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByPublicInterestImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByPublicInterestImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByPublicInterestImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByVitalInterestImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByVitalInterestImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByVitalInterestImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByVitalInterestImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LinkImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LinkImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LinkImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LinkImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LinkableImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LinkableImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LinkableImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LinkableImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/NonFunctionalRequirementsImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/NonFunctionalRequirementsImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/NonFunctionalRequirementsImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/NonFunctionalRequirementsImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PersonalDataRequirementImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PersonalDataRequirementImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PersonalDataRequirementImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PersonalDataRequirementImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PersonalInformationContainerImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PersonalInformationContainerImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PersonalInformationContainerImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PersonalInformationContainerImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PersonalInformationImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PersonalInformationImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PersonalInformationImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PersonalInformationImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PrivacyRequirementImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PrivacyRequirementImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PrivacyRequirementImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PrivacyRequirementImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/ProcessPrincipleImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/ProcessPrincipleImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/ProcessPrincipleImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/ProcessPrincipleImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/ProcessRequirementImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/ProcessRequirementImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/ProcessRequirementImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/ProcessRequirementImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PseudonimityRequirementImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PseudonimityRequirementImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PseudonimityRequirementImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PseudonimityRequirementImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PurposeLimitationImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PurposeLimitationImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PurposeLimitationImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PurposeLimitationImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PurposePersonalDataPrincipleImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PurposePersonalDataPrincipleImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PurposePersonalDataPrincipleImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PurposePersonalDataPrincipleImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/RelatedToImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/RelatedToImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/RelatedToImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/RelatedToImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/SecuritySafetyImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/SecuritySafetyImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/SecuritySafetyImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/SecuritySafetyImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/StakeholderImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/StakeholderImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/StakeholderImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/StakeholderImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/StorageLimitationImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/StorageLimitationImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/StorageLimitationImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/StorageLimitationImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/TransparencyImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/TransparencyImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/TransparencyImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/TransparencyImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/UndectabilityRequirementImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/UndectabilityRequirementImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/UndectabilityRequirementImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/UndectabilityRequirementImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/UnlinkabilityRequirementImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/UnlinkabilityRequirementImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/UnlinkabilityRequirementImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/UnlinkabilityRequirementImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/pdp4engReqGDPRFactoryImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/pdp4engReqGDPRFactoryImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/pdp4engReqGDPRFactoryImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/pdp4engReqGDPRFactoryImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/pdp4engReqGDPRPackageImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/pdp4engReqGDPRPackageImpl.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/pdp4engReqGDPRPackageImpl.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/pdp4engReqGDPRPackageImpl.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/pdp4engReqGDPRFactory.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/pdp4engReqGDPRFactory.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/pdp4engReqGDPRFactory.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/pdp4engReqGDPRFactory.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/pdp4engReqGDPRPackage.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/pdp4engReqGDPRPackage.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/pdp4engReqGDPRPackage.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/pdp4engReqGDPRPackage.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/util/pdp4engReqGDPRAdapterFactory.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/util/pdp4engReqGDPRAdapterFactory.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/util/pdp4engReqGDPRAdapterFactory.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/util/pdp4engReqGDPRAdapterFactory.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/util/pdp4engReqGDPRSwitch.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/util/pdp4engReqGDPRSwitch.java
similarity index 100%
rename from plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/util/pdp4engReqGDPRSwitch.java
rename to plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src-gen/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/util/pdp4engReqGDPRSwitch.java
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/constraints/PRShallHaveAbstractionLink.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/constraints/PRShallHaveAbstractionLink.java
new file mode 100644
index 0000000..943656e
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/constraints/PRShallHaveAbstractionLink.java
@@ -0,0 +1,69 @@
+/**
+ *  Copyright (c)2020 CEA LIST, Committer Name, and others.
+ * 
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License 2.0
+ *  which accompanies this distribution, and is available at
+ *  https://www.eclipse.org/legal/epl-2.0/
+ * 
+ *  SPDX-License-Identifier: EPL-2.0
+ * 
+ *  Contributors:
+ *  CEA LIST - Initial API and implementation
+ *  Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr 
+ *  Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr 
+ * 
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.constraints;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.EMFEventType;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.ProcessRequirement;
+import org.eclipse.papyrus.sysml14.requirements.Requirement;
+import org.eclipse.uml2.uml.DirectedRelationship;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.util.UMLUtil;
+/**
+ * A process requirement shall have a Abstraction link to Requirement
+ *
+ */
+public class PRShallHaveAbstractionLink extends AbstractModelConstraint {
+
+	public IStatus validate(IValidationContext ctx) {
+		EObject eObject = ctx.getTarget();
+		EMFEventType eType = ctx.getEventType();
+
+		// In the case of batch mode.
+		if (eType == EMFEventType.NULL) {
+			if (eObject instanceof ProcessRequirement) {
+				NamedElement umlElement= ((ProcessRequirement)eObject).getBase_NamedElement();
+				TraceabilityIndexer.getInstance().loadTraceability(umlElement);
+				ArrayList<DirectedRelationship> links=TraceabilityIndexer.getInstance().getUpwardTraceabiltiy(umlElement);
+				if( links==null|| links.size()==0) {
+					return ctx.createFailureStatus(new Object[] {umlElement.getName()});
+				}
+				for (Iterator<DirectedRelationship> iteratorLinks = links.iterator(); iteratorLinks.hasNext();) {
+					DirectedRelationship directedRelationship = (DirectedRelationship) iteratorLinks.next();
+					for (Iterator<Element> targetsIterator = directedRelationship.getTargets().iterator(); targetsIterator.hasNext();) {
+						Element target = (Element) targetsIterator.next();
+						if(UMLUtil.getStereotypeApplication(target, Requirement.class)!=null) {
+							return ctx.createSuccessStatus();
+						}
+
+					}
+				}//end loop
+				return ctx.createFailureStatus(new Object[] {umlElement.getName()});
+			}//this is a process requirement
+		}
+
+		return ctx.createSuccessStatus();
+	}
+
+}
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/constraints/TraceabilityIndexer.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/constraints/TraceabilityIndexer.java
new file mode 100644
index 0000000..b4a713b
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/constraints/TraceabilityIndexer.java
@@ -0,0 +1,87 @@
+/**
+ *  Copyright (c)2020 CEA LIST, Committer Name, and others.
+ * 
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License 2.0
+ *  which accompanies this distribution, and is available at
+ *  https://www.eclipse.org/legal/epl-2.0/
+ * 
+ *  SPDX-License-Identifier: EPL-2.0
+ * 
+ *  Contributors:
+ *  CEA LIST - Initial API and implementation
+ *  Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr 
+ *  Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr 
+ * 
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.constraints;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.uml2.uml.DirectedRelationship;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.resource.UMLResource;
+
+public class TraceabilityIndexer {
+	private HashMap<Element,ArrayList<DirectedRelationship> > upwardTraceability= new HashMap<Element, ArrayList<DirectedRelationship>>();
+	private HashMap<Element,ArrayList<DirectedRelationship> > downwardTraceability= new HashMap<Element, ArrayList<DirectedRelationship>>();
+	private static TraceabilityIndexer instance=null;
+	public static TraceabilityIndexer getInstance() {
+		if( instance==null) {
+			instance= new TraceabilityIndexer();
+		}
+		return instance;
+	}
+
+
+
+	public void loadTraceability(Element context) {
+		ResourceSet resourceSet=context.eResource().getResourceSet();
+		for(int i=0; i< resourceSet.getResources().size();i++) {
+			Resource resource = (Resource) resourceSet.getResources().get(i);
+			if( resource instanceof UMLResource) {
+				for (Iterator<EObject> iteratorObject = resource.getAllContents(); iteratorObject.hasNext();) {
+					EObject ownedElement = (EObject) iteratorObject.next();
+					if(ownedElement instanceof DirectedRelationship) {
+						DirectedRelationship directedRelationship= (DirectedRelationship)ownedElement;
+						for (Iterator<Element> iterator = directedRelationship.getSources().iterator(); iterator.hasNext();) {
+							Element currentSource = (Element) iterator.next();
+							if( upwardTraceability.get(currentSource)!=null) {
+								upwardTraceability.get(currentSource).add(directedRelationship);
+							}
+							else {
+								ArrayList<DirectedRelationship> aCollection= new ArrayList<DirectedRelationship>();
+								aCollection.add(directedRelationship);
+								upwardTraceability.put(currentSource, aCollection);
+							}
+						}
+						for (Iterator<Element> iterator = directedRelationship.getTargets().iterator(); iterator.hasNext();) {
+							Element currentTarget = (Element) iterator.next();
+							if( downwardTraceability.get(currentTarget)!=null) {
+								downwardTraceability.get(currentTarget).add(directedRelationship);
+							}
+							else {
+								ArrayList<DirectedRelationship> aCollection= new ArrayList<DirectedRelationship>();
+								aCollection.add(directedRelationship);
+								downwardTraceability.put(currentTarget, aCollection);
+							}
+						}
+					}
+				}
+			}
+		}
+	}
+	
+	public ArrayList<DirectedRelationship> getUpwardTraceabiltiy(Element context){
+		return upwardTraceability.get(context);
+	}
+
+	public ArrayList<DirectedRelationship> getDownwardTraceabiltiy(Element context){
+		return downwardTraceability.get(context);
+	}
+}
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/constraints/ValidationDelegateClientSelector.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/constraints/ValidationDelegateClientSelector.java
new file mode 100644
index 0000000..c2d257f
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/constraints/ValidationDelegateClientSelector.java
@@ -0,0 +1,29 @@
+/**
+ *  Copyright (c)2020 CEA LIST, Committer Name, and others.
+ * 
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License 2.0
+ *  which accompanies this distribution, and is available at
+ *  https://www.eclipse.org/legal/epl-2.0/
+ * 
+ *  SPDX-License-Identifier: EPL-2.0
+ * 
+ *  Contributors:
+ *  CEA LIST - Initial API and implementation
+ *  Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr 
+ *  Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr 
+ * 
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.constraints;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+
+public class ValidationDelegateClientSelector
+implements IClientSelector {
+
+public static boolean running = true;
+
+public boolean selects(Object object) {
+	return running;
+}
+}