Bug 567351 - [PrivacyDesigner] add common profile

Change-Id: I2f2cfc7aea938832f9d982e5bd21ac7784110cbf
Signed-off-by: Patrick <Patrick.Tessier@cea.fr>
diff --git a/feature/org.eclipse.papyrus.pdp4eng.common.feature/.project b/feature/org.eclipse.papyrus.pdp4eng.common.feature/.project
new file mode 100644
index 0000000..f46580f
--- /dev/null
+++ b/feature/org.eclipse.papyrus.pdp4eng.common.feature/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.pdp4eng.common.feature</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/feature/org.eclipse.papyrus.pdp4eng.common.feature/build.properties b/feature/org.eclipse.papyrus.pdp4eng.common.feature/build.properties
new file mode 100644
index 0000000..b3a611b
--- /dev/null
+++ b/feature/org.eclipse.papyrus.pdp4eng.common.feature/build.properties
@@ -0,0 +1,2 @@
+bin.includes = feature.xml,\
+               feature.properties
diff --git a/feature/org.eclipse.papyrus.pdp4eng.common.feature/feature.properties b/feature/org.eclipse.papyrus.pdp4eng.common.feature/feature.properties
new file mode 100644
index 0000000..eebb24b
--- /dev/null
+++ b/feature/org.eclipse.papyrus.pdp4eng.common.feature/feature.properties
@@ -0,0 +1,30 @@
+###############################################################################
+# Copyright (c) 2012, 2016 CEA LIST, Christian W. Damus, 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
+###############################################################################
+
+# "featureName" property - name of the feature
+featureName=PDP4Eng Common feature
+
+# "providerName" property - name of the company that provides the feature
+providerName=Eclipse Modeling Project 
+
+# description property - text of the "Feature Description"
+description=This feature regroups all common functions 
+################ end of description property ##################################
+
+# "copyright" property - text of the "Feature Update Copyright"
+copyright=\
+Copyright (c) 2020 CEA LIST.\n\
+All rights reserved. This program and the accompanying materials\n\
+are made available under the terms of the Eclipse Public License 2.0\n\
+which accompanies this distribution, and is available at\n\
+https://www.eclipse.org/legal/epl-2.0/\n\
+\n\
+SPDX-License-Identifier: EPL-2.0\n
+################ end of copyright property ####################################
diff --git a/feature/org.eclipse.papyrus.pdp4eng.common.feature/feature.xml b/feature/org.eclipse.papyrus.pdp4eng.common.feature/feature.xml
new file mode 100644
index 0000000..8634d50
--- /dev/null
+++ b/feature/org.eclipse.papyrus.pdp4eng.common.feature/feature.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.eclipse.papyrus.pdp4eng.common.feature"
+      label="%featureName"
+      version="1.0.0.qualifier"
+      provider-name="%providerName"
+      license-feature="org.eclipse.license"
+      license-feature-version="2.0.2">
+
+   <description url="https://eclipse.org/papyrus/">
+      %description
+   </description>
+
+   <copyright>
+      %copyright
+   </copyright>
+
+   <license url="%licenseURL">
+      %license
+   </license>
+
+   <plugin
+         id="org.eclipse.papyrus.pdp4eng.common.profile"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.papyrus.pdp4eng.common.ui"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+</feature>
diff --git a/feature/org.eclipse.papyrus.pdp4eng.common.feature/pom.xml b/feature/org.eclipse.papyrus.pdp4eng.common.feature/pom.xml
new file mode 100644
index 0000000..2386966
--- /dev/null
+++ b/feature/org.eclipse.papyrus.pdp4eng.common.feature/pom.xml
@@ -0,0 +1,18 @@
+<?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/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<groupId>org.eclipse.papyrus.pdp4eng</groupId>
+		<artifactId>org.eclipse.papyrus.pdp4eng.feature</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.papyrus.pdp4eng.common.feature</artifactId>
+	<version>1.0.0-SNAPSHOT</version>
+	<packaging>eclipse-feature</packaging>
+
+	<name>pdp4eng common feature</name>
+	<description>pdp4eng common feature</description>
+</project>
\ No newline at end of file
diff --git a/feature/pom.xml b/feature/pom.xml
new file mode 100644
index 0000000..4d380f1
--- /dev/null
+++ b/feature/pom.xml
@@ -0,0 +1,24 @@
+<?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/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<groupId>org.eclipse.papyrus.pdp4eng</groupId>
+		<artifactId>org.eclipse.papyrus.pdp4eng.artifact</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.pdp4eng.feature</artifactId>
+	<version>1.0.0-SNAPSHOT</version>
+	<packaging>pom</packaging>
+
+	<name>pdp4eng Features</name>
+	<description>Container of the pdp4eng Feature</description>
+
+
+	<modules>
+		<module>org.eclipse.papyrus.pdp4eng.common.feature</module>
+		<!--module>org.eclipse.papyrus.pdp4eng.req.feature</module>
+		<module>org.eclipse.papyrus.pdp4eng.designer.feature</module-->
+	</modules>
+</project>
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/.classpath b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/.classpath
new file mode 100644
index 0000000..26e67d6
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/.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-gen"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/.project b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/.project
new file mode 100644
index 0000000..ab7fb7b
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.pdp4eng.common.profile</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/.settings/org.eclipse.jdt.core.prefs b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0c68a61
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/META-INF/MANIFEST.MF b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..e502363
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/META-INF/MANIFEST.MF
@@ -0,0 +1,18 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.pdp4eng.common.profile;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Automatic-Module-Name: org.eclipse.papyrus.pdp4eng.common.profile
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR,
+ org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl,
+ org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.util
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.uml2.types;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.uml2.uml;bundle-version="[5.5.0,6.0.0)"
+Bundle-ActivationPolicy: lazy
+Bundle-Localization: plugin
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/about.html b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/about.html
new file mode 100644
index 0000000..3e183aa
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.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>November 30, 2017</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 2.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="https://www.eclipse.org/legal/epl-2.0/">https://www.eclipse.org/legal/epl-2.0/</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>
\ No newline at end of file
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/build.properties b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/build.properties
new file mode 100644
index 0000000..02b2c3f
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/build.properties
@@ -0,0 +1,11 @@
+#
+
+bin.includes = .,\
+               model/,\
+               META-INF/,\
+               plugin.xml,\
+               plugin.properties,\
+               build.properties
+jars.compile.order = .
+source.. = src-gen/
+output.. = bin/
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/model/GDPRProfile.css b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/model/GDPRProfile.css
new file mode 100644
index 0000000..1d57304
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/model/GDPRProfile.css
@@ -0,0 +1,26 @@
+Association{
+	routing:Rectilinear;
+	fontColor:#0061A1;
+}
+
+Generalization{
+	routing:Rectilinear;
+		fontColor:#0061A1;
+}
+Dependency{
+	routing:Rectilinear;
+		fontColor:#0061A1;
+}
+Abstraction{
+	routing:Rectilinear;
+		fontColor:#0061A1;
+}
+Stereotype > Compartment {
+    visible:false;
+}
+Stereotype{
+	gradient: white vertical;
+	fillColor:#E5EEF4;
+	bold:true;
+	fontColor:#0061A1;
+}
\ No newline at end of file
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/model/pdp4engCommonGDPR.ecore b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/model/pdp4engCommonGDPR.ecore
new file mode 100644
index 0000000..f82b51e
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/model/pdp4engCommonGDPR.ecore
@@ -0,0 +1,101 @@
+<?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="pdp4engCommonGDPR" nsURI="http://org.eclipse.papyrus.pdp4eng.common.profile"
+    nsPrefix="pdp4engCommonGDPR">
+  <eClassifiers xsi:type="ecore:EClass" name="Process">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="base_NamedElement" ordered="false"
+        eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="personaldata" ordered="false"
+        upperBound="-1" eType="#//PersonalData" eOpposite="#//PersonalData/processedBy"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="contributedTo" ordered="false"
+        lowerBound="1" eType="#//Purpose" eOpposite="#//Purpose/processes"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="performAContract" ordered="false"
+        eType="#//Contract" eOpposite="#//Contract/process"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="data" ordered="false" upperBound="-1"
+        eType="#//Data"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="neededForPublicInterest"
+        ordered="false" eType="#//PublicInterest"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="neededForLegimateInterest"
+        ordered="false" eType="#//LegitimateInterest"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="neededForLegalObligation"
+        ordered="false" eType="#//LegalObligation"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="neededForVitalInterest"
+        ordered="false" eType="#//VitalInterest"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="PersonalData" eSuperTypes="#//Data">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="relatedTo" ordered="false"
+        lowerBound="1" upperBound="-1" eType="#//DataSubject" eOpposite="#//DataSubject/personalData"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="responsible" ordered="false"
+        lowerBound="1" eType="#//Controller" eOpposite="#//Controller/personalData"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="processedBy" ordered="false"
+        lowerBound="1" upperBound="-1" eType="#//Process" eOpposite="#//Process/personaldata"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Data">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="base_NamedElement" ordered="false"
+        eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="DataSubject">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="base_NamedElement" ordered="false"
+        eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="givenConsent" ordered="false"
+        lowerBound="1" upperBound="-1" eType="#//Consent" eOpposite="#//Consent/datasubject"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="contract" ordered="false"
+        eType="#//Contract" eOpposite="#//Contract/datasubject"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="personalData" ordered="false"
+        lowerBound="1" upperBound="-1" eType="#//PersonalData" eOpposite="#//PersonalData/relatedTo"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Consent">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="base_NamedElement" ordered="false"
+        eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="purpose" ordered="false"
+        lowerBound="1" upperBound="-1" eType="#//Purpose" eOpposite="#//Purpose/consent"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="datasubject" ordered="false"
+        lowerBound="1" eType="#//DataSubject" eOpposite="#//DataSubject/givenConsent"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Purpose">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="base_NamedElement" ordered="false"
+        eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="processes" ordered="false"
+        lowerBound="1" upperBound="-1" eType="#//Process" eOpposite="#//Process/contributedTo"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="consent" ordered="false"
+        lowerBound="1" eType="#//Consent" eOpposite="#//Consent/purpose"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Contract">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="base_NamedElement" ordered="false"
+        eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="process" ordered="false"
+        lowerBound="1" upperBound="-1" eType="#//Process" eOpposite="#//Process/performAContract"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="datasubject" ordered="false"
+        lowerBound="1" eType="#//DataSubject" eOpposite="#//DataSubject/contract"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Controller">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="processor" ordered="false"
+        lowerBound="1" upperBound="-1" eType="#//Processor"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="base_NamedElement" ordered="false"
+        eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="personalData" ordered="false"
+        upperBound="-1" eType="#//PersonalData" eOpposite="#//PersonalData/responsible"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Processor">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="process" ordered="false"
+        lowerBound="1" upperBound="-1" eType="#//Process"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="base_NamedElement" ordered="false"
+        eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="PublicInterest">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="base_NamedElement" ordered="false"
+        eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="LegitimateInterest">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="base_NamedElement" ordered="false"
+        eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="LegalObligation">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="base_NamedElement" ordered="false"
+        eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="VitalInterest">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="base_NamedElement" ordered="false"
+        eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+  </eClassifiers>
+</ecore:EPackage>
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/model/pdp4engCommonGDPR.genmodel b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/model/pdp4engCommonGDPR.genmodel
new file mode 100644
index 0000000..4cc3118
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/model/pdp4engCommonGDPR.genmodel
@@ -0,0 +1,134 @@
+<?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) 2020 CEA LIST, Committer Name, and others.&#xA;All rights reserved. This program and the accompanying materials&#xA;are made available under the terms of the Eclipse Public License 2.0&#xA;which accompanies this distribution, and is available at&#xA;https://www.eclipse.org/legal/epl-2.0/&#xA;&#xA;SPDX-License-Identifier: EPL-2.0&#xA;&#xA;Contributors:&#xA;CEA LIST - Initial API and implementation&#xA;Patrick Tessier (CEA LIST) patrick.tessier@cea.fr  &#xA;Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr  &#xA;"
+    modelDirectory="/org.eclipse.papyrus.pdp4eng.common.profile/src" modelPluginID="org.eclipse.papyrus.pdp4eng.common.profile"
+    modelName="Pdp4engCommonGDPR" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
+    importerID="org.eclipse.uml2.uml.ecore.importer" complianceLevel="8.0" copyrightFields="false"
+    usedGenPackages="../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../org.eclipse.uml2.types/model/Types.genmodel#//types ../../org.eclipse.uml2.uml/model/UML.genmodel#//uml"
+    operationReflection="true" importOrganizing="true">
+  <genAnnotations source="http://www.eclipse.org/emf/2002/GenModel/importer/org.eclipse.uml2.uml.ecore.importer">
+    <details key="OPPOSITE_ROLE_NAMES" value="IGNORE"/>
+    <details key="DUPLICATE_FEATURES" value="DISCARD"/>
+    <details key="ANNOTATION_DETAILS" value="PROCESS"/>
+    <details key="PROPERTY_DEFAULT_EXPRESSIONS" value="IGNORE"/>
+    <details key="DUPLICATE_FEATURE_INHERITANCE" value="DISCARD"/>
+    <details key="COMMENTS" value="PROCESS"/>
+    <details key="DERIVED_FEATURES" value="PROCESS"/>
+    <details key="SUPER_CLASS_ORDER" value="PROCESS"/>
+    <details key="DUPLICATE_OPERATION_INHERITANCE" value="DISCARD"/>
+    <details key="REDEFINING_OPERATIONS" value="REPORT"/>
+    <details key="INVARIANT_CONSTRAINTS" value="PROCESS"/>
+    <details key="UNION_PROPERTIES" value="REPORT"/>
+    <details key="DUPLICATE_OPERATIONS" value="DISCARD"/>
+    <details key="NON_API_INVARIANTS" value="IGNORE"/>
+    <details key="CAMEL_CASE_NAMES" value="IGNORE"/>
+    <details key="SUBSETTING_PROPERTIES" value="REPORT"/>
+    <details key="OPERATION_BODIES" value="IGNORE"/>
+    <details key="ECORE_TAGGED_VALUES" value="PROCESS"/>
+    <details key="UNTYPED_PROPERTIES" value="REPORT"/>
+    <details key="REDEFINING_PROPERTIES" value="REPORT"/>
+    <details key="INVOCATION_DELEGATES" value="IGNORE"/>
+    <details key="VALIDATION_DELEGATES" value="IGNORE"/>
+  </genAnnotations>
+  <foreignModel>pdp4engCommonGDPR.profile.uml</foreignModel>
+  <genPackages xsi:type="genmodel:GenPackage" prefix="Pdp4engCommonGDPR" basePackage="org.eclipse.papyrus.pdp4eng.common.profile"
+      disposableProviderFactory="true" ecorePackage="pdp4engCommonGDPR.ecore#/">
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engCommonGDPR.ecore#//Process">
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engCommonGDPR.ecore#//Process/base_NamedElement"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engCommonGDPR.ecore#//Process/personaldata"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engCommonGDPR.ecore#//Process/contributedTo"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engCommonGDPR.ecore#//Process/performAContract"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engCommonGDPR.ecore#//Process/data"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engCommonGDPR.ecore#//Process/neededForPublicInterest"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engCommonGDPR.ecore#//Process/neededForLegimateInterest"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engCommonGDPR.ecore#//Process/neededForLegalObligation"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engCommonGDPR.ecore#//Process/neededForVitalInterest"/>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engCommonGDPR.ecore#//PersonalData">
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engCommonGDPR.ecore#//PersonalData/relatedTo"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engCommonGDPR.ecore#//PersonalData/responsible"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engCommonGDPR.ecore#//PersonalData/processedBy"/>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engCommonGDPR.ecore#//Data">
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engCommonGDPR.ecore#//Data/base_NamedElement"/>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engCommonGDPR.ecore#//DataSubject">
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engCommonGDPR.ecore#//DataSubject/base_NamedElement"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engCommonGDPR.ecore#//DataSubject/givenConsent"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engCommonGDPR.ecore#//DataSubject/contract"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engCommonGDPR.ecore#//DataSubject/personalData"/>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engCommonGDPR.ecore#//Consent">
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engCommonGDPR.ecore#//Consent/base_NamedElement"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engCommonGDPR.ecore#//Consent/purpose"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engCommonGDPR.ecore#//Consent/datasubject"/>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engCommonGDPR.ecore#//Purpose">
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engCommonGDPR.ecore#//Purpose/base_NamedElement"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engCommonGDPR.ecore#//Purpose/processes"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engCommonGDPR.ecore#//Purpose/consent"/>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engCommonGDPR.ecore#//Contract">
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engCommonGDPR.ecore#//Contract/base_NamedElement"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engCommonGDPR.ecore#//Contract/process"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engCommonGDPR.ecore#//Contract/datasubject"/>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engCommonGDPR.ecore#//Controller">
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engCommonGDPR.ecore#//Controller/processor"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engCommonGDPR.ecore#//Controller/base_NamedElement"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engCommonGDPR.ecore#//Controller/personalData"/>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engCommonGDPR.ecore#//Processor">
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engCommonGDPR.ecore#//Processor/process"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engCommonGDPR.ecore#//Processor/base_NamedElement"/>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engCommonGDPR.ecore#//PublicInterest">
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engCommonGDPR.ecore#//PublicInterest/base_NamedElement"/>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engCommonGDPR.ecore#//LegitimateInterest">
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engCommonGDPR.ecore#//LegitimateInterest/base_NamedElement"/>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engCommonGDPR.ecore#//LegalObligation">
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engCommonGDPR.ecore#//LegalObligation/base_NamedElement"/>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engCommonGDPR.ecore#//VitalInterest">
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engCommonGDPR.ecore#//VitalInterest/base_NamedElement"/>
+    </genClasses>
+  </genPackages>
+</genmodel:GenModel>
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/model/pdp4engCommonGDPR.profile.di b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/model/pdp4engCommonGDPR.profile.di
new file mode 100644
index 0000000..247ed5e
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/model/pdp4engCommonGDPR.profile.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<architecture:ArchitectureDescription xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:architecture="http://www.eclipse.org/papyrus/infra/core/architecture" contextId="org.eclipse.papyrus.uml.architecture.Profile"/>
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/model/pdp4engCommonGDPR.profile.notation b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/model/pdp4engCommonGDPR.profile.notation
new file mode 100644
index 0000000..17b6a81
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/model/pdp4engCommonGDPR.profile.notation
@@ -0,0 +1,1669 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:css="http://www.eclipse.org/papyrus/infra/gmfdiag/css" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.3/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/gmfdiag/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+  <notation:Diagram xmi:id="_JH_WIKIoEemN_tazoyo3PQ" type="PapyrusUMLProfileDiagram" name="Profile Diagram" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_QiQIQKIoEemN_tazoyo3PQ" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_QiRWYKIoEemN_tazoyo3PQ" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_QiRWYaIoEemN_tazoyo3PQ" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_QiRWYqIoEemN_tazoyo3PQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_QiRWY6IoEemN_tazoyo3PQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_QiRWZKIoEemN_tazoyo3PQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QiRWZaIoEemN_tazoyo3PQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_QiR9cKIoEemN_tazoyo3PQ" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_QiR9caIoEemN_tazoyo3PQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_QiR9cqIoEemN_tazoyo3PQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_QiR9c6IoEemN_tazoyo3PQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QiR9dKIoEemN_tazoyo3PQ"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pdp4engCommonGDPR.profile.uml#_QiJakKIoEemN_tazoyo3PQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QiQIQaIoEemN_tazoyo3PQ" x="420" y="340"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_bQudIKIoEemN_tazoyo3PQ" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_bQvEMKIoEemN_tazoyo3PQ" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_bQvrQKIoEemN_tazoyo3PQ" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_bQvrQaIoEemN_tazoyo3PQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_bQvrQqIoEemN_tazoyo3PQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_bQvrQ6IoEemN_tazoyo3PQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bQvrRKIoEemN_tazoyo3PQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_bQz8sKIoEemN_tazoyo3PQ" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_bQz8saIoEemN_tazoyo3PQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_bQz8sqIoEemN_tazoyo3PQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_bQz8s6IoEemN_tazoyo3PQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bQz8tKIoEemN_tazoyo3PQ"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pdp4engCommonGDPR.profile.uml#_bQqywKIoEemN_tazoyo3PQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bQudIaIoEemN_tazoyo3PQ" x="700" y="320" height="241"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Ny5pQKIsEemN_tazoyo3PQ" type="Class_MetaclassShape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Ny6QUqIsEemN_tazoyo3PQ" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Ny6QU6IsEemN_tazoyo3PQ" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Ny63YKIsEemN_tazoyo3PQ" key="StereotypeList" value="StandardProfile::Metaclass"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Ny63YaIsEemN_tazoyo3PQ" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Ny63YqIsEemN_tazoyo3PQ" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Ny63Y6IsEemN_tazoyo3PQ" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Ny6QUKIsEemN_tazoyo3PQ" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ny6QUaIsEemN_tazoyo3PQ" x="40" y="40" width="1281"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_qSzIQMQhEemE48CDds8t_g" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_qS5O4MQhEemE48CDds8t_g" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_qS518MQhEemE48CDds8t_g" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_qS518cQhEemE48CDds8t_g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_qS518sQhEemE48CDds8t_g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_qS5188QhEemE48CDds8t_g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qS519MQhEemE48CDds8t_g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_qS519cQhEemE48CDds8t_g" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_qS519sQhEemE48CDds8t_g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_qS5198QhEemE48CDds8t_g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_qS51-MQhEemE48CDds8t_g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qS51-cQhEemE48CDds8t_g"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pdp4engCommonGDPR.profile.uml#_zuyzoKe8EemiOZ_hb7cBOg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qSzIQcQhEemE48CDds8t_g" x="700" y="160"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_qtrGYMQhEemE48CDds8t_g" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_qtsUgMQhEemE48CDds8t_g" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_qtsUgcQhEemE48CDds8t_g" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_qtsUgsQhEemE48CDds8t_g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_qtsUg8QhEemE48CDds8t_g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_qtsUhMQhEemE48CDds8t_g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qtsUhcQhEemE48CDds8t_g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_qtsUhsQhEemE48CDds8t_g" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_qtsUh8QhEemE48CDds8t_g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_qtsUiMQhEemE48CDds8t_g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_qtsUicQhEemE48CDds8t_g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qtsUisQhEemE48CDds8t_g"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pdp4engCommonGDPR.profile.uml#_1KbEIKe8EemiOZ_hb7cBOg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qtrGYcQhEemE48CDds8t_g" x="1000" y="300"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_s7__IMQhEemE48CDds8t_g" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_s8AmMMQhEemE48CDds8t_g" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_s8BNQMQhEemE48CDds8t_g" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_s8BNQcQhEemE48CDds8t_g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_s8BNQsQhEemE48CDds8t_g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_s8BNQ8QhEemE48CDds8t_g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s8BNRMQhEemE48CDds8t_g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_s8BNRcQhEemE48CDds8t_g" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_s8BNRsQhEemE48CDds8t_g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_s8BNR8QhEemE48CDds8t_g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_s8BNSMQhEemE48CDds8t_g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s8BNScQhEemE48CDds8t_g"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pdp4engCommonGDPR.profile.uml#_u3iJwKe8EemiOZ_hb7cBOg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s7__IcQhEemE48CDds8t_g" x="60" y="460"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_vw4hkMQhEemE48CDds8t_g" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_vw5IoMQhEemE48CDds8t_g" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_vw5IocQhEemE48CDds8t_g" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_vw5IosQhEemE48CDds8t_g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_vw5Io8QhEemE48CDds8t_g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_vw5IpMQhEemE48CDds8t_g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vw5IpcQhEemE48CDds8t_g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_vw5IpsQhEemE48CDds8t_g" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_vw5Ip8QhEemE48CDds8t_g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_vw5IqMQhEemE48CDds8t_g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_vw5IqcQhEemE48CDds8t_g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vw5IqsQhEemE48CDds8t_g"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pdp4engCommonGDPR.profile.uml#_sfn3MKe8EemiOZ_hb7cBOg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vw4hkcQhEemE48CDds8t_g" x="203" y="339"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_1CY5kE2sEeqU98g68TM0Ng" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_1CZgoE2sEeqU98g68TM0Ng" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_1CaHsE2sEeqU98g68TM0Ng" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_1CaHsU2sEeqU98g68TM0Ng"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_1CaHsk2sEeqU98g68TM0Ng"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_1CaHs02sEeqU98g68TM0Ng"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1CaHtE2sEeqU98g68TM0Ng"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_1CaHtU2sEeqU98g68TM0Ng" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_1CaHtk2sEeqU98g68TM0Ng"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_1CaHt02sEeqU98g68TM0Ng"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_1CaHuE2sEeqU98g68TM0Ng"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1CaHuU2sEeqU98g68TM0Ng"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pdp4engCommonGDPR.profile.uml#_GnTXQE2sEeqU98g68TM0Ng"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1CY5kU2sEeqU98g68TM0Ng" x="1140" y="520"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_1SWIEFpYEeqeM9690a6R6A" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_1SWIEVpYEeqeM9690a6R6A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_1SWIE1pYEeqeM9690a6R6A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1SWIElpYEeqeM9690a6R6A" x="240" y="40"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_JH_WIaIoEemN_tazoyo3PQ" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_JH_WIqIoEemN_tazoyo3PQ"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_JH_WI6IoEemN_tazoyo3PQ" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="pdp4engCommonGDPR.profile.uml#pdpengcommonprofile"/>
+    </styles>
+    <element xmi:type="uml:Profile" href="pdp4engCommonGDPR.profile.uml#pdpengcommonprofile"/>
+    <edges xmi:type="notation:Connector" xmi:id="_Wk0K0KIsEemN_tazoyo3PQ" type="Extension_Edge" source="_QiQIQKIoEemN_tazoyo3PQ" target="_Ny5pQKIsEemN_tazoyo3PQ">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Wk0K0aIsEemN_tazoyo3PQ"/>
+      <element xmi:type="uml:Extension" href="pdp4engCommonGDPR.profile.uml#_WkqZ0KIsEemN_tazoyo3PQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Wk0K0qIsEemN_tazoyo3PQ" points="[500, 220, -643984, -643984]$[500, 90, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WlA_IKIsEemN_tazoyo3PQ" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WlA_IaIsEemN_tazoyo3PQ" id="(0.32786885245901637,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_qVZwUMQhEemE48CDds8t_g" type="Extension_Edge" source="_qSzIQMQhEemE48CDds8t_g" target="_Ny5pQKIsEemN_tazoyo3PQ">
+      <styles xmi:type="notation:FontStyle" xmi:id="_qVZwUcQhEemE48CDds8t_g"/>
+      <element xmi:type="uml:Extension" href="pdp4engCommonGDPR.profile.uml#_2aT-sKe8EemiOZ_hb7cBOg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qVZwUsQhEemE48CDds8t_g" points="[0, 0, -643984, -643984]$[418, 40, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rikuEMQhEemE48CDds8t_g" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rikuEcQhEemE48CDds8t_g" id="(0.5620608899297423,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_s9Cg8MQhEemE48CDds8t_g" type="Extension_Edge" source="_s7__IMQhEemE48CDds8t_g" target="_Ny5pQKIsEemN_tazoyo3PQ">
+      <styles xmi:type="notation:FontStyle" xmi:id="_s9Cg8cQhEemE48CDds8t_g"/>
+      <element xmi:type="uml:Extension" href="pdp4engCommonGDPR.profile.uml#_xXvcsKe8EemiOZ_hb7cBOg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_s9Cg8sQhEemE48CDds8t_g" points="[0, 0, -643984, -643984]$[418, 40, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_47YiQMQhEemE48CDds8t_g" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_47YiQcQhEemE48CDds8t_g" id="(0.0468384074941452,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_uuw9QMQhEemE48CDds8t_g" type="Association_Edge" source="_s7__IMQhEemE48CDds8t_g" target="_bQudIKIoEemN_tazoyo3PQ">
+      <children xmi:type="notation:DecorationNode" xmi:id="_uuxkUMQhEemE48CDds8t_g" type="Association_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_0VWLQMQhEemE48CDds8t_g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_uuxkUcQhEemE48CDds8t_g" y="59"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_uuxkUsQhEemE48CDds8t_g" type="Association_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_0VmC4MQhEemE48CDds8t_g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_uuxkU8QhEemE48CDds8t_g" y="19"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_uuxkVMQhEemE48CDds8t_g" type="Association_TargetRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_0V6zAMQhEemE48CDds8t_g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_uuyLYMQhEemE48CDds8t_g" x="-59" y="18"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_uuyLYcQhEemE48CDds8t_g" type="Association_SourceRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_0WPjIMQhEemE48CDds8t_g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_uuyLYsQhEemE48CDds8t_g" x="58" y="-17"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_uuyLY8QhEemE48CDds8t_g" type="Association_SourceMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_0WjFIMQhEemE48CDds8t_g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_uuyLZMQhEemE48CDds8t_g" x="58" y="19"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_uuyLZcQhEemE48CDds8t_g" type="Association_TargetMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_0W4cUMQhEemE48CDds8t_g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_uuyLZsQhEemE48CDds8t_g" x="-59" y="-18"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_uuw9QcQhEemE48CDds8t_g"/>
+      <element xmi:type="uml:Association" href="pdp4engCommonGDPR.profile.uml#_dc0koLhKEem_0sXckGvoOw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_uuw9QsQhEemE48CDds8t_g" points="[258, 370, -643984, -643984]$[640, 281, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0ZIfEcQhEemE48CDds8t_g" id="(1.0,0.6)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0ZIfEsQhEemE48CDds8t_g" id="(0.0,0.8298755186721992)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_vD78AMQhEemE48CDds8t_g" type="Association_Edge" source="_qtrGYMQhEemE48CDds8t_g" target="_bQudIKIoEemN_tazoyo3PQ">
+      <children xmi:type="notation:DecorationNode" xmi:id="_vD78A8QhEemE48CDds8t_g" type="Association_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_0XJiEMQhEemE48CDds8t_g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_vD78BMQhEemE48CDds8t_g" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_vD78BcQhEemE48CDds8t_g" type="Association_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_0XdrIMQhEemE48CDds8t_g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_vD78BsQhEemE48CDds8t_g" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_vD78B8QhEemE48CDds8t_g" type="Association_TargetRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_0Xs7sMQhEemE48CDds8t_g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_vD8jEMQhEemE48CDds8t_g" x="-39" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_vD8jEcQhEemE48CDds8t_g" type="Association_SourceRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_0YBr0MQhEemE48CDds8t_g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_vD8jEsQhEemE48CDds8t_g" x="39" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_vD8jE8QhEemE48CDds8t_g" type="Association_SourceMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_0YV04MQhEemE48CDds8t_g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_vD8jFMQhEemE48CDds8t_g" x="39" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_vD8jFcQhEemE48CDds8t_g" type="Association_TargetMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_0Ym6oMQhEemE48CDds8t_g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_vD8jFsQhEemE48CDds8t_g" x="-199" y="-20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_vD78AcQhEemE48CDds8t_g"/>
+      <element xmi:type="uml:Association" href="pdp4engCommonGDPR.profile.uml#_rwih4LhKEem_0sXckGvoOw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vD78AsQhEemE48CDds8t_g" points="[1000, 270, -643984, -643984]$[740, 270, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0ZH4AMQhEemE48CDds8t_g" id="(0.0,0.6)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0ZIfEMQhEemE48CDds8t_g" id="(1.0,0.16597510373443983)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_vaCu4MQhEemE48CDds8t_g" type="Association_Edge" source="_QiQIQKIoEemN_tazoyo3PQ" target="_bQudIKIoEemN_tazoyo3PQ">
+      <children xmi:type="notation:DecorationNode" xmi:id="_vaCu48QhEemE48CDds8t_g" type="Association_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_yQSjQMQhEemE48CDds8t_g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_vaCu5MQhEemE48CDds8t_g" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_vaCu5cQhEemE48CDds8t_g" type="Association_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_yQuBEMQhEemE48CDds8t_g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_vaCu5sQhEemE48CDds8t_g" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_vaDV8MQhEemE48CDds8t_g" type="Association_TargetRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_yRRasMQhEemE48CDds8t_g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_vaDV8cQhEemE48CDds8t_g" x="-12" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_vaDV8sQhEemE48CDds8t_g" type="Association_SourceRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_yRonEMQhEemE48CDds8t_g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_vaDV88QhEemE48CDds8t_g" x="12" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_vaDV9MQhEemE48CDds8t_g" type="Association_SourceMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_yR_MYMQhEemE48CDds8t_g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_vaDV9cQhEemE48CDds8t_g" x="12" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_vaDV9sQhEemE48CDds8t_g" type="Association_TargetMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ySVxsMQhEemE48CDds8t_g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_vaDV98QhEemE48CDds8t_g" x="148" y="-20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_vaCu4cQhEemE48CDds8t_g"/>
+      <element xmi:type="uml:Association" href="pdp4engCommonGDPR.profile.uml#_79Oy8LhKEem_0sXckGvoOw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vaCu4sQhEemE48CDds8t_g" points="[560, 270, -643984, -643984]$[640, 270, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yVGKwsQhEemE48CDds8t_g" id="(1.0,0.4)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yVGKw8QhEemE48CDds8t_g" id="(0.0,0.24896265560165975)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_vxj3AMQhEemE48CDds8t_g" type="Association_Edge" source="_vw4hkMQhEemE48CDds8t_g" target="_QiQIQKIoEemN_tazoyo3PQ">
+      <children xmi:type="notation:DecorationNode" xmi:id="_vxj3A8QhEemE48CDds8t_g" type="Association_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ySwBYMQhEemE48CDds8t_g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_vxkeEMQhEemE48CDds8t_g" y="58"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_vxkeEcQhEemE48CDds8t_g" type="Association_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_yTF_oMQhEemE48CDds8t_g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_vxkeEsQhEemE48CDds8t_g" y="18"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_vxkeE8QhEemE48CDds8t_g" type="Association_TargetRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_yTdMAMQhEemE48CDds8t_g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_vxkeFMQhEemE48CDds8t_g" x="-34" y="18"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_vxkeFcQhEemE48CDds8t_g" type="Association_SourceRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_yTyjMMQhEemE48CDds8t_g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_vxkeFsQhEemE48CDds8t_g" x="34" y="-17"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_vxkeF8QhEemE48CDds8t_g" type="Association_SourceMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_yUMy4MQhEemE48CDds8t_g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_vxkeGMQhEemE48CDds8t_g" x="34" y="18"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_vxkeGcQhEemE48CDds8t_g" type="Association_TargetMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_yUjYMMQhEemE48CDds8t_g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_vxkeGsQhEemE48CDds8t_g" x="-34" y="-16"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_vxj3AcQhEemE48CDds8t_g"/>
+      <element xmi:type="uml:Association" href="pdp4engCommonGDPR.profile.uml#_IC0EsLhLEem_0sXckGvoOw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vxj3AsQhEemE48CDds8t_g" points="[0, 0, -643984, -643984]$[460, 243, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yVGKwMQhEemE48CDds8t_g" id="(1.0,0.6)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yVGKwcQhEemE48CDds8t_g" id="(0.0,0.6)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_xwAgsMQhEemE48CDds8t_g" type="Extension_Edge" source="_vw4hkMQhEemE48CDds8t_g" target="_Ny5pQKIsEemN_tazoyo3PQ">
+      <styles xmi:type="notation:FontStyle" xmi:id="_xwAgscQhEemE48CDds8t_g"/>
+      <element xmi:type="uml:Extension" href="pdp4engCommonGDPR.profile.uml#_wvyE0Ke8EemiOZ_hb7cBOg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xwAgssQhEemE48CDds8t_g" points="[364, 512, -643984, -643984]$[662, 90, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__wcVkMQhEemE48CDds8t_g" id="(0.37,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7D34wMQhEemE48CDds8t_g" id="(0.156128024980484,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8lgqoMQhEemE48CDds8t_g" type="Generalization_Edge" source="_bQudIKIoEemN_tazoyo3PQ" target="_qSzIQMQhEemE48CDds8t_g">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8lhRsMQhEemE48CDds8t_g" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_9yKD8MQhEemE48CDds8t_g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8lhRscQhEemE48CDds8t_g" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8lgqocQhEemE48CDds8t_g"/>
+      <element xmi:type="uml:Generalization" href="pdp4engCommonGDPR.profile.uml#_P_W58LhKEem_0sXckGvoOw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8lgqosQhEemE48CDds8t_g" points="[750, 360, -643984, -643984]$[750, 320, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9yv50MQhEemE48CDds8t_g" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9ywg4MQhEemE48CDds8t_g" id="(0.4,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_1DMK0E2sEeqU98g68TM0Ng" type="Association_Edge" source="_qtrGYMQhEemE48CDds8t_g" target="_1CY5kE2sEeqU98g68TM0Ng">
+      <children xmi:type="notation:DecorationNode" xmi:id="_1DMK002sEeqU98g68TM0Ng" type="Association_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1sUnYE2sEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_1DMK1E2sEeqU98g68TM0Ng" x="2" y="56"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_1DMx4E2sEeqU98g68TM0Ng" type="Association_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1sltIE2sEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_1DMx4U2sEeqU98g68TM0Ng" x="2" y="17"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_1DMx4k2sEeqU98g68TM0Ng" type="Association_TargetRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1s0WoE2sEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_1DMx402sEeqU98g68TM0Ng" x="-71" y="18"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_1DMx5E2sEeqU98g68TM0Ng" type="Association_SourceRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1tCZEE2sEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_1DMx5U2sEeqU98g68TM0Ng" x="71" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_1DMx5k2sEeqU98g68TM0Ng" type="Association_SourceMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1tP0cE2sEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_1DMx502sEeqU98g68TM0Ng" x="70" y="17"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_1DMx6E2sEeqU98g68TM0Ng" type="Association_TargetMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1td24E2sEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_1DMx6U2sEeqU98g68TM0Ng" x="-70" y="-19"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_1DMK0U2sEeqU98g68TM0Ng"/>
+      <element xmi:type="uml:Association" href="pdp4engCommonGDPR.profile.uml#_JyuKYE2sEeqU98g68TM0Ng"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_1DMK0k2sEeqU98g68TM0Ng" points="[1040, 400, -643984, -643984]$[1060, 460, -643984, -643984]$[1180, 460, -643984, -643984]$[1180, 520, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1tvjsE2sEeqU98g68TM0Ng" id="(0.6,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1tvjsU2sEeqU98g68TM0Ng" id="(0.4,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_23CHAE2sEeqU98g68TM0Ng" type="Association_Edge" source="_1CY5kE2sEeqU98g68TM0Ng" target="_QiQIQKIoEemN_tazoyo3PQ">
+      <children xmi:type="notation:DecorationNode" xmi:id="_23CuEE2sEeqU98g68TM0Ng" type="Association_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_4DghME2sEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_23CuEU2sEeqU98g68TM0Ng" x="-1" y="58"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_23CuEk2sEeqU98g68TM0Ng" type="Association_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_4DtVgE2sEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_23CuE02sEeqU98g68TM0Ng" x="-1" y="18"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_23CuFE2sEeqU98g68TM0Ng" type="Association_TargetRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_4D7X8E2sEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_23CuFU2sEeqU98g68TM0Ng" x="-104" y="18"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_23CuFk2sEeqU98g68TM0Ng" type="Association_SourceRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_4EJaYE2sEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_23CuF02sEeqU98g68TM0Ng" x="105" y="-18"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_23CuGE2sEeqU98g68TM0Ng" type="Association_SourceMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_4ElfQE2sEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_23CuGU2sEeqU98g68TM0Ng" x="105" y="18"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_23DVIE2sEeqU98g68TM0Ng" type="Association_TargetMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_4E1W4E2sEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_23DVIU2sEeqU98g68TM0Ng" x="-106" y="-19"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_23CHAU2sEeqU98g68TM0Ng"/>
+      <element xmi:type="uml:Association" href="pdp4engCommonGDPR.profile.uml#_N22uME2sEeqU98g68TM0Ng"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_23CHAk2sEeqU98g68TM0Ng" points="[1000, 572, -643984, -643984]$[460, 600, -643984, -643984]$[467, 440, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4DTF0E2sEeqU98g68TM0Ng" id="(0.0,0.8)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4DTF0U2sEeqU98g68TM0Ng" id="(0.4,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_IhIxQE2tEeqU98g68TM0Ng" type="Association_Edge" source="_1CY5kE2sEeqU98g68TM0Ng" target="_1CY5kE2sEeqU98g68TM0Ng">
+      <children xmi:type="notation:DecorationNode" xmi:id="_IhJYUE2tEeqU98g68TM0Ng" type="Association_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_KFFQQE2tEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_IhJYUU2tEeqU98g68TM0Ng" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_IhJYUk2tEeqU98g68TM0Ng" type="Association_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_KFSEkE2tEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_IhJYU02tEeqU98g68TM0Ng" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_IhJYVE2tEeqU98g68TM0Ng" type="Association_TargetRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_KFguEE2tEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_IhJYVU2tEeqU98g68TM0Ng" x="-49" y="19"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_IhJYVk2tEeqU98g68TM0Ng" type="Association_SourceRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_KFvXkE2tEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_IhJYV02tEeqU98g68TM0Ng" x="50" y="-18"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_IhJYWE2tEeqU98g68TM0Ng" type="Association_SourceMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_KF-BEE2tEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_IhJYWU2tEeqU98g68TM0Ng" x="49" y="19"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_IhJ_YE2tEeqU98g68TM0Ng" type="Association_TargetMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_KGSxME2tEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_IhJ_YU2tEeqU98g68TM0Ng" x="-49" y="-18"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_IhIxQU2tEeqU98g68TM0Ng"/>
+      <element xmi:type="uml:Association" href="pdp4engCommonGDPR.profile.uml#_Vf0qsE2sEeqU98g68TM0Ng"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IhIxQk2tEeqU98g68TM0Ng" points="[1240, 560, -643984, -643984]$[1302, 560, -643984, -643984]$[1302, 682, -643984, -643984]$[1200, 682, -643984, -643984]$[1200, 620, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KE1_sE2tEeqU98g68TM0Ng" id="(1.0,0.4)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KE2mwE2tEeqU98g68TM0Ng" id="(0.6,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_qif5oE20EeqU98g68TM0Ng" type="Extension_Edge" source="_1CY5kE2sEeqU98g68TM0Ng" target="_Ny5pQKIsEemN_tazoyo3PQ">
+      <styles xmi:type="notation:FontStyle" xmi:id="_qif5oU20EeqU98g68TM0Ng"/>
+      <element xmi:type="uml:Extension" href="pdp4engCommonGDPR.profile.uml#_bhlfME20EeqU98g68TM0Ng"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qif5ok20EeqU98g68TM0Ng" points="[1013, 520, -643984, -643984]$[698, 90, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sNusYE20EeqU98g68TM0Ng" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rgMQ8E20EeqU98g68TM0Ng" id="(0.9055425448868072,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_hi_fAFpMEeqv8eaIcZt9UA" type="Extension_Edge" source="_qtrGYMQhEemE48CDds8t_g" target="_Ny5pQKIsEemN_tazoyo3PQ">
+      <styles xmi:type="notation:FontStyle" xmi:id="_hi_fAVpMEeqv8eaIcZt9UA"/>
+      <element xmi:type="uml:Extension" href="pdp4engCommonGDPR.profile.uml#_hhuTsFpMEeqv8eaIcZt9UA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_hi_fAlpMEeqv8eaIcZt9UA" points="[1060, 300, -643984, -643984]$[1040, 90, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_hjeAIFpMEeqv8eaIcZt9UA" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_hjeAIVpMEeqv8eaIcZt9UA" id="(0.78064012490242,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_1SWIFFpYEeqeM9690a6R6A" type="StereotypeCommentLink" source="_Ny5pQKIsEemN_tazoyo3PQ" target="_1SWIEFpYEeqeM9690a6R6A">
+      <styles xmi:type="notation:FontStyle" xmi:id="_1SWIFVpYEeqeM9690a6R6A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_1SWvIlpYEeqeM9690a6R6A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_1SWIFlpYEeqeM9690a6R6A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1SWvIFpYEeqeM9690a6R6A"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1SWvIVpYEeqeM9690a6R6A"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_j6ud8Ke8EemiOZ_hb7cBOg" type="PapyrusUMLProfileDiagram" name="CommonConcepts" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_k2j0EKe8EemiOZ_hb7cBOg" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_k2lpQKe8EemiOZ_hb7cBOg" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_k2j0Eae8EemiOZ_hb7cBOg" x="20" y="60" width="1241"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_lg4jcKe8EemiOZ_hb7cBOg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_lg4jcqe8EemiOZ_hb7cBOg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_lg4jc6e8EemiOZ_hb7cBOg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_lg4jdKe8EemiOZ_hb7cBOg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_lg4jdae8EemiOZ_hb7cBOg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_lg4jdqe8EemiOZ_hb7cBOg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lg4jd6e8EemiOZ_hb7cBOg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_lg4jeKe8EemiOZ_hb7cBOg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_lg4jeae8EemiOZ_hb7cBOg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_lg4jeqe8EemiOZ_hb7cBOg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_lg4je6e8EemiOZ_hb7cBOg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lg4jfKe8EemiOZ_hb7cBOg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pdp4engCommonGDPR.profile.uml#_bQqywKIoEemN_tazoyo3PQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lg4jcae8EemiOZ_hb7cBOg" x="480" y="340" height="181"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_lzum8Ke8EemiOZ_hb7cBOg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_lzvOAae8EemiOZ_hb7cBOg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_lzv1EKe8EemiOZ_hb7cBOg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_lzv1Eae8EemiOZ_hb7cBOg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_lzv1Eqe8EemiOZ_hb7cBOg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_lzv1E6e8EemiOZ_hb7cBOg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lzv1FKe8EemiOZ_hb7cBOg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_lzv1Fae8EemiOZ_hb7cBOg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_lzv1Fqe8EemiOZ_hb7cBOg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_lzv1F6e8EemiOZ_hb7cBOg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_lzv1GKe8EemiOZ_hb7cBOg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lzv1Gae8EemiOZ_hb7cBOg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pdp4engCommonGDPR.profile.uml#_QiJakKIoEemN_tazoyo3PQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lzvOAKe8EemiOZ_hb7cBOg" x="960" y="420"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_sfuk4Ke8EemiOZ_hb7cBOg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_sfvL8Ke8EemiOZ_hb7cBOg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_sfvL8ae8EemiOZ_hb7cBOg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_sfvL8qe8EemiOZ_hb7cBOg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_sfvL86e8EemiOZ_hb7cBOg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_sfvL9Ke8EemiOZ_hb7cBOg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sfvL9ae8EemiOZ_hb7cBOg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_sfvL9qe8EemiOZ_hb7cBOg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_sfvL96e8EemiOZ_hb7cBOg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_sfvL-Ke8EemiOZ_hb7cBOg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_sfvL-ae8EemiOZ_hb7cBOg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sfvL-qe8EemiOZ_hb7cBOg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pdp4engCommonGDPR.profile.uml#_sfn3MKe8EemiOZ_hb7cBOg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sfuk4ae8EemiOZ_hb7cBOg" x="1160" y="420"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_u3jX4Ke8EemiOZ_hb7cBOg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_u3jX4qe8EemiOZ_hb7cBOg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_u3jX46e8EemiOZ_hb7cBOg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_u3jX5Ke8EemiOZ_hb7cBOg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_u3jX5ae8EemiOZ_hb7cBOg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_u3jX5qe8EemiOZ_hb7cBOg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u3jX56e8EemiOZ_hb7cBOg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_u3jX6Ke8EemiOZ_hb7cBOg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_u3jX6ae8EemiOZ_hb7cBOg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_u3jX6qe8EemiOZ_hb7cBOg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_u3jX66e8EemiOZ_hb7cBOg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u3jX7Ke8EemiOZ_hb7cBOg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pdp4engCommonGDPR.profile.uml#_u3iJwKe8EemiOZ_hb7cBOg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u3jX4ae8EemiOZ_hb7cBOg" x="160" y="320"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_zu0BwKe8EemiOZ_hb7cBOg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_zu0o0Ke8EemiOZ_hb7cBOg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_zu0o0ae8EemiOZ_hb7cBOg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_zu0o0qe8EemiOZ_hb7cBOg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_zu0o06e8EemiOZ_hb7cBOg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_zu0o1Ke8EemiOZ_hb7cBOg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zu0o1ae8EemiOZ_hb7cBOg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_zu0o1qe8EemiOZ_hb7cBOg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_zu0o16e8EemiOZ_hb7cBOg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_zu0o2Ke8EemiOZ_hb7cBOg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_zu0o2ae8EemiOZ_hb7cBOg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zu0o2qe8EemiOZ_hb7cBOg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pdp4engCommonGDPR.profile.uml#_zuyzoKe8EemiOZ_hb7cBOg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zu0Bwae8EemiOZ_hb7cBOg" x="480" y="200"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_1KcSQKe8EemiOZ_hb7cBOg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_1KcSQqe8EemiOZ_hb7cBOg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_1KcSQ6e8EemiOZ_hb7cBOg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_1KcSRKe8EemiOZ_hb7cBOg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_1KcSRae8EemiOZ_hb7cBOg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_1KcSRqe8EemiOZ_hb7cBOg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1KcSR6e8EemiOZ_hb7cBOg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_1KcSSKe8EemiOZ_hb7cBOg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_1KcSSae8EemiOZ_hb7cBOg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_1KcSSqe8EemiOZ_hb7cBOg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_1KcSS6e8EemiOZ_hb7cBOg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1KcSTKe8EemiOZ_hb7cBOg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pdp4engCommonGDPR.profile.uml#_1KbEIKe8EemiOZ_hb7cBOg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1KcSQae8EemiOZ_hb7cBOg" x="800" y="340"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9NnOkE2sEeqU98g68TM0Ng" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_9Nn1oE2sEeqU98g68TM0Ng" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_9Nn1oU2sEeqU98g68TM0Ng" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_9Nn1ok2sEeqU98g68TM0Ng"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_9Nn1o02sEeqU98g68TM0Ng"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_9Nn1pE2sEeqU98g68TM0Ng"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9Nn1pU2sEeqU98g68TM0Ng"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_9Nn1pk2sEeqU98g68TM0Ng" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_9Nn1p02sEeqU98g68TM0Ng"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_9Nn1qE2sEeqU98g68TM0Ng"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_9Nn1qU2sEeqU98g68TM0Ng"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9Nn1qk2sEeqU98g68TM0Ng"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pdp4engCommonGDPR.profile.uml#_GnTXQE2sEeqU98g68TM0Ng"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9NnOkU2sEeqU98g68TM0Ng" x="660" y="580"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_69OnQFpYEeqeM9690a6R6A" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_69OnQVpYEeqeM9690a6R6A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_69OnQ1pYEeqeM9690a6R6A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_69OnQlpYEeqeM9690a6R6A" x="220" y="60"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_j6ud8ae8EemiOZ_hb7cBOg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_j6ud8qe8EemiOZ_hb7cBOg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_j6ud86e8EemiOZ_hb7cBOg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="pdp4engCommonGDPR.profile.uml#pdpengcommonprofile"/>
+    </styles>
+    <element xmi:type="uml:Profile" href="pdp4engCommonGDPR.profile.uml#pdpengcommonprofile"/>
+    <edges xmi:type="notation:Connector" xmi:id="_l0Bh4Ke8EemiOZ_hb7cBOg" type="Extension_Edge" source="_lzum8Ke8EemiOZ_hb7cBOg" target="_k2j0EKe8EemiOZ_hb7cBOg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_l0Bh4ae8EemiOZ_hb7cBOg"/>
+      <element xmi:type="uml:Extension" href="pdp4engCommonGDPR.profile.uml#_WkqZ0KIsEemN_tazoyo3PQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l0Bh4qe8EemiOZ_hb7cBOg" points="[0, 0, -643984, -643984]$[300, 72, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_oiQpwKe8EemiOZ_hb7cBOg" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_me3OoKe8EemiOZ_hb7cBOg" id="(0.7896857373086221,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_wwR0EKe8EemiOZ_hb7cBOg" type="Extension_Edge" source="_sfuk4Ke8EemiOZ_hb7cBOg" target="_k2j0EKe8EemiOZ_hb7cBOg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_wwR0Eae8EemiOZ_hb7cBOg"/>
+      <element xmi:type="uml:Extension" href="pdp4engCommonGDPR.profile.uml#_wvyE0Ke8EemiOZ_hb7cBOg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wwR0Eqe8EemiOZ_hb7cBOg" points="[80, 200, -643984, -643984]$[80, 110, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wwsDwKe8EemiOZ_hb7cBOg" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wwsDwae8EemiOZ_hb7cBOg" id="(0.9508460918614021,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_xY0awKe8EemiOZ_hb7cBOg" type="Extension_Edge" source="_u3jX4Ke8EemiOZ_hb7cBOg" target="_k2j0EKe8EemiOZ_hb7cBOg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_xY0awae8EemiOZ_hb7cBOg"/>
+      <element xmi:type="uml:Extension" href="pdp4engCommonGDPR.profile.uml#_xXvcsKe8EemiOZ_hb7cBOg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xY0awqe8EemiOZ_hb7cBOg" points="[200, 200, -643984, -643984]$[200, 110, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xZCdMKe8EemiOZ_hb7cBOg" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xZDEQKe8EemiOZ_hb7cBOg" id="(0.145044319097502,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_2afk4Ke8EemiOZ_hb7cBOg" type="Extension_Edge" source="_zu0BwKe8EemiOZ_hb7cBOg" target="_k2j0EKe8EemiOZ_hb7cBOg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_2afk4ae8EemiOZ_hb7cBOg"/>
+      <element xmi:type="uml:Extension" href="pdp4engCommonGDPR.profile.uml#_2aT-sKe8EemiOZ_hb7cBOg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_2afk4qe8EemiOZ_hb7cBOg" points="[600, 200, -643984, -643984]$[600, 110, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2ayf0Ke8EemiOZ_hb7cBOg" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2ayf0ae8EemiOZ_hb7cBOg" id="(0.40290088638195004,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_P_n_sLhKEem_0sXckGvoOw" type="Generalization_Edge" source="_lg4jcKe8EemiOZ_hb7cBOg" target="_zu0BwKe8EemiOZ_hb7cBOg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_P_pN0LhKEem_0sXckGvoOw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_WpcMULhKEem_0sXckGvoOw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_P_pN0bhKEem_0sXckGvoOw" x="-1" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_P_n_sbhKEem_0sXckGvoOw"/>
+      <element xmi:type="uml:Generalization" href="pdp4engCommonGDPR.profile.uml#_P_W58LhKEem_0sXckGvoOw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_P_n_srhKEem_0sXckGvoOw" points="[520, 340, -643984, -643984]$[520, 320, -643984, -643984]$[600, 320, -643984, -643984]$[600, 300, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QABBQLhKEem_0sXckGvoOw" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QABoULhKEem_0sXckGvoOw" id="(0.4,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_ddIGoLhKEem_0sXckGvoOw" type="Association_Edge" source="_u3jX4Ke8EemiOZ_hb7cBOg" target="_lg4jcKe8EemiOZ_hb7cBOg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_ddItsLhKEem_0sXckGvoOw" type="Association_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_4tj8gLhLEem_0sXckGvoOw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ddItsbhKEem_0sXckGvoOw" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_ddItsrhKEem_0sXckGvoOw" type="Association_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_4tsfYLhLEem_0sXckGvoOw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ddIts7hKEem_0sXckGvoOw" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_ddIttLhKEem_0sXckGvoOw" type="Association_TargetRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_4t3egLhLEem_0sXckGvoOw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ddIttbhKEem_0sXckGvoOw" x="-66" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_ddIttrhKEem_0sXckGvoOw" type="Association_SourceRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_4uABYLhLEem_0sXckGvoOw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ddItt7hKEem_0sXckGvoOw" x="66" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_ddItuLhKEem_0sXckGvoOw" type="Association_SourceMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_4uIkQLhLEem_0sXckGvoOw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ddItubhKEem_0sXckGvoOw" x="66" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_ddIturhKEem_0sXckGvoOw" type="Association_TargetMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_4uRHILhLEem_0sXckGvoOw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ddItu7hKEem_0sXckGvoOw" x="-66" y="-20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_ddIGobhKEem_0sXckGvoOw"/>
+      <element xmi:type="uml:Association" href="pdp4engCommonGDPR.profile.uml#_dc0koLhKEem_0sXckGvoOw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ddIGorhKEem_0sXckGvoOw" points="[260, 380, -643984, -643984]$[560, 380, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_de_H0LhKEem_0sXckGvoOw" id="(1.0,0.6)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_de_H0bhKEem_0sXckGvoOw" id="(0.0,0.22099447513812154)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_rwxycLhKEem_0sXckGvoOw" type="Association_Edge" source="_1KcSQKe8EemiOZ_hb7cBOg" target="_lg4jcKe8EemiOZ_hb7cBOg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_rwxyc7hKEem_0sXckGvoOw" type="Association_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1yaPcLhKEem_0sXckGvoOw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_rwxydLhKEem_0sXckGvoOw" x="-1" y="58"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_rwxydbhKEem_0sXckGvoOw" type="Association_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1yquILhKEem_0sXckGvoOw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_rwxydrhKEem_0sXckGvoOw" x="-1" y="18"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_rwxyd7hKEem_0sXckGvoOw" type="Association_TargetRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1y2UULhKEem_0sXckGvoOw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_rwxyeLhKEem_0sXckGvoOw" x="-62" y="13"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_rwxyebhKEem_0sXckGvoOw" type="Association_SourceRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1zBTcLhKEem_0sXckGvoOw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_rwxyerhKEem_0sXckGvoOw" x="63" y="-27"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_rwyZgLhKEem_0sXckGvoOw" type="Association_SourceMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1zM5oLhKEem_0sXckGvoOw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_rwyZgbhKEem_0sXckGvoOw" x="13" y="17"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_rwyZgrhKEem_0sXckGvoOw" type="Association_TargetMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1zcKMLhKEem_0sXckGvoOw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_rwyZg7hKEem_0sXckGvoOw" x="-13" y="-18"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_rwxycbhKEem_0sXckGvoOw"/>
+      <element xmi:type="uml:Association" href="pdp4engCommonGDPR.profile.uml#_rwih4LhKEem_0sXckGvoOw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rwxycrhKEem_0sXckGvoOw" points="[800, 380, -643984, -643984]$[660, 380, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rxMCILhKEem_0sXckGvoOw" id="(0.0,0.4)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rxMCIbhKEem_0sXckGvoOw" id="(1.0,0.22099447513812154)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_79kKILhKEem_0sXckGvoOw" type="Association_Edge" source="_lzum8Ke8EemiOZ_hb7cBOg" target="_lg4jcKe8EemiOZ_hb7cBOg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_79kxMLhKEem_0sXckGvoOw" type="Association_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1q1yYLhLEem_0sXckGvoOw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_79kxMbhKEem_0sXckGvoOw" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_79kxMrhKEem_0sXckGvoOw" type="Association_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1rFqALhLEem_0sXckGvoOw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_79kxM7hKEem_0sXckGvoOw" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_79kxNLhKEem_0sXckGvoOw" type="Association_TargetRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1rPbALhLEem_0sXckGvoOw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_79kxNbhKEem_0sXckGvoOw" x="-48" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_79kxNrhKEem_0sXckGvoOw" type="Association_SourceRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1rZMALhLEem_0sXckGvoOw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_79kxN7hKEem_0sXckGvoOw" x="48" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_79kxOLhKEem_0sXckGvoOw" type="Association_SourceMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1rhu4LhLEem_0sXckGvoOw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_79kxObhKEem_0sXckGvoOw" x="48" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_79kxOrhKEem_0sXckGvoOw" type="Association_TargetMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1rrf4LhLEem_0sXckGvoOw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_79kxO7hKEem_0sXckGvoOw" x="-48" y="-20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_79kKIbhKEem_0sXckGvoOw"/>
+      <element xmi:type="uml:Association" href="pdp4engCommonGDPR.profile.uml#_79Oy8LhKEem_0sXckGvoOw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_79kKIrhKEem_0sXckGvoOw" points="[960, 480, -643984, -643984]$[660, 480, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7-GVoLhKEem_0sXckGvoOw" id="(0.0,0.6)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7-GVobhKEem_0sXckGvoOw" id="(1.0,0.7734806629834254)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_IDRXsLhLEem_0sXckGvoOw" type="Association_Edge" source="_sfuk4Ke8EemiOZ_hb7cBOg" target="_lzum8Ke8EemiOZ_hb7cBOg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_IDRXs7hLEem_0sXckGvoOw" type="Association_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1r1Q4LhLEem_0sXckGvoOw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_IDRXtLhLEem_0sXckGvoOw" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_IDRXtbhLEem_0sXckGvoOw" type="Association_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1r9zwLhLEem_0sXckGvoOw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_IDRXtrhLEem_0sXckGvoOw" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_IDRXt7hLEem_0sXckGvoOw" type="Association_TargetRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1sHkwLhLEem_0sXckGvoOw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_IDRXuLhLEem_0sXckGvoOw" x="-33" y="33"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_IDRXubhLEem_0sXckGvoOw" type="Association_SourceRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1sQusLhLEem_0sXckGvoOw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_IDRXurhLEem_0sXckGvoOw" x="35" y="-27"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_IDRXu7hLEem_0sXckGvoOw" type="Association_SourceMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1seKELhLEem_0sXckGvoOw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_IDRXvLhLEem_0sXckGvoOw" x="9" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_IDRXvbhLEem_0sXckGvoOw" type="Association_TargetMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1staoLhLEem_0sXckGvoOw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_IDRXvrhLEem_0sXckGvoOw" x="-9" y="-20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_IDRXsbhLEem_0sXckGvoOw"/>
+      <element xmi:type="uml:Association" href="pdp4engCommonGDPR.profile.uml#_IC0EsLhLEem_0sXckGvoOw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IDRXsrhLEem_0sXckGvoOw" points="[1120, 400, -643984, -643984]$[1080, 400, -643984, -643984]$[1080, 480, -643984, -643984]$[1060, 480, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ID8tILhLEem_0sXckGvoOw" id="(0.0,0.6)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ID8tIbhLEem_0sXckGvoOw" id="(1.0,0.6)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9OSkAE2sEeqU98g68TM0Ng" type="Association_Edge" source="_9NnOkE2sEeqU98g68TM0Ng" target="_lzum8Ke8EemiOZ_hb7cBOg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_9OSkA02sEeqU98g68TM0Ng" type="Association_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-at64E2sEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9OSkBE2sEeqU98g68TM0Ng" x="1" y="58"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9OSkBU2sEeqU98g68TM0Ng" type="Association_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-a9ygE2sEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9OSkBk2sEeqU98g68TM0Ng" y="19"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9OSkB02sEeqU98g68TM0Ng" type="Association_TargetRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-bNDEE2sEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9OSkCE2sEeqU98g68TM0Ng" x="-61" y="19"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9OSkCU2sEeqU98g68TM0Ng" type="Association_SourceRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-bbskE2sEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9OSkCk2sEeqU98g68TM0Ng" x="62" y="-18"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9OSkC02sEeqU98g68TM0Ng" type="Association_SourceMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-bpvAE2sEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9OSkDE2sEeqU98g68TM0Ng" x="61" y="19"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_9OSkDU2sEeqU98g68TM0Ng" type="Association_TargetMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-b5moE2sEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9OSkDk2sEeqU98g68TM0Ng" x="-61" y="-18"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_9OSkAU2sEeqU98g68TM0Ng"/>
+      <element xmi:type="uml:Association" href="pdp4engCommonGDPR.profile.uml#_N22uME2sEeqU98g68TM0Ng"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9OSkAk2sEeqU98g68TM0Ng" points="[900, 580, -643984, -643984]$[1020, 640, -643984, -643984]$[960, 520, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-cO90E2sEeqU98g68TM0Ng" id="(1.0,0.6)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-cO90U2sEeqU98g68TM0Ng" id="(0.6,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_AmDKAE2tEeqU98g68TM0Ng" type="Association_Edge" source="_1KcSQKe8EemiOZ_hb7cBOg" target="_9NnOkE2sEeqU98g68TM0Ng">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AmDxEE2tEeqU98g68TM0Ng" type="Association_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ybM7QE20EeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_AmDxEU2tEeqU98g68TM0Ng" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_AmDxEk2tEeqU98g68TM0Ng" type="Association_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ybhEUE20EeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_AmDxE02tEeqU98g68TM0Ng" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_AmDxFE2tEeqU98g68TM0Ng" type="Association_TargetRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ybw78E20EeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_AmDxFU2tEeqU98g68TM0Ng" x="-21" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_AmDxFk2tEeqU98g68TM0Ng" type="Association_SourceRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ycAMgE20EeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_AmDxF02tEeqU98g68TM0Ng" x="21" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_AmDxGE2tEeqU98g68TM0Ng" type="Association_SourceMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ycQEIE20EeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_AmDxGU2tEeqU98g68TM0Ng" x="21" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_AmEYIE2tEeqU98g68TM0Ng" type="Association_TargetMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ycetoE20EeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_AmEYIU2tEeqU98g68TM0Ng" x="-21" y="-20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_AmDKAU2tEeqU98g68TM0Ng"/>
+      <element xmi:type="uml:Association" href="pdp4engCommonGDPR.profile.uml#_JyuKYE2sEeqU98g68TM0Ng"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AmDKAk2tEeqU98g68TM0Ng" points="[840, 440, -643984, -643984]$[840, 520, -643984, -643984]$[740, 520, -643984, -643984]$[740, 580, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yc16AE20EeqU98g68TM0Ng" id="(0.4,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yc2hEE20EeqU98g68TM0Ng" id="(0.8,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_B0FqcE2tEeqU98g68TM0Ng" type="Association_Edge" source="_9NnOkE2sEeqU98g68TM0Ng" target="_9NnOkE2sEeqU98g68TM0Ng">
+      <children xmi:type="notation:DecorationNode" xmi:id="_B0GRgE2tEeqU98g68TM0Ng" type="Association_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_C9x2YE2tEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_B0GRgU2tEeqU98g68TM0Ng" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_B0GRgk2tEeqU98g68TM0Ng" type="Association_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_C9-DoE2tEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_B0GRg02tEeqU98g68TM0Ng" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_B0GRhE2tEeqU98g68TM0Ng" type="Association_TargetRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_C-K38E2tEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_B0GRhU2tEeqU98g68TM0Ng" x="-43" y="19"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_B0GRhk2tEeqU98g68TM0Ng" type="Association_SourceRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_C-XsQE2tEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_B0GRh02tEeqU98g68TM0Ng" x="44" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_B0GRiE2tEeqU98g68TM0Ng" type="Association_SourceMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_C-kgkE2tEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_B0GRiU2tEeqU98g68TM0Ng" x="44" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_B0GRik2tEeqU98g68TM0Ng" type="Association_TargetMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_C-xU4E2tEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_B0GRi02tEeqU98g68TM0Ng" x="-42" y="-18"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_B0FqcU2tEeqU98g68TM0Ng"/>
+      <element xmi:type="uml:Association" href="pdp4engCommonGDPR.profile.uml#_Vf0qsE2sEeqU98g68TM0Ng"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_B0Fqck2tEeqU98g68TM0Ng" points="[760, 660, -643984, -643984]$[800, 660, -643984, -643984]$[800, 742, -643984, -643984]$[700, 742, -643984, -643984]$[720, 680, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CkWCsE2tEeqU98g68TM0Ng" id="(1.0,0.8)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_C9kbAE2tEeqU98g68TM0Ng" id="(0.4,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_xR3UoE20EeqU98g68TM0Ng" type="Extension_Edge" source="_9NnOkE2sEeqU98g68TM0Ng" target="_k2j0EKe8EemiOZ_hb7cBOg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_xR3UoU20EeqU98g68TM0Ng"/>
+      <element xmi:type="uml:Extension" href="pdp4engCommonGDPR.profile.uml#_bhlfME20EeqU98g68TM0Ng"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xR3Uok20EeqU98g68TM0Ng" points="[830, 580, -643984, -643984]$[650, 110, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yc2hEU20EeqU98g68TM0Ng" id="(0.43,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yc2hEk20EeqU98g68TM0Ng" id="(0.547945205479452,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_69OnRFpYEeqeM9690a6R6A" type="StereotypeCommentLink" source="_k2j0EKe8EemiOZ_hb7cBOg" target="_69OnQFpYEeqeM9690a6R6A">
+      <styles xmi:type="notation:FontStyle" xmi:id="_69OnRVpYEeqeM9690a6R6A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_69POUFpYEeqeM9690a6R6A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_69OnRlpYEeqeM9690a6R6A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_69OnR1pYEeqeM9690a6R6A"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_69OnSFpYEeqeM9690a6R6A"/>
+    </edges>
+  </notation:Diagram>
+  <css:ModelStyleSheets xmi:id="_tszk0LhLEem_0sXckGvoOw">
+    <stylesheets xmi:type="css:StyleSheetReference" xmi:id="_ts0y8LhLEem_0sXckGvoOw" path="/org.eclipse.papyrus.pdp4eng.common.profile/model/GDPRProfile.css"/>
+  </css:ModelStyleSheets>
+  <notation:Diagram xmi:id="_2h8TwDbiEeqsGNzaceeV5g" type="PapyrusUMLProfileDiagram" name="overview" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_3ZZgMDbiEeqsGNzaceeV5g" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_3ZaHQDbiEeqsGNzaceeV5g" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_3ZaHQTbiEeqsGNzaceeV5g" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_3ZaHQjbiEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_3ZaHQzbiEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_3ZaHRDbiEeqsGNzaceeV5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3ZaHRTbiEeqsGNzaceeV5g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_3ZaHRjbiEeqsGNzaceeV5g" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_3ZaHRzbiEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_3ZaHSDbiEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_3ZaHSTbiEeqsGNzaceeV5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3ZaHSjbiEeqsGNzaceeV5g"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pdp4engCommonGDPR.profile.uml#_1KbEIKe8EemiOZ_hb7cBOg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3ZZgMTbiEeqsGNzaceeV5g" x="60" y="360"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_3tmOkDbiEeqsGNzaceeV5g" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_3tmOkjbiEeqsGNzaceeV5g" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_3tmOkzbiEeqsGNzaceeV5g" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_3tmOlDbiEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_3tmOlTbiEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_3tmOljbiEeqsGNzaceeV5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3tmOlzbiEeqsGNzaceeV5g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_3tmOmDbiEeqsGNzaceeV5g" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_3tmOmTbiEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_3tmOmjbiEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_3tmOmzbiEeqsGNzaceeV5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3tmOnDbiEeqsGNzaceeV5g"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pdp4engCommonGDPR.profile.uml#_zuyzoKe8EemiOZ_hb7cBOg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3tmOkTbiEeqsGNzaceeV5g" x="260" y="500"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_4A6zMDbiEeqsGNzaceeV5g" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_4A6zMjbiEeqsGNzaceeV5g" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_4A6zMzbiEeqsGNzaceeV5g" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_4A6zNDbiEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_4A6zNTbiEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_4A6zNjbiEeqsGNzaceeV5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4A6zNzbiEeqsGNzaceeV5g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_4A6zODbiEeqsGNzaceeV5g" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_4A6zOTbiEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_4A6zOjbiEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_4A6zOzbiEeqsGNzaceeV5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4A6zPDbiEeqsGNzaceeV5g"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pdp4engCommonGDPR.profile.uml#_u3iJwKe8EemiOZ_hb7cBOg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4A6zMTbiEeqsGNzaceeV5g" x="620" y="360"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_4OjmkDbiEeqsGNzaceeV5g" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_4OjmkjbiEeqsGNzaceeV5g" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4OjmkTbiEeqsGNzaceeV5g" x="-80" y="680" width="1401"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_5Fz-sDbiEeqsGNzaceeV5g" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_5Fz-sjbiEeqsGNzaceeV5g" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_5Fz-szbiEeqsGNzaceeV5g" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_5Fz-tDbiEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_5Fz-tTbiEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_5Fz-tjbiEeqsGNzaceeV5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5Fz-tzbiEeqsGNzaceeV5g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_5Fz-uDbiEeqsGNzaceeV5g" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_5Fz-uTbiEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_5Fz-ujbiEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_5Fz-uzbiEeqsGNzaceeV5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5Fz-vDbiEeqsGNzaceeV5g"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pdp4engCommonGDPR.profile.uml#_QiJakKIoEemN_tazoyo3PQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5Fz-sTbiEeqsGNzaceeV5g" x="420" y="200"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_5XEGwDbiEeqsGNzaceeV5g" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_5XEt0DbiEeqsGNzaceeV5g" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_5XEt0TbiEeqsGNzaceeV5g" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_5XEt0jbiEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_5XEt0zbiEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_5XEt1DbiEeqsGNzaceeV5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5XEt1TbiEeqsGNzaceeV5g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_5XEt1jbiEeqsGNzaceeV5g" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_5XEt1zbiEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_5XEt2DbiEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_5XEt2TbiEeqsGNzaceeV5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5XEt2jbiEeqsGNzaceeV5g"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pdp4engCommonGDPR.profile.uml#_sfn3MKe8EemiOZ_hb7cBOg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5XEGwTbiEeqsGNzaceeV5g" x="820" y="200"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_A_MVwDbjEeqsGNzaceeV5g" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_A_MVwjbjEeqsGNzaceeV5g" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_A_MVwzbjEeqsGNzaceeV5g" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_A_MVxDbjEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_A_MVxTbjEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_A_MVxjbjEeqsGNzaceeV5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_A_MVxzbjEeqsGNzaceeV5g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_A_MVyDbjEeqsGNzaceeV5g" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_A_MVyTbjEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_A_MVyjbjEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_A_MVyzbjEeqsGNzaceeV5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_A_MVzDbjEeqsGNzaceeV5g"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pdp4engCommonGDPR.profile.uml#_bQqywKIoEemN_tazoyo3PQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_A_MVwTbjEeqsGNzaceeV5g" x="260" y="360"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_3gnGADbjEeqsGNzaceeV5g" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_3gntEDbjEeqsGNzaceeV5g" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_3gntETbjEeqsGNzaceeV5g" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_3gntEjbjEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_3gntEzbjEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_3gntFDbjEeqsGNzaceeV5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3gntFTbjEeqsGNzaceeV5g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_3gntFjbjEeqsGNzaceeV5g" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_3gntFzbjEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_3gntGDbjEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_3gntGTbjEeqsGNzaceeV5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3gntGjbjEeqsGNzaceeV5g"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pdp4engCommonGDPR.profile.uml#_3gl34DbjEeqsGNzaceeV5g"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3gnGATbjEeqsGNzaceeV5g" x="1080" y="200"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_UjLdUDbkEeqsGNzaceeV5g" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_UjLdUjbkEeqsGNzaceeV5g" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_UjLdUzbkEeqsGNzaceeV5g" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_UjLdVDbkEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_UjLdVTbkEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_UjLdVjbkEeqsGNzaceeV5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UjLdVzbkEeqsGNzaceeV5g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_UjLdWDbkEeqsGNzaceeV5g" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_UjLdWTbkEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_UjLdWjbkEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_UjLdWzbkEeqsGNzaceeV5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UjLdXDbkEeqsGNzaceeV5g"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pdp4engCommonGDPR.profile.uml#_UjKPMDbkEeqsGNzaceeV5g"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UjLdUTbkEeqsGNzaceeV5g" x="1200" y="200"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_GnWakE2sEeqU98g68TM0Ng" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GnXBoE2sEeqU98g68TM0Ng" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GnXBoU2sEeqU98g68TM0Ng" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GnXBok2sEeqU98g68TM0Ng"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GnXBo02sEeqU98g68TM0Ng"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GnXBpE2sEeqU98g68TM0Ng"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GnXBpU2sEeqU98g68TM0Ng"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GnXBpk2sEeqU98g68TM0Ng" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GnXBp02sEeqU98g68TM0Ng"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GnXBqE2sEeqU98g68TM0Ng"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GnXBqU2sEeqU98g68TM0Ng"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GnXBqk2sEeqU98g68TM0Ng"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pdp4engCommonGDPR.profile.uml#_GnTXQE2sEeqU98g68TM0Ng"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GnWakU2sEeqU98g68TM0Ng" x="-80" y="120" width="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_65Mb01pYEeqeM9690a6R6A" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_65Mb1FpYEeqeM9690a6R6A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_65Mb1lpYEeqeM9690a6R6A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_65Mb1VpYEeqeM9690a6R6A" x="120" y="680"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_2h8TwTbiEeqsGNzaceeV5g" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_2h8TwjbiEeqsGNzaceeV5g"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_2h8TwzbiEeqsGNzaceeV5g" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="pdp4engCommonGDPR.profile.uml#pdpengcommonprofile"/>
+    </styles>
+    <element xmi:type="uml:Profile" href="pdp4engCommonGDPR.profile.uml#pdpengcommonprofile"/>
+    <edges xmi:type="notation:Connector" xmi:id="_4dO7wDbiEeqsGNzaceeV5g" type="Extension_Edge" source="_3tmOkDbiEeqsGNzaceeV5g" target="_4OjmkDbiEeqsGNzaceeV5g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_4dO7wTbiEeqsGNzaceeV5g"/>
+      <element xmi:type="uml:Extension" href="pdp4engCommonGDPR.profile.uml#_2aT-sKe8EemiOZ_hb7cBOg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4dO7wjbiEeqsGNzaceeV5g" points="[527, 610, -643984, -643984]$[527, 670, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5-ZzkDbiEeqsGNzaceeV5g" id="(0.6,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5-ZzkTbiEeqsGNzaceeV5g" id="(0.28551034975017847,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_4yfaEDbiEeqsGNzaceeV5g" type="Extension_Edge" source="_4A6zMDbiEeqsGNzaceeV5g" target="_4OjmkDbiEeqsGNzaceeV5g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_4yfaETbiEeqsGNzaceeV5g"/>
+      <element xmi:type="uml:Extension" href="pdp4engCommonGDPR.profile.uml#_xXvcsKe8EemiOZ_hb7cBOg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4yfaEjbiEeqsGNzaceeV5g" points="[660, 460, -643984, -643984]$[680, 680, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5-ZzljbiEeqsGNzaceeV5g" id="(0.6,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5-ZzlzbiEeqsGNzaceeV5g" id="(0.5424696645253391,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_5GAzADbiEeqsGNzaceeV5g" type="Extension_Edge" source="_5Fz-sDbiEeqsGNzaceeV5g" target="_4OjmkDbiEeqsGNzaceeV5g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_5GAzATbiEeqsGNzaceeV5g"/>
+      <element xmi:type="uml:Extension" href="pdp4engCommonGDPR.profile.uml#_WkqZ0KIsEemN_tazoyo3PQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5GAzAjbiEeqsGNzaceeV5g" points="[480, 300, -643984, -643984]$[460, 680, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5-ZzkjbiEeqsGNzaceeV5g" id="(0.6,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5-ZzkzbiEeqsGNzaceeV5g" id="(0.3997144896502498,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_5XSwQDbiEeqsGNzaceeV5g" type="Extension_Edge" source="_5XEGwDbiEeqsGNzaceeV5g" target="_4OjmkDbiEeqsGNzaceeV5g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_5XSwQTbiEeqsGNzaceeV5g"/>
+      <element xmi:type="uml:Extension" href="pdp4engCommonGDPR.profile.uml#_wvyE0Ke8EemiOZ_hb7cBOg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5XSwQjbiEeqsGNzaceeV5g" points="[880, 300, -643984, -643984]$[880, 300, -643984, -643984]$[740, 680, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5-ZzlDbiEeqsGNzaceeV5g" id="(0.6,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5-ZzlTbiEeqsGNzaceeV5g" id="(0.6852248394004282,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_A_aYMDbjEeqsGNzaceeV5g" type="Association_Edge" source="_5Fz-sDbiEeqsGNzaceeV5g" target="_A_MVwDbjEeqsGNzaceeV5g">
+      <children xmi:type="notation:DecorationNode" xmi:id="_A_aYMzbjEeqsGNzaceeV5g" type="Association_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ICZSwDbjEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_A_aYNDbjEeqsGNzaceeV5g" x="1" y="57"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_A_aYNTbjEeqsGNzaceeV5g" type="Association_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ICZSwTbjEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_A_aYNjbjEeqsGNzaceeV5g" x="-1" y="18"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_A_aYNzbjEeqsGNzaceeV5g" type="Association_TargetRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ICZSwjbjEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_A_aYODbjEeqsGNzaceeV5g" x="-33" y="59"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_A_aYOTbjEeqsGNzaceeV5g" type="Association_SourceRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ICZ50DbjEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_A_aYOjbjEeqsGNzaceeV5g" x="40" y="-27"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_A_aYOzbjEeqsGNzaceeV5g" type="Association_SourceMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ICZ50TbjEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_A_aYPDbjEeqsGNzaceeV5g" x="30" y="33"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_A_aYPTbjEeqsGNzaceeV5g" type="Association_TargetMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ICag4DbjEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_A_aYPjbjEeqsGNzaceeV5g" y="-20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_A_aYMTbjEeqsGNzaceeV5g"/>
+      <element xmi:type="uml:Association" href="pdp4engCommonGDPR.profile.uml#_79Oy8LhKEem_0sXckGvoOw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_A_aYMjbjEeqsGNzaceeV5g" points="[460, 300, -643984, -643984]$[300, 240, -643984, -643984]$[320, 360, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ICjDwDbjEeqsGNzaceeV5g" id="(0.0,0.4)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ICjq0DbjEeqsGNzaceeV5g" id="(0.4,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_CFz_kDbjEeqsGNzaceeV5g" type="Association_Edge" source="_4A6zMDbiEeqsGNzaceeV5g" target="_A_MVwDbjEeqsGNzaceeV5g">
+      <children xmi:type="notation:DecorationNode" xmi:id="_CFz_kzbjEeqsGNzaceeV5g" type="Association_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ICTMITbjEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CFz_lDbjEeqsGNzaceeV5g" x="2" y="57"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_CFz_lTbjEeqsGNzaceeV5g" type="Association_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ICTMIjbjEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CFz_ljbjEeqsGNzaceeV5g" x="2" y="17"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_CFz_lzbjEeqsGNzaceeV5g" type="Association_TargetRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ICTMIzbjEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CFz_mDbjEeqsGNzaceeV5g" x="-62" y="13"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_CFz_mTbjEeqsGNzaceeV5g" type="Association_SourceRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ICTzMDbjEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CFz_mjbjEeqsGNzaceeV5g" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_CFz_mzbjEeqsGNzaceeV5g" type="Association_SourceMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ICTzMTbjEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CFz_nDbjEeqsGNzaceeV5g" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_CFz_nTbjEeqsGNzaceeV5g" type="Association_TargetMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ICTzMjbjEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CFz_njbjEeqsGNzaceeV5g" y="-20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_CFz_kTbjEeqsGNzaceeV5g"/>
+      <element xmi:type="uml:Association" href="pdp4engCommonGDPR.profile.uml#_dc0koLhKEem_0sXckGvoOw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CFz_kjbjEeqsGNzaceeV5g" points="[620, 440, -643984, -643984]$[360, 420, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ICYrsDbjEeqsGNzaceeV5g" id="(0.0,0.6)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ICYrsTbjEeqsGNzaceeV5g" id="(1.0,0.6)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_CdVHsDbjEeqsGNzaceeV5g" type="Association_Edge" source="_3ZZgMDbiEeqsGNzaceeV5g" target="_A_MVwDbjEeqsGNzaceeV5g">
+      <children xmi:type="notation:DecorationNode" xmi:id="_CdVHszbjEeqsGNzaceeV5g" type="Association_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ICHl8DbjEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CdVHtDbjEeqsGNzaceeV5g" y="59"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_CdVHtTbjEeqsGNzaceeV5g" type="Association_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ICINADbjEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CdVHtjbjEeqsGNzaceeV5g" y="19"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_CdVHtzbjEeqsGNzaceeV5g" type="Association_TargetRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ICINATbjEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CdVHuDbjEeqsGNzaceeV5g" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_CdVHuTbjEeqsGNzaceeV5g" type="Association_SourceRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ICINAjbjEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CdVHujbjEeqsGNzaceeV5g" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_CdVHuzbjEeqsGNzaceeV5g" type="Association_SourceMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ICI0EDbjEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CdVHvDbjEeqsGNzaceeV5g" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_CdVHvTbjEeqsGNzaceeV5g" type="Association_TargetMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ICI0ETbjEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CdVHvjbjEeqsGNzaceeV5g" y="-20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_CdVHsTbjEeqsGNzaceeV5g"/>
+      <element xmi:type="uml:Association" href="pdp4engCommonGDPR.profile.uml#_rwih4LhKEem_0sXckGvoOw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CdVHsjbjEeqsGNzaceeV5g" points="[120, 300, -643984, -643984]$[280, 360, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ICMecDbjEeqsGNzaceeV5g" id="(1.0,0.6)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ICNFgDbjEeqsGNzaceeV5g" id="(0.0,0.6)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_D40OQDbjEeqsGNzaceeV5g" type="Association_Edge" source="_5XEGwDbiEeqsGNzaceeV5g" target="_5Fz-sDbiEeqsGNzaceeV5g">
+      <children xmi:type="notation:DecorationNode" xmi:id="_D401UDbjEeqsGNzaceeV5g" type="Association_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ICag4TbjEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_D401UTbjEeqsGNzaceeV5g" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_D401UjbjEeqsGNzaceeV5g" type="Association_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ICag4jbjEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_D401UzbjEeqsGNzaceeV5g" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_D401VDbjEeqsGNzaceeV5g" type="Association_TargetRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ICbH8DbjEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_D401VTbjEeqsGNzaceeV5g" x="-33" y="13"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_D401VjbjEeqsGNzaceeV5g" type="Association_SourceRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ICbH8TbjEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_D401VzbjEeqsGNzaceeV5g" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_D401WDbjEeqsGNzaceeV5g" type="Association_SourceMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ICbH8jbjEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_D401WTbjEeqsGNzaceeV5g" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_D401WjbjEeqsGNzaceeV5g" type="Association_TargetMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ICbvADbjEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_D401WzbjEeqsGNzaceeV5g" y="-20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_D40OQTbjEeqsGNzaceeV5g"/>
+      <element xmi:type="uml:Association" href="pdp4engCommonGDPR.profile.uml#_IC0EsLhLEem_0sXckGvoOw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_D40OQjbjEeqsGNzaceeV5g" points="[820, 260, -643984, -643984]$[520, 260, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ICjq0TbjEeqsGNzaceeV5g" id="(0.0,0.4)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ICjq0jbjEeqsGNzaceeV5g" id="(1.0,0.4)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_F1vN8DbjEeqsGNzaceeV5g" type="Generalization_Edge" source="_A_MVwDbjEeqsGNzaceeV5g" target="_3tmOkDbiEeqsGNzaceeV5g">
+      <children xmi:type="notation:DecorationNode" xmi:id="_F1v1ADbjEeqsGNzaceeV5g" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ICNFgTbjEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_F1v1ATbjEeqsGNzaceeV5g" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_F1vN8TbjEeqsGNzaceeV5g"/>
+      <element xmi:type="uml:Generalization" href="pdp4engCommonGDPR.profile.uml#_P_W58LhKEem_0sXckGvoOw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_F1vN8jbjEeqsGNzaceeV5g" points="[383, 450, -643984, -643984]$[527, 510, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ICSlEDbjEeqsGNzaceeV5g" id="(0.4,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ICTMIDbjEeqsGNzaceeV5g" id="(0.4,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_5cTWoDbjEeqsGNzaceeV5g" type="Extension_Edge" source="_3gnGADbjEeqsGNzaceeV5g" target="_4OjmkDbiEeqsGNzaceeV5g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_5cTWoTbjEeqsGNzaceeV5g"/>
+      <element xmi:type="uml:Extension" href="pdp4engCommonGDPR.profile.uml#_5cC38DbjEeqsGNzaceeV5g"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5cTWojbjEeqsGNzaceeV5g" points="[1120, 300, -643984, -643984]$[1120, 680, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5clDcDbjEeqsGNzaceeV5g" id="(0.4,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5clDcTbjEeqsGNzaceeV5g" id="(0.8565310492505354,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8LI7cDbjEeqsGNzaceeV5g" type="Association_Edge" source="_5XEGwDbiEeqsGNzaceeV5g" target="_3gnGADbjEeqsGNzaceeV5g">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8LJigDbjEeqsGNzaceeV5g" type="Association_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8LJigTbjEeqsGNzaceeV5g" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8LJigjbjEeqsGNzaceeV5g" type="Association_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8LJigzbjEeqsGNzaceeV5g" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8LJihDbjEeqsGNzaceeV5g" type="Association_TargetRoleLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8LJihTbjEeqsGNzaceeV5g" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8LJihjbjEeqsGNzaceeV5g" type="Association_SourceRoleLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8LKJkDbjEeqsGNzaceeV5g" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8LKJkTbjEeqsGNzaceeV5g" type="Association_SourceMultiplicityLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8LKJkjbjEeqsGNzaceeV5g" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_8LKJkzbjEeqsGNzaceeV5g" type="Association_TargetMultiplicityLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8LKJlDbjEeqsGNzaceeV5g" y="-20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8LI7cTbjEeqsGNzaceeV5g"/>
+      <element xmi:type="uml:Association" href="pdp4engCommonGDPR.profile.uml#_8KyWIDbjEeqsGNzaceeV5g"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8LI7cjbjEeqsGNzaceeV5g" points="[920, 240, -643984, -643984]$[1080, 240, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8LkZQDbjEeqsGNzaceeV5g" id="(1.0,0.4)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8LkZQTbjEeqsGNzaceeV5g" id="(0.0,0.4)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_ILPQQDbkEeqsGNzaceeV5g" type="Association_Edge" source="_3gnGADbjEeqsGNzaceeV5g" target="_4A6zMDbiEeqsGNzaceeV5g">
+      <children xmi:type="notation:DecorationNode" xmi:id="_ILP3UDbkEeqsGNzaceeV5g" type="Association_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_NdzWEDbkEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ILP3UTbkEeqsGNzaceeV5g" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_ILP3UjbkEeqsGNzaceeV5g" type="Association_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_NeAxcDbkEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ILP3UzbkEeqsGNzaceeV5g" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_ILP3VDbkEeqsGNzaceeV5g" type="Association_TargetRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_NeKicDbkEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ILP3VTbkEeqsGNzaceeV5g" x="-73" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_ILP3VjbkEeqsGNzaceeV5g" type="Association_SourceRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_NeUTcDbkEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ILP3VzbkEeqsGNzaceeV5g" x="72" y="-18"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_ILP3WDbkEeqsGNzaceeV5g" type="Association_SourceMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_NeddYDbkEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ILP3WTbkEeqsGNzaceeV5g" x="73" y="18"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_ILP3WjbkEeqsGNzaceeV5g" type="Association_TargetMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_NemnUDbkEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ILP3WzbkEeqsGNzaceeV5g" x="-73" y="-20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_ILPQQTbkEeqsGNzaceeV5g"/>
+      <element xmi:type="uml:Association" href="pdp4engCommonGDPR.profile.uml#_ILDqEDbkEeqsGNzaceeV5g"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ILPQQjbkEeqsGNzaceeV5g" points="[1120, 300, -643984, -643984]$[1100, 420, -643984, -643984]$[720, 420, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ILr8MDbkEeqsGNzaceeV5g" id="(0.2,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ILr8MTbkEeqsGNzaceeV5g" id="(1.0,0.6)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_b3eKUDbkEeqsGNzaceeV5g" type="Extension_Edge" source="_UjLdUDbkEeqsGNzaceeV5g" target="_4OjmkDbiEeqsGNzaceeV5g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_b3eKUTbkEeqsGNzaceeV5g"/>
+      <element xmi:type="uml:Extension" href="pdp4engCommonGDPR.profile.uml#_b3NroDbkEeqsGNzaceeV5g"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_b3eKUjbkEeqsGNzaceeV5g" points="[1240, 300, -643984, -643984]$[1240, 680, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_b3xFQDbkEeqsGNzaceeV5g" id="(0.4,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_b3xFQTbkEeqsGNzaceeV5g" id="(0.9421841541755889,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_fOESsDbkEeqsGNzaceeV5g" type="Association_Edge" source="_UjLdUDbkEeqsGNzaceeV5g" target="_5Fz-sDbiEeqsGNzaceeV5g">
+      <children xmi:type="notation:DecorationNode" xmi:id="_fOE5wDbkEeqsGNzaceeV5g" type="Association_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_fwax0DbkEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_fOE5wTbkEeqsGNzaceeV5g" x="-1" y="58"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_fOE5wjbkEeqsGNzaceeV5g" type="Association_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_fwlJ4DbkEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_fOE5wzbkEeqsGNzaceeV5g" x="-1" y="18"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_fOE5xDbkEeqsGNzaceeV5g" type="Association_TargetRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_fwtswDbkEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_fOE5xTbkEeqsGNzaceeV5g" x="60" y="109"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_fOE5xjbkEeqsGNzaceeV5g" type="Association_SourceRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_fw3dwDbkEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_fOE5xzbkEeqsGNzaceeV5g" x="33" y="76"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_fOE5yDbkEeqsGNzaceeV5g" type="Association_SourceMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_fxBOwDbkEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_fOE5yTbkEeqsGNzaceeV5g" x="33" y="-29"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_fOE5yjbkEeqsGNzaceeV5g" type="Association_TargetMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_fxK_wDbkEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_fOE5yzbkEeqsGNzaceeV5g" x="59" y="70"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_fOESsTbkEeqsGNzaceeV5g"/>
+      <element xmi:type="uml:Association" href="pdp4engCommonGDPR.profile.uml#_fN1pMDbkEeqsGNzaceeV5g"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fOESsjbkEeqsGNzaceeV5g" points="[1260, 200, -643984, -643984]$[1260, 120, -643984, -643984]$[500, 120, -643984, -643984]$[500, 200, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fOcGIDbkEeqsGNzaceeV5g" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fOcGITbkEeqsGNzaceeV5g" id="(0.8,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_wXrfADbkEeqsGNzaceeV5g" type="Association_Edge" source="_4A6zMDbiEeqsGNzaceeV5g" target="_UjLdUDbkEeqsGNzaceeV5g">
+      <children xmi:type="notation:DecorationNode" xmi:id="_wXsGEDbkEeqsGNzaceeV5g" type="Association_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_w2m2sDbkEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_wXsGETbkEeqsGNzaceeV5g" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_wXsGEjbkEeqsGNzaceeV5g" type="Association_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_w2wAoDbkEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_wXsGEzbkEeqsGNzaceeV5g" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_wXsGFDbkEeqsGNzaceeV5g" type="Association_TargetRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_w25KkDbkEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_wXsGFTbkEeqsGNzaceeV5g" x="-27" y="69"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_wXsGFjbkEeqsGNzaceeV5g" type="Association_SourceRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_w3C7kDbkEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_wXsGFzbkEeqsGNzaceeV5g" x="78" y="27"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_wXsGGDbkEeqsGNzaceeV5g" type="Association_SourceMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_w3MFgDbkEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_wXsGGTbkEeqsGNzaceeV5g" x="96" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_wXsGGjbkEeqsGNzaceeV5g" type="Association_TargetMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_w3WdkDbkEeqsGNzaceeV5g" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_wXsGGzbkEeqsGNzaceeV5g" x="-27" y="-29"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_wXrfATbkEeqsGNzaceeV5g"/>
+      <element xmi:type="uml:Association" href="pdp4engCommonGDPR.profile.uml#_wXf40DbkEeqsGNzaceeV5g"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wXrfAjbkEeqsGNzaceeV5g" points="[720, 440, -643984, -643984]$[1220, 440, -643984, -643984]$[1220, 300, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wYD5gDbkEeqsGNzaceeV5g" id="(1.0,0.8)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wYD5gTbkEeqsGNzaceeV5g" id="(0.2,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Jzu3AE2sEeqU98g68TM0Ng" type="Association_Edge" source="_3ZZgMDbiEeqsGNzaceeV5g" target="_GnWakE2sEeqU98g68TM0Ng">
+      <children xmi:type="notation:DecorationNode" xmi:id="_JzveEE2sEeqU98g68TM0Ng" type="Association_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_fL-tUE20EeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_JzveEU2sEeqU98g68TM0Ng" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_JzveEk2sEeqU98g68TM0Ng" type="Association_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_fMQaIE20EeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_JzveE02sEeqU98g68TM0Ng" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_JzveFE2sEeqU98g68TM0Ng" type="Association_TargetRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_fMfqsE20EeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_JzveFU2sEeqU98g68TM0Ng" x="-21" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_JzveFk2sEeqU98g68TM0Ng" type="Association_SourceRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_fMu7QE20EeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_JzveF02sEeqU98g68TM0Ng" x="21" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_JzveGE2sEeqU98g68TM0Ng" type="Association_SourceMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_fNAoEE20EeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_JzveGU2sEeqU98g68TM0Ng" x="21" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_JzwFIE2sEeqU98g68TM0Ng" type="Association_TargetMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_fNS78E20EeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_JzwFIU2sEeqU98g68TM0Ng" x="-21" y="-20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Jzu3AU2sEeqU98g68TM0Ng"/>
+      <element xmi:type="uml:Association" href="pdp4engCommonGDPR.profile.uml#_JyuKYE2sEeqU98g68TM0Ng"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Jzu3Ak2sEeqU98g68TM0Ng" points="[120, 360, -643984, -643984]$[120, 300, -643984, -643984]$[0, 300, -643984, -643984]$[0, 220, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_J00cIE2sEeqU98g68TM0Ng" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_J00cIU2sEeqU98g68TM0Ng" id="(0.6611570247933884,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_N3_WoE2sEeqU98g68TM0Ng" type="Association_Edge" source="_GnWakE2sEeqU98g68TM0Ng" target="_5Fz-sDbiEeqsGNzaceeV5g">
+      <children xmi:type="notation:DecorationNode" xmi:id="_N3_9sE2sEeqU98g68TM0Ng" type="Association_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_RiTFME2sEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_N3_9sU2sEeqU98g68TM0Ng" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_N3_9sk2sEeqU98g68TM0Ng" type="Association_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_RikyAE2sEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_N3_9s02sEeqU98g68TM0Ng" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_N3_9tE2sEeqU98g68TM0Ng" type="Association_TargetRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_RizbgE2sEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_N3_9tU2sEeqU98g68TM0Ng" x="-36" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_N3_9tk2sEeqU98g68TM0Ng" type="Association_SourceRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_RjCsEE2sEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_N3_9t02sEeqU98g68TM0Ng" x="36" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_N3_9uE2sEeqU98g68TM0Ng" type="Association_SourceMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_RjUY4E2sEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_N3_9uU2sEeqU98g68TM0Ng" x="36" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_N3_9uk2sEeqU98g68TM0Ng" type="Association_TargetMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_RjmFsE2sEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_N3_9u02sEeqU98g68TM0Ng" x="-36" y="-20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_N3_WoU2sEeqU98g68TM0Ng"/>
+      <element xmi:type="uml:Association" href="pdp4engCommonGDPR.profile.uml#_N22uME2sEeqU98g68TM0Ng"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_N3_Wok2sEeqU98g68TM0Ng" points="[241, 160, -643984, -643984]$[440, 160, -643984, -643984]$[440, 200, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_N5ADQE2sEeqU98g68TM0Ng" id="(1.0,0.4)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_N5ADQU2sEeqU98g68TM0Ng" id="(0.2,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_VgSkwE2sEeqU98g68TM0Ng" type="Association_Edge" source="_GnWakE2sEeqU98g68TM0Ng" target="_GnWakE2sEeqU98g68TM0Ng">
+      <children xmi:type="notation:DecorationNode" xmi:id="_VgTL0E2sEeqU98g68TM0Ng" type="Association_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_WNu5kE2sEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_VgTL0U2sEeqU98g68TM0Ng" y="59"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_VgTL0k2sEeqU98g68TM0Ng" type="Association_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_WN_YQE2sEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_VgTL002sEeqU98g68TM0Ng" y="19"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_VgTL1E2sEeqU98g68TM0Ng" type="Association_TargetRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_WOQeAE2sEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_VgTL1U2sEeqU98g68TM0Ng" x="-13" y="-33"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_VgTL1k2sEeqU98g68TM0Ng" type="Association_SourceRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_WOkAAE2sEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_VgTL102sEeqU98g68TM0Ng" x="67" y="-27"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_VgTL2E2sEeqU98g68TM0Ng" type="Association_SourceMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_WO1s0E2sEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_VgTL2U2sEeqU98g68TM0Ng" x="15" y="-27"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_VgTL2k2sEeqU98g68TM0Ng" type="Association_TargetMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_WPGLgE2sEeqU98g68TM0Ng" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_VgTL202sEeqU98g68TM0Ng" x="-33" y="-25"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_VgSkwU2sEeqU98g68TM0Ng"/>
+      <element xmi:type="uml:Association" href="pdp4engCommonGDPR.profile.uml#_Vf0qsE2sEeqU98g68TM0Ng"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_VgSkwk2sEeqU98g68TM0Ng" points="[-80, 180, -643984, -643984]$[-140, 180, -643984, -643984]$[-140, 80, -643984, -643984]$[-20, 80, -643984, -643984]$[-20, 120, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VhSDQE2sEeqU98g68TM0Ng" id="(0.0,0.6)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VhSDQU2sEeqU98g68TM0Ng" id="(0.49586776859504134,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_bi5t0E20EeqU98g68TM0Ng" type="Extension_Edge" source="_GnWakE2sEeqU98g68TM0Ng" target="_4OjmkDbiEeqsGNzaceeV5g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_bi5t0U20EeqU98g68TM0Ng"/>
+      <element xmi:type="uml:Extension" href="pdp4engCommonGDPR.profile.uml#_bhlfME20EeqU98g68TM0Ng"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bi5t0k20EeqU98g68TM0Ng" points="[200, 220, -643984, -643984]$[200, 680, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bj1h8E20EeqU98g68TM0Ng" id="(0.3305785123966942,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bj2JAE20EeqU98g68TM0Ng" id="(0.028551034975017844,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_65NC4FpYEeqeM9690a6R6A" type="StereotypeCommentLink" source="_4OjmkDbiEeqsGNzaceeV5g" target="_65Mb01pYEeqeM9690a6R6A">
+      <styles xmi:type="notation:FontStyle" xmi:id="_65NC4VpYEeqeM9690a6R6A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_65NC5VpYEeqeM9690a6R6A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_65NC4lpYEeqeM9690a6R6A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_65NC41pYEeqeM9690a6R6A"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_65NC5FpYEeqeM9690a6R6A"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_27Wx8DblEeqsGNzaceeV5g" type="PapyrusUMLProfileDiagram" name="InterestlinkedToProcess" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_4KRcIDblEeqsGNzaceeV5g" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_4KRcIjblEeqsGNzaceeV5g" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4KRcITblEeqsGNzaceeV5g" x="1120" y="60" height="361"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_6GDzYDblEeqsGNzaceeV5g" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_6GEacDblEeqsGNzaceeV5g" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_6GEacTblEeqsGNzaceeV5g" visible="false" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_6GEacjblEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_6GEaczblEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_6GEadDblEeqsGNzaceeV5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6GEadTblEeqsGNzaceeV5g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_6GEadjblEeqsGNzaceeV5g" visible="false" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_6GEadzblEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_6GEaeDblEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_6GEaeTblEeqsGNzaceeV5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6GEaejblEeqsGNzaceeV5g"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pdp4engCommonGDPR.profile.uml#_QiJakKIoEemN_tazoyo3PQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6GDzYTblEeqsGNzaceeV5g" x="91" y="63" height="358"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_7ZSV0DblEeqsGNzaceeV5g" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_7ZS84DblEeqsGNzaceeV5g" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_7ZS84TblEeqsGNzaceeV5g" visible="false" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_7ZS84jblEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_7ZS84zblEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_7ZS85DblEeqsGNzaceeV5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ZS85TblEeqsGNzaceeV5g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_7ZS85jblEeqsGNzaceeV5g" visible="false" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_7ZS85zblEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_7ZS86DblEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_7ZS86TblEeqsGNzaceeV5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ZS86jblEeqsGNzaceeV5g"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pdp4engCommonGDPR.profile.uml#_7ZRHsDblEeqsGNzaceeV5g"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ZSV0TblEeqsGNzaceeV5g" x="400" y="60" width="281" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8K28sDblEeqsGNzaceeV5g" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8K28sjblEeqsGNzaceeV5g" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8K28szblEeqsGNzaceeV5g" visible="false" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8K28tDblEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8K28tTblEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8K28tjblEeqsGNzaceeV5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8K28tzblEeqsGNzaceeV5g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8K28uDblEeqsGNzaceeV5g" visible="false" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8K28uTblEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8K28ujblEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8K28uzblEeqsGNzaceeV5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8K28vDblEeqsGNzaceeV5g"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pdp4engCommonGDPR.profile.uml#_8K1ukDblEeqsGNzaceeV5g"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8K28sTblEeqsGNzaceeV5g" x="400" y="160" width="281" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8Z6sYDblEeqsGNzaceeV5g" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8Z6sYjblEeqsGNzaceeV5g" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8Z6sYzblEeqsGNzaceeV5g" visible="false" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8Z6sZDblEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8Z6sZTblEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8Z6sZjblEeqsGNzaceeV5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8Z6sZzblEeqsGNzaceeV5g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8Z6saDblEeqsGNzaceeV5g" visible="false" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8Z6saTblEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8Z6sajblEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8Z6sazblEeqsGNzaceeV5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8Z6sbDblEeqsGNzaceeV5g"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pdp4engCommonGDPR.profile.uml#_8Z5eQDblEeqsGNzaceeV5g"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8Z6sYTblEeqsGNzaceeV5g" x="400" y="260" width="281" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8pUaUDblEeqsGNzaceeV5g" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8pUaUjblEeqsGNzaceeV5g" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8pUaUzblEeqsGNzaceeV5g" visible="false" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8pUaVDblEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8pUaVTblEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8pUaVjblEeqsGNzaceeV5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8pUaVzblEeqsGNzaceeV5g"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8pUaWDblEeqsGNzaceeV5g" visible="false" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8pUaWTblEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8pUaWjblEeqsGNzaceeV5g"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8pUaWzblEeqsGNzaceeV5g"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8pUaXDblEeqsGNzaceeV5g"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="pdp4engCommonGDPR.profile.uml#_8pTMMDblEeqsGNzaceeV5g"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8pUaUTblEeqsGNzaceeV5g" x="400" y="360" width="281" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_7FADMFpYEeqeM9690a6R6A" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_7FADMVpYEeqeM9690a6R6A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_7FADM1pYEeqeM9690a6R6A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7FADMlpYEeqeM9690a6R6A" x="1320" y="60"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_27Wx8TblEeqsGNzaceeV5g" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_27Wx8jblEeqsGNzaceeV5g"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_27Wx8zblEeqsGNzaceeV5g" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="pdp4engCommonGDPR.profile.uml#pdpengcommonprofile"/>
+    </styles>
+    <element xmi:type="uml:Profile" href="pdp4engCommonGDPR.profile.uml#pdpengcommonprofile"/>
+    <edges xmi:type="notation:Connector" xmi:id="_KZ3ZEDbmEeqsGNzaceeV5g" type="Association_Edge" source="_6GDzYDblEeqsGNzaceeV5g" target="_7ZSV0DblEeqsGNzaceeV5g">
+      <children xmi:type="notation:DecorationNode" xmi:id="_KZ4AIDbmEeqsGNzaceeV5g" type="Association_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_KZ4AITbmEeqsGNzaceeV5g" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_KZ4AIjbmEeqsGNzaceeV5g" type="Association_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_KZ4AIzbmEeqsGNzaceeV5g" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_KZ4AJDbmEeqsGNzaceeV5g" type="Association_TargetRoleLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_KZ4AJTbmEeqsGNzaceeV5g" x="-38" y="27"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_KZ4AJjbmEeqsGNzaceeV5g" type="Association_SourceRoleLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_KZ4AJzbmEeqsGNzaceeV5g" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_KZ4AKDbmEeqsGNzaceeV5g" type="Association_SourceMultiplicityLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_KZ4AKTbmEeqsGNzaceeV5g" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_KZ4AKjbmEeqsGNzaceeV5g" type="Association_TargetMultiplicityLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_KZ4AKzbmEeqsGNzaceeV5g" y="-20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_KZ3ZETbmEeqsGNzaceeV5g"/>
+      <element xmi:type="uml:Association" href="pdp4engCommonGDPR.profile.uml#_KZfloDbmEeqsGNzaceeV5g"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KZ3ZEjbmEeqsGNzaceeV5g" points="[140, 63, -643984, -643984]$[400, 100, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KaDmUDbmEeqsGNzaceeV5g" id="(1.0,0.10335195530726257)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KaDmUTbmEeqsGNzaceeV5g" id="(0.0,0.6557377049180327)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_XHeUIDbmEeqsGNzaceeV5g" type="Association_Edge" source="_6GDzYDblEeqsGNzaceeV5g" target="_8K28sDblEeqsGNzaceeV5g">
+      <children xmi:type="notation:DecorationNode" xmi:id="_XHeUIzbmEeqsGNzaceeV5g" type="Association_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_XHeUJDbmEeqsGNzaceeV5g" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_XHeUJTbmEeqsGNzaceeV5g" type="Association_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_XHeUJjbmEeqsGNzaceeV5g" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_XHeUJzbmEeqsGNzaceeV5g" type="Association_TargetRoleLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_XHeUKDbmEeqsGNzaceeV5g" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_XHeUKTbmEeqsGNzaceeV5g" type="Association_SourceRoleLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_XHeUKjbmEeqsGNzaceeV5g" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_XHeUKzbmEeqsGNzaceeV5g" type="Association_SourceMultiplicityLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_XHeULDbmEeqsGNzaceeV5g" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_XHeULTbmEeqsGNzaceeV5g" type="Association_TargetMultiplicityLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_XHeULjbmEeqsGNzaceeV5g" y="-20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_XHeUITbmEeqsGNzaceeV5g"/>
+      <element xmi:type="uml:Association" href="pdp4engCommonGDPR.profile.uml#_XHPDkDbmEeqsGNzaceeV5g"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XHeUIjbmEeqsGNzaceeV5g" points="[191, 200, -643984, -643984]$[400, 200, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XHqhYDbmEeqsGNzaceeV5g" id="(1.0,0.3268156424581006)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XHqhYTbmEeqsGNzaceeV5g" id="(0.0,0.32786885245901637)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_X7oU8DbmEeqsGNzaceeV5g" type="Association_Edge" source="_6GDzYDblEeqsGNzaceeV5g" target="_8Z6sYDblEeqsGNzaceeV5g">
+      <children xmi:type="notation:DecorationNode" xmi:id="_X7oU8zbmEeqsGNzaceeV5g" type="Association_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_X7oU9DbmEeqsGNzaceeV5g" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_X7oU9TbmEeqsGNzaceeV5g" type="Association_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_X7oU9jbmEeqsGNzaceeV5g" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_X7oU9zbmEeqsGNzaceeV5g" type="Association_TargetRoleLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_X7oU-DbmEeqsGNzaceeV5g" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_X7oU-TbmEeqsGNzaceeV5g" type="Association_SourceRoleLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_X7oU-jbmEeqsGNzaceeV5g" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_X7oU-zbmEeqsGNzaceeV5g" type="Association_SourceMultiplicityLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_X7oU_DbmEeqsGNzaceeV5g" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_X7oU_TbmEeqsGNzaceeV5g" type="Association_TargetMultiplicityLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_X7oU_jbmEeqsGNzaceeV5g" y="-20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_X7oU8TbmEeqsGNzaceeV5g"/>
+      <element xmi:type="uml:Association" href="pdp4engCommonGDPR.profile.uml#_X7M3IDbmEeqsGNzaceeV5g"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_X7oU8jbmEeqsGNzaceeV5g" points="[191, 280, -643984, -643984]$[400, 280, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X71wUDbmEeqsGNzaceeV5g" id="(1.0,0.6061452513966481)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X71wUTbmEeqsGNzaceeV5g" id="(0.0,0.32786885245901637)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_YfKf0DbmEeqsGNzaceeV5g" type="Association_Edge" source="_6GDzYDblEeqsGNzaceeV5g" target="_8pUaUDblEeqsGNzaceeV5g">
+      <children xmi:type="notation:DecorationNode" xmi:id="_YfKf0zbmEeqsGNzaceeV5g" type="Association_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_YfKf1DbmEeqsGNzaceeV5g" y="60"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_YfKf1TbmEeqsGNzaceeV5g" type="Association_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_YfKf1jbmEeqsGNzaceeV5g" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_YfLG4DbmEeqsGNzaceeV5g" type="Association_TargetRoleLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_YfLG4TbmEeqsGNzaceeV5g" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_YfLG4jbmEeqsGNzaceeV5g" type="Association_SourceRoleLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_YfLG4zbmEeqsGNzaceeV5g" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_YfLG5DbmEeqsGNzaceeV5g" type="Association_SourceMultiplicityLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_YfLG5TbmEeqsGNzaceeV5g" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_YfLG5jbmEeqsGNzaceeV5g" type="Association_TargetMultiplicityLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_YfLG5zbmEeqsGNzaceeV5g" y="-20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_YfKf0TbmEeqsGNzaceeV5g"/>
+      <element xmi:type="uml:Association" href="pdp4engCommonGDPR.profile.uml#_Ye72UDbmEeqsGNzaceeV5g"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YfKf0jbmEeqsGNzaceeV5g" points="[191, 380, -643984, -643984]$[400, 380, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YfYiQDbmEeqsGNzaceeV5g" id="(1.0,0.8854748603351955)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YfYiQTbmEeqsGNzaceeV5g" id="(0.0,0.32786885245901637)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_p56fcDbmEeqsGNzaceeV5g" type="Extension_Edge" source="_7ZSV0DblEeqsGNzaceeV5g" target="_4KRcIDblEeqsGNzaceeV5g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_p56fcTbmEeqsGNzaceeV5g"/>
+      <element xmi:type="uml:Extension" href="pdp4engCommonGDPR.profile.uml#_p5wHYDbmEeqsGNzaceeV5g"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_p56fcjbmEeqsGNzaceeV5g" points="[681, 100, -643984, -643984]$[1120, 100, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_p6HTwDbmEeqsGNzaceeV5g" id="(1.0,0.6557377049180327)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_p6HTwTbmEeqsGNzaceeV5g" id="(0.0,0.11080332409972299)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_qjBt4DbmEeqsGNzaceeV5g" type="Extension_Edge" source="_8K28sDblEeqsGNzaceeV5g" target="_4KRcIDblEeqsGNzaceeV5g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_qjBt4TbmEeqsGNzaceeV5g"/>
+      <element xmi:type="uml:Extension" href="pdp4engCommonGDPR.profile.uml#_qi7AMDbmEeqsGNzaceeV5g"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qjBt4jbmEeqsGNzaceeV5g" points="[681, 200, -643984, -643984]$[1120, 200, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qjK30DbmEeqsGNzaceeV5g" id="(1.0,0.6557377049180327)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qjK30TbmEeqsGNzaceeV5g" id="(0.0,0.3878116343490305)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_rW73EDbmEeqsGNzaceeV5g" type="Extension_Edge" source="_8Z6sYDblEeqsGNzaceeV5g" target="_4KRcIDblEeqsGNzaceeV5g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_rW73ETbmEeqsGNzaceeV5g"/>
+      <element xmi:type="uml:Extension" href="pdp4engCommonGDPR.profile.uml#_rW1wcDbmEeqsGNzaceeV5g"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rW73EjbmEeqsGNzaceeV5g" points="[681, 300, -643984, -643984]$[1120, 300, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rXGPIDbmEeqsGNzaceeV5g" id="(1.0,0.6557377049180327)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rXG2MDbmEeqsGNzaceeV5g" id="(0.0,0.6648199445983379)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_sMDhMDbmEeqsGNzaceeV5g" type="Extension_Edge" source="_8pUaUDblEeqsGNzaceeV5g" target="_4KRcIDblEeqsGNzaceeV5g">
+      <styles xmi:type="notation:FontStyle" xmi:id="_sMDhMTbmEeqsGNzaceeV5g"/>
+      <element xmi:type="uml:Extension" href="pdp4engCommonGDPR.profile.uml#_sL9akDbmEeqsGNzaceeV5g"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sMDhMjbmEeqsGNzaceeV5g" points="[681, 400, -643984, -643984]$[1120, 400, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sMN5QDbmEeqsGNzaceeV5g" id="(1.0,0.6557377049180327)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sMN5QTbmEeqsGNzaceeV5g" id="(0.0,0.9418282548476454)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_7FADNFpYEeqeM9690a6R6A" type="StereotypeCommentLink" source="_4KRcIDblEeqsGNzaceeV5g" target="_7FADMFpYEeqeM9690a6R6A">
+      <styles xmi:type="notation:FontStyle" xmi:id="_7FADNVpYEeqeM9690a6R6A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_7FADOVpYEeqeM9690a6R6A" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7FADNlpYEeqeM9690a6R6A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7FADN1pYEeqeM9690a6R6A"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7FADOFpYEeqeM9690a6R6A"/>
+    </edges>
+  </notation:Diagram>
+</xmi:XMI>
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/model/pdp4engCommonGDPR.profile.uml b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/model/pdp4engCommonGDPR.profile.uml
new file mode 100644
index 0000000..9abf13f
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/model/pdp4engCommonGDPR.profile.uml
@@ -0,0 +1,295 @@
+<?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="pdp4engcommonprofile" name="pdp4engCommonGDPR" metaclassReference="_OUFAgKIoEemN_tazoyo3PQ _Ny30EKIsEemN_tazoyo3PQ">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_n8qkAE2tEeqU98g68TM0Ng" source="http://www.eclipse.org/uml2/2.0.0/UML">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bhmGQE20EeqU98g68TM0Ng" source="PapyrusVersion">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bhmGQU20EeqU98g68TM0Ng" key="Version" value="0.0.0"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bhmGQk20EeqU98g68TM0Ng" key="Comment" value="&lt;undefined>"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bhmGQ020EeqU98g68TM0Ng" key="Copyright" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bhmGRE20EeqU98g68TM0Ng" key="Date" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bhmGRU20EeqU98g68TM0Ng" key="Author" value="&lt;undefined>"/>
+      </eAnnotations>
+    </eAnnotations>
+    <elementImport xmi:type="uml:ElementImport" xmi:id="_OUFAgKIoEemN_tazoyo3PQ" alias="Element">
+      <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+    </elementImport>
+    <elementImport xmi:type="uml:ElementImport" xmi:id="_Ny30EKIsEemN_tazoyo3PQ" alias="NamedElement">
+      <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+    </elementImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_JQmfkKIoEemN_tazoyo3PQ">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_JQntsKIoEemN_tazoyo3PQ">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_METAMODELS/UML.metamodel.uml#_0"/>
+    </packageImport>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_QiJakKIoEemN_tazoyo3PQ" name="Process">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_WkrA4KIsEemN_tazoyo3PQ" name="base_NamedElement" association="_WkqZ0KIsEemN_tazoyo3PQ">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_WkrA4aIsEemN_tazoyo3PQ"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_79RPMbhKEem_0sXckGvoOw" name="personaldata" type="_bQqywKIoEemN_tazoyo3PQ" association="_79Oy8LhKEem_0sXckGvoOw">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_BUNesLhLEem_0sXckGvoOw"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_BUS-QLhLEem_0sXckGvoOw" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_IC1S0LhLEem_0sXckGvoOw" name="contributedTo" type="_sfn3MKe8EemiOZ_hb7cBOg" association="_IC0EsLhLEem_0sXckGvoOw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_ktO-MOtCEemRO54sjQKRcw" name="data" visibility="public" type="_zuyzoKe8EemiOZ_hb7cBOg">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_m3l88OtCEemRO54sjQKRcw"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_m3yKMOtCEemRO54sjQKRcw" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_fN23UDbkEeqsGNzaceeV5g" name="performAContract" type="_UjKPMDbkEeqsGNzaceeV5g" association="_fN1pMDbkEeqsGNzaceeV5g">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jzJncDbkEeqsGNzaceeV5g"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_KZgzwTbmEeqsGNzaceeV5g" name="neededForPublicInterest" type="_7ZRHsDblEeqsGNzaceeV5g" association="_KZfloDbmEeqsGNzaceeV5g">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_OpOVcDbmEeqsGNzaceeV5g"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_XHQRsjbmEeqsGNzaceeV5g" name="neededForLegimateInterest" type="_8K1ukDblEeqsGNzaceeV5g" association="_XHPDkDbmEeqsGNzaceeV5g">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_e_YEgDbmEeqsGNzaceeV5g"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_X7OFQjbmEeqsGNzaceeV5g" name="neededForLegalObligation" type="_8Z5eQDblEeqsGNzaceeV5g" association="_X7M3IDbmEeqsGNzaceeV5g">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iqFbsDbmEeqsGNzaceeV5g"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_Ye72UzbmEeqsGNzaceeV5g" name="neededForVitalInterest" type="_8pTMMDblEeqsGNzaceeV5g" association="_Ye72UDbmEeqsGNzaceeV5g">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_nrgHIDbmEeqsGNzaceeV5g"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_bQqywKIoEemN_tazoyo3PQ" name="PersonalData">
+      <generalization xmi:type="uml:Generalization" xmi:id="_P_W58LhKEem_0sXckGvoOw" general="_zuyzoKe8EemiOZ_hb7cBOg"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_dc7SULhKEem_0sXckGvoOw" name="relatedTo" type="_u3iJwKe8EemiOZ_hb7cBOg" association="_dc0koLhKEem_0sXckGvoOw">
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mpNbsLhKEem_0sXckGvoOw" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_79SdULhKEem_0sXckGvoOw" name="processedBy" type="_QiJakKIoEemN_tazoyo3PQ" association="_79Oy8LhKEem_0sXckGvoOw">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_A1BoULhLEem_0sXckGvoOw" value="1"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_A1Gg0LhLEem_0sXckGvoOw" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_rwjI8rhKEem_0sXckGvoOw" name="responsible" type="_1KbEIKe8EemiOZ_hb7cBOg" association="_rwih4LhKEem_0sXckGvoOw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_WkqZ0KIsEemN_tazoyo3PQ" name="E_Process_NamedElement1" memberEnd="_WkqZ0aIsEemN_tazoyo3PQ _WkrA4KIsEemN_tazoyo3PQ">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_WkqZ0aIsEemN_tazoyo3PQ" name="extension_Process" type="_QiJakKIoEemN_tazoyo3PQ" aggregation="composite" association="_WkqZ0KIsEemN_tazoyo3PQ"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_sfn3MKe8EemiOZ_hb7cBOg" name="Purpose">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_wv5ZkKe8EemiOZ_hb7cBOg" name="base_NamedElement" association="_wvyE0Ke8EemiOZ_hb7cBOg">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_wv5Zkae8EemiOZ_hb7cBOg"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_IC0rwrhLEem_0sXckGvoOw" name="processes" type="_QiJakKIoEemN_tazoyo3PQ" association="_IC0EsLhLEem_0sXckGvoOw">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_KSiEkLhLEem_0sXckGvoOw" value="1"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_KSnkILhLEem_0sXckGvoOw" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_8Ky9MjbjEeqsGNzaceeV5g" name="consent" type="_3gl34DbjEeqsGNzaceeV5g" association="_8KyWIDbjEeqsGNzaceeV5g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_u3iJwKe8EemiOZ_hb7cBOg" name="DataSubject">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_xYoNgKe8EemiOZ_hb7cBOg" name="base_NamedElement" association="_xXvcsKe8EemiOZ_hb7cBOg">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_xYoNgae8EemiOZ_hb7cBOg"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_dc6rQLhKEem_0sXckGvoOw" name="personalData" type="_bQqywKIoEemN_tazoyo3PQ" association="_dc0koLhKEem_0sXckGvoOw">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mLzuALhKEem_0sXckGvoOw" value="1"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mMPL0LhKEem_0sXckGvoOw" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_ILERIDbkEeqsGNzaceeV5g" name="givenConsent" type="_3gl34DbjEeqsGNzaceeV5g" association="_ILDqEDbkEeqsGNzaceeV5g">
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_dkLZwEEWEeqBJ-hoBT_PjQ" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_wXgf4jbkEeqsGNzaceeV5g" name="contract" type="_UjKPMDbkEeqsGNzaceeV5g" association="_wXf40DbkEeqsGNzaceeV5g">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_5MEs0DbkEeqsGNzaceeV5g"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_wvyE0Ke8EemiOZ_hb7cBOg" name="E_Purpose_NamedElement12" memberEnd="_wv4LcKe8EemiOZ_hb7cBOg _wv5ZkKe8EemiOZ_hb7cBOg">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_wv4LcKe8EemiOZ_hb7cBOg" name="extension_Purpose" type="_sfn3MKe8EemiOZ_hb7cBOg" aggregation="composite" association="_wvyE0Ke8EemiOZ_hb7cBOg"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_xXvcsKe8EemiOZ_hb7cBOg" name="E_DataSubject_NamedElement13" memberEnd="_xYnmcKe8EemiOZ_hb7cBOg _xYoNgKe8EemiOZ_hb7cBOg">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_xYnmcKe8EemiOZ_hb7cBOg" name="extension_DataSubject" type="_u3iJwKe8EemiOZ_hb7cBOg" aggregation="composite" association="_xXvcsKe8EemiOZ_hb7cBOg"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_zuyzoKe8EemiOZ_hb7cBOg" name="Data">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_2aUlwae8EemiOZ_hb7cBOg" name="base_NamedElement" association="_2aT-sKe8EemiOZ_hb7cBOg">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_2aUlwqe8EemiOZ_hb7cBOg"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_1KbEIKe8EemiOZ_hb7cBOg" name="Controller">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_rwjI8bhKEem_0sXckGvoOw" name="personalData" type="_bQqywKIoEemN_tazoyo3PQ" association="_rwih4LhKEem_0sXckGvoOw">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_wms_kLhKEem_0sXckGvoOw"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_wmx4ELhKEem_0sXckGvoOw" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_Jyuxck2sEeqU98g68TM0Ng" name="processor" type="_GnTXQE2sEeqU98g68TM0Ng" association="_JyuKYE2sEeqU98g68TM0Ng">
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_KcijcE2sEeqU98g68TM0Ng" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_hhwI4FpMEeqv8eaIcZt9UA" name="base_NamedElement" association="_hhuTsFpMEeqv8eaIcZt9UA">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hhwI4VpMEeqv8eaIcZt9UA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_2aT-sKe8EemiOZ_hb7cBOg" name="E_Data_NamedElement1" memberEnd="_2aUlwKe8EemiOZ_hb7cBOg _2aUlwae8EemiOZ_hb7cBOg">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_2aUlwKe8EemiOZ_hb7cBOg" name="extension_Data" type="_zuyzoKe8EemiOZ_hb7cBOg" aggregation="composite" association="_2aT-sKe8EemiOZ_hb7cBOg"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_dc0koLhKEem_0sXckGvoOw" memberEnd="_dc6rQLhKEem_0sXckGvoOw _dc7SULhKEem_0sXckGvoOw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dc5dILhKEem_0sXckGvoOw" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dc5dIbhKEem_0sXckGvoOw" key="nature" value="UML_Nature"/>
+      </eAnnotations>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_rwih4LhKEem_0sXckGvoOw" memberEnd="_rwjI8bhKEem_0sXckGvoOw _rwjI8rhKEem_0sXckGvoOw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rwih4bhKEem_0sXckGvoOw" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rwjI8LhKEem_0sXckGvoOw" key="nature" value="UML_Nature"/>
+      </eAnnotations>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_79Oy8LhKEem_0sXckGvoOw" memberEnd="_79RPMbhKEem_0sXckGvoOw _79SdULhKEem_0sXckGvoOw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_79QoILhKEem_0sXckGvoOw" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_79RPMLhKEem_0sXckGvoOw" key="nature" value="UML_Nature"/>
+      </eAnnotations>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_IC0EsLhLEem_0sXckGvoOw" memberEnd="_IC0rwrhLEem_0sXckGvoOw _IC1S0LhLEem_0sXckGvoOw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_IC0rwLhLEem_0sXckGvoOw" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_IC0rwbhLEem_0sXckGvoOw" key="nature" value="UML_Nature"/>
+      </eAnnotations>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_3gl34DbjEeqsGNzaceeV5g" name="Consent">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_5cF7QTbjEeqsGNzaceeV5g" name="base_NamedElement" association="_5cC38DbjEeqsGNzaceeV5g">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_5cF7QjbjEeqsGNzaceeV5g"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_8KzkQDbjEeqsGNzaceeV5g" name="purpose" type="_sfn3MKe8EemiOZ_hb7cBOg" association="_8KyWIDbjEeqsGNzaceeV5g">
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DJo-oDbkEeqsGNzaceeV5g" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_ILDqEzbkEeqsGNzaceeV5g" name="datasubject" type="_u3iJwKe8EemiOZ_hb7cBOg" association="_ILDqEDbkEeqsGNzaceeV5g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_5cC38DbjEeqsGNzaceeV5g" name="E_Consent_NamedElement22" memberEnd="_5cF7QDbjEeqsGNzaceeV5g _5cF7QTbjEeqsGNzaceeV5g">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_5cF7QDbjEeqsGNzaceeV5g" name="extension_Consent" type="_3gl34DbjEeqsGNzaceeV5g" aggregation="composite" association="_5cC38DbjEeqsGNzaceeV5g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_8KyWIDbjEeqsGNzaceeV5g" memberEnd="_8Ky9MjbjEeqsGNzaceeV5g _8KzkQDbjEeqsGNzaceeV5g">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8Ky9MDbjEeqsGNzaceeV5g" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8Ky9MTbjEeqsGNzaceeV5g" key="nature" value="UML_Nature"/>
+      </eAnnotations>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_ILDqEDbkEeqsGNzaceeV5g" memberEnd="_ILDqEzbkEeqsGNzaceeV5g _ILERIDbkEeqsGNzaceeV5g">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ILDqETbkEeqsGNzaceeV5g" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ILDqEjbkEeqsGNzaceeV5g" key="nature" value="UML_Nature"/>
+      </eAnnotations>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_UjKPMDbkEeqsGNzaceeV5g" name="Contract">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_b3OSsTbkEeqsGNzaceeV5g" name="base_NamedElement" association="_b3NroDbkEeqsGNzaceeV5g">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_b3OSsjbkEeqsGNzaceeV5g"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_fN2QQjbkEeqsGNzaceeV5g" name="process" type="_QiJakKIoEemN_tazoyo3PQ" association="_fN1pMDbkEeqsGNzaceeV5g">
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_nQJSwDbkEeqsGNzaceeV5g" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_wXhG8DbkEeqsGNzaceeV5g" name="datasubject" type="_u3iJwKe8EemiOZ_hb7cBOg" association="_wXf40DbkEeqsGNzaceeV5g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_b3NroDbkEeqsGNzaceeV5g" name="E_Contract_NamedElement26" memberEnd="_b3OSsDbkEeqsGNzaceeV5g _b3OSsTbkEeqsGNzaceeV5g">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_b3OSsDbkEeqsGNzaceeV5g" name="extension_Contract" type="_UjKPMDbkEeqsGNzaceeV5g" aggregation="composite" association="_b3NroDbkEeqsGNzaceeV5g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_fN1pMDbkEeqsGNzaceeV5g" memberEnd="_fN2QQjbkEeqsGNzaceeV5g _fN23UDbkEeqsGNzaceeV5g">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fN2QQDbkEeqsGNzaceeV5g" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_fN2QQTbkEeqsGNzaceeV5g" key="nature" value="UML_Nature"/>
+      </eAnnotations>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_wXf40DbkEeqsGNzaceeV5g" memberEnd="_wXgf4jbkEeqsGNzaceeV5g _wXhG8DbkEeqsGNzaceeV5g">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wXgf4DbkEeqsGNzaceeV5g" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wXgf4TbkEeqsGNzaceeV5g" key="nature" value="UML_Nature"/>
+      </eAnnotations>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_7ZRHsDblEeqsGNzaceeV5g" name="PublicInterest">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_p5xVgDbmEeqsGNzaceeV5g" name="base_NamedElement" association="_p5wHYDbmEeqsGNzaceeV5g">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_p5xVgTbmEeqsGNzaceeV5g"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_8K1ukDblEeqsGNzaceeV5g" name="LegitimateInterest">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_qi7nQTbmEeqsGNzaceeV5g" name="base_NamedElement" association="_qi7AMDbmEeqsGNzaceeV5g">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_qi7nQjbmEeqsGNzaceeV5g"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_8Z5eQDblEeqsGNzaceeV5g" name="LegalObligation">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_rW2XgDbmEeqsGNzaceeV5g" name="base_NamedElement" association="_rW1wcDbmEeqsGNzaceeV5g">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_rW2XgTbmEeqsGNzaceeV5g"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_8pTMMDblEeqsGNzaceeV5g" name="VitalInterest">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_sL-BoTbmEeqsGNzaceeV5g" name="base_NamedElement" association="_sL9akDbmEeqsGNzaceeV5g">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_sL-BojbmEeqsGNzaceeV5g"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_KZfloDbmEeqsGNzaceeV5g" memberEnd="_KZgzwTbmEeqsGNzaceeV5g _KZiB4DbmEeqsGNzaceeV5g">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KZgMsDbmEeqsGNzaceeV5g" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KZgzwDbmEeqsGNzaceeV5g" key="nature" value="UML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_KZiB4DbmEeqsGNzaceeV5g" name="process" type="_QiJakKIoEemN_tazoyo3PQ" association="_KZfloDbmEeqsGNzaceeV5g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_XHPDkDbmEeqsGNzaceeV5g" memberEnd="_XHQRsjbmEeqsGNzaceeV5g _XHQ4wDbmEeqsGNzaceeV5g">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XHQRsDbmEeqsGNzaceeV5g" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XHQRsTbmEeqsGNzaceeV5g" key="nature" value="UML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_XHQ4wDbmEeqsGNzaceeV5g" name="process" type="_QiJakKIoEemN_tazoyo3PQ" association="_XHPDkDbmEeqsGNzaceeV5g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_X7M3IDbmEeqsGNzaceeV5g" memberEnd="_X7OFQjbmEeqsGNzaceeV5g _X7PTYDbmEeqsGNzaceeV5g">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_X7OFQDbmEeqsGNzaceeV5g" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_X7OFQTbmEeqsGNzaceeV5g" key="nature" value="UML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_X7PTYDbmEeqsGNzaceeV5g" name="process" type="_QiJakKIoEemN_tazoyo3PQ" association="_X7M3IDbmEeqsGNzaceeV5g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_Ye72UDbmEeqsGNzaceeV5g" memberEnd="_Ye72UzbmEeqsGNzaceeV5g _Ye8dYDbmEeqsGNzaceeV5g">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Ye72UTbmEeqsGNzaceeV5g" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Ye72UjbmEeqsGNzaceeV5g" key="nature" value="UML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_Ye8dYDbmEeqsGNzaceeV5g" name="process" type="_QiJakKIoEemN_tazoyo3PQ" association="_Ye72UDbmEeqsGNzaceeV5g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_p5wHYDbmEeqsGNzaceeV5g" name="E_PublicInterest_NamedElement37" memberEnd="_p5wucDbmEeqsGNzaceeV5g _p5xVgDbmEeqsGNzaceeV5g">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_p5wucDbmEeqsGNzaceeV5g" name="extension_PublicInterest" type="_7ZRHsDblEeqsGNzaceeV5g" aggregation="composite" association="_p5wHYDbmEeqsGNzaceeV5g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_qi7AMDbmEeqsGNzaceeV5g" name="E_LegitimateInterest_NamedElement1" memberEnd="_qi7nQDbmEeqsGNzaceeV5g _qi7nQTbmEeqsGNzaceeV5g">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_qi7nQDbmEeqsGNzaceeV5g" name="extension_LegitimateInterest" type="_8K1ukDblEeqsGNzaceeV5g" aggregation="composite" association="_qi7AMDbmEeqsGNzaceeV5g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_rW1wcDbmEeqsGNzaceeV5g" name="E_LegalObligation_NamedElement39" memberEnd="_rW1wcTbmEeqsGNzaceeV5g _rW2XgDbmEeqsGNzaceeV5g">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_rW1wcTbmEeqsGNzaceeV5g" name="extension_LegalObligation" type="_8Z5eQDblEeqsGNzaceeV5g" aggregation="composite" association="_rW1wcDbmEeqsGNzaceeV5g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_sL9akDbmEeqsGNzaceeV5g" name="E_VitalInterest_NamedElement40" memberEnd="_sL-BoDbmEeqsGNzaceeV5g _sL-BoTbmEeqsGNzaceeV5g">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_sL-BoDbmEeqsGNzaceeV5g" name="extension_VitalInterest" type="_8pTMMDblEeqsGNzaceeV5g" aggregation="composite" association="_sL9akDbmEeqsGNzaceeV5g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_GnTXQE2sEeqU98g68TM0Ng" name="Processor">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_N24jYE2sEeqU98g68TM0Ng" name="process" type="_QiJakKIoEemN_tazoyo3PQ" association="_N22uME2sEeqU98g68TM0Ng">
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_PW3vcE2sEeqU98g68TM0Ng" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_bhzhoE20EeqU98g68TM0Ng" name="base_NamedElement" association="_bhlfME20EeqU98g68TM0Ng">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bhzhoU20EeqU98g68TM0Ng"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_JyuKYE2sEeqU98g68TM0Ng" memberEnd="_Jyuxck2sEeqU98g68TM0Ng _JyvYgE2sEeqU98g68TM0Ng">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JyuxcE2sEeqU98g68TM0Ng" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JyuxcU2sEeqU98g68TM0Ng" key="nature" value="UML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_JyvYgE2sEeqU98g68TM0Ng" name="controller" type="_1KbEIKe8EemiOZ_hb7cBOg" association="_JyuKYE2sEeqU98g68TM0Ng"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_N22uME2sEeqU98g68TM0Ng" memberEnd="_N24jYE2sEeqU98g68TM0Ng _N2-qAE2sEeqU98g68TM0Ng">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_N238UE2sEeqU98g68TM0Ng" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_N238UU2sEeqU98g68TM0Ng" key="nature" value="UML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_N2-qAE2sEeqU98g68TM0Ng" name="processor" type="_GnTXQE2sEeqU98g68TM0Ng" association="_N22uME2sEeqU98g68TM0Ng"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_Vf0qsE2sEeqU98g68TM0Ng" memberEnd="_Vf3G8E2sEeqU98g68TM0Ng _Vf3uAE2sEeqU98g68TM0Ng" navigableOwnedEnd="_Vf3G8E2sEeqU98g68TM0Ng">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vf2f4E2sEeqU98g68TM0Ng" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vf2f4U2sEeqU98g68TM0Ng" key="nature" value="UML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_Vf3G8E2sEeqU98g68TM0Ng" name="processor" type="_GnTXQE2sEeqU98g68TM0Ng" association="_Vf0qsE2sEeqU98g68TM0Ng">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_aghkcE2sEeqU98g68TM0Ng"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_agnrEE2sEeqU98g68TM0Ng" value="*"/>
+      </ownedEnd>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_Vf3uAE2sEeqU98g68TM0Ng" name="processor_1" type="_GnTXQE2sEeqU98g68TM0Ng" association="_Vf0qsE2sEeqU98g68TM0Ng"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_bhlfME20EeqU98g68TM0Ng" name="E_Processor_NamedElement46" memberEnd="_bhyTgE20EeqU98g68TM0Ng _bhzhoE20EeqU98g68TM0Ng">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_bhyTgE20EeqU98g68TM0Ng" name="extension_Processor" type="_GnTXQE2sEeqU98g68TM0Ng" aggregation="composite" association="_bhlfME20EeqU98g68TM0Ng"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_hhuTsFpMEeqv8eaIcZt9UA" name="E_Controller_NamedElement47" memberEnd="_hhvh0FpMEeqv8eaIcZt9UA _hhwI4FpMEeqv8eaIcZt9UA">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_hhvh0FpMEeqv8eaIcZt9UA" name="extension_Controller" type="_1KbEIKe8EemiOZ_hb7cBOg" aggregation="composite" association="_hhuTsFpMEeqv8eaIcZt9UA"/>
+    </packagedElement>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_GvRV0KIpEemN_tazoyo3PQ">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GvVnQKIpEemN_tazoyo3PQ" 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="_IQROgKIpEemN_tazoyo3PQ" base_Package="pdp4engcommonprofile" nsURI="http://org.eclipse.papyrus.pdp4eng.common.profile" basePackage="org.eclipse.papyrus.pdp4eng.common.profile"/>
+</xmi:XMI>
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/plugin.properties b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/plugin.properties
new file mode 100644
index 0000000..1883e42
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/plugin.properties
@@ -0,0 +1,16 @@
+#################################################################################
+# Copyright (c) 2020 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/
+#
+# SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+#     Patrick Tessier - initial API and implementation
+#	  Gabriel Pedroza - initial API and implementation
+##################################################################################
+
+pluginName = pdp4eng Common profile
+providerName = Eclipse Modeling Project
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/plugin.xml b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/plugin.xml
new file mode 100644
index 0000000..636fc53
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/plugin.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<plugin>
+
+    <extension
+         point="org.eclipse.emf.ecore.uri_mapping">
+      <mapping
+            source="pathmap://PDP4ENG-COMMON/"
+            target="platform:/plugin/org.eclipse.papyrus.pdp4eng.common.profile/model/">
+      </mapping>
+   </extension>
+   <extension
+         point="org.eclipse.uml2.uml.generated_package">
+      <profile
+            location="pathmap://PDP4ENG-COMMON/pdp4engCommonGDPR.profile.uml#pdp4engcommonprofile"
+            uri="http://org.eclipse.papyrus.pdp4eng.common.profile">
+      </profile>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <!-- @generated pdp4engCommonGDPR -->
+      <package
+            uri="http://org.eclipse.papyrus.pdp4eng.common.profile"
+            class="org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage"
+            genModel="model/pdp4engCommonGDPR.genmodel"/>
+   </extension>
+
+</plugin>
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/pom.xml b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/pom.xml
new file mode 100644
index 0000000..2c99a74
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/pom.xml
@@ -0,0 +1,16 @@
+<?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/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	
+	<parent>
+		<groupId>org.eclipse.papyrus.pdp4eng</groupId>
+		<artifactId>org.eclipse.papyrus.pdp4eng.plugins.common.artifact</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	
+	<artifactId>org.eclipse.papyrus.pdp4eng.common.profile</artifactId>
+	<version>1.0.0-SNAPSHOT</version>
+	<packaging>eclipse-plugin</packaging>
+	
+</project>
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/Consent.java b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/Consent.java
new file mode 100644
index 0000000..c6e8c4a
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/Consent.java
@@ -0,0 +1,122 @@
+/**
+ * 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.common.profile.pdp4engCommonGDPR;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Consent</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Consent#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Consent#getPurpose <em>Purpose</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Consent#getDatasubject <em>Datasubject</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getConsent()
+ * @model
+ * @generated
+ */
+public interface Consent extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Named Element</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 Named Element</em>' reference.
+	 * @see #setBase_NamedElement(NamedElement)
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getConsent_Base_NamedElement()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	NamedElement getBase_NamedElement();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Consent#getBase_NamedElement <em>Base Named Element</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Named Element</em>' reference.
+	 * @see #getBase_NamedElement()
+	 * @generated
+	 */
+	void setBase_NamedElement(NamedElement value);
+
+	/**
+	 * Returns the value of the '<em><b>Purpose</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Purpose}.
+	 * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Purpose#getConsent <em>Consent</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Purpose</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>Purpose</em>' reference list.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getConsent_Purpose()
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Purpose#getConsent
+	 * @model opposite="consent" required="true" ordered="false"
+	 * @generated
+	 */
+	EList<Purpose> getPurpose();
+
+	/**
+	 * Returns the value of the '<em><b>Datasubject</b></em>' reference.
+	 * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject#getGivenConsent <em>Given Consent</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Datasubject</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Datasubject</em>' reference.
+	 * @see #setDatasubject(DataSubject)
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getConsent_Datasubject()
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject#getGivenConsent
+	 * @model opposite="givenConsent" required="true" ordered="false"
+	 * @generated
+	 */
+	DataSubject getDatasubject();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Consent#getDatasubject <em>Datasubject</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Datasubject</em>' reference.
+	 * @see #getDatasubject()
+	 * @generated
+	 */
+	void setDatasubject(DataSubject value);
+
+} // Consent
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/Contract.java b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/Contract.java
new file mode 100644
index 0000000..2cb119b
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/Contract.java
@@ -0,0 +1,122 @@
+/**
+ * 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.common.profile.pdp4engCommonGDPR;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Contract</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Contract#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Contract#getProcess <em>Process</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Contract#getDatasubject <em>Datasubject</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getContract()
+ * @model
+ * @generated
+ */
+public interface Contract extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Named Element</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 Named Element</em>' reference.
+	 * @see #setBase_NamedElement(NamedElement)
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getContract_Base_NamedElement()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	NamedElement getBase_NamedElement();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Contract#getBase_NamedElement <em>Base Named Element</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Named Element</em>' reference.
+	 * @see #getBase_NamedElement()
+	 * @generated
+	 */
+	void setBase_NamedElement(NamedElement value);
+
+	/**
+	 * Returns the value of the '<em><b>Process</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process}.
+	 * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process#getPerformAContract <em>Perform AContract</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Process</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>Process</em>' reference list.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getContract_Process()
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process#getPerformAContract
+	 * @model opposite="performAContract" required="true" ordered="false"
+	 * @generated
+	 */
+	EList<org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process> getProcess();
+
+	/**
+	 * Returns the value of the '<em><b>Datasubject</b></em>' reference.
+	 * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject#getContract <em>Contract</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Datasubject</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Datasubject</em>' reference.
+	 * @see #setDatasubject(DataSubject)
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getContract_Datasubject()
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject#getContract
+	 * @model opposite="contract" required="true" ordered="false"
+	 * @generated
+	 */
+	DataSubject getDatasubject();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Contract#getDatasubject <em>Datasubject</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Datasubject</em>' reference.
+	 * @see #getDatasubject()
+	 * @generated
+	 */
+	void setDatasubject(DataSubject value);
+
+} // Contract
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/Controller.java b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/Controller.java
new file mode 100644
index 0000000..1a97ed6
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/Controller.java
@@ -0,0 +1,108 @@
+/**
+ * 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.common.profile.pdp4engCommonGDPR;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Controller</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Controller#getProcessor <em>Processor</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Controller#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Controller#getPersonalData <em>Personal Data</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getController()
+ * @model
+ * @generated
+ */
+public interface Controller extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Processor</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Processor}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Processor</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>Processor</em>' reference list.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getController_Processor()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	EList<Processor> getProcessor();
+
+	/**
+	 * Returns the value of the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Named Element</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 Named Element</em>' reference.
+	 * @see #setBase_NamedElement(NamedElement)
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getController_Base_NamedElement()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	NamedElement getBase_NamedElement();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Controller#getBase_NamedElement <em>Base Named Element</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Named Element</em>' reference.
+	 * @see #getBase_NamedElement()
+	 * @generated
+	 */
+	void setBase_NamedElement(NamedElement value);
+
+	/**
+	 * Returns the value of the '<em><b>Personal Data</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData}.
+	 * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData#getResponsible <em>Responsible</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Personal Data</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>Personal Data</em>' reference list.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getController_PersonalData()
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData#getResponsible
+	 * @model opposite="responsible" ordered="false"
+	 * @generated
+	 */
+	EList<PersonalData> getPersonalData();
+
+} // Controller
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/Data.java b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/Data.java
new file mode 100644
index 0000000..3ecde92
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/Data.java
@@ -0,0 +1,68 @@
+/**
+ * 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.common.profile.pdp4engCommonGDPR;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Data</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Data#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getData()
+ * @model
+ * @generated
+ */
+public interface Data extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Named Element</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 Named Element</em>' reference.
+	 * @see #setBase_NamedElement(NamedElement)
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getData_Base_NamedElement()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	NamedElement getBase_NamedElement();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Data#getBase_NamedElement <em>Base Named Element</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Named Element</em>' reference.
+	 * @see #getBase_NamedElement()
+	 * @generated
+	 */
+	void setBase_NamedElement(NamedElement value);
+
+} // Data
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/DataSubject.java b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/DataSubject.java
new file mode 100644
index 0000000..7643a8b
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/DataSubject.java
@@ -0,0 +1,142 @@
+/**
+ * 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.common.profile.pdp4engCommonGDPR;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Data Subject</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject#getGivenConsent <em>Given Consent</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject#getContract <em>Contract</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject#getPersonalData <em>Personal Data</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getDataSubject()
+ * @model
+ * @generated
+ */
+public interface DataSubject extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Named Element</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 Named Element</em>' reference.
+	 * @see #setBase_NamedElement(NamedElement)
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getDataSubject_Base_NamedElement()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	NamedElement getBase_NamedElement();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject#getBase_NamedElement <em>Base Named Element</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Named Element</em>' reference.
+	 * @see #getBase_NamedElement()
+	 * @generated
+	 */
+	void setBase_NamedElement(NamedElement value);
+
+	/**
+	 * Returns the value of the '<em><b>Given Consent</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Consent}.
+	 * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Consent#getDatasubject <em>Datasubject</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Given Consent</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>Given Consent</em>' reference list.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getDataSubject_GivenConsent()
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Consent#getDatasubject
+	 * @model opposite="datasubject" required="true" ordered="false"
+	 * @generated
+	 */
+	EList<Consent> getGivenConsent();
+
+	/**
+	 * Returns the value of the '<em><b>Contract</b></em>' reference.
+	 * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Contract#getDatasubject <em>Datasubject</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Contract</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Contract</em>' reference.
+	 * @see #setContract(Contract)
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getDataSubject_Contract()
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Contract#getDatasubject
+	 * @model opposite="datasubject" ordered="false"
+	 * @generated
+	 */
+	Contract getContract();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject#getContract <em>Contract</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Contract</em>' reference.
+	 * @see #getContract()
+	 * @generated
+	 */
+	void setContract(Contract value);
+
+	/**
+	 * Returns the value of the '<em><b>Personal Data</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData}.
+	 * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData#getRelatedTo <em>Related To</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Personal Data</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>Personal Data</em>' reference list.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getDataSubject_PersonalData()
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData#getRelatedTo
+	 * @model opposite="relatedTo" required="true" ordered="false"
+	 * @generated
+	 */
+	EList<PersonalData> getPersonalData();
+
+} // DataSubject
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/LegalObligation.java b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/LegalObligation.java
new file mode 100644
index 0000000..2b1f789
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/LegalObligation.java
@@ -0,0 +1,68 @@
+/**
+ * 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.common.profile.pdp4engCommonGDPR;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Legal Obligation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.LegalObligation#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getLegalObligation()
+ * @model
+ * @generated
+ */
+public interface LegalObligation extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Named Element</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 Named Element</em>' reference.
+	 * @see #setBase_NamedElement(NamedElement)
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getLegalObligation_Base_NamedElement()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	NamedElement getBase_NamedElement();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.LegalObligation#getBase_NamedElement <em>Base Named Element</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Named Element</em>' reference.
+	 * @see #getBase_NamedElement()
+	 * @generated
+	 */
+	void setBase_NamedElement(NamedElement value);
+
+} // LegalObligation
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/LegitimateInterest.java b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/LegitimateInterest.java
new file mode 100644
index 0000000..edd21b1
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/LegitimateInterest.java
@@ -0,0 +1,68 @@
+/**
+ * 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.common.profile.pdp4engCommonGDPR;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Legitimate Interest</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.LegitimateInterest#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getLegitimateInterest()
+ * @model
+ * @generated
+ */
+public interface LegitimateInterest extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Named Element</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 Named Element</em>' reference.
+	 * @see #setBase_NamedElement(NamedElement)
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getLegitimateInterest_Base_NamedElement()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	NamedElement getBase_NamedElement();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.LegitimateInterest#getBase_NamedElement <em>Base Named Element</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Named Element</em>' reference.
+	 * @see #getBase_NamedElement()
+	 * @generated
+	 */
+	void setBase_NamedElement(NamedElement value);
+
+} // LegitimateInterest
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/Pdp4engCommonGDPRFactory.java b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/Pdp4engCommonGDPRFactory.java
new file mode 100644
index 0000000..7b358e8
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/Pdp4engCommonGDPRFactory.java
@@ -0,0 +1,179 @@
+/**
+ * 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.common.profile.pdp4engCommonGDPR;
+
+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.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage
+ * @generated
+ */
+public interface Pdp4engCommonGDPRFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	Pdp4engCommonGDPRFactory eINSTANCE = org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.Pdp4engCommonGDPRFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Process</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Process</em>'.
+	 * @generated
+	 */
+	Process createProcess();
+
+	/**
+	 * Returns a new object of class '<em>Personal Data</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Personal Data</em>'.
+	 * @generated
+	 */
+	PersonalData createPersonalData();
+
+	/**
+	 * Returns a new object of class '<em>Data</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Data</em>'.
+	 * @generated
+	 */
+	Data createData();
+
+	/**
+	 * Returns a new object of class '<em>Data Subject</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Data Subject</em>'.
+	 * @generated
+	 */
+	DataSubject createDataSubject();
+
+	/**
+	 * Returns a new object of class '<em>Consent</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Consent</em>'.
+	 * @generated
+	 */
+	Consent createConsent();
+
+	/**
+	 * Returns a new object of class '<em>Purpose</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Purpose</em>'.
+	 * @generated
+	 */
+	Purpose createPurpose();
+
+	/**
+	 * Returns a new object of class '<em>Contract</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Contract</em>'.
+	 * @generated
+	 */
+	Contract createContract();
+
+	/**
+	 * Returns a new object of class '<em>Controller</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Controller</em>'.
+	 * @generated
+	 */
+	Controller createController();
+
+	/**
+	 * Returns a new object of class '<em>Processor</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Processor</em>'.
+	 * @generated
+	 */
+	Processor createProcessor();
+
+	/**
+	 * Returns a new object of class '<em>Public Interest</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Public Interest</em>'.
+	 * @generated
+	 */
+	PublicInterest createPublicInterest();
+
+	/**
+	 * Returns a new object of class '<em>Legitimate Interest</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Legitimate Interest</em>'.
+	 * @generated
+	 */
+	LegitimateInterest createLegitimateInterest();
+
+	/**
+	 * Returns a new object of class '<em>Legal Obligation</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Legal Obligation</em>'.
+	 * @generated
+	 */
+	LegalObligation createLegalObligation();
+
+	/**
+	 * Returns a new object of class '<em>Vital Interest</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Vital Interest</em>'.
+	 * @generated
+	 */
+	VitalInterest createVitalInterest();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	Pdp4engCommonGDPRPackage getPdp4engCommonGDPRPackage();
+
+} // Pdp4engCommonGDPRFactory
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/Pdp4engCommonGDPRPackage.java b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/Pdp4engCommonGDPRPackage.java
new file mode 100644
index 0000000..c1ab6a2
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/Pdp4engCommonGDPRPackage.java
@@ -0,0 +1,1888 @@
+/**
+ * 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.common.profile.pdp4engCommonGDPR;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface Pdp4engCommonGDPRPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNAME = "pdp4engCommonGDPR";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNS_URI = "http://org.eclipse.papyrus.pdp4eng.common.profile";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNS_PREFIX = "pdp4engCommonGDPR";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	Pdp4engCommonGDPRPackage eINSTANCE = org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.Pdp4engCommonGDPRPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ProcessImpl <em>Process</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ProcessImpl
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.Pdp4engCommonGDPRPackageImpl#getProcess()
+	 * @generated
+	 */
+	int PROCESS = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PROCESS__BASE_NAMED_ELEMENT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Personaldata</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PROCESS__PERSONALDATA = 1;
+
+	/**
+	 * The feature id for the '<em><b>Contributed To</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PROCESS__CONTRIBUTED_TO = 2;
+
+	/**
+	 * The feature id for the '<em><b>Perform AContract</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PROCESS__PERFORM_ACONTRACT = 3;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PROCESS__DATA = 4;
+
+	/**
+	 * The feature id for the '<em><b>Needed For Public Interest</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PROCESS__NEEDED_FOR_PUBLIC_INTEREST = 5;
+
+	/**
+	 * The feature id for the '<em><b>Needed For Legimate Interest</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PROCESS__NEEDED_FOR_LEGIMATE_INTEREST = 6;
+
+	/**
+	 * The feature id for the '<em><b>Needed For Legal Obligation</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PROCESS__NEEDED_FOR_LEGAL_OBLIGATION = 7;
+
+	/**
+	 * The feature id for the '<em><b>Needed For Vital Interest</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PROCESS__NEEDED_FOR_VITAL_INTEREST = 8;
+
+	/**
+	 * The number of structural features of the '<em>Process</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PROCESS_FEATURE_COUNT = 9;
+
+	/**
+	 * The number of operations of the '<em>Process</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PROCESS_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.DataImpl <em>Data</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.DataImpl
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.Pdp4engCommonGDPRPackageImpl#getData()
+	 * @generated
+	 */
+	int DATA = 2;
+
+	/**
+	 * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int DATA__BASE_NAMED_ELEMENT = 0;
+
+	/**
+	 * The number of structural features of the '<em>Data</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Data</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.PersonalDataImpl <em>Personal Data</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.PersonalDataImpl
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.Pdp4engCommonGDPRPackageImpl#getPersonalData()
+	 * @generated
+	 */
+	int PERSONAL_DATA = 1;
+
+	/**
+	 * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PERSONAL_DATA__BASE_NAMED_ELEMENT = DATA__BASE_NAMED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Related To</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PERSONAL_DATA__RELATED_TO = DATA_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Responsible</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PERSONAL_DATA__RESPONSIBLE = DATA_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Processed By</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PERSONAL_DATA__PROCESSED_BY = DATA_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of structural features of the '<em>Personal Data</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PERSONAL_DATA_FEATURE_COUNT = DATA_FEATURE_COUNT + 3;
+
+	/**
+	 * The number of operations of the '<em>Personal Data</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PERSONAL_DATA_OPERATION_COUNT = DATA_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.DataSubjectImpl <em>Data Subject</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.DataSubjectImpl
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.Pdp4engCommonGDPRPackageImpl#getDataSubject()
+	 * @generated
+	 */
+	int DATA_SUBJECT = 3;
+
+	/**
+	 * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_SUBJECT__BASE_NAMED_ELEMENT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Given Consent</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_SUBJECT__GIVEN_CONSENT = 1;
+
+	/**
+	 * The feature id for the '<em><b>Contract</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_SUBJECT__CONTRACT = 2;
+
+	/**
+	 * The feature id for the '<em><b>Personal Data</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_SUBJECT__PERSONAL_DATA = 3;
+
+	/**
+	 * The number of structural features of the '<em>Data Subject</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_SUBJECT_FEATURE_COUNT = 4;
+
+	/**
+	 * The number of operations of the '<em>Data Subject</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_SUBJECT_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ConsentImpl <em>Consent</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ConsentImpl
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.Pdp4engCommonGDPRPackageImpl#getConsent()
+	 * @generated
+	 */
+	int CONSENT = 4;
+
+	/**
+	 * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int CONSENT__BASE_NAMED_ELEMENT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Purpose</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int CONSENT__PURPOSE = 1;
+
+	/**
+	 * The feature id for the '<em><b>Datasubject</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int CONSENT__DATASUBJECT = 2;
+
+	/**
+	 * The number of structural features of the '<em>Consent</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int CONSENT_FEATURE_COUNT = 3;
+
+	/**
+	 * The number of operations of the '<em>Consent</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int CONSENT_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.PurposeImpl <em>Purpose</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.PurposeImpl
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.Pdp4engCommonGDPRPackageImpl#getPurpose()
+	 * @generated
+	 */
+	int PURPOSE = 5;
+
+	/**
+	 * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PURPOSE__BASE_NAMED_ELEMENT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Processes</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PURPOSE__PROCESSES = 1;
+
+	/**
+	 * The feature id for the '<em><b>Consent</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PURPOSE__CONSENT = 2;
+
+	/**
+	 * The number of structural features of the '<em>Purpose</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PURPOSE_FEATURE_COUNT = 3;
+
+	/**
+	 * The number of operations of the '<em>Purpose</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PURPOSE_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ContractImpl <em>Contract</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ContractImpl
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.Pdp4engCommonGDPRPackageImpl#getContract()
+	 * @generated
+	 */
+	int CONTRACT = 6;
+
+	/**
+	 * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int CONTRACT__BASE_NAMED_ELEMENT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Process</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int CONTRACT__PROCESS = 1;
+
+	/**
+	 * The feature id for the '<em><b>Datasubject</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int CONTRACT__DATASUBJECT = 2;
+
+	/**
+	 * The number of structural features of the '<em>Contract</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int CONTRACT_FEATURE_COUNT = 3;
+
+	/**
+	 * The number of operations of the '<em>Contract</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int CONTRACT_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ControllerImpl <em>Controller</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ControllerImpl
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.Pdp4engCommonGDPRPackageImpl#getController()
+	 * @generated
+	 */
+	int CONTROLLER = 7;
+
+	/**
+	 * The feature id for the '<em><b>Processor</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int CONTROLLER__PROCESSOR = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int CONTROLLER__BASE_NAMED_ELEMENT = 1;
+
+	/**
+	 * The feature id for the '<em><b>Personal Data</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int CONTROLLER__PERSONAL_DATA = 2;
+
+	/**
+	 * The number of structural features of the '<em>Controller</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int CONTROLLER_FEATURE_COUNT = 3;
+
+	/**
+	 * The number of operations of the '<em>Controller</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int CONTROLLER_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ProcessorImpl <em>Processor</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ProcessorImpl
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.Pdp4engCommonGDPRPackageImpl#getProcessor()
+	 * @generated
+	 */
+	int PROCESSOR = 8;
+
+	/**
+	 * The feature id for the '<em><b>Process</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PROCESSOR__PROCESS = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PROCESSOR__BASE_NAMED_ELEMENT = 1;
+
+	/**
+	 * The number of structural features of the '<em>Processor</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PROCESSOR_FEATURE_COUNT = 2;
+
+	/**
+	 * The number of operations of the '<em>Processor</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PROCESSOR_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.PublicInterestImpl <em>Public Interest</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.PublicInterestImpl
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.Pdp4engCommonGDPRPackageImpl#getPublicInterest()
+	 * @generated
+	 */
+	int PUBLIC_INTEREST = 9;
+
+	/**
+	 * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PUBLIC_INTEREST__BASE_NAMED_ELEMENT = 0;
+
+	/**
+	 * The number of structural features of the '<em>Public Interest</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PUBLIC_INTEREST_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Public Interest</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PUBLIC_INTEREST_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.LegitimateInterestImpl <em>Legitimate Interest</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.LegitimateInterestImpl
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.Pdp4engCommonGDPRPackageImpl#getLegitimateInterest()
+	 * @generated
+	 */
+	int LEGITIMATE_INTEREST = 10;
+
+	/**
+	 * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int LEGITIMATE_INTEREST__BASE_NAMED_ELEMENT = 0;
+
+	/**
+	 * The number of structural features of the '<em>Legitimate Interest</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int LEGITIMATE_INTEREST_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Legitimate Interest</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int LEGITIMATE_INTEREST_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.LegalObligationImpl <em>Legal Obligation</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.LegalObligationImpl
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.Pdp4engCommonGDPRPackageImpl#getLegalObligation()
+	 * @generated
+	 */
+	int LEGAL_OBLIGATION = 11;
+
+	/**
+	 * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int LEGAL_OBLIGATION__BASE_NAMED_ELEMENT = 0;
+
+	/**
+	 * The number of structural features of the '<em>Legal Obligation</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int LEGAL_OBLIGATION_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Legal Obligation</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int LEGAL_OBLIGATION_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.VitalInterestImpl <em>Vital Interest</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.VitalInterestImpl
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.Pdp4engCommonGDPRPackageImpl#getVitalInterest()
+	 * @generated
+	 */
+	int VITAL_INTEREST = 12;
+
+	/**
+	 * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int VITAL_INTEREST__BASE_NAMED_ELEMENT = 0;
+
+	/**
+	 * The number of structural features of the '<em>Vital Interest</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int VITAL_INTEREST_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Vital Interest</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int VITAL_INTEREST_OPERATION_COUNT = 0;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process <em>Process</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Process</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process
+	 * @generated
+	 */
+	EClass getProcess();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process#getBase_NamedElement <em>Base Named Element</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Base Named Element</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process#getBase_NamedElement()
+	 * @see #getProcess()
+	 * @generated
+	 */
+	EReference getProcess_Base_NamedElement();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process#getPersonaldata <em>Personaldata</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference list '<em>Personaldata</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process#getPersonaldata()
+	 * @see #getProcess()
+	 * @generated
+	 */
+	EReference getProcess_Personaldata();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process#getContributedTo <em>Contributed To</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Contributed To</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process#getContributedTo()
+	 * @see #getProcess()
+	 * @generated
+	 */
+	EReference getProcess_ContributedTo();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process#getPerformAContract <em>Perform AContract</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Perform AContract</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process#getPerformAContract()
+	 * @see #getProcess()
+	 * @generated
+	 */
+	EReference getProcess_PerformAContract();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process#getData <em>Data</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference list '<em>Data</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process#getData()
+	 * @see #getProcess()
+	 * @generated
+	 */
+	EReference getProcess_Data();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process#getNeededForPublicInterest <em>Needed For Public Interest</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Needed For Public Interest</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process#getNeededForPublicInterest()
+	 * @see #getProcess()
+	 * @generated
+	 */
+	EReference getProcess_NeededForPublicInterest();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process#getNeededForLegimateInterest <em>Needed For Legimate Interest</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Needed For Legimate Interest</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process#getNeededForLegimateInterest()
+	 * @see #getProcess()
+	 * @generated
+	 */
+	EReference getProcess_NeededForLegimateInterest();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process#getNeededForLegalObligation <em>Needed For Legal Obligation</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Needed For Legal Obligation</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process#getNeededForLegalObligation()
+	 * @see #getProcess()
+	 * @generated
+	 */
+	EReference getProcess_NeededForLegalObligation();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process#getNeededForVitalInterest <em>Needed For Vital Interest</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Needed For Vital Interest</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process#getNeededForVitalInterest()
+	 * @see #getProcess()
+	 * @generated
+	 */
+	EReference getProcess_NeededForVitalInterest();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData <em>Personal Data</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Personal Data</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData
+	 * @generated
+	 */
+	EClass getPersonalData();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData#getRelatedTo <em>Related To</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference list '<em>Related To</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData#getRelatedTo()
+	 * @see #getPersonalData()
+	 * @generated
+	 */
+	EReference getPersonalData_RelatedTo();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData#getResponsible <em>Responsible</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Responsible</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData#getResponsible()
+	 * @see #getPersonalData()
+	 * @generated
+	 */
+	EReference getPersonalData_Responsible();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData#getProcessedBy <em>Processed By</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference list '<em>Processed By</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData#getProcessedBy()
+	 * @see #getPersonalData()
+	 * @generated
+	 */
+	EReference getPersonalData_ProcessedBy();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Data <em>Data</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Data</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Data
+	 * @generated
+	 */
+	EClass getData();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Data#getBase_NamedElement <em>Base Named Element</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Base Named Element</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Data#getBase_NamedElement()
+	 * @see #getData()
+	 * @generated
+	 */
+	EReference getData_Base_NamedElement();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject <em>Data Subject</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Data Subject</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject
+	 * @generated
+	 */
+	EClass getDataSubject();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject#getBase_NamedElement <em>Base Named Element</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Base Named Element</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject#getBase_NamedElement()
+	 * @see #getDataSubject()
+	 * @generated
+	 */
+	EReference getDataSubject_Base_NamedElement();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject#getGivenConsent <em>Given Consent</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference list '<em>Given Consent</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject#getGivenConsent()
+	 * @see #getDataSubject()
+	 * @generated
+	 */
+	EReference getDataSubject_GivenConsent();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject#getContract <em>Contract</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Contract</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject#getContract()
+	 * @see #getDataSubject()
+	 * @generated
+	 */
+	EReference getDataSubject_Contract();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject#getPersonalData <em>Personal Data</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference list '<em>Personal Data</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject#getPersonalData()
+	 * @see #getDataSubject()
+	 * @generated
+	 */
+	EReference getDataSubject_PersonalData();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Consent <em>Consent</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Consent</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Consent
+	 * @generated
+	 */
+	EClass getConsent();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Consent#getBase_NamedElement <em>Base Named Element</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Base Named Element</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Consent#getBase_NamedElement()
+	 * @see #getConsent()
+	 * @generated
+	 */
+	EReference getConsent_Base_NamedElement();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Consent#getPurpose <em>Purpose</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference list '<em>Purpose</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Consent#getPurpose()
+	 * @see #getConsent()
+	 * @generated
+	 */
+	EReference getConsent_Purpose();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Consent#getDatasubject <em>Datasubject</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Datasubject</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Consent#getDatasubject()
+	 * @see #getConsent()
+	 * @generated
+	 */
+	EReference getConsent_Datasubject();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Purpose <em>Purpose</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Purpose</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Purpose
+	 * @generated
+	 */
+	EClass getPurpose();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Purpose#getBase_NamedElement <em>Base Named Element</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Base Named Element</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Purpose#getBase_NamedElement()
+	 * @see #getPurpose()
+	 * @generated
+	 */
+	EReference getPurpose_Base_NamedElement();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Purpose#getProcesses <em>Processes</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference list '<em>Processes</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Purpose#getProcesses()
+	 * @see #getPurpose()
+	 * @generated
+	 */
+	EReference getPurpose_Processes();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Purpose#getConsent <em>Consent</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Consent</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Purpose#getConsent()
+	 * @see #getPurpose()
+	 * @generated
+	 */
+	EReference getPurpose_Consent();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Contract <em>Contract</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Contract</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Contract
+	 * @generated
+	 */
+	EClass getContract();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Contract#getBase_NamedElement <em>Base Named Element</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Base Named Element</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Contract#getBase_NamedElement()
+	 * @see #getContract()
+	 * @generated
+	 */
+	EReference getContract_Base_NamedElement();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Contract#getProcess <em>Process</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference list '<em>Process</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Contract#getProcess()
+	 * @see #getContract()
+	 * @generated
+	 */
+	EReference getContract_Process();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Contract#getDatasubject <em>Datasubject</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Datasubject</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Contract#getDatasubject()
+	 * @see #getContract()
+	 * @generated
+	 */
+	EReference getContract_Datasubject();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Controller <em>Controller</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Controller</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Controller
+	 * @generated
+	 */
+	EClass getController();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Controller#getProcessor <em>Processor</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference list '<em>Processor</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Controller#getProcessor()
+	 * @see #getController()
+	 * @generated
+	 */
+	EReference getController_Processor();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Controller#getBase_NamedElement <em>Base Named Element</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Base Named Element</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Controller#getBase_NamedElement()
+	 * @see #getController()
+	 * @generated
+	 */
+	EReference getController_Base_NamedElement();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Controller#getPersonalData <em>Personal Data</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference list '<em>Personal Data</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Controller#getPersonalData()
+	 * @see #getController()
+	 * @generated
+	 */
+	EReference getController_PersonalData();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Processor <em>Processor</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Processor</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Processor
+	 * @generated
+	 */
+	EClass getProcessor();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Processor#getProcess <em>Process</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference list '<em>Process</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Processor#getProcess()
+	 * @see #getProcessor()
+	 * @generated
+	 */
+	EReference getProcessor_Process();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Processor#getBase_NamedElement <em>Base Named Element</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Base Named Element</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Processor#getBase_NamedElement()
+	 * @see #getProcessor()
+	 * @generated
+	 */
+	EReference getProcessor_Base_NamedElement();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PublicInterest <em>Public Interest</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Public Interest</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PublicInterest
+	 * @generated
+	 */
+	EClass getPublicInterest();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PublicInterest#getBase_NamedElement <em>Base Named Element</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Base Named Element</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PublicInterest#getBase_NamedElement()
+	 * @see #getPublicInterest()
+	 * @generated
+	 */
+	EReference getPublicInterest_Base_NamedElement();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.LegitimateInterest <em>Legitimate Interest</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Legitimate Interest</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.LegitimateInterest
+	 * @generated
+	 */
+	EClass getLegitimateInterest();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.LegitimateInterest#getBase_NamedElement <em>Base Named Element</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Base Named Element</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.LegitimateInterest#getBase_NamedElement()
+	 * @see #getLegitimateInterest()
+	 * @generated
+	 */
+	EReference getLegitimateInterest_Base_NamedElement();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.LegalObligation <em>Legal Obligation</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Legal Obligation</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.LegalObligation
+	 * @generated
+	 */
+	EClass getLegalObligation();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.LegalObligation#getBase_NamedElement <em>Base Named Element</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Base Named Element</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.LegalObligation#getBase_NamedElement()
+	 * @see #getLegalObligation()
+	 * @generated
+	 */
+	EReference getLegalObligation_Base_NamedElement();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.VitalInterest <em>Vital Interest</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Vital Interest</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.VitalInterest
+	 * @generated
+	 */
+	EClass getVitalInterest();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.VitalInterest#getBase_NamedElement <em>Base Named Element</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Base Named Element</em>'.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.VitalInterest#getBase_NamedElement()
+	 * @see #getVitalInterest()
+	 * @generated
+	 */
+	EReference getVitalInterest_Base_NamedElement();
+
+	/**
+	 * 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
+	 */
+	Pdp4engCommonGDPRFactory getPdp4engCommonGDPRFactory();
+
+	/**
+	 * <!-- 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.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ProcessImpl <em>Process</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ProcessImpl
+		 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.Pdp4engCommonGDPRPackageImpl#getProcess()
+		 * @generated
+		 */
+		EClass PROCESS = eINSTANCE.getProcess();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Named Element</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference PROCESS__BASE_NAMED_ELEMENT = eINSTANCE.getProcess_Base_NamedElement();
+
+		/**
+		 * The meta object literal for the '<em><b>Personaldata</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference PROCESS__PERSONALDATA = eINSTANCE.getProcess_Personaldata();
+
+		/**
+		 * The meta object literal for the '<em><b>Contributed To</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference PROCESS__CONTRIBUTED_TO = eINSTANCE.getProcess_ContributedTo();
+
+		/**
+		 * The meta object literal for the '<em><b>Perform AContract</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference PROCESS__PERFORM_ACONTRACT = eINSTANCE.getProcess_PerformAContract();
+
+		/**
+		 * The meta object literal for the '<em><b>Data</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference PROCESS__DATA = eINSTANCE.getProcess_Data();
+
+		/**
+		 * The meta object literal for the '<em><b>Needed For Public Interest</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference PROCESS__NEEDED_FOR_PUBLIC_INTEREST = eINSTANCE.getProcess_NeededForPublicInterest();
+
+		/**
+		 * The meta object literal for the '<em><b>Needed For Legimate Interest</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference PROCESS__NEEDED_FOR_LEGIMATE_INTEREST = eINSTANCE.getProcess_NeededForLegimateInterest();
+
+		/**
+		 * The meta object literal for the '<em><b>Needed For Legal Obligation</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference PROCESS__NEEDED_FOR_LEGAL_OBLIGATION = eINSTANCE.getProcess_NeededForLegalObligation();
+
+		/**
+		 * The meta object literal for the '<em><b>Needed For Vital Interest</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference PROCESS__NEEDED_FOR_VITAL_INTEREST = eINSTANCE.getProcess_NeededForVitalInterest();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.PersonalDataImpl <em>Personal Data</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.PersonalDataImpl
+		 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.Pdp4engCommonGDPRPackageImpl#getPersonalData()
+		 * @generated
+		 */
+		EClass PERSONAL_DATA = eINSTANCE.getPersonalData();
+
+		/**
+		 * The meta object literal for the '<em><b>Related To</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference PERSONAL_DATA__RELATED_TO = eINSTANCE.getPersonalData_RelatedTo();
+
+		/**
+		 * The meta object literal for the '<em><b>Responsible</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference PERSONAL_DATA__RESPONSIBLE = eINSTANCE.getPersonalData_Responsible();
+
+		/**
+		 * The meta object literal for the '<em><b>Processed By</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference PERSONAL_DATA__PROCESSED_BY = eINSTANCE.getPersonalData_ProcessedBy();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.DataImpl <em>Data</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.DataImpl
+		 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.Pdp4engCommonGDPRPackageImpl#getData()
+		 * @generated
+		 */
+		EClass DATA = eINSTANCE.getData();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Named Element</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference DATA__BASE_NAMED_ELEMENT = eINSTANCE.getData_Base_NamedElement();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.DataSubjectImpl <em>Data Subject</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.DataSubjectImpl
+		 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.Pdp4engCommonGDPRPackageImpl#getDataSubject()
+		 * @generated
+		 */
+		EClass DATA_SUBJECT = eINSTANCE.getDataSubject();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Named Element</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference DATA_SUBJECT__BASE_NAMED_ELEMENT = eINSTANCE.getDataSubject_Base_NamedElement();
+
+		/**
+		 * The meta object literal for the '<em><b>Given Consent</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference DATA_SUBJECT__GIVEN_CONSENT = eINSTANCE.getDataSubject_GivenConsent();
+
+		/**
+		 * The meta object literal for the '<em><b>Contract</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference DATA_SUBJECT__CONTRACT = eINSTANCE.getDataSubject_Contract();
+
+		/**
+		 * The meta object literal for the '<em><b>Personal Data</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference DATA_SUBJECT__PERSONAL_DATA = eINSTANCE.getDataSubject_PersonalData();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ConsentImpl <em>Consent</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ConsentImpl
+		 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.Pdp4engCommonGDPRPackageImpl#getConsent()
+		 * @generated
+		 */
+		EClass CONSENT = eINSTANCE.getConsent();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Named Element</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference CONSENT__BASE_NAMED_ELEMENT = eINSTANCE.getConsent_Base_NamedElement();
+
+		/**
+		 * The meta object literal for the '<em><b>Purpose</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference CONSENT__PURPOSE = eINSTANCE.getConsent_Purpose();
+
+		/**
+		 * The meta object literal for the '<em><b>Datasubject</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference CONSENT__DATASUBJECT = eINSTANCE.getConsent_Datasubject();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.PurposeImpl <em>Purpose</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.PurposeImpl
+		 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.Pdp4engCommonGDPRPackageImpl#getPurpose()
+		 * @generated
+		 */
+		EClass PURPOSE = eINSTANCE.getPurpose();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Named Element</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference PURPOSE__BASE_NAMED_ELEMENT = eINSTANCE.getPurpose_Base_NamedElement();
+
+		/**
+		 * The meta object literal for the '<em><b>Processes</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference PURPOSE__PROCESSES = eINSTANCE.getPurpose_Processes();
+
+		/**
+		 * The meta object literal for the '<em><b>Consent</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference PURPOSE__CONSENT = eINSTANCE.getPurpose_Consent();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ContractImpl <em>Contract</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ContractImpl
+		 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.Pdp4engCommonGDPRPackageImpl#getContract()
+		 * @generated
+		 */
+		EClass CONTRACT = eINSTANCE.getContract();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Named Element</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference CONTRACT__BASE_NAMED_ELEMENT = eINSTANCE.getContract_Base_NamedElement();
+
+		/**
+		 * The meta object literal for the '<em><b>Process</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference CONTRACT__PROCESS = eINSTANCE.getContract_Process();
+
+		/**
+		 * The meta object literal for the '<em><b>Datasubject</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference CONTRACT__DATASUBJECT = eINSTANCE.getContract_Datasubject();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ControllerImpl <em>Controller</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ControllerImpl
+		 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.Pdp4engCommonGDPRPackageImpl#getController()
+		 * @generated
+		 */
+		EClass CONTROLLER = eINSTANCE.getController();
+
+		/**
+		 * The meta object literal for the '<em><b>Processor</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference CONTROLLER__PROCESSOR = eINSTANCE.getController_Processor();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Named Element</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference CONTROLLER__BASE_NAMED_ELEMENT = eINSTANCE.getController_Base_NamedElement();
+
+		/**
+		 * The meta object literal for the '<em><b>Personal Data</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference CONTROLLER__PERSONAL_DATA = eINSTANCE.getController_PersonalData();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ProcessorImpl <em>Processor</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ProcessorImpl
+		 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.Pdp4engCommonGDPRPackageImpl#getProcessor()
+		 * @generated
+		 */
+		EClass PROCESSOR = eINSTANCE.getProcessor();
+
+		/**
+		 * The meta object literal for the '<em><b>Process</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference PROCESSOR__PROCESS = eINSTANCE.getProcessor_Process();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Named Element</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference PROCESSOR__BASE_NAMED_ELEMENT = eINSTANCE.getProcessor_Base_NamedElement();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.PublicInterestImpl <em>Public Interest</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.PublicInterestImpl
+		 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.Pdp4engCommonGDPRPackageImpl#getPublicInterest()
+		 * @generated
+		 */
+		EClass PUBLIC_INTEREST = eINSTANCE.getPublicInterest();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Named Element</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference PUBLIC_INTEREST__BASE_NAMED_ELEMENT = eINSTANCE.getPublicInterest_Base_NamedElement();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.LegitimateInterestImpl <em>Legitimate Interest</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.LegitimateInterestImpl
+		 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.Pdp4engCommonGDPRPackageImpl#getLegitimateInterest()
+		 * @generated
+		 */
+		EClass LEGITIMATE_INTEREST = eINSTANCE.getLegitimateInterest();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Named Element</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference LEGITIMATE_INTEREST__BASE_NAMED_ELEMENT = eINSTANCE.getLegitimateInterest_Base_NamedElement();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.LegalObligationImpl <em>Legal Obligation</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.LegalObligationImpl
+		 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.Pdp4engCommonGDPRPackageImpl#getLegalObligation()
+		 * @generated
+		 */
+		EClass LEGAL_OBLIGATION = eINSTANCE.getLegalObligation();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Named Element</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference LEGAL_OBLIGATION__BASE_NAMED_ELEMENT = eINSTANCE.getLegalObligation_Base_NamedElement();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.VitalInterestImpl <em>Vital Interest</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.VitalInterestImpl
+		 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.Pdp4engCommonGDPRPackageImpl#getVitalInterest()
+		 * @generated
+		 */
+		EClass VITAL_INTEREST = eINSTANCE.getVitalInterest();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Named Element</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference VITAL_INTEREST__BASE_NAMED_ELEMENT = eINSTANCE.getVitalInterest_Base_NamedElement();
+
+	}
+
+} // Pdp4engCommonGDPRPackage
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/PersonalData.java b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/PersonalData.java
new file mode 100644
index 0000000..35dc8c1
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/PersonalData.java
@@ -0,0 +1,108 @@
+/**
+ * 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.common.profile.pdp4engCommonGDPR;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Personal Data</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData#getRelatedTo <em>Related To</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData#getResponsible <em>Responsible</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData#getProcessedBy <em>Processed By</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getPersonalData()
+ * @model
+ * @generated
+ */
+public interface PersonalData extends Data {
+	/**
+	 * Returns the value of the '<em><b>Related To</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject}.
+	 * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject#getPersonalData <em>Personal Data</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Related To</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>Related To</em>' reference list.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getPersonalData_RelatedTo()
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject#getPersonalData
+	 * @model opposite="personalData" required="true" ordered="false"
+	 * @generated
+	 */
+	EList<DataSubject> getRelatedTo();
+
+	/**
+	 * Returns the value of the '<em><b>Responsible</b></em>' reference.
+	 * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Controller#getPersonalData <em>Personal Data</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Responsible</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Responsible</em>' reference.
+	 * @see #setResponsible(Controller)
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getPersonalData_Responsible()
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Controller#getPersonalData
+	 * @model opposite="personalData" required="true" ordered="false"
+	 * @generated
+	 */
+	Controller getResponsible();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData#getResponsible <em>Responsible</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Responsible</em>' reference.
+	 * @see #getResponsible()
+	 * @generated
+	 */
+	void setResponsible(Controller value);
+
+	/**
+	 * Returns the value of the '<em><b>Processed By</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process}.
+	 * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process#getPersonaldata <em>Personaldata</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Processed By</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>Processed By</em>' reference list.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getPersonalData_ProcessedBy()
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process#getPersonaldata
+	 * @model opposite="personaldata" required="true" ordered="false"
+	 * @generated
+	 */
+	EList<org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process> getProcessedBy();
+
+} // PersonalData
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/Process.java b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/Process.java
new file mode 100644
index 0000000..7072670
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/Process.java
@@ -0,0 +1,292 @@
+/**
+ * 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.common.profile.pdp4engCommonGDPR;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Process</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process#getPersonaldata <em>Personaldata</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process#getContributedTo <em>Contributed To</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process#getPerformAContract <em>Perform AContract</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process#getData <em>Data</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process#getNeededForPublicInterest <em>Needed For Public Interest</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process#getNeededForLegimateInterest <em>Needed For Legimate Interest</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process#getNeededForLegalObligation <em>Needed For Legal Obligation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process#getNeededForVitalInterest <em>Needed For Vital Interest</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getProcess()
+ * @model
+ * @generated
+ */
+public interface Process extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Named Element</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 Named Element</em>' reference.
+	 * @see #setBase_NamedElement(NamedElement)
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getProcess_Base_NamedElement()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	NamedElement getBase_NamedElement();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process#getBase_NamedElement <em>Base Named Element</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Named Element</em>' reference.
+	 * @see #getBase_NamedElement()
+	 * @generated
+	 */
+	void setBase_NamedElement(NamedElement value);
+
+	/**
+	 * Returns the value of the '<em><b>Personaldata</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData}.
+	 * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData#getProcessedBy <em>Processed By</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Personaldata</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>Personaldata</em>' reference list.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getProcess_Personaldata()
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData#getProcessedBy
+	 * @model opposite="processedBy" ordered="false"
+	 * @generated
+	 */
+	EList<PersonalData> getPersonaldata();
+
+	/**
+	 * Returns the value of the '<em><b>Contributed To</b></em>' reference.
+	 * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Purpose#getProcesses <em>Processes</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Contributed To</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Contributed To</em>' reference.
+	 * @see #setContributedTo(Purpose)
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getProcess_ContributedTo()
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Purpose#getProcesses
+	 * @model opposite="processes" required="true" ordered="false"
+	 * @generated
+	 */
+	Purpose getContributedTo();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process#getContributedTo <em>Contributed To</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Contributed To</em>' reference.
+	 * @see #getContributedTo()
+	 * @generated
+	 */
+	void setContributedTo(Purpose value);
+
+	/**
+	 * Returns the value of the '<em><b>Perform AContract</b></em>' reference.
+	 * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Contract#getProcess <em>Process</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Perform AContract</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Perform AContract</em>' reference.
+	 * @see #setPerformAContract(Contract)
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getProcess_PerformAContract()
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Contract#getProcess
+	 * @model opposite="process" ordered="false"
+	 * @generated
+	 */
+	Contract getPerformAContract();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process#getPerformAContract <em>Perform AContract</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Perform AContract</em>' reference.
+	 * @see #getPerformAContract()
+	 * @generated
+	 */
+	void setPerformAContract(Contract value);
+
+	/**
+	 * Returns the value of the '<em><b>Data</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Data}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Data</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>Data</em>' reference list.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getProcess_Data()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	EList<Data> getData();
+
+	/**
+	 * Returns the value of the '<em><b>Needed For Public Interest</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Needed For Public Interest</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Needed For Public Interest</em>' reference.
+	 * @see #setNeededForPublicInterest(PublicInterest)
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getProcess_NeededForPublicInterest()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	PublicInterest getNeededForPublicInterest();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process#getNeededForPublicInterest <em>Needed For Public Interest</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Needed For Public Interest</em>' reference.
+	 * @see #getNeededForPublicInterest()
+	 * @generated
+	 */
+	void setNeededForPublicInterest(PublicInterest value);
+
+	/**
+	 * Returns the value of the '<em><b>Needed For Legimate Interest</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Needed For Legimate Interest</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Needed For Legimate Interest</em>' reference.
+	 * @see #setNeededForLegimateInterest(LegitimateInterest)
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getProcess_NeededForLegimateInterest()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	LegitimateInterest getNeededForLegimateInterest();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process#getNeededForLegimateInterest <em>Needed For Legimate Interest</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Needed For Legimate Interest</em>' reference.
+	 * @see #getNeededForLegimateInterest()
+	 * @generated
+	 */
+	void setNeededForLegimateInterest(LegitimateInterest value);
+
+	/**
+	 * Returns the value of the '<em><b>Needed For Legal Obligation</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Needed For Legal Obligation</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Needed For Legal Obligation</em>' reference.
+	 * @see #setNeededForLegalObligation(LegalObligation)
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getProcess_NeededForLegalObligation()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	LegalObligation getNeededForLegalObligation();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process#getNeededForLegalObligation <em>Needed For Legal Obligation</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Needed For Legal Obligation</em>' reference.
+	 * @see #getNeededForLegalObligation()
+	 * @generated
+	 */
+	void setNeededForLegalObligation(LegalObligation value);
+
+	/**
+	 * Returns the value of the '<em><b>Needed For Vital Interest</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Needed For Vital Interest</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Needed For Vital Interest</em>' reference.
+	 * @see #setNeededForVitalInterest(VitalInterest)
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getProcess_NeededForVitalInterest()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	VitalInterest getNeededForVitalInterest();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process#getNeededForVitalInterest <em>Needed For Vital Interest</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Needed For Vital Interest</em>' reference.
+	 * @see #getNeededForVitalInterest()
+	 * @generated
+	 */
+	void setNeededForVitalInterest(VitalInterest value);
+
+} // Process
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/Processor.java b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/Processor.java
new file mode 100644
index 0000000..6d1147d
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/Processor.java
@@ -0,0 +1,88 @@
+/**
+ * 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.common.profile.pdp4engCommonGDPR;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Processor</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Processor#getProcess <em>Process</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Processor#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getProcessor()
+ * @model
+ * @generated
+ */
+public interface Processor extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Process</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Process</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>Process</em>' reference list.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getProcessor_Process()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	EList<org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process> getProcess();
+
+	/**
+	 * Returns the value of the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Named Element</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 Named Element</em>' reference.
+	 * @see #setBase_NamedElement(NamedElement)
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getProcessor_Base_NamedElement()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	NamedElement getBase_NamedElement();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Processor#getBase_NamedElement <em>Base Named Element</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Named Element</em>' reference.
+	 * @see #getBase_NamedElement()
+	 * @generated
+	 */
+	void setBase_NamedElement(NamedElement value);
+
+} // Processor
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/PublicInterest.java b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/PublicInterest.java
new file mode 100644
index 0000000..b0ed56e
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/PublicInterest.java
@@ -0,0 +1,68 @@
+/**
+ * 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.common.profile.pdp4engCommonGDPR;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Public Interest</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PublicInterest#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getPublicInterest()
+ * @model
+ * @generated
+ */
+public interface PublicInterest extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Named Element</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 Named Element</em>' reference.
+	 * @see #setBase_NamedElement(NamedElement)
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getPublicInterest_Base_NamedElement()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	NamedElement getBase_NamedElement();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PublicInterest#getBase_NamedElement <em>Base Named Element</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Named Element</em>' reference.
+	 * @see #getBase_NamedElement()
+	 * @generated
+	 */
+	void setBase_NamedElement(NamedElement value);
+
+} // PublicInterest
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/Purpose.java b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/Purpose.java
new file mode 100644
index 0000000..65b1aa9
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/Purpose.java
@@ -0,0 +1,122 @@
+/**
+ * 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.common.profile.pdp4engCommonGDPR;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Purpose</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Purpose#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Purpose#getProcesses <em>Processes</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Purpose#getConsent <em>Consent</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getPurpose()
+ * @model
+ * @generated
+ */
+public interface Purpose extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Named Element</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 Named Element</em>' reference.
+	 * @see #setBase_NamedElement(NamedElement)
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getPurpose_Base_NamedElement()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	NamedElement getBase_NamedElement();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Purpose#getBase_NamedElement <em>Base Named Element</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Named Element</em>' reference.
+	 * @see #getBase_NamedElement()
+	 * @generated
+	 */
+	void setBase_NamedElement(NamedElement value);
+
+	/**
+	 * Returns the value of the '<em><b>Processes</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process}.
+	 * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process#getContributedTo <em>Contributed To</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Processes</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>Processes</em>' reference list.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getPurpose_Processes()
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process#getContributedTo
+	 * @model opposite="contributedTo" required="true" ordered="false"
+	 * @generated
+	 */
+	EList<org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process> getProcesses();
+
+	/**
+	 * Returns the value of the '<em><b>Consent</b></em>' reference.
+	 * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Consent#getPurpose <em>Purpose</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Consent</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Consent</em>' reference.
+	 * @see #setConsent(Consent)
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getPurpose_Consent()
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Consent#getPurpose
+	 * @model opposite="purpose" required="true" ordered="false"
+	 * @generated
+	 */
+	Consent getConsent();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Purpose#getConsent <em>Consent</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Consent</em>' reference.
+	 * @see #getConsent()
+	 * @generated
+	 */
+	void setConsent(Consent value);
+
+} // Purpose
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/VitalInterest.java b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/VitalInterest.java
new file mode 100644
index 0000000..0b06b98
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/VitalInterest.java
@@ -0,0 +1,68 @@
+/**
+ * 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.common.profile.pdp4engCommonGDPR;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Vital Interest</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.VitalInterest#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getVitalInterest()
+ * @model
+ * @generated
+ */
+public interface VitalInterest extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Named Element</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 Named Element</em>' reference.
+	 * @see #setBase_NamedElement(NamedElement)
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#getVitalInterest_Base_NamedElement()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	NamedElement getBase_NamedElement();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.VitalInterest#getBase_NamedElement <em>Base Named Element</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Named Element</em>' reference.
+	 * @see #getBase_NamedElement()
+	 * @generated
+	 */
+	void setBase_NamedElement(NamedElement value);
+
+} // VitalInterest
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/ConsentImpl.java b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/ConsentImpl.java
new file mode 100644
index 0000000..20f1c9a
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/ConsentImpl.java
@@ -0,0 +1,373 @@
+/**
+ * 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.common.profile.pdp4engCommonGDPR.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+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.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Consent;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Purpose;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Consent</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ConsentImpl#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ConsentImpl#getPurpose <em>Purpose</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ConsentImpl#getDatasubject <em>Datasubject</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ConsentImpl extends MinimalEObjectImpl.Container implements Consent {
+	/**
+	 * The cached value of the '{@link #getBase_NamedElement() <em>Base Named Element</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getBase_NamedElement()
+	 * @generated
+	 * @ordered
+	 */
+	protected NamedElement base_NamedElement;
+
+	/**
+	 * The cached value of the '{@link #getPurpose() <em>Purpose</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getPurpose()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Purpose> purpose;
+
+	/**
+	 * The cached value of the '{@link #getDatasubject() <em>Datasubject</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getDatasubject()
+	 * @generated
+	 * @ordered
+	 */
+	protected DataSubject datasubject;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected ConsentImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Pdp4engCommonGDPRPackage.Literals.CONSENT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public NamedElement getBase_NamedElement() {
+		if (base_NamedElement != null && base_NamedElement.eIsProxy()) {
+			InternalEObject oldBase_NamedElement = (InternalEObject) base_NamedElement;
+			base_NamedElement = (NamedElement) eResolveProxy(oldBase_NamedElement);
+			if (base_NamedElement != oldBase_NamedElement) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, Pdp4engCommonGDPRPackage.CONSENT__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+				}
+			}
+		}
+		return base_NamedElement;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public NamedElement basicGetBase_NamedElement() {
+		return base_NamedElement;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setBase_NamedElement(NamedElement newBase_NamedElement) {
+		NamedElement oldBase_NamedElement = base_NamedElement;
+		base_NamedElement = newBase_NamedElement;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, Pdp4engCommonGDPRPackage.CONSENT__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EList<Purpose> getPurpose() {
+		if (purpose == null) {
+			purpose = new EObjectWithInverseResolvingEList<>(Purpose.class, this, Pdp4engCommonGDPRPackage.CONSENT__PURPOSE, Pdp4engCommonGDPRPackage.PURPOSE__CONSENT);
+		}
+		return purpose;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public DataSubject getDatasubject() {
+		if (datasubject != null && datasubject.eIsProxy()) {
+			InternalEObject oldDatasubject = (InternalEObject) datasubject;
+			datasubject = (DataSubject) eResolveProxy(oldDatasubject);
+			if (datasubject != oldDatasubject) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, Pdp4engCommonGDPRPackage.CONSENT__DATASUBJECT, oldDatasubject, datasubject));
+				}
+			}
+		}
+		return datasubject;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public DataSubject basicGetDatasubject() {
+		return datasubject;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public NotificationChain basicSetDatasubject(DataSubject newDatasubject, NotificationChain msgs) {
+		DataSubject oldDatasubject = datasubject;
+		datasubject = newDatasubject;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, Pdp4engCommonGDPRPackage.CONSENT__DATASUBJECT, oldDatasubject, newDatasubject);
+			if (msgs == null) {
+				msgs = notification;
+			} else {
+				msgs.add(notification);
+			}
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setDatasubject(DataSubject newDatasubject) {
+		if (newDatasubject != datasubject) {
+			NotificationChain msgs = null;
+			if (datasubject != null) {
+				msgs = ((InternalEObject) datasubject).eInverseRemove(this, Pdp4engCommonGDPRPackage.DATA_SUBJECT__GIVEN_CONSENT, DataSubject.class, msgs);
+			}
+			if (newDatasubject != null) {
+				msgs = ((InternalEObject) newDatasubject).eInverseAdd(this, Pdp4engCommonGDPRPackage.DATA_SUBJECT__GIVEN_CONSENT, DataSubject.class, msgs);
+			}
+			msgs = basicSetDatasubject(newDatasubject, msgs);
+			if (msgs != null) {
+				msgs.dispatch();
+			}
+		} else if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, Pdp4engCommonGDPRPackage.CONSENT__DATASUBJECT, newDatasubject, newDatasubject));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.CONSENT__PURPOSE:
+			return ((InternalEList<InternalEObject>) (InternalEList<?>) getPurpose()).basicAdd(otherEnd, msgs);
+		case Pdp4engCommonGDPRPackage.CONSENT__DATASUBJECT:
+			if (datasubject != null) {
+				msgs = ((InternalEObject) datasubject).eInverseRemove(this, Pdp4engCommonGDPRPackage.DATA_SUBJECT__GIVEN_CONSENT, DataSubject.class, msgs);
+			}
+			return basicSetDatasubject((DataSubject) otherEnd, msgs);
+		}
+		return super.eInverseAdd(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.CONSENT__PURPOSE:
+			return ((InternalEList<?>) getPurpose()).basicRemove(otherEnd, msgs);
+		case Pdp4engCommonGDPRPackage.CONSENT__DATASUBJECT:
+			return basicSetDatasubject(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.CONSENT__BASE_NAMED_ELEMENT:
+			if (resolve) {
+				return getBase_NamedElement();
+			}
+			return basicGetBase_NamedElement();
+		case Pdp4engCommonGDPRPackage.CONSENT__PURPOSE:
+			return getPurpose();
+		case Pdp4engCommonGDPRPackage.CONSENT__DATASUBJECT:
+			if (resolve) {
+				return getDatasubject();
+			}
+			return basicGetDatasubject();
+		}
+		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 Pdp4engCommonGDPRPackage.CONSENT__BASE_NAMED_ELEMENT:
+			setBase_NamedElement((NamedElement) newValue);
+			return;
+		case Pdp4engCommonGDPRPackage.CONSENT__PURPOSE:
+			getPurpose().clear();
+			getPurpose().addAll((Collection<? extends Purpose>) newValue);
+			return;
+		case Pdp4engCommonGDPRPackage.CONSENT__DATASUBJECT:
+			setDatasubject((DataSubject) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.CONSENT__BASE_NAMED_ELEMENT:
+			setBase_NamedElement((NamedElement) null);
+			return;
+		case Pdp4engCommonGDPRPackage.CONSENT__PURPOSE:
+			getPurpose().clear();
+			return;
+		case Pdp4engCommonGDPRPackage.CONSENT__DATASUBJECT:
+			setDatasubject((DataSubject) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.CONSENT__BASE_NAMED_ELEMENT:
+			return base_NamedElement != null;
+		case Pdp4engCommonGDPRPackage.CONSENT__PURPOSE:
+			return purpose != null && !purpose.isEmpty();
+		case Pdp4engCommonGDPRPackage.CONSENT__DATASUBJECT:
+			return datasubject != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} // ConsentImpl
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/ContractImpl.java b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/ContractImpl.java
new file mode 100644
index 0000000..68ed000
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/ContractImpl.java
@@ -0,0 +1,373 @@
+/**
+ * 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.common.profile.pdp4engCommonGDPR.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+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.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Contract;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Contract</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ContractImpl#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ContractImpl#getProcess <em>Process</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ContractImpl#getDatasubject <em>Datasubject</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ContractImpl extends MinimalEObjectImpl.Container implements Contract {
+	/**
+	 * The cached value of the '{@link #getBase_NamedElement() <em>Base Named Element</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getBase_NamedElement()
+	 * @generated
+	 * @ordered
+	 */
+	protected NamedElement base_NamedElement;
+
+	/**
+	 * The cached value of the '{@link #getProcess() <em>Process</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getProcess()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process> process;
+
+	/**
+	 * The cached value of the '{@link #getDatasubject() <em>Datasubject</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getDatasubject()
+	 * @generated
+	 * @ordered
+	 */
+	protected DataSubject datasubject;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected ContractImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Pdp4engCommonGDPRPackage.Literals.CONTRACT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public NamedElement getBase_NamedElement() {
+		if (base_NamedElement != null && base_NamedElement.eIsProxy()) {
+			InternalEObject oldBase_NamedElement = (InternalEObject) base_NamedElement;
+			base_NamedElement = (NamedElement) eResolveProxy(oldBase_NamedElement);
+			if (base_NamedElement != oldBase_NamedElement) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, Pdp4engCommonGDPRPackage.CONTRACT__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+				}
+			}
+		}
+		return base_NamedElement;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public NamedElement basicGetBase_NamedElement() {
+		return base_NamedElement;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setBase_NamedElement(NamedElement newBase_NamedElement) {
+		NamedElement oldBase_NamedElement = base_NamedElement;
+		base_NamedElement = newBase_NamedElement;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, Pdp4engCommonGDPRPackage.CONTRACT__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EList<org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process> getProcess() {
+		if (process == null) {
+			process = new EObjectWithInverseResolvingEList<>(org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process.class, this, Pdp4engCommonGDPRPackage.CONTRACT__PROCESS,
+					Pdp4engCommonGDPRPackage.PROCESS__PERFORM_ACONTRACT);
+		}
+		return process;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public DataSubject getDatasubject() {
+		if (datasubject != null && datasubject.eIsProxy()) {
+			InternalEObject oldDatasubject = (InternalEObject) datasubject;
+			datasubject = (DataSubject) eResolveProxy(oldDatasubject);
+			if (datasubject != oldDatasubject) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, Pdp4engCommonGDPRPackage.CONTRACT__DATASUBJECT, oldDatasubject, datasubject));
+				}
+			}
+		}
+		return datasubject;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public DataSubject basicGetDatasubject() {
+		return datasubject;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public NotificationChain basicSetDatasubject(DataSubject newDatasubject, NotificationChain msgs) {
+		DataSubject oldDatasubject = datasubject;
+		datasubject = newDatasubject;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, Pdp4engCommonGDPRPackage.CONTRACT__DATASUBJECT, oldDatasubject, newDatasubject);
+			if (msgs == null) {
+				msgs = notification;
+			} else {
+				msgs.add(notification);
+			}
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setDatasubject(DataSubject newDatasubject) {
+		if (newDatasubject != datasubject) {
+			NotificationChain msgs = null;
+			if (datasubject != null) {
+				msgs = ((InternalEObject) datasubject).eInverseRemove(this, Pdp4engCommonGDPRPackage.DATA_SUBJECT__CONTRACT, DataSubject.class, msgs);
+			}
+			if (newDatasubject != null) {
+				msgs = ((InternalEObject) newDatasubject).eInverseAdd(this, Pdp4engCommonGDPRPackage.DATA_SUBJECT__CONTRACT, DataSubject.class, msgs);
+			}
+			msgs = basicSetDatasubject(newDatasubject, msgs);
+			if (msgs != null) {
+				msgs.dispatch();
+			}
+		} else if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, Pdp4engCommonGDPRPackage.CONTRACT__DATASUBJECT, newDatasubject, newDatasubject));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.CONTRACT__PROCESS:
+			return ((InternalEList<InternalEObject>) (InternalEList<?>) getProcess()).basicAdd(otherEnd, msgs);
+		case Pdp4engCommonGDPRPackage.CONTRACT__DATASUBJECT:
+			if (datasubject != null) {
+				msgs = ((InternalEObject) datasubject).eInverseRemove(this, Pdp4engCommonGDPRPackage.DATA_SUBJECT__CONTRACT, DataSubject.class, msgs);
+			}
+			return basicSetDatasubject((DataSubject) otherEnd, msgs);
+		}
+		return super.eInverseAdd(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.CONTRACT__PROCESS:
+			return ((InternalEList<?>) getProcess()).basicRemove(otherEnd, msgs);
+		case Pdp4engCommonGDPRPackage.CONTRACT__DATASUBJECT:
+			return basicSetDatasubject(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.CONTRACT__BASE_NAMED_ELEMENT:
+			if (resolve) {
+				return getBase_NamedElement();
+			}
+			return basicGetBase_NamedElement();
+		case Pdp4engCommonGDPRPackage.CONTRACT__PROCESS:
+			return getProcess();
+		case Pdp4engCommonGDPRPackage.CONTRACT__DATASUBJECT:
+			if (resolve) {
+				return getDatasubject();
+			}
+			return basicGetDatasubject();
+		}
+		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 Pdp4engCommonGDPRPackage.CONTRACT__BASE_NAMED_ELEMENT:
+			setBase_NamedElement((NamedElement) newValue);
+			return;
+		case Pdp4engCommonGDPRPackage.CONTRACT__PROCESS:
+			getProcess().clear();
+			getProcess().addAll((Collection<? extends org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process>) newValue);
+			return;
+		case Pdp4engCommonGDPRPackage.CONTRACT__DATASUBJECT:
+			setDatasubject((DataSubject) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.CONTRACT__BASE_NAMED_ELEMENT:
+			setBase_NamedElement((NamedElement) null);
+			return;
+		case Pdp4engCommonGDPRPackage.CONTRACT__PROCESS:
+			getProcess().clear();
+			return;
+		case Pdp4engCommonGDPRPackage.CONTRACT__DATASUBJECT:
+			setDatasubject((DataSubject) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.CONTRACT__BASE_NAMED_ELEMENT:
+			return base_NamedElement != null;
+		case Pdp4engCommonGDPRPackage.CONTRACT__PROCESS:
+			return process != null && !process.isEmpty();
+		case Pdp4engCommonGDPRPackage.CONTRACT__DATASUBJECT:
+			return datasubject != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} // ContractImpl
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/ControllerImpl.java b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/ControllerImpl.java
new file mode 100644
index 0000000..5fd8152
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/ControllerImpl.java
@@ -0,0 +1,304 @@
+/**
+ * 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.common.profile.pdp4engCommonGDPR.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+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.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Controller;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Processor;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Controller</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ControllerImpl#getProcessor <em>Processor</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ControllerImpl#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ControllerImpl#getPersonalData <em>Personal Data</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ControllerImpl extends MinimalEObjectImpl.Container implements Controller {
+	/**
+	 * The cached value of the '{@link #getProcessor() <em>Processor</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getProcessor()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Processor> processor;
+
+	/**
+	 * The cached value of the '{@link #getBase_NamedElement() <em>Base Named Element</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getBase_NamedElement()
+	 * @generated
+	 * @ordered
+	 */
+	protected NamedElement base_NamedElement;
+
+	/**
+	 * The cached value of the '{@link #getPersonalData() <em>Personal Data</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getPersonalData()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<PersonalData> personalData;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected ControllerImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Pdp4engCommonGDPRPackage.Literals.CONTROLLER;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EList<Processor> getProcessor() {
+		if (processor == null) {
+			processor = new EObjectResolvingEList<>(Processor.class, this, Pdp4engCommonGDPRPackage.CONTROLLER__PROCESSOR);
+		}
+		return processor;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public NamedElement getBase_NamedElement() {
+		if (base_NamedElement != null && base_NamedElement.eIsProxy()) {
+			InternalEObject oldBase_NamedElement = (InternalEObject) base_NamedElement;
+			base_NamedElement = (NamedElement) eResolveProxy(oldBase_NamedElement);
+			if (base_NamedElement != oldBase_NamedElement) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, Pdp4engCommonGDPRPackage.CONTROLLER__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+				}
+			}
+		}
+		return base_NamedElement;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public NamedElement basicGetBase_NamedElement() {
+		return base_NamedElement;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setBase_NamedElement(NamedElement newBase_NamedElement) {
+		NamedElement oldBase_NamedElement = base_NamedElement;
+		base_NamedElement = newBase_NamedElement;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, Pdp4engCommonGDPRPackage.CONTROLLER__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EList<PersonalData> getPersonalData() {
+		if (personalData == null) {
+			personalData = new EObjectWithInverseResolvingEList<>(PersonalData.class, this, Pdp4engCommonGDPRPackage.CONTROLLER__PERSONAL_DATA, Pdp4engCommonGDPRPackage.PERSONAL_DATA__RESPONSIBLE);
+		}
+		return personalData;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.CONTROLLER__PERSONAL_DATA:
+			return ((InternalEList<InternalEObject>) (InternalEList<?>) getPersonalData()).basicAdd(otherEnd, msgs);
+		}
+		return super.eInverseAdd(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.CONTROLLER__PERSONAL_DATA:
+			return ((InternalEList<?>) getPersonalData()).basicRemove(otherEnd, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.CONTROLLER__PROCESSOR:
+			return getProcessor();
+		case Pdp4engCommonGDPRPackage.CONTROLLER__BASE_NAMED_ELEMENT:
+			if (resolve) {
+				return getBase_NamedElement();
+			}
+			return basicGetBase_NamedElement();
+		case Pdp4engCommonGDPRPackage.CONTROLLER__PERSONAL_DATA:
+			return getPersonalData();
+		}
+		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 Pdp4engCommonGDPRPackage.CONTROLLER__PROCESSOR:
+			getProcessor().clear();
+			getProcessor().addAll((Collection<? extends Processor>) newValue);
+			return;
+		case Pdp4engCommonGDPRPackage.CONTROLLER__BASE_NAMED_ELEMENT:
+			setBase_NamedElement((NamedElement) newValue);
+			return;
+		case Pdp4engCommonGDPRPackage.CONTROLLER__PERSONAL_DATA:
+			getPersonalData().clear();
+			getPersonalData().addAll((Collection<? extends PersonalData>) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.CONTROLLER__PROCESSOR:
+			getProcessor().clear();
+			return;
+		case Pdp4engCommonGDPRPackage.CONTROLLER__BASE_NAMED_ELEMENT:
+			setBase_NamedElement((NamedElement) null);
+			return;
+		case Pdp4engCommonGDPRPackage.CONTROLLER__PERSONAL_DATA:
+			getPersonalData().clear();
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.CONTROLLER__PROCESSOR:
+			return processor != null && !processor.isEmpty();
+		case Pdp4engCommonGDPRPackage.CONTROLLER__BASE_NAMED_ELEMENT:
+			return base_NamedElement != null;
+		case Pdp4engCommonGDPRPackage.CONTROLLER__PERSONAL_DATA:
+			return personalData != null && !personalData.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} // ControllerImpl
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/DataImpl.java b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/DataImpl.java
new file mode 100644
index 0000000..4b3717d
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/DataImpl.java
@@ -0,0 +1,187 @@
+/**
+ * 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.common.profile.pdp4engCommonGDPR.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Data;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Data</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.DataImpl#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DataImpl extends MinimalEObjectImpl.Container implements Data {
+	/**
+	 * The cached value of the '{@link #getBase_NamedElement() <em>Base Named Element</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getBase_NamedElement()
+	 * @generated
+	 * @ordered
+	 */
+	protected NamedElement base_NamedElement;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected DataImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Pdp4engCommonGDPRPackage.Literals.DATA;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public NamedElement getBase_NamedElement() {
+		if (base_NamedElement != null && base_NamedElement.eIsProxy()) {
+			InternalEObject oldBase_NamedElement = (InternalEObject) base_NamedElement;
+			base_NamedElement = (NamedElement) eResolveProxy(oldBase_NamedElement);
+			if (base_NamedElement != oldBase_NamedElement) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, Pdp4engCommonGDPRPackage.DATA__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+				}
+			}
+		}
+		return base_NamedElement;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public NamedElement basicGetBase_NamedElement() {
+		return base_NamedElement;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setBase_NamedElement(NamedElement newBase_NamedElement) {
+		NamedElement oldBase_NamedElement = base_NamedElement;
+		base_NamedElement = newBase_NamedElement;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, Pdp4engCommonGDPRPackage.DATA__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.DATA__BASE_NAMED_ELEMENT:
+			if (resolve) {
+				return getBase_NamedElement();
+			}
+			return basicGetBase_NamedElement();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.DATA__BASE_NAMED_ELEMENT:
+			setBase_NamedElement((NamedElement) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.DATA__BASE_NAMED_ELEMENT:
+			setBase_NamedElement((NamedElement) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.DATA__BASE_NAMED_ELEMENT:
+			return base_NamedElement != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} // DataImpl
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/DataSubjectImpl.java b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/DataSubjectImpl.java
new file mode 100644
index 0000000..5513211
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/DataSubjectImpl.java
@@ -0,0 +1,415 @@
+/**
+ * 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.common.profile.pdp4engCommonGDPR.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+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.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Consent;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Contract;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Data Subject</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.DataSubjectImpl#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.DataSubjectImpl#getGivenConsent <em>Given Consent</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.DataSubjectImpl#getContract <em>Contract</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.DataSubjectImpl#getPersonalData <em>Personal Data</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DataSubjectImpl extends MinimalEObjectImpl.Container implements DataSubject {
+	/**
+	 * The cached value of the '{@link #getBase_NamedElement() <em>Base Named Element</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getBase_NamedElement()
+	 * @generated
+	 * @ordered
+	 */
+	protected NamedElement base_NamedElement;
+
+	/**
+	 * The cached value of the '{@link #getGivenConsent() <em>Given Consent</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getGivenConsent()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Consent> givenConsent;
+
+	/**
+	 * The cached value of the '{@link #getContract() <em>Contract</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getContract()
+	 * @generated
+	 * @ordered
+	 */
+	protected Contract contract;
+
+	/**
+	 * The cached value of the '{@link #getPersonalData() <em>Personal Data</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getPersonalData()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<PersonalData> personalData;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected DataSubjectImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Pdp4engCommonGDPRPackage.Literals.DATA_SUBJECT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public NamedElement getBase_NamedElement() {
+		if (base_NamedElement != null && base_NamedElement.eIsProxy()) {
+			InternalEObject oldBase_NamedElement = (InternalEObject) base_NamedElement;
+			base_NamedElement = (NamedElement) eResolveProxy(oldBase_NamedElement);
+			if (base_NamedElement != oldBase_NamedElement) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, Pdp4engCommonGDPRPackage.DATA_SUBJECT__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+				}
+			}
+		}
+		return base_NamedElement;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public NamedElement basicGetBase_NamedElement() {
+		return base_NamedElement;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setBase_NamedElement(NamedElement newBase_NamedElement) {
+		NamedElement oldBase_NamedElement = base_NamedElement;
+		base_NamedElement = newBase_NamedElement;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, Pdp4engCommonGDPRPackage.DATA_SUBJECT__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EList<Consent> getGivenConsent() {
+		if (givenConsent == null) {
+			givenConsent = new EObjectWithInverseResolvingEList<>(Consent.class, this, Pdp4engCommonGDPRPackage.DATA_SUBJECT__GIVEN_CONSENT, Pdp4engCommonGDPRPackage.CONSENT__DATASUBJECT);
+		}
+		return givenConsent;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Contract getContract() {
+		if (contract != null && contract.eIsProxy()) {
+			InternalEObject oldContract = (InternalEObject) contract;
+			contract = (Contract) eResolveProxy(oldContract);
+			if (contract != oldContract) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, Pdp4engCommonGDPRPackage.DATA_SUBJECT__CONTRACT, oldContract, contract));
+				}
+			}
+		}
+		return contract;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Contract basicGetContract() {
+		return contract;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public NotificationChain basicSetContract(Contract newContract, NotificationChain msgs) {
+		Contract oldContract = contract;
+		contract = newContract;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, Pdp4engCommonGDPRPackage.DATA_SUBJECT__CONTRACT, oldContract, newContract);
+			if (msgs == null) {
+				msgs = notification;
+			} else {
+				msgs.add(notification);
+			}
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setContract(Contract newContract) {
+		if (newContract != contract) {
+			NotificationChain msgs = null;
+			if (contract != null) {
+				msgs = ((InternalEObject) contract).eInverseRemove(this, Pdp4engCommonGDPRPackage.CONTRACT__DATASUBJECT, Contract.class, msgs);
+			}
+			if (newContract != null) {
+				msgs = ((InternalEObject) newContract).eInverseAdd(this, Pdp4engCommonGDPRPackage.CONTRACT__DATASUBJECT, Contract.class, msgs);
+			}
+			msgs = basicSetContract(newContract, msgs);
+			if (msgs != null) {
+				msgs.dispatch();
+			}
+		} else if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, Pdp4engCommonGDPRPackage.DATA_SUBJECT__CONTRACT, newContract, newContract));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EList<PersonalData> getPersonalData() {
+		if (personalData == null) {
+			personalData = new EObjectWithInverseResolvingEList.ManyInverse<>(PersonalData.class, this, Pdp4engCommonGDPRPackage.DATA_SUBJECT__PERSONAL_DATA, Pdp4engCommonGDPRPackage.PERSONAL_DATA__RELATED_TO);
+		}
+		return personalData;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.DATA_SUBJECT__GIVEN_CONSENT:
+			return ((InternalEList<InternalEObject>) (InternalEList<?>) getGivenConsent()).basicAdd(otherEnd, msgs);
+		case Pdp4engCommonGDPRPackage.DATA_SUBJECT__CONTRACT:
+			if (contract != null) {
+				msgs = ((InternalEObject) contract).eInverseRemove(this, Pdp4engCommonGDPRPackage.CONTRACT__DATASUBJECT, Contract.class, msgs);
+			}
+			return basicSetContract((Contract) otherEnd, msgs);
+		case Pdp4engCommonGDPRPackage.DATA_SUBJECT__PERSONAL_DATA:
+			return ((InternalEList<InternalEObject>) (InternalEList<?>) getPersonalData()).basicAdd(otherEnd, msgs);
+		}
+		return super.eInverseAdd(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.DATA_SUBJECT__GIVEN_CONSENT:
+			return ((InternalEList<?>) getGivenConsent()).basicRemove(otherEnd, msgs);
+		case Pdp4engCommonGDPRPackage.DATA_SUBJECT__CONTRACT:
+			return basicSetContract(null, msgs);
+		case Pdp4engCommonGDPRPackage.DATA_SUBJECT__PERSONAL_DATA:
+			return ((InternalEList<?>) getPersonalData()).basicRemove(otherEnd, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.DATA_SUBJECT__BASE_NAMED_ELEMENT:
+			if (resolve) {
+				return getBase_NamedElement();
+			}
+			return basicGetBase_NamedElement();
+		case Pdp4engCommonGDPRPackage.DATA_SUBJECT__GIVEN_CONSENT:
+			return getGivenConsent();
+		case Pdp4engCommonGDPRPackage.DATA_SUBJECT__CONTRACT:
+			if (resolve) {
+				return getContract();
+			}
+			return basicGetContract();
+		case Pdp4engCommonGDPRPackage.DATA_SUBJECT__PERSONAL_DATA:
+			return getPersonalData();
+		}
+		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 Pdp4engCommonGDPRPackage.DATA_SUBJECT__BASE_NAMED_ELEMENT:
+			setBase_NamedElement((NamedElement) newValue);
+			return;
+		case Pdp4engCommonGDPRPackage.DATA_SUBJECT__GIVEN_CONSENT:
+			getGivenConsent().clear();
+			getGivenConsent().addAll((Collection<? extends Consent>) newValue);
+			return;
+		case Pdp4engCommonGDPRPackage.DATA_SUBJECT__CONTRACT:
+			setContract((Contract) newValue);
+			return;
+		case Pdp4engCommonGDPRPackage.DATA_SUBJECT__PERSONAL_DATA:
+			getPersonalData().clear();
+			getPersonalData().addAll((Collection<? extends PersonalData>) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.DATA_SUBJECT__BASE_NAMED_ELEMENT:
+			setBase_NamedElement((NamedElement) null);
+			return;
+		case Pdp4engCommonGDPRPackage.DATA_SUBJECT__GIVEN_CONSENT:
+			getGivenConsent().clear();
+			return;
+		case Pdp4engCommonGDPRPackage.DATA_SUBJECT__CONTRACT:
+			setContract((Contract) null);
+			return;
+		case Pdp4engCommonGDPRPackage.DATA_SUBJECT__PERSONAL_DATA:
+			getPersonalData().clear();
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.DATA_SUBJECT__BASE_NAMED_ELEMENT:
+			return base_NamedElement != null;
+		case Pdp4engCommonGDPRPackage.DATA_SUBJECT__GIVEN_CONSENT:
+			return givenConsent != null && !givenConsent.isEmpty();
+		case Pdp4engCommonGDPRPackage.DATA_SUBJECT__CONTRACT:
+			return contract != null;
+		case Pdp4engCommonGDPRPackage.DATA_SUBJECT__PERSONAL_DATA:
+			return personalData != null && !personalData.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} // DataSubjectImpl
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/LegalObligationImpl.java b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/LegalObligationImpl.java
new file mode 100644
index 0000000..6a9f9df
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/LegalObligationImpl.java
@@ -0,0 +1,187 @@
+/**
+ * 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.common.profile.pdp4engCommonGDPR.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.LegalObligation;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Legal Obligation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.LegalObligationImpl#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class LegalObligationImpl extends MinimalEObjectImpl.Container implements LegalObligation {
+	/**
+	 * The cached value of the '{@link #getBase_NamedElement() <em>Base Named Element</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getBase_NamedElement()
+	 * @generated
+	 * @ordered
+	 */
+	protected NamedElement base_NamedElement;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected LegalObligationImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Pdp4engCommonGDPRPackage.Literals.LEGAL_OBLIGATION;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public NamedElement getBase_NamedElement() {
+		if (base_NamedElement != null && base_NamedElement.eIsProxy()) {
+			InternalEObject oldBase_NamedElement = (InternalEObject) base_NamedElement;
+			base_NamedElement = (NamedElement) eResolveProxy(oldBase_NamedElement);
+			if (base_NamedElement != oldBase_NamedElement) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, Pdp4engCommonGDPRPackage.LEGAL_OBLIGATION__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+				}
+			}
+		}
+		return base_NamedElement;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public NamedElement basicGetBase_NamedElement() {
+		return base_NamedElement;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setBase_NamedElement(NamedElement newBase_NamedElement) {
+		NamedElement oldBase_NamedElement = base_NamedElement;
+		base_NamedElement = newBase_NamedElement;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, Pdp4engCommonGDPRPackage.LEGAL_OBLIGATION__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.LEGAL_OBLIGATION__BASE_NAMED_ELEMENT:
+			if (resolve) {
+				return getBase_NamedElement();
+			}
+			return basicGetBase_NamedElement();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.LEGAL_OBLIGATION__BASE_NAMED_ELEMENT:
+			setBase_NamedElement((NamedElement) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.LEGAL_OBLIGATION__BASE_NAMED_ELEMENT:
+			setBase_NamedElement((NamedElement) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.LEGAL_OBLIGATION__BASE_NAMED_ELEMENT:
+			return base_NamedElement != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} // LegalObligationImpl
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/LegitimateInterestImpl.java b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/LegitimateInterestImpl.java
new file mode 100644
index 0000000..bc13b18
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/LegitimateInterestImpl.java
@@ -0,0 +1,187 @@
+/**
+ * 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.common.profile.pdp4engCommonGDPR.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.LegitimateInterest;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Legitimate Interest</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.LegitimateInterestImpl#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class LegitimateInterestImpl extends MinimalEObjectImpl.Container implements LegitimateInterest {
+	/**
+	 * The cached value of the '{@link #getBase_NamedElement() <em>Base Named Element</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getBase_NamedElement()
+	 * @generated
+	 * @ordered
+	 */
+	protected NamedElement base_NamedElement;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected LegitimateInterestImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Pdp4engCommonGDPRPackage.Literals.LEGITIMATE_INTEREST;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public NamedElement getBase_NamedElement() {
+		if (base_NamedElement != null && base_NamedElement.eIsProxy()) {
+			InternalEObject oldBase_NamedElement = (InternalEObject) base_NamedElement;
+			base_NamedElement = (NamedElement) eResolveProxy(oldBase_NamedElement);
+			if (base_NamedElement != oldBase_NamedElement) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, Pdp4engCommonGDPRPackage.LEGITIMATE_INTEREST__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+				}
+			}
+		}
+		return base_NamedElement;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public NamedElement basicGetBase_NamedElement() {
+		return base_NamedElement;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setBase_NamedElement(NamedElement newBase_NamedElement) {
+		NamedElement oldBase_NamedElement = base_NamedElement;
+		base_NamedElement = newBase_NamedElement;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, Pdp4engCommonGDPRPackage.LEGITIMATE_INTEREST__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.LEGITIMATE_INTEREST__BASE_NAMED_ELEMENT:
+			if (resolve) {
+				return getBase_NamedElement();
+			}
+			return basicGetBase_NamedElement();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.LEGITIMATE_INTEREST__BASE_NAMED_ELEMENT:
+			setBase_NamedElement((NamedElement) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.LEGITIMATE_INTEREST__BASE_NAMED_ELEMENT:
+			setBase_NamedElement((NamedElement) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.LEGITIMATE_INTEREST__BASE_NAMED_ELEMENT:
+			return base_NamedElement != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} // LegitimateInterestImpl
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/Pdp4engCommonGDPRFactoryImpl.java b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/Pdp4engCommonGDPRFactoryImpl.java
new file mode 100644
index 0000000..c901c37
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/Pdp4engCommonGDPRFactoryImpl.java
@@ -0,0 +1,298 @@
+/**
+ * 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.common.profile.pdp4engCommonGDPR.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.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Consent;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Contract;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Controller;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Data;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.LegalObligation;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.LegitimateInterest;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRFactory;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Processor;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PublicInterest;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Purpose;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.VitalInterest;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class Pdp4engCommonGDPRFactoryImpl extends EFactoryImpl implements Pdp4engCommonGDPRFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public static Pdp4engCommonGDPRFactory init() {
+		try {
+			Pdp4engCommonGDPRFactory thePdp4engCommonGDPRFactory = (Pdp4engCommonGDPRFactory) EPackage.Registry.INSTANCE.getEFactory(Pdp4engCommonGDPRPackage.eNS_URI);
+			if (thePdp4engCommonGDPRFactory != null) {
+				return thePdp4engCommonGDPRFactory;
+			}
+		} catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new Pdp4engCommonGDPRFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Pdp4engCommonGDPRFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+		case Pdp4engCommonGDPRPackage.PROCESS:
+			return createProcess();
+		case Pdp4engCommonGDPRPackage.PERSONAL_DATA:
+			return createPersonalData();
+		case Pdp4engCommonGDPRPackage.DATA:
+			return createData();
+		case Pdp4engCommonGDPRPackage.DATA_SUBJECT:
+			return createDataSubject();
+		case Pdp4engCommonGDPRPackage.CONSENT:
+			return createConsent();
+		case Pdp4engCommonGDPRPackage.PURPOSE:
+			return createPurpose();
+		case Pdp4engCommonGDPRPackage.CONTRACT:
+			return createContract();
+		case Pdp4engCommonGDPRPackage.CONTROLLER:
+			return createController();
+		case Pdp4engCommonGDPRPackage.PROCESSOR:
+			return createProcessor();
+		case Pdp4engCommonGDPRPackage.PUBLIC_INTEREST:
+			return createPublicInterest();
+		case Pdp4engCommonGDPRPackage.LEGITIMATE_INTEREST:
+			return createLegitimateInterest();
+		case Pdp4engCommonGDPRPackage.LEGAL_OBLIGATION:
+			return createLegalObligation();
+		case Pdp4engCommonGDPRPackage.VITAL_INTEREST:
+			return createVitalInterest();
+		default:
+			throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process createProcess() {
+		ProcessImpl process = new ProcessImpl();
+		return process;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public PersonalData createPersonalData() {
+		PersonalDataImpl personalData = new PersonalDataImpl();
+		return personalData;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Data createData() {
+		DataImpl data = new DataImpl();
+		return data;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public DataSubject createDataSubject() {
+		DataSubjectImpl dataSubject = new DataSubjectImpl();
+		return dataSubject;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Consent createConsent() {
+		ConsentImpl consent = new ConsentImpl();
+		return consent;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Purpose createPurpose() {
+		PurposeImpl purpose = new PurposeImpl();
+		return purpose;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Contract createContract() {
+		ContractImpl contract = new ContractImpl();
+		return contract;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Controller createController() {
+		ControllerImpl controller = new ControllerImpl();
+		return controller;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Processor createProcessor() {
+		ProcessorImpl processor = new ProcessorImpl();
+		return processor;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public PublicInterest createPublicInterest() {
+		PublicInterestImpl publicInterest = new PublicInterestImpl();
+		return publicInterest;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public LegitimateInterest createLegitimateInterest() {
+		LegitimateInterestImpl legitimateInterest = new LegitimateInterestImpl();
+		return legitimateInterest;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public LegalObligation createLegalObligation() {
+		LegalObligationImpl legalObligation = new LegalObligationImpl();
+		return legalObligation;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public VitalInterest createVitalInterest() {
+		VitalInterestImpl vitalInterest = new VitalInterestImpl();
+		return vitalInterest;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Pdp4engCommonGDPRPackage getPdp4engCommonGDPRPackage() {
+		return (Pdp4engCommonGDPRPackage) getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static Pdp4engCommonGDPRPackage getPackage() {
+		return Pdp4engCommonGDPRPackage.eINSTANCE;
+	}
+
+} // Pdp4engCommonGDPRFactoryImpl
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/Pdp4engCommonGDPRPackageImpl.java b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/Pdp4engCommonGDPRPackageImpl.java
new file mode 100644
index 0000000..a6e727c
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/Pdp4engCommonGDPRPackageImpl.java
@@ -0,0 +1,989 @@
+/**
+ * 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.common.profile.pdp4engCommonGDPR.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Consent;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Contract;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Controller;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Data;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.LegalObligation;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.LegitimateInterest;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRFactory;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Processor;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PublicInterest;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Purpose;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.VitalInterest;
+
+import org.eclipse.uml2.types.TypesPackage;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class Pdp4engCommonGDPRPackageImpl extends EPackageImpl implements Pdp4engCommonGDPRPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass processEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass personalDataEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass dataEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass dataSubjectEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass consentEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass purposeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass contractEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass controllerEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass processorEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass publicInterestEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass legitimateInterestEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass legalObligationEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass vitalInterestEClass = 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.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private Pdp4engCommonGDPRPackageImpl() {
+		super(eNS_URI, Pdp4engCommonGDPRFactory.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 Pdp4engCommonGDPRPackage#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 Pdp4engCommonGDPRPackage init() {
+		if (isInited) {
+			return (Pdp4engCommonGDPRPackage) EPackage.Registry.INSTANCE.getEPackage(Pdp4engCommonGDPRPackage.eNS_URI);
+		}
+
+		// Obtain or create and register package
+		Object registeredPdp4engCommonGDPRPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+		Pdp4engCommonGDPRPackageImpl thePdp4engCommonGDPRPackage = registeredPdp4engCommonGDPRPackage instanceof Pdp4engCommonGDPRPackageImpl ? (Pdp4engCommonGDPRPackageImpl) registeredPdp4engCommonGDPRPackage : new Pdp4engCommonGDPRPackageImpl();
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		EcorePackage.eINSTANCE.eClass();
+		TypesPackage.eINSTANCE.eClass();
+		UMLPackage.eINSTANCE.eClass();
+
+		// Create package meta-data objects
+		thePdp4engCommonGDPRPackage.createPackageContents();
+
+		// Initialize created meta-data
+		thePdp4engCommonGDPRPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		thePdp4engCommonGDPRPackage.freeze();
+
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(Pdp4engCommonGDPRPackage.eNS_URI, thePdp4engCommonGDPRPackage);
+		return thePdp4engCommonGDPRPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EClass getProcess() {
+		return processEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EReference getProcess_Base_NamedElement() {
+		return (EReference) processEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EReference getProcess_Personaldata() {
+		return (EReference) processEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EReference getProcess_ContributedTo() {
+		return (EReference) processEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EReference getProcess_PerformAContract() {
+		return (EReference) processEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EReference getProcess_Data() {
+		return (EReference) processEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EReference getProcess_NeededForPublicInterest() {
+		return (EReference) processEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EReference getProcess_NeededForLegimateInterest() {
+		return (EReference) processEClass.getEStructuralFeatures().get(6);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EReference getProcess_NeededForLegalObligation() {
+		return (EReference) processEClass.getEStructuralFeatures().get(7);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EReference getProcess_NeededForVitalInterest() {
+		return (EReference) processEClass.getEStructuralFeatures().get(8);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EClass getPersonalData() {
+		return personalDataEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EReference getPersonalData_RelatedTo() {
+		return (EReference) personalDataEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EReference getPersonalData_Responsible() {
+		return (EReference) personalDataEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EReference getPersonalData_ProcessedBy() {
+		return (EReference) personalDataEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EClass getData() {
+		return dataEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EReference getData_Base_NamedElement() {
+		return (EReference) dataEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EClass getDataSubject() {
+		return dataSubjectEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EReference getDataSubject_Base_NamedElement() {
+		return (EReference) dataSubjectEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EReference getDataSubject_GivenConsent() {
+		return (EReference) dataSubjectEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EReference getDataSubject_Contract() {
+		return (EReference) dataSubjectEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EReference getDataSubject_PersonalData() {
+		return (EReference) dataSubjectEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EClass getConsent() {
+		return consentEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EReference getConsent_Base_NamedElement() {
+		return (EReference) consentEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EReference getConsent_Purpose() {
+		return (EReference) consentEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EReference getConsent_Datasubject() {
+		return (EReference) consentEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EClass getPurpose() {
+		return purposeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EReference getPurpose_Base_NamedElement() {
+		return (EReference) purposeEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EReference getPurpose_Processes() {
+		return (EReference) purposeEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EReference getPurpose_Consent() {
+		return (EReference) purposeEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EClass getContract() {
+		return contractEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EReference getContract_Base_NamedElement() {
+		return (EReference) contractEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EReference getContract_Process() {
+		return (EReference) contractEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EReference getContract_Datasubject() {
+		return (EReference) contractEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EClass getController() {
+		return controllerEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EReference getController_Processor() {
+		return (EReference) controllerEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EReference getController_Base_NamedElement() {
+		return (EReference) controllerEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EReference getController_PersonalData() {
+		return (EReference) controllerEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EClass getProcessor() {
+		return processorEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EReference getProcessor_Process() {
+		return (EReference) processorEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EReference getProcessor_Base_NamedElement() {
+		return (EReference) processorEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EClass getPublicInterest() {
+		return publicInterestEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EReference getPublicInterest_Base_NamedElement() {
+		return (EReference) publicInterestEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EClass getLegitimateInterest() {
+		return legitimateInterestEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EReference getLegitimateInterest_Base_NamedElement() {
+		return (EReference) legitimateInterestEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EClass getLegalObligation() {
+		return legalObligationEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EReference getLegalObligation_Base_NamedElement() {
+		return (EReference) legalObligationEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EClass getVitalInterest() {
+		return vitalInterestEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EReference getVitalInterest_Base_NamedElement() {
+		return (EReference) vitalInterestEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Pdp4engCommonGDPRFactory getPdp4engCommonGDPRFactory() {
+		return (Pdp4engCommonGDPRFactory) 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
+		processEClass = createEClass(PROCESS);
+		createEReference(processEClass, PROCESS__BASE_NAMED_ELEMENT);
+		createEReference(processEClass, PROCESS__PERSONALDATA);
+		createEReference(processEClass, PROCESS__CONTRIBUTED_TO);
+		createEReference(processEClass, PROCESS__PERFORM_ACONTRACT);
+		createEReference(processEClass, PROCESS__DATA);
+		createEReference(processEClass, PROCESS__NEEDED_FOR_PUBLIC_INTEREST);
+		createEReference(processEClass, PROCESS__NEEDED_FOR_LEGIMATE_INTEREST);
+		createEReference(processEClass, PROCESS__NEEDED_FOR_LEGAL_OBLIGATION);
+		createEReference(processEClass, PROCESS__NEEDED_FOR_VITAL_INTEREST);
+
+		personalDataEClass = createEClass(PERSONAL_DATA);
+		createEReference(personalDataEClass, PERSONAL_DATA__RELATED_TO);
+		createEReference(personalDataEClass, PERSONAL_DATA__RESPONSIBLE);
+		createEReference(personalDataEClass, PERSONAL_DATA__PROCESSED_BY);
+
+		dataEClass = createEClass(DATA);
+		createEReference(dataEClass, DATA__BASE_NAMED_ELEMENT);
+
+		dataSubjectEClass = createEClass(DATA_SUBJECT);
+		createEReference(dataSubjectEClass, DATA_SUBJECT__BASE_NAMED_ELEMENT);
+		createEReference(dataSubjectEClass, DATA_SUBJECT__GIVEN_CONSENT);
+		createEReference(dataSubjectEClass, DATA_SUBJECT__CONTRACT);
+		createEReference(dataSubjectEClass, DATA_SUBJECT__PERSONAL_DATA);
+
+		consentEClass = createEClass(CONSENT);
+		createEReference(consentEClass, CONSENT__BASE_NAMED_ELEMENT);
+		createEReference(consentEClass, CONSENT__PURPOSE);
+		createEReference(consentEClass, CONSENT__DATASUBJECT);
+
+		purposeEClass = createEClass(PURPOSE);
+		createEReference(purposeEClass, PURPOSE__BASE_NAMED_ELEMENT);
+		createEReference(purposeEClass, PURPOSE__PROCESSES);
+		createEReference(purposeEClass, PURPOSE__CONSENT);
+
+		contractEClass = createEClass(CONTRACT);
+		createEReference(contractEClass, CONTRACT__BASE_NAMED_ELEMENT);
+		createEReference(contractEClass, CONTRACT__PROCESS);
+		createEReference(contractEClass, CONTRACT__DATASUBJECT);
+
+		controllerEClass = createEClass(CONTROLLER);
+		createEReference(controllerEClass, CONTROLLER__PROCESSOR);
+		createEReference(controllerEClass, CONTROLLER__BASE_NAMED_ELEMENT);
+		createEReference(controllerEClass, CONTROLLER__PERSONAL_DATA);
+
+		processorEClass = createEClass(PROCESSOR);
+		createEReference(processorEClass, PROCESSOR__PROCESS);
+		createEReference(processorEClass, PROCESSOR__BASE_NAMED_ELEMENT);
+
+		publicInterestEClass = createEClass(PUBLIC_INTEREST);
+		createEReference(publicInterestEClass, PUBLIC_INTEREST__BASE_NAMED_ELEMENT);
+
+		legitimateInterestEClass = createEClass(LEGITIMATE_INTEREST);
+		createEReference(legitimateInterestEClass, LEGITIMATE_INTEREST__BASE_NAMED_ELEMENT);
+
+		legalObligationEClass = createEClass(LEGAL_OBLIGATION);
+		createEReference(legalObligationEClass, LEGAL_OBLIGATION__BASE_NAMED_ELEMENT);
+
+		vitalInterestEClass = createEClass(VITAL_INTEREST);
+		createEReference(vitalInterestEClass, VITAL_INTEREST__BASE_NAMED_ELEMENT);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model. This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) {
+			return;
+		}
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		UMLPackage theUMLPackage = (UMLPackage) EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+		personalDataEClass.getESuperTypes().add(this.getData());
+
+		// Initialize classes, features, and operations; add parameters
+		initEClass(processEClass, org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process.class, "Process", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getProcess_Base_NamedElement(), theUMLPackage.getNamedElement(), null, "base_NamedElement", null, 0, 1, org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+				!IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getProcess_Personaldata(), this.getPersonalData(), this.getPersonalData_ProcessedBy(), "personaldata", null, 0, -1, org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+				!IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getProcess_ContributedTo(), this.getPurpose(), this.getPurpose_Processes(), "contributedTo", null, 1, 1, org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+				!IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getProcess_PerformAContract(), this.getContract(), this.getContract_Process(), "performAContract", null, 0, 1, org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+				!IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getProcess_Data(), this.getData(), null, "data", null, 0, -1, org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
+				IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getProcess_NeededForPublicInterest(), this.getPublicInterest(), null, "neededForPublicInterest", null, 0, 1, org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+				!IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getProcess_NeededForLegimateInterest(), this.getLegitimateInterest(), null, "neededForLegimateInterest", null, 0, 1, org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+				!IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getProcess_NeededForLegalObligation(), this.getLegalObligation(), null, "neededForLegalObligation", null, 0, 1, org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+				!IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getProcess_NeededForVitalInterest(), this.getVitalInterest(), null, "neededForVitalInterest", null, 0, 1, org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+				!IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(personalDataEClass, PersonalData.class, "PersonalData", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getPersonalData_RelatedTo(), this.getDataSubject(), this.getDataSubject_PersonalData(), "relatedTo", null, 1, -1, PersonalData.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
+				IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getPersonalData_Responsible(), this.getController(), this.getController_PersonalData(), "responsible", null, 1, 1, PersonalData.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
+				IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getPersonalData_ProcessedBy(), this.getProcess(), this.getProcess_Personaldata(), "processedBy", null, 1, -1, PersonalData.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+				!IS_DERIVED, !IS_ORDERED);
+
+		initEClass(dataEClass, Data.class, "Data", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getData_Base_NamedElement(), theUMLPackage.getNamedElement(), null, "base_NamedElement", null, 0, 1, Data.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+				!IS_ORDERED);
+
+		initEClass(dataSubjectEClass, DataSubject.class, "DataSubject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getDataSubject_Base_NamedElement(), theUMLPackage.getNamedElement(), null, "base_NamedElement", null, 0, 1, DataSubject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+				!IS_DERIVED, !IS_ORDERED);
+		initEReference(getDataSubject_GivenConsent(), this.getConsent(), this.getConsent_Datasubject(), "givenConsent", null, 1, -1, DataSubject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+				!IS_DERIVED, !IS_ORDERED);
+		initEReference(getDataSubject_Contract(), this.getContract(), this.getContract_Datasubject(), "contract", null, 0, 1, DataSubject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+				!IS_DERIVED, !IS_ORDERED);
+		initEReference(getDataSubject_PersonalData(), this.getPersonalData(), this.getPersonalData_RelatedTo(), "personalData", null, 1, -1, DataSubject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
+				IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(consentEClass, Consent.class, "Consent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getConsent_Base_NamedElement(), theUMLPackage.getNamedElement(), null, "base_NamedElement", null, 0, 1, Consent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+				!IS_ORDERED);
+		initEReference(getConsent_Purpose(), this.getPurpose(), this.getPurpose_Consent(), "purpose", null, 1, -1, Consent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+				!IS_ORDERED);
+		initEReference(getConsent_Datasubject(), this.getDataSubject(), this.getDataSubject_GivenConsent(), "datasubject", null, 1, 1, Consent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+				!IS_DERIVED, !IS_ORDERED);
+
+		initEClass(purposeEClass, Purpose.class, "Purpose", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getPurpose_Base_NamedElement(), theUMLPackage.getNamedElement(), null, "base_NamedElement", null, 0, 1, Purpose.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+				!IS_ORDERED);
+		initEReference(getPurpose_Processes(), this.getProcess(), this.getProcess_ContributedTo(), "processes", null, 1, -1, Purpose.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+				!IS_ORDERED);
+		initEReference(getPurpose_Consent(), this.getConsent(), this.getConsent_Purpose(), "consent", null, 1, 1, Purpose.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+				!IS_ORDERED);
+
+		initEClass(contractEClass, Contract.class, "Contract", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getContract_Base_NamedElement(), theUMLPackage.getNamedElement(), null, "base_NamedElement", null, 0, 1, Contract.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+				!IS_DERIVED, !IS_ORDERED);
+		initEReference(getContract_Process(), this.getProcess(), this.getProcess_PerformAContract(), "process", null, 1, -1, Contract.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+				!IS_ORDERED);
+		initEReference(getContract_Datasubject(), this.getDataSubject(), this.getDataSubject_Contract(), "datasubject", null, 1, 1, Contract.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+				!IS_DERIVED, !IS_ORDERED);
+
+		initEClass(controllerEClass, Controller.class, "Controller", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getController_Processor(), this.getProcessor(), null, "processor", null, 1, -1, Controller.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getController_Base_NamedElement(), theUMLPackage.getNamedElement(), null, "base_NamedElement", null, 0, 1, Controller.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+				!IS_DERIVED, !IS_ORDERED);
+		initEReference(getController_PersonalData(), this.getPersonalData(), this.getPersonalData_Responsible(), "personalData", null, 0, -1, Controller.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
+				IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(processorEClass, Processor.class, "Processor", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getProcessor_Process(), this.getProcess(), null, "process", null, 1, -1, Processor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getProcessor_Base_NamedElement(), theUMLPackage.getNamedElement(), null, "base_NamedElement", null, 0, 1, Processor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+				!IS_DERIVED, !IS_ORDERED);
+
+		initEClass(publicInterestEClass, PublicInterest.class, "PublicInterest", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getPublicInterest_Base_NamedElement(), theUMLPackage.getNamedElement(), null, "base_NamedElement", null, 0, 1, PublicInterest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
+				IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(legitimateInterestEClass, LegitimateInterest.class, "LegitimateInterest", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getLegitimateInterest_Base_NamedElement(), theUMLPackage.getNamedElement(), null, "base_NamedElement", null, 0, 1, LegitimateInterest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
+				IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(legalObligationEClass, LegalObligation.class, "LegalObligation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getLegalObligation_Base_NamedElement(), theUMLPackage.getNamedElement(), null, "base_NamedElement", null, 0, 1, LegalObligation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
+				IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(vitalInterestEClass, VitalInterest.class, "VitalInterest", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getVitalInterest_Base_NamedElement(), theUMLPackage.getNamedElement(), null, "base_NamedElement", null, 0, 1, VitalInterest.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);
+	}
+
+} // Pdp4engCommonGDPRPackageImpl
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/PersonalDataImpl.java b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/PersonalDataImpl.java
new file mode 100644
index 0000000..d8ab951
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/PersonalDataImpl.java
@@ -0,0 +1,342 @@
+/**
+ * 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.common.profile.pdp4engCommonGDPR.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+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.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Controller;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Personal Data</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.PersonalDataImpl#getRelatedTo <em>Related To</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.PersonalDataImpl#getResponsible <em>Responsible</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.PersonalDataImpl#getProcessedBy <em>Processed By</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class PersonalDataImpl extends DataImpl implements PersonalData {
+	/**
+	 * The cached value of the '{@link #getRelatedTo() <em>Related To</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getRelatedTo()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<DataSubject> relatedTo;
+
+	/**
+	 * The cached value of the '{@link #getResponsible() <em>Responsible</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getResponsible()
+	 * @generated
+	 * @ordered
+	 */
+	protected Controller responsible;
+
+	/**
+	 * The cached value of the '{@link #getProcessedBy() <em>Processed By</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getProcessedBy()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process> processedBy;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected PersonalDataImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Pdp4engCommonGDPRPackage.Literals.PERSONAL_DATA;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EList<DataSubject> getRelatedTo() {
+		if (relatedTo == null) {
+			relatedTo = new EObjectWithInverseResolvingEList.ManyInverse<>(DataSubject.class, this, Pdp4engCommonGDPRPackage.PERSONAL_DATA__RELATED_TO, Pdp4engCommonGDPRPackage.DATA_SUBJECT__PERSONAL_DATA);
+		}
+		return relatedTo;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Controller getResponsible() {
+		if (responsible != null && responsible.eIsProxy()) {
+			InternalEObject oldResponsible = (InternalEObject) responsible;
+			responsible = (Controller) eResolveProxy(oldResponsible);
+			if (responsible != oldResponsible) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, Pdp4engCommonGDPRPackage.PERSONAL_DATA__RESPONSIBLE, oldResponsible, responsible));
+				}
+			}
+		}
+		return responsible;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Controller basicGetResponsible() {
+		return responsible;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public NotificationChain basicSetResponsible(Controller newResponsible, NotificationChain msgs) {
+		Controller oldResponsible = responsible;
+		responsible = newResponsible;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, Pdp4engCommonGDPRPackage.PERSONAL_DATA__RESPONSIBLE, oldResponsible, newResponsible);
+			if (msgs == null) {
+				msgs = notification;
+			} else {
+				msgs.add(notification);
+			}
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setResponsible(Controller newResponsible) {
+		if (newResponsible != responsible) {
+			NotificationChain msgs = null;
+			if (responsible != null) {
+				msgs = ((InternalEObject) responsible).eInverseRemove(this, Pdp4engCommonGDPRPackage.CONTROLLER__PERSONAL_DATA, Controller.class, msgs);
+			}
+			if (newResponsible != null) {
+				msgs = ((InternalEObject) newResponsible).eInverseAdd(this, Pdp4engCommonGDPRPackage.CONTROLLER__PERSONAL_DATA, Controller.class, msgs);
+			}
+			msgs = basicSetResponsible(newResponsible, msgs);
+			if (msgs != null) {
+				msgs.dispatch();
+			}
+		} else if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, Pdp4engCommonGDPRPackage.PERSONAL_DATA__RESPONSIBLE, newResponsible, newResponsible));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EList<org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process> getProcessedBy() {
+		if (processedBy == null) {
+			processedBy = new EObjectWithInverseResolvingEList.ManyInverse<>(org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process.class, this,
+					Pdp4engCommonGDPRPackage.PERSONAL_DATA__PROCESSED_BY, Pdp4engCommonGDPRPackage.PROCESS__PERSONALDATA);
+		}
+		return processedBy;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.PERSONAL_DATA__RELATED_TO:
+			return ((InternalEList<InternalEObject>) (InternalEList<?>) getRelatedTo()).basicAdd(otherEnd, msgs);
+		case Pdp4engCommonGDPRPackage.PERSONAL_DATA__RESPONSIBLE:
+			if (responsible != null) {
+				msgs = ((InternalEObject) responsible).eInverseRemove(this, Pdp4engCommonGDPRPackage.CONTROLLER__PERSONAL_DATA, Controller.class, msgs);
+			}
+			return basicSetResponsible((Controller) otherEnd, msgs);
+		case Pdp4engCommonGDPRPackage.PERSONAL_DATA__PROCESSED_BY:
+			return ((InternalEList<InternalEObject>) (InternalEList<?>) getProcessedBy()).basicAdd(otherEnd, msgs);
+		}
+		return super.eInverseAdd(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.PERSONAL_DATA__RELATED_TO:
+			return ((InternalEList<?>) getRelatedTo()).basicRemove(otherEnd, msgs);
+		case Pdp4engCommonGDPRPackage.PERSONAL_DATA__RESPONSIBLE:
+			return basicSetResponsible(null, msgs);
+		case Pdp4engCommonGDPRPackage.PERSONAL_DATA__PROCESSED_BY:
+			return ((InternalEList<?>) getProcessedBy()).basicRemove(otherEnd, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.PERSONAL_DATA__RELATED_TO:
+			return getRelatedTo();
+		case Pdp4engCommonGDPRPackage.PERSONAL_DATA__RESPONSIBLE:
+			if (resolve) {
+				return getResponsible();
+			}
+			return basicGetResponsible();
+		case Pdp4engCommonGDPRPackage.PERSONAL_DATA__PROCESSED_BY:
+			return getProcessedBy();
+		}
+		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 Pdp4engCommonGDPRPackage.PERSONAL_DATA__RELATED_TO:
+			getRelatedTo().clear();
+			getRelatedTo().addAll((Collection<? extends DataSubject>) newValue);
+			return;
+		case Pdp4engCommonGDPRPackage.PERSONAL_DATA__RESPONSIBLE:
+			setResponsible((Controller) newValue);
+			return;
+		case Pdp4engCommonGDPRPackage.PERSONAL_DATA__PROCESSED_BY:
+			getProcessedBy().clear();
+			getProcessedBy().addAll((Collection<? extends org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process>) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.PERSONAL_DATA__RELATED_TO:
+			getRelatedTo().clear();
+			return;
+		case Pdp4engCommonGDPRPackage.PERSONAL_DATA__RESPONSIBLE:
+			setResponsible((Controller) null);
+			return;
+		case Pdp4engCommonGDPRPackage.PERSONAL_DATA__PROCESSED_BY:
+			getProcessedBy().clear();
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.PERSONAL_DATA__RELATED_TO:
+			return relatedTo != null && !relatedTo.isEmpty();
+		case Pdp4engCommonGDPRPackage.PERSONAL_DATA__RESPONSIBLE:
+			return responsible != null;
+		case Pdp4engCommonGDPRPackage.PERSONAL_DATA__PROCESSED_BY:
+			return processedBy != null && !processedBy.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} // PersonalDataImpl
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/ProcessImpl.java b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/ProcessImpl.java
new file mode 100644
index 0000000..0264842
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/ProcessImpl.java
@@ -0,0 +1,803 @@
+/**
+ * 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.common.profile.pdp4engCommonGDPR.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+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.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Contract;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Data;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.LegalObligation;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.LegitimateInterest;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PublicInterest;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Purpose;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.VitalInterest;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Process</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ProcessImpl#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ProcessImpl#getPersonaldata <em>Personaldata</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ProcessImpl#getContributedTo <em>Contributed To</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ProcessImpl#getPerformAContract <em>Perform AContract</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ProcessImpl#getData <em>Data</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ProcessImpl#getNeededForPublicInterest <em>Needed For Public Interest</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ProcessImpl#getNeededForLegimateInterest <em>Needed For Legimate Interest</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ProcessImpl#getNeededForLegalObligation <em>Needed For Legal Obligation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ProcessImpl#getNeededForVitalInterest <em>Needed For Vital Interest</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ProcessImpl extends MinimalEObjectImpl.Container implements org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process {
+	/**
+	 * The cached value of the '{@link #getBase_NamedElement() <em>Base Named Element</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getBase_NamedElement()
+	 * @generated
+	 * @ordered
+	 */
+	protected NamedElement base_NamedElement;
+
+	/**
+	 * The cached value of the '{@link #getPersonaldata() <em>Personaldata</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getPersonaldata()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<PersonalData> personaldata;
+
+	/**
+	 * The cached value of the '{@link #getContributedTo() <em>Contributed To</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getContributedTo()
+	 * @generated
+	 * @ordered
+	 */
+	protected Purpose contributedTo;
+
+	/**
+	 * The cached value of the '{@link #getPerformAContract() <em>Perform AContract</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getPerformAContract()
+	 * @generated
+	 * @ordered
+	 */
+	protected Contract performAContract;
+
+	/**
+	 * The cached value of the '{@link #getData() <em>Data</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getData()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Data> data;
+
+	/**
+	 * The cached value of the '{@link #getNeededForPublicInterest() <em>Needed For Public Interest</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getNeededForPublicInterest()
+	 * @generated
+	 * @ordered
+	 */
+	protected PublicInterest neededForPublicInterest;
+
+	/**
+	 * The cached value of the '{@link #getNeededForLegimateInterest() <em>Needed For Legimate Interest</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getNeededForLegimateInterest()
+	 * @generated
+	 * @ordered
+	 */
+	protected LegitimateInterest neededForLegimateInterest;
+
+	/**
+	 * The cached value of the '{@link #getNeededForLegalObligation() <em>Needed For Legal Obligation</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getNeededForLegalObligation()
+	 * @generated
+	 * @ordered
+	 */
+	protected LegalObligation neededForLegalObligation;
+
+	/**
+	 * The cached value of the '{@link #getNeededForVitalInterest() <em>Needed For Vital Interest</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getNeededForVitalInterest()
+	 * @generated
+	 * @ordered
+	 */
+	protected VitalInterest neededForVitalInterest;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected ProcessImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Pdp4engCommonGDPRPackage.Literals.PROCESS;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public NamedElement getBase_NamedElement() {
+		if (base_NamedElement != null && base_NamedElement.eIsProxy()) {
+			InternalEObject oldBase_NamedElement = (InternalEObject) base_NamedElement;
+			base_NamedElement = (NamedElement) eResolveProxy(oldBase_NamedElement);
+			if (base_NamedElement != oldBase_NamedElement) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, Pdp4engCommonGDPRPackage.PROCESS__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+				}
+			}
+		}
+		return base_NamedElement;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public NamedElement basicGetBase_NamedElement() {
+		return base_NamedElement;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setBase_NamedElement(NamedElement newBase_NamedElement) {
+		NamedElement oldBase_NamedElement = base_NamedElement;
+		base_NamedElement = newBase_NamedElement;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, Pdp4engCommonGDPRPackage.PROCESS__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EList<PersonalData> getPersonaldata() {
+		if (personaldata == null) {
+			personaldata = new EObjectWithInverseResolvingEList.ManyInverse<>(PersonalData.class, this, Pdp4engCommonGDPRPackage.PROCESS__PERSONALDATA, Pdp4engCommonGDPRPackage.PERSONAL_DATA__PROCESSED_BY);
+		}
+		return personaldata;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Purpose getContributedTo() {
+		if (contributedTo != null && contributedTo.eIsProxy()) {
+			InternalEObject oldContributedTo = (InternalEObject) contributedTo;
+			contributedTo = (Purpose) eResolveProxy(oldContributedTo);
+			if (contributedTo != oldContributedTo) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, Pdp4engCommonGDPRPackage.PROCESS__CONTRIBUTED_TO, oldContributedTo, contributedTo));
+				}
+			}
+		}
+		return contributedTo;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Purpose basicGetContributedTo() {
+		return contributedTo;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public NotificationChain basicSetContributedTo(Purpose newContributedTo, NotificationChain msgs) {
+		Purpose oldContributedTo = contributedTo;
+		contributedTo = newContributedTo;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, Pdp4engCommonGDPRPackage.PROCESS__CONTRIBUTED_TO, oldContributedTo, newContributedTo);
+			if (msgs == null) {
+				msgs = notification;
+			} else {
+				msgs.add(notification);
+			}
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setContributedTo(Purpose newContributedTo) {
+		if (newContributedTo != contributedTo) {
+			NotificationChain msgs = null;
+			if (contributedTo != null) {
+				msgs = ((InternalEObject) contributedTo).eInverseRemove(this, Pdp4engCommonGDPRPackage.PURPOSE__PROCESSES, Purpose.class, msgs);
+			}
+			if (newContributedTo != null) {
+				msgs = ((InternalEObject) newContributedTo).eInverseAdd(this, Pdp4engCommonGDPRPackage.PURPOSE__PROCESSES, Purpose.class, msgs);
+			}
+			msgs = basicSetContributedTo(newContributedTo, msgs);
+			if (msgs != null) {
+				msgs.dispatch();
+			}
+		} else if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, Pdp4engCommonGDPRPackage.PROCESS__CONTRIBUTED_TO, newContributedTo, newContributedTo));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Contract getPerformAContract() {
+		if (performAContract != null && performAContract.eIsProxy()) {
+			InternalEObject oldPerformAContract = (InternalEObject) performAContract;
+			performAContract = (Contract) eResolveProxy(oldPerformAContract);
+			if (performAContract != oldPerformAContract) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, Pdp4engCommonGDPRPackage.PROCESS__PERFORM_ACONTRACT, oldPerformAContract, performAContract));
+				}
+			}
+		}
+		return performAContract;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Contract basicGetPerformAContract() {
+		return performAContract;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public NotificationChain basicSetPerformAContract(Contract newPerformAContract, NotificationChain msgs) {
+		Contract oldPerformAContract = performAContract;
+		performAContract = newPerformAContract;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, Pdp4engCommonGDPRPackage.PROCESS__PERFORM_ACONTRACT, oldPerformAContract, newPerformAContract);
+			if (msgs == null) {
+				msgs = notification;
+			} else {
+				msgs.add(notification);
+			}
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setPerformAContract(Contract newPerformAContract) {
+		if (newPerformAContract != performAContract) {
+			NotificationChain msgs = null;
+			if (performAContract != null) {
+				msgs = ((InternalEObject) performAContract).eInverseRemove(this, Pdp4engCommonGDPRPackage.CONTRACT__PROCESS, Contract.class, msgs);
+			}
+			if (newPerformAContract != null) {
+				msgs = ((InternalEObject) newPerformAContract).eInverseAdd(this, Pdp4engCommonGDPRPackage.CONTRACT__PROCESS, Contract.class, msgs);
+			}
+			msgs = basicSetPerformAContract(newPerformAContract, msgs);
+			if (msgs != null) {
+				msgs.dispatch();
+			}
+		} else if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, Pdp4engCommonGDPRPackage.PROCESS__PERFORM_ACONTRACT, newPerformAContract, newPerformAContract));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EList<Data> getData() {
+		if (data == null) {
+			data = new EObjectResolvingEList<>(Data.class, this, Pdp4engCommonGDPRPackage.PROCESS__DATA);
+		}
+		return data;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public PublicInterest getNeededForPublicInterest() {
+		if (neededForPublicInterest != null && neededForPublicInterest.eIsProxy()) {
+			InternalEObject oldNeededForPublicInterest = (InternalEObject) neededForPublicInterest;
+			neededForPublicInterest = (PublicInterest) eResolveProxy(oldNeededForPublicInterest);
+			if (neededForPublicInterest != oldNeededForPublicInterest) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, Pdp4engCommonGDPRPackage.PROCESS__NEEDED_FOR_PUBLIC_INTEREST, oldNeededForPublicInterest, neededForPublicInterest));
+				}
+			}
+		}
+		return neededForPublicInterest;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public PublicInterest basicGetNeededForPublicInterest() {
+		return neededForPublicInterest;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setNeededForPublicInterest(PublicInterest newNeededForPublicInterest) {
+		PublicInterest oldNeededForPublicInterest = neededForPublicInterest;
+		neededForPublicInterest = newNeededForPublicInterest;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, Pdp4engCommonGDPRPackage.PROCESS__NEEDED_FOR_PUBLIC_INTEREST, oldNeededForPublicInterest, neededForPublicInterest));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public LegitimateInterest getNeededForLegimateInterest() {
+		if (neededForLegimateInterest != null && neededForLegimateInterest.eIsProxy()) {
+			InternalEObject oldNeededForLegimateInterest = (InternalEObject) neededForLegimateInterest;
+			neededForLegimateInterest = (LegitimateInterest) eResolveProxy(oldNeededForLegimateInterest);
+			if (neededForLegimateInterest != oldNeededForLegimateInterest) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, Pdp4engCommonGDPRPackage.PROCESS__NEEDED_FOR_LEGIMATE_INTEREST, oldNeededForLegimateInterest, neededForLegimateInterest));
+				}
+			}
+		}
+		return neededForLegimateInterest;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public LegitimateInterest basicGetNeededForLegimateInterest() {
+		return neededForLegimateInterest;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setNeededForLegimateInterest(LegitimateInterest newNeededForLegimateInterest) {
+		LegitimateInterest oldNeededForLegimateInterest = neededForLegimateInterest;
+		neededForLegimateInterest = newNeededForLegimateInterest;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, Pdp4engCommonGDPRPackage.PROCESS__NEEDED_FOR_LEGIMATE_INTEREST, oldNeededForLegimateInterest, neededForLegimateInterest));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public LegalObligation getNeededForLegalObligation() {
+		if (neededForLegalObligation != null && neededForLegalObligation.eIsProxy()) {
+			InternalEObject oldNeededForLegalObligation = (InternalEObject) neededForLegalObligation;
+			neededForLegalObligation = (LegalObligation) eResolveProxy(oldNeededForLegalObligation);
+			if (neededForLegalObligation != oldNeededForLegalObligation) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, Pdp4engCommonGDPRPackage.PROCESS__NEEDED_FOR_LEGAL_OBLIGATION, oldNeededForLegalObligation, neededForLegalObligation));
+				}
+			}
+		}
+		return neededForLegalObligation;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public LegalObligation basicGetNeededForLegalObligation() {
+		return neededForLegalObligation;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setNeededForLegalObligation(LegalObligation newNeededForLegalObligation) {
+		LegalObligation oldNeededForLegalObligation = neededForLegalObligation;
+		neededForLegalObligation = newNeededForLegalObligation;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, Pdp4engCommonGDPRPackage.PROCESS__NEEDED_FOR_LEGAL_OBLIGATION, oldNeededForLegalObligation, neededForLegalObligation));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public VitalInterest getNeededForVitalInterest() {
+		if (neededForVitalInterest != null && neededForVitalInterest.eIsProxy()) {
+			InternalEObject oldNeededForVitalInterest = (InternalEObject) neededForVitalInterest;
+			neededForVitalInterest = (VitalInterest) eResolveProxy(oldNeededForVitalInterest);
+			if (neededForVitalInterest != oldNeededForVitalInterest) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, Pdp4engCommonGDPRPackage.PROCESS__NEEDED_FOR_VITAL_INTEREST, oldNeededForVitalInterest, neededForVitalInterest));
+				}
+			}
+		}
+		return neededForVitalInterest;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public VitalInterest basicGetNeededForVitalInterest() {
+		return neededForVitalInterest;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setNeededForVitalInterest(VitalInterest newNeededForVitalInterest) {
+		VitalInterest oldNeededForVitalInterest = neededForVitalInterest;
+		neededForVitalInterest = newNeededForVitalInterest;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, Pdp4engCommonGDPRPackage.PROCESS__NEEDED_FOR_VITAL_INTEREST, oldNeededForVitalInterest, neededForVitalInterest));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.PROCESS__PERSONALDATA:
+			return ((InternalEList<InternalEObject>) (InternalEList<?>) getPersonaldata()).basicAdd(otherEnd, msgs);
+		case Pdp4engCommonGDPRPackage.PROCESS__CONTRIBUTED_TO:
+			if (contributedTo != null) {
+				msgs = ((InternalEObject) contributedTo).eInverseRemove(this, Pdp4engCommonGDPRPackage.PURPOSE__PROCESSES, Purpose.class, msgs);
+			}
+			return basicSetContributedTo((Purpose) otherEnd, msgs);
+		case Pdp4engCommonGDPRPackage.PROCESS__PERFORM_ACONTRACT:
+			if (performAContract != null) {
+				msgs = ((InternalEObject) performAContract).eInverseRemove(this, Pdp4engCommonGDPRPackage.CONTRACT__PROCESS, Contract.class, msgs);
+			}
+			return basicSetPerformAContract((Contract) otherEnd, msgs);
+		}
+		return super.eInverseAdd(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.PROCESS__PERSONALDATA:
+			return ((InternalEList<?>) getPersonaldata()).basicRemove(otherEnd, msgs);
+		case Pdp4engCommonGDPRPackage.PROCESS__CONTRIBUTED_TO:
+			return basicSetContributedTo(null, msgs);
+		case Pdp4engCommonGDPRPackage.PROCESS__PERFORM_ACONTRACT:
+			return basicSetPerformAContract(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.PROCESS__BASE_NAMED_ELEMENT:
+			if (resolve) {
+				return getBase_NamedElement();
+			}
+			return basicGetBase_NamedElement();
+		case Pdp4engCommonGDPRPackage.PROCESS__PERSONALDATA:
+			return getPersonaldata();
+		case Pdp4engCommonGDPRPackage.PROCESS__CONTRIBUTED_TO:
+			if (resolve) {
+				return getContributedTo();
+			}
+			return basicGetContributedTo();
+		case Pdp4engCommonGDPRPackage.PROCESS__PERFORM_ACONTRACT:
+			if (resolve) {
+				return getPerformAContract();
+			}
+			return basicGetPerformAContract();
+		case Pdp4engCommonGDPRPackage.PROCESS__DATA:
+			return getData();
+		case Pdp4engCommonGDPRPackage.PROCESS__NEEDED_FOR_PUBLIC_INTEREST:
+			if (resolve) {
+				return getNeededForPublicInterest();
+			}
+			return basicGetNeededForPublicInterest();
+		case Pdp4engCommonGDPRPackage.PROCESS__NEEDED_FOR_LEGIMATE_INTEREST:
+			if (resolve) {
+				return getNeededForLegimateInterest();
+			}
+			return basicGetNeededForLegimateInterest();
+		case Pdp4engCommonGDPRPackage.PROCESS__NEEDED_FOR_LEGAL_OBLIGATION:
+			if (resolve) {
+				return getNeededForLegalObligation();
+			}
+			return basicGetNeededForLegalObligation();
+		case Pdp4engCommonGDPRPackage.PROCESS__NEEDED_FOR_VITAL_INTEREST:
+			if (resolve) {
+				return getNeededForVitalInterest();
+			}
+			return basicGetNeededForVitalInterest();
+		}
+		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 Pdp4engCommonGDPRPackage.PROCESS__BASE_NAMED_ELEMENT:
+			setBase_NamedElement((NamedElement) newValue);
+			return;
+		case Pdp4engCommonGDPRPackage.PROCESS__PERSONALDATA:
+			getPersonaldata().clear();
+			getPersonaldata().addAll((Collection<? extends PersonalData>) newValue);
+			return;
+		case Pdp4engCommonGDPRPackage.PROCESS__CONTRIBUTED_TO:
+			setContributedTo((Purpose) newValue);
+			return;
+		case Pdp4engCommonGDPRPackage.PROCESS__PERFORM_ACONTRACT:
+			setPerformAContract((Contract) newValue);
+			return;
+		case Pdp4engCommonGDPRPackage.PROCESS__DATA:
+			getData().clear();
+			getData().addAll((Collection<? extends Data>) newValue);
+			return;
+		case Pdp4engCommonGDPRPackage.PROCESS__NEEDED_FOR_PUBLIC_INTEREST:
+			setNeededForPublicInterest((PublicInterest) newValue);
+			return;
+		case Pdp4engCommonGDPRPackage.PROCESS__NEEDED_FOR_LEGIMATE_INTEREST:
+			setNeededForLegimateInterest((LegitimateInterest) newValue);
+			return;
+		case Pdp4engCommonGDPRPackage.PROCESS__NEEDED_FOR_LEGAL_OBLIGATION:
+			setNeededForLegalObligation((LegalObligation) newValue);
+			return;
+		case Pdp4engCommonGDPRPackage.PROCESS__NEEDED_FOR_VITAL_INTEREST:
+			setNeededForVitalInterest((VitalInterest) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.PROCESS__BASE_NAMED_ELEMENT:
+			setBase_NamedElement((NamedElement) null);
+			return;
+		case Pdp4engCommonGDPRPackage.PROCESS__PERSONALDATA:
+			getPersonaldata().clear();
+			return;
+		case Pdp4engCommonGDPRPackage.PROCESS__CONTRIBUTED_TO:
+			setContributedTo((Purpose) null);
+			return;
+		case Pdp4engCommonGDPRPackage.PROCESS__PERFORM_ACONTRACT:
+			setPerformAContract((Contract) null);
+			return;
+		case Pdp4engCommonGDPRPackage.PROCESS__DATA:
+			getData().clear();
+			return;
+		case Pdp4engCommonGDPRPackage.PROCESS__NEEDED_FOR_PUBLIC_INTEREST:
+			setNeededForPublicInterest((PublicInterest) null);
+			return;
+		case Pdp4engCommonGDPRPackage.PROCESS__NEEDED_FOR_LEGIMATE_INTEREST:
+			setNeededForLegimateInterest((LegitimateInterest) null);
+			return;
+		case Pdp4engCommonGDPRPackage.PROCESS__NEEDED_FOR_LEGAL_OBLIGATION:
+			setNeededForLegalObligation((LegalObligation) null);
+			return;
+		case Pdp4engCommonGDPRPackage.PROCESS__NEEDED_FOR_VITAL_INTEREST:
+			setNeededForVitalInterest((VitalInterest) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.PROCESS__BASE_NAMED_ELEMENT:
+			return base_NamedElement != null;
+		case Pdp4engCommonGDPRPackage.PROCESS__PERSONALDATA:
+			return personaldata != null && !personaldata.isEmpty();
+		case Pdp4engCommonGDPRPackage.PROCESS__CONTRIBUTED_TO:
+			return contributedTo != null;
+		case Pdp4engCommonGDPRPackage.PROCESS__PERFORM_ACONTRACT:
+			return performAContract != null;
+		case Pdp4engCommonGDPRPackage.PROCESS__DATA:
+			return data != null && !data.isEmpty();
+		case Pdp4engCommonGDPRPackage.PROCESS__NEEDED_FOR_PUBLIC_INTEREST:
+			return neededForPublicInterest != null;
+		case Pdp4engCommonGDPRPackage.PROCESS__NEEDED_FOR_LEGIMATE_INTEREST:
+			return neededForLegimateInterest != null;
+		case Pdp4engCommonGDPRPackage.PROCESS__NEEDED_FOR_LEGAL_OBLIGATION:
+			return neededForLegalObligation != null;
+		case Pdp4engCommonGDPRPackage.PROCESS__NEEDED_FOR_VITAL_INTEREST:
+			return neededForVitalInterest != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} // ProcessImpl
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/ProcessorImpl.java b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/ProcessorImpl.java
new file mode 100644
index 0000000..fc3f100
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/ProcessorImpl.java
@@ -0,0 +1,231 @@
+/**
+ * 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.common.profile.pdp4engCommonGDPR.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.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Processor;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Processor</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ProcessorImpl#getProcess <em>Process</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ProcessorImpl#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ProcessorImpl extends MinimalEObjectImpl.Container implements Processor {
+	/**
+	 * The cached value of the '{@link #getProcess() <em>Process</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getProcess()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process> process;
+
+	/**
+	 * The cached value of the '{@link #getBase_NamedElement() <em>Base Named Element</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getBase_NamedElement()
+	 * @generated
+	 * @ordered
+	 */
+	protected NamedElement base_NamedElement;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected ProcessorImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Pdp4engCommonGDPRPackage.Literals.PROCESSOR;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EList<org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process> getProcess() {
+		if (process == null) {
+			process = new EObjectResolvingEList<>(org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process.class, this, Pdp4engCommonGDPRPackage.PROCESSOR__PROCESS);
+		}
+		return process;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public NamedElement getBase_NamedElement() {
+		if (base_NamedElement != null && base_NamedElement.eIsProxy()) {
+			InternalEObject oldBase_NamedElement = (InternalEObject) base_NamedElement;
+			base_NamedElement = (NamedElement) eResolveProxy(oldBase_NamedElement);
+			if (base_NamedElement != oldBase_NamedElement) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, Pdp4engCommonGDPRPackage.PROCESSOR__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+				}
+			}
+		}
+		return base_NamedElement;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public NamedElement basicGetBase_NamedElement() {
+		return base_NamedElement;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setBase_NamedElement(NamedElement newBase_NamedElement) {
+		NamedElement oldBase_NamedElement = base_NamedElement;
+		base_NamedElement = newBase_NamedElement;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, Pdp4engCommonGDPRPackage.PROCESSOR__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.PROCESSOR__PROCESS:
+			return getProcess();
+		case Pdp4engCommonGDPRPackage.PROCESSOR__BASE_NAMED_ELEMENT:
+			if (resolve) {
+				return getBase_NamedElement();
+			}
+			return basicGetBase_NamedElement();
+		}
+		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 Pdp4engCommonGDPRPackage.PROCESSOR__PROCESS:
+			getProcess().clear();
+			getProcess().addAll((Collection<? extends org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process>) newValue);
+			return;
+		case Pdp4engCommonGDPRPackage.PROCESSOR__BASE_NAMED_ELEMENT:
+			setBase_NamedElement((NamedElement) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.PROCESSOR__PROCESS:
+			getProcess().clear();
+			return;
+		case Pdp4engCommonGDPRPackage.PROCESSOR__BASE_NAMED_ELEMENT:
+			setBase_NamedElement((NamedElement) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.PROCESSOR__PROCESS:
+			return process != null && !process.isEmpty();
+		case Pdp4engCommonGDPRPackage.PROCESSOR__BASE_NAMED_ELEMENT:
+			return base_NamedElement != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} // ProcessorImpl
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/PublicInterestImpl.java b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/PublicInterestImpl.java
new file mode 100644
index 0000000..27081aa
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/PublicInterestImpl.java
@@ -0,0 +1,187 @@
+/**
+ * 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.common.profile.pdp4engCommonGDPR.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PublicInterest;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Public Interest</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.PublicInterestImpl#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class PublicInterestImpl extends MinimalEObjectImpl.Container implements PublicInterest {
+	/**
+	 * The cached value of the '{@link #getBase_NamedElement() <em>Base Named Element</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getBase_NamedElement()
+	 * @generated
+	 * @ordered
+	 */
+	protected NamedElement base_NamedElement;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected PublicInterestImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Pdp4engCommonGDPRPackage.Literals.PUBLIC_INTEREST;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public NamedElement getBase_NamedElement() {
+		if (base_NamedElement != null && base_NamedElement.eIsProxy()) {
+			InternalEObject oldBase_NamedElement = (InternalEObject) base_NamedElement;
+			base_NamedElement = (NamedElement) eResolveProxy(oldBase_NamedElement);
+			if (base_NamedElement != oldBase_NamedElement) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, Pdp4engCommonGDPRPackage.PUBLIC_INTEREST__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+				}
+			}
+		}
+		return base_NamedElement;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public NamedElement basicGetBase_NamedElement() {
+		return base_NamedElement;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setBase_NamedElement(NamedElement newBase_NamedElement) {
+		NamedElement oldBase_NamedElement = base_NamedElement;
+		base_NamedElement = newBase_NamedElement;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, Pdp4engCommonGDPRPackage.PUBLIC_INTEREST__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.PUBLIC_INTEREST__BASE_NAMED_ELEMENT:
+			if (resolve) {
+				return getBase_NamedElement();
+			}
+			return basicGetBase_NamedElement();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.PUBLIC_INTEREST__BASE_NAMED_ELEMENT:
+			setBase_NamedElement((NamedElement) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.PUBLIC_INTEREST__BASE_NAMED_ELEMENT:
+			setBase_NamedElement((NamedElement) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.PUBLIC_INTEREST__BASE_NAMED_ELEMENT:
+			return base_NamedElement != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} // PublicInterestImpl
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/PurposeImpl.java b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/PurposeImpl.java
new file mode 100644
index 0000000..025fd1e
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/PurposeImpl.java
@@ -0,0 +1,373 @@
+/**
+ * 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.common.profile.pdp4engCommonGDPR.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+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.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Consent;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Purpose;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Purpose</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.PurposeImpl#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.PurposeImpl#getProcesses <em>Processes</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.PurposeImpl#getConsent <em>Consent</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class PurposeImpl extends MinimalEObjectImpl.Container implements Purpose {
+	/**
+	 * The cached value of the '{@link #getBase_NamedElement() <em>Base Named Element</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getBase_NamedElement()
+	 * @generated
+	 * @ordered
+	 */
+	protected NamedElement base_NamedElement;
+
+	/**
+	 * The cached value of the '{@link #getProcesses() <em>Processes</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getProcesses()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process> processes;
+
+	/**
+	 * The cached value of the '{@link #getConsent() <em>Consent</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getConsent()
+	 * @generated
+	 * @ordered
+	 */
+	protected Consent consent;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected PurposeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Pdp4engCommonGDPRPackage.Literals.PURPOSE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public NamedElement getBase_NamedElement() {
+		if (base_NamedElement != null && base_NamedElement.eIsProxy()) {
+			InternalEObject oldBase_NamedElement = (InternalEObject) base_NamedElement;
+			base_NamedElement = (NamedElement) eResolveProxy(oldBase_NamedElement);
+			if (base_NamedElement != oldBase_NamedElement) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, Pdp4engCommonGDPRPackage.PURPOSE__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+				}
+			}
+		}
+		return base_NamedElement;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public NamedElement basicGetBase_NamedElement() {
+		return base_NamedElement;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setBase_NamedElement(NamedElement newBase_NamedElement) {
+		NamedElement oldBase_NamedElement = base_NamedElement;
+		base_NamedElement = newBase_NamedElement;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, Pdp4engCommonGDPRPackage.PURPOSE__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EList<org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process> getProcesses() {
+		if (processes == null) {
+			processes = new EObjectWithInverseResolvingEList<>(org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process.class, this, Pdp4engCommonGDPRPackage.PURPOSE__PROCESSES,
+					Pdp4engCommonGDPRPackage.PROCESS__CONTRIBUTED_TO);
+		}
+		return processes;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Consent getConsent() {
+		if (consent != null && consent.eIsProxy()) {
+			InternalEObject oldConsent = (InternalEObject) consent;
+			consent = (Consent) eResolveProxy(oldConsent);
+			if (consent != oldConsent) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, Pdp4engCommonGDPRPackage.PURPOSE__CONSENT, oldConsent, consent));
+				}
+			}
+		}
+		return consent;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Consent basicGetConsent() {
+		return consent;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public NotificationChain basicSetConsent(Consent newConsent, NotificationChain msgs) {
+		Consent oldConsent = consent;
+		consent = newConsent;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, Pdp4engCommonGDPRPackage.PURPOSE__CONSENT, oldConsent, newConsent);
+			if (msgs == null) {
+				msgs = notification;
+			} else {
+				msgs.add(notification);
+			}
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setConsent(Consent newConsent) {
+		if (newConsent != consent) {
+			NotificationChain msgs = null;
+			if (consent != null) {
+				msgs = ((InternalEObject) consent).eInverseRemove(this, Pdp4engCommonGDPRPackage.CONSENT__PURPOSE, Consent.class, msgs);
+			}
+			if (newConsent != null) {
+				msgs = ((InternalEObject) newConsent).eInverseAdd(this, Pdp4engCommonGDPRPackage.CONSENT__PURPOSE, Consent.class, msgs);
+			}
+			msgs = basicSetConsent(newConsent, msgs);
+			if (msgs != null) {
+				msgs.dispatch();
+			}
+		} else if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, Pdp4engCommonGDPRPackage.PURPOSE__CONSENT, newConsent, newConsent));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.PURPOSE__PROCESSES:
+			return ((InternalEList<InternalEObject>) (InternalEList<?>) getProcesses()).basicAdd(otherEnd, msgs);
+		case Pdp4engCommonGDPRPackage.PURPOSE__CONSENT:
+			if (consent != null) {
+				msgs = ((InternalEObject) consent).eInverseRemove(this, Pdp4engCommonGDPRPackage.CONSENT__PURPOSE, Consent.class, msgs);
+			}
+			return basicSetConsent((Consent) otherEnd, msgs);
+		}
+		return super.eInverseAdd(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.PURPOSE__PROCESSES:
+			return ((InternalEList<?>) getProcesses()).basicRemove(otherEnd, msgs);
+		case Pdp4engCommonGDPRPackage.PURPOSE__CONSENT:
+			return basicSetConsent(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.PURPOSE__BASE_NAMED_ELEMENT:
+			if (resolve) {
+				return getBase_NamedElement();
+			}
+			return basicGetBase_NamedElement();
+		case Pdp4engCommonGDPRPackage.PURPOSE__PROCESSES:
+			return getProcesses();
+		case Pdp4engCommonGDPRPackage.PURPOSE__CONSENT:
+			if (resolve) {
+				return getConsent();
+			}
+			return basicGetConsent();
+		}
+		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 Pdp4engCommonGDPRPackage.PURPOSE__BASE_NAMED_ELEMENT:
+			setBase_NamedElement((NamedElement) newValue);
+			return;
+		case Pdp4engCommonGDPRPackage.PURPOSE__PROCESSES:
+			getProcesses().clear();
+			getProcesses().addAll((Collection<? extends org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process>) newValue);
+			return;
+		case Pdp4engCommonGDPRPackage.PURPOSE__CONSENT:
+			setConsent((Consent) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.PURPOSE__BASE_NAMED_ELEMENT:
+			setBase_NamedElement((NamedElement) null);
+			return;
+		case Pdp4engCommonGDPRPackage.PURPOSE__PROCESSES:
+			getProcesses().clear();
+			return;
+		case Pdp4engCommonGDPRPackage.PURPOSE__CONSENT:
+			setConsent((Consent) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.PURPOSE__BASE_NAMED_ELEMENT:
+			return base_NamedElement != null;
+		case Pdp4engCommonGDPRPackage.PURPOSE__PROCESSES:
+			return processes != null && !processes.isEmpty();
+		case Pdp4engCommonGDPRPackage.PURPOSE__CONSENT:
+			return consent != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} // PurposeImpl
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/VitalInterestImpl.java b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/VitalInterestImpl.java
new file mode 100644
index 0000000..e40af7f
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/impl/VitalInterestImpl.java
@@ -0,0 +1,187 @@
+/**
+ * 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.common.profile.pdp4engCommonGDPR.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.VitalInterest;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Vital Interest</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.VitalInterestImpl#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class VitalInterestImpl extends MinimalEObjectImpl.Container implements VitalInterest {
+	/**
+	 * The cached value of the '{@link #getBase_NamedElement() <em>Base Named Element</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getBase_NamedElement()
+	 * @generated
+	 * @ordered
+	 */
+	protected NamedElement base_NamedElement;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected VitalInterestImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Pdp4engCommonGDPRPackage.Literals.VITAL_INTEREST;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public NamedElement getBase_NamedElement() {
+		if (base_NamedElement != null && base_NamedElement.eIsProxy()) {
+			InternalEObject oldBase_NamedElement = (InternalEObject) base_NamedElement;
+			base_NamedElement = (NamedElement) eResolveProxy(oldBase_NamedElement);
+			if (base_NamedElement != oldBase_NamedElement) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, Pdp4engCommonGDPRPackage.VITAL_INTEREST__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+				}
+			}
+		}
+		return base_NamedElement;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public NamedElement basicGetBase_NamedElement() {
+		return base_NamedElement;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setBase_NamedElement(NamedElement newBase_NamedElement) {
+		NamedElement oldBase_NamedElement = base_NamedElement;
+		base_NamedElement = newBase_NamedElement;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, Pdp4engCommonGDPRPackage.VITAL_INTEREST__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.VITAL_INTEREST__BASE_NAMED_ELEMENT:
+			if (resolve) {
+				return getBase_NamedElement();
+			}
+			return basicGetBase_NamedElement();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.VITAL_INTEREST__BASE_NAMED_ELEMENT:
+			setBase_NamedElement((NamedElement) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.VITAL_INTEREST__BASE_NAMED_ELEMENT:
+			setBase_NamedElement((NamedElement) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case Pdp4engCommonGDPRPackage.VITAL_INTEREST__BASE_NAMED_ELEMENT:
+			return base_NamedElement != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} // VitalInterestImpl
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/util/Pdp4engCommonGDPRAdapterFactory.java b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/util/Pdp4engCommonGDPRAdapterFactory.java
new file mode 100644
index 0000000..733b92d
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/util/Pdp4engCommonGDPRAdapterFactory.java
@@ -0,0 +1,394 @@
+/**
+ * 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.common.profile.pdp4engCommonGDPR.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.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Consent;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Contract;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Controller;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Data;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.LegalObligation;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.LegitimateInterest;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Processor;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PublicInterest;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Purpose;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.VitalInterest;
+
+/**
+ * <!-- 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.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage
+ * @generated
+ */
+public class Pdp4engCommonGDPRAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected static Pdp4engCommonGDPRPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Pdp4engCommonGDPRAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = Pdp4engCommonGDPRPackage.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 Pdp4engCommonGDPRSwitch<Adapter> modelSwitch = new Pdp4engCommonGDPRSwitch<Adapter>() {
+		@Override
+		public Adapter caseProcess(org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process object) {
+			return createProcessAdapter();
+		}
+
+		@Override
+		public Adapter casePersonalData(PersonalData object) {
+			return createPersonalDataAdapter();
+		}
+
+		@Override
+		public Adapter caseData(Data object) {
+			return createDataAdapter();
+		}
+
+		@Override
+		public Adapter caseDataSubject(DataSubject object) {
+			return createDataSubjectAdapter();
+		}
+
+		@Override
+		public Adapter caseConsent(Consent object) {
+			return createConsentAdapter();
+		}
+
+		@Override
+		public Adapter casePurpose(Purpose object) {
+			return createPurposeAdapter();
+		}
+
+		@Override
+		public Adapter caseContract(Contract object) {
+			return createContractAdapter();
+		}
+
+		@Override
+		public Adapter caseController(Controller object) {
+			return createControllerAdapter();
+		}
+
+		@Override
+		public Adapter caseProcessor(Processor object) {
+			return createProcessorAdapter();
+		}
+
+		@Override
+		public Adapter casePublicInterest(PublicInterest object) {
+			return createPublicInterestAdapter();
+		}
+
+		@Override
+		public Adapter caseLegitimateInterest(LegitimateInterest object) {
+			return createLegitimateInterestAdapter();
+		}
+
+		@Override
+		public Adapter caseLegalObligation(LegalObligation object) {
+			return createLegalObligationAdapter();
+		}
+
+		@Override
+		public Adapter caseVitalInterest(VitalInterest object) {
+			return createVitalInterestAdapter();
+		}
+
+		@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.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process <em>Process</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process
+	 * @generated
+	 */
+	public Adapter createProcessAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData <em>Personal Data</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData
+	 * @generated
+	 */
+	public Adapter createPersonalDataAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Data <em>Data</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Data
+	 * @generated
+	 */
+	public Adapter createDataAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject <em>Data Subject</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject
+	 * @generated
+	 */
+	public Adapter createDataSubjectAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Consent <em>Consent</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Consent
+	 * @generated
+	 */
+	public Adapter createConsentAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Purpose <em>Purpose</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Purpose
+	 * @generated
+	 */
+	public Adapter createPurposeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Contract <em>Contract</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Contract
+	 * @generated
+	 */
+	public Adapter createContractAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Controller <em>Controller</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Controller
+	 * @generated
+	 */
+	public Adapter createControllerAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Processor <em>Processor</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Processor
+	 * @generated
+	 */
+	public Adapter createProcessorAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PublicInterest <em>Public Interest</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PublicInterest
+	 * @generated
+	 */
+	public Adapter createPublicInterestAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.LegitimateInterest <em>Legitimate Interest</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.LegitimateInterest
+	 * @generated
+	 */
+	public Adapter createLegitimateInterestAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.LegalObligation <em>Legal Obligation</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.LegalObligation
+	 * @generated
+	 */
+	public Adapter createLegalObligationAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.VitalInterest <em>Vital Interest</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.VitalInterest
+	 * @generated
+	 */
+	public Adapter createVitalInterestAdapter() {
+		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;
+	}
+
+} // Pdp4engCommonGDPRAdapterFactory
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/util/Pdp4engCommonGDPRSwitch.java b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/util/Pdp4engCommonGDPRSwitch.java
new file mode 100644
index 0000000..f3dbf55
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.profile/src-gen/org/eclipse/papyrus/pdp4eng/common/profile/pdp4engCommonGDPR/util/Pdp4engCommonGDPRSwitch.java
@@ -0,0 +1,451 @@
+/**
+ * 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.common.profile.pdp4engCommonGDPR.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Consent;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Contract;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Controller;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Data;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.LegalObligation;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.LegitimateInterest;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Processor;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PublicInterest;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Purpose;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.VitalInterest;
+
+/**
+ * <!-- 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.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage
+ * @generated
+ */
+public class Pdp4engCommonGDPRSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected static Pdp4engCommonGDPRPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Pdp4engCommonGDPRSwitch() {
+		if (modelPackage == null) {
+			modelPackage = Pdp4engCommonGDPRPackage.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 Pdp4engCommonGDPRPackage.PROCESS: {
+			org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process process = (org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process) theEObject;
+			T result = caseProcess(process);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case Pdp4engCommonGDPRPackage.PERSONAL_DATA: {
+			PersonalData personalData = (PersonalData) theEObject;
+			T result = casePersonalData(personalData);
+			if (result == null) {
+				result = caseData(personalData);
+			}
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case Pdp4engCommonGDPRPackage.DATA: {
+			Data data = (Data) theEObject;
+			T result = caseData(data);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case Pdp4engCommonGDPRPackage.DATA_SUBJECT: {
+			DataSubject dataSubject = (DataSubject) theEObject;
+			T result = caseDataSubject(dataSubject);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case Pdp4engCommonGDPRPackage.CONSENT: {
+			Consent consent = (Consent) theEObject;
+			T result = caseConsent(consent);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case Pdp4engCommonGDPRPackage.PURPOSE: {
+			Purpose purpose = (Purpose) theEObject;
+			T result = casePurpose(purpose);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case Pdp4engCommonGDPRPackage.CONTRACT: {
+			Contract contract = (Contract) theEObject;
+			T result = caseContract(contract);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case Pdp4engCommonGDPRPackage.CONTROLLER: {
+			Controller controller = (Controller) theEObject;
+			T result = caseController(controller);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case Pdp4engCommonGDPRPackage.PROCESSOR: {
+			Processor processor = (Processor) theEObject;
+			T result = caseProcessor(processor);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case Pdp4engCommonGDPRPackage.PUBLIC_INTEREST: {
+			PublicInterest publicInterest = (PublicInterest) theEObject;
+			T result = casePublicInterest(publicInterest);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case Pdp4engCommonGDPRPackage.LEGITIMATE_INTEREST: {
+			LegitimateInterest legitimateInterest = (LegitimateInterest) theEObject;
+			T result = caseLegitimateInterest(legitimateInterest);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case Pdp4engCommonGDPRPackage.LEGAL_OBLIGATION: {
+			LegalObligation legalObligation = (LegalObligation) theEObject;
+			T result = caseLegalObligation(legalObligation);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case Pdp4engCommonGDPRPackage.VITAL_INTEREST: {
+			VitalInterest vitalInterest = (VitalInterest) theEObject;
+			T result = caseVitalInterest(vitalInterest);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		default:
+			return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Process</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>Process</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseProcess(org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Personal Data</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>Personal Data</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePersonalData(PersonalData object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Data</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>Data</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseData(Data object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Data Subject</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>Data Subject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDataSubject(DataSubject object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Consent</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>Consent</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseConsent(Consent object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Purpose</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>Purpose</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePurpose(Purpose object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Contract</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>Contract</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseContract(Contract object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Controller</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>Controller</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseController(Controller object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Processor</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>Processor</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseProcessor(Processor object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Public Interest</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>Public Interest</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePublicInterest(PublicInterest object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Legitimate Interest</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>Legitimate Interest</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseLegitimateInterest(LegitimateInterest object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Legal Obligation</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>Legal Obligation</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseLegalObligation(LegalObligation object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Vital Interest</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>Vital Interest</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseVitalInterest(VitalInterest 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;
+	}
+
+} // Pdp4engCommonGDPRSwitch
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.ui/.classpath b/plugins/common/org.eclipse.papyrus.pdp4eng.common.ui/.classpath
new file mode 100644
index 0000000..82d0c73
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.ui/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.ui/.project b/plugins/common/org.eclipse.papyrus.pdp4eng.common.ui/.project
new file mode 100644
index 0000000..26c7701
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.ui/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.pdp4eng.plugins.common.ui</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/common/org.eclipse.papyrus.pdp4eng.common.ui/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0c68a61
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.ui/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.ui/META-INF/MANIFEST.MF b/plugins/common/org.eclipse.papyrus.pdp4eng.common.ui/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..81dd45f
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,12 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.pdp4eng.common.ui;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Vendor: %providerName
+Automatic-Module-Name: org.eclipse.papyrus.pdp4eng.common.ui
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.eclipse.papyrus.uml.extensionpoints;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.papyrus.pdp4eng.common.profile;bundle-version="[1.0.0,2.0.0)"
+Bundle-ActivationPolicy: lazy
+Bundle-Localization: plugin
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.ui/about.html b/plugins/common/org.eclipse.papyrus.pdp4eng.common.ui/about.html
new file mode 100644
index 0000000..3e183aa
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.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>November 30, 2017</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 2.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="https://www.eclipse.org/legal/epl-2.0/">https://www.eclipse.org/legal/epl-2.0/</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>
\ No newline at end of file
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.ui/build.properties b/plugins/common/org.eclipse.papyrus.pdp4eng.common.ui/build.properties
new file mode 100644
index 0000000..e051cb3
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.ui/build.properties
@@ -0,0 +1,8 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               icons/,\
+               build.properties,\
+               plugin.properties
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.ui/icons/PDP-16x16.png b/plugins/common/org.eclipse.papyrus.pdp4eng.common.ui/icons/PDP-16x16.png
new file mode 100644
index 0000000..3885ad5
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.ui/icons/PDP-16x16.png
Binary files differ
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.ui/icons/working.png b/plugins/common/org.eclipse.papyrus.pdp4eng.common.ui/icons/working.png
new file mode 100644
index 0000000..413dfc8
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.ui/icons/working.png
Binary files differ
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.ui/plugin.properties b/plugins/common/org.eclipse.papyrus.pdp4eng.common.ui/plugin.properties
new file mode 100644
index 0000000..3089c59
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.ui/plugin.properties
@@ -0,0 +1,16 @@
+#################################################################################
+# Copyright (c) 2020 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/
+#
+# SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+#     Patrick Tessier - initial API and implementation
+#	  Gabriel Pedroza - initial API and implementation
+##################################################################################
+
+pluginName = pdp4eng Common UI
+providerName = Eclipse Modeling Project
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.ui/plugin.xml b/plugins/common/org.eclipse.papyrus.pdp4eng.common.ui/plugin.xml
new file mode 100644
index 0000000..8873149
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.ui/plugin.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+<extension
+       point="org.eclipse.papyrus.uml.extensionpoints.UMLProfile">
+    <profile
+          description="Profile to specify GDPR requirement"
+          iconpath="icons/PDP-16x16.png"
+          name="GDPR Common"
+          path="pathmap://PDP4ENG-COMMON/pdp4engCommonGDPR.profile.uml"
+          provider="CEA LIST">
+    </profile>
+ </extension>
+</plugin>
diff --git a/plugins/common/org.eclipse.papyrus.pdp4eng.common.ui/pom.xml b/plugins/common/org.eclipse.papyrus.pdp4eng.common.ui/pom.xml
new file mode 100644
index 0000000..dbaa5a7
--- /dev/null
+++ b/plugins/common/org.eclipse.papyrus.pdp4eng.common.ui/pom.xml
@@ -0,0 +1,16 @@
+<?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/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	
+	<parent>
+		<groupId>org.eclipse.papyrus.pdp4eng</groupId>
+		<artifactId>org.eclipse.papyrus.pdp4eng.plugins.common.artifact</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+	
+	<artifactId>org.eclipse.papyrus.pdp4eng.common.ui</artifactId>
+	<version>1.0.0-SNAPSHOT</version>
+	<packaging>eclipse-plugin</packaging>
+	
+</project>
diff --git a/plugins/common/pom.xml b/plugins/common/pom.xml
new file mode 100644
index 0000000..bcd72a0
--- /dev/null
+++ b/plugins/common/pom.xml
@@ -0,0 +1,24 @@
+<?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/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<groupId>org.eclipse.papyrus.pdp4eng</groupId>
+		<artifactId>org.eclipse.papyrus.pdp4eng.plugins.artifact</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.papyrus.pdp4eng.plugins.common.artifact</artifactId>
+	<packaging>pom</packaging>
+
+
+	<name>pdp4eng common plugins directory</name>
+	<description>pdp4eng common plugins directory</description>
+
+	<modules>
+		<module>org.eclipse.papyrus.pdp4eng.common.profile</module>
+		<module>org.eclipse.papyrus.pdp4eng.common.ui</module>
+	</modules>
+
+</project>
diff --git a/plugins/pom.xml b/plugins/pom.xml
new file mode 100644
index 0000000..844a15a
--- /dev/null
+++ b/plugins/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/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<groupId>org.eclipse.papyrus.pdp4eng</groupId>
+		<artifactId>org.eclipse.papyrus.pdp4eng.artifact</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.papyrus.pdp4eng.plugins.artifact</artifactId>
+	<packaging>pom</packaging>
+
+
+	<name>pdp4eng plugins directory</name>
+	<description>pdp4eng plugins directory</description>
+
+	<modules>
+		<module>common</module>
+		<!--module>req</module>
+		<module>design</module-->
+	</modules>
+
+</project>
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..4aa83c0
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,262 @@
+<?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/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<groupId>org.eclipse.papyrus.pdp4eng</groupId>
+	<artifactId>org.eclipse.papyrus.pdp4eng.artifact</artifactId>
+	<version>1.0.0-SNAPSHOT</version>
+	<packaging>pom</packaging>
+
+	<name>pdp4eng tools</name>
+	<description>Root pom for the pdp4eng Tools.</description>
+
+	<properties>
+		<tycho-version>1.0.0</tycho-version>
+		<tychoExtrasVersion>1.0.0</tychoExtrasVersion>
+		<tycho.scmUrl>scm:git:https://codev-tuleap.intra.cea.fr/plugins/git/pdp4e/pdp4e.git</tycho.scmUrl>
+		<jarSignerVersion>1.1.2</jarSignerVersion>
+		<xtext.version>2.7.3</xtext.version>
+		<java.source.version>1.8</java.source.version>
+		<java.target.version>1.8</java.target.version>
+		<mylyn.wikitext.version>2.4.0-SNAPSHOT</mylyn.wikitext.version>
+	</properties>
+
+	<modules>
+		<module>plugins</module>
+		<module>feature</module>
+	</modules>
+
+    <profiles>
+		<profile>
+			<id>buildAll</id>
+			<activation>
+				<activeByDefault>true</activeByDefault>
+			</activation>
+			<modules>
+				<module>releng</module>
+			</modules>
+
+			<properties>
+				<target.platform.groupid>org.eclipse.papyrus.pdp4eng</target.platform.groupid>
+				<target.platform>org.eclipse.papyrus.pdp4eng.targetplatform</target.platform>
+				<target.version>1.0.0-SNAPSHOT</target.version>
+			</properties>
+
+		</profile>
+	</profiles>
+
+	<pluginRepositories>
+		<pluginRepository>
+			<id>org.eclipse.cbi.maven.plugins</id>
+			<name>Eclipse CBI</name>
+			<url>https://repo.eclipse.org/content/repositories/cbi-releases/</url>
+			<releases>
+				<enabled>true</enabled>
+			</releases>
+			<snapshots>
+				<enabled>false</enabled>
+			</snapshots>
+		</pluginRepository>
+		<pluginRepository>
+			<id>eclipse.org-mylyn</id>
+			<!-- url>https://repo.eclipse.org/content/repositories/mylyn-releases/</url -->
+			<url>https://repo.eclipse.org/content/repositories/mylyn/</url>
+		</pluginRepository>
+	</pluginRepositories>
+	<repositories>
+		<repository>
+			<id>license-feature</id>
+			<url>http://download.eclipse.org/cbi/updates/license/</url>
+			<layout>p2</layout>
+		</repository>
+	</repositories>
+	<build>
+		<pluginManagement>
+			<plugins>
+				<plugin>
+					<groupId>org.apache.maven.plugins</groupId>
+					<artifactId>maven-compiler-plugin</artifactId>
+					<version>3.2</version>
+					<configuration>
+						<source>${java.source.version}</source>
+						<target>${java.target.version}</target>
+					</configuration>
+				</plugin>
+				<plugin>
+					<groupId>org.codehaus.mojo</groupId>
+					<artifactId>exec-maven-plugin</artifactId>
+					<version>1.4.0</version>
+				</plugin>
+				<plugin>
+					<groupId>org.eclipse.tycho</groupId>
+					<artifactId>tycho-compiler-plugin</artifactId>
+					<version>${tycho-version}</version>
+					<configuration>
+						<optimize>true</optimize>
+						<showWarnings>true</showWarnings>
+						<!-- Tycho build using the project's JDT settings. -->
+						<useProjectSettings>true</useProjectSettings>
+					</configuration>
+				</plugin>
+				<plugin>
+					<groupId>org.apache.maven.plugins</groupId>
+					<artifactId>maven-resources-plugin</artifactId>
+					<version>2.6</version>
+					<configuration>
+						<encoding>UTF-8</encoding>
+					</configuration>
+				</plugin>
+				<plugin>
+					<groupId>org.apache.maven.plugins</groupId>
+					<artifactId>maven-clean-plugin</artifactId>
+					<version>2.6</version>
+				</plugin>
+				<plugin>
+					<groupId>org.eclipse.xtend</groupId>
+					<artifactId>xtend-maven-plugin</artifactId>
+					<version>${xtext.version}</version>
+				</plugin>
+				<plugin>
+					<groupId>org.eclipse.tycho</groupId>
+					<artifactId>tycho-maven-plugin</artifactId>
+					<version>${tycho-version}</version>
+					<extensions>true</extensions>
+				</plugin>
+				<plugin>
+					<groupId>org.eclipse.tycho</groupId>
+					<artifactId>tycho-p2-repository-plugin</artifactId>
+					<version>${tycho-version}</version>
+				</plugin>
+				<plugin>
+					<groupId>org.eclipse.mylyn.docs</groupId>
+					<artifactId>org.eclipse.mylyn.wikitext.core.maven</artifactId>
+					<version>${mylyn.wikitext.version}</version>
+				</plugin>
+				<plugin>
+					<groupId>org.eclipse.tycho</groupId>
+					<artifactId>target-platform-configuration</artifactId>
+					<version>${tycho-version}</version>
+					<configuration>
+						<environments>
+							<environment>
+								<os>linux</os>
+								<ws>gtk</ws>
+								<arch>x86_64</arch>
+							</environment>
+							<environment>
+								<os>linux</os>
+								<ws>gtk</ws>
+								<arch>x86</arch>
+							</environment>
+							<environment>
+								<os>win32</os>
+								<ws>win32</ws>
+								<arch>x86_64</arch>
+							</environment>
+							<environment>
+								<os>win32</os>
+								<ws>win32</ws>
+								<arch>x86</arch>
+							</environment>
+							<environment>
+								<os>macosx</os>
+								<ws>cocoa</ws>
+								<arch>x86_64</arch>
+							</environment>
+						</environments>
+						<target>
+							<artifact>
+								<groupId>${target.platform.groupid}</groupId>
+								<artifactId>${target.platform}</artifactId>
+								<version>${target.version}</version>
+							</artifact>
+						</target>
+					</configuration>
+				</plugin>
+			</plugins>
+		</pluginManagement>
+
+		<plugins>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-resources-plugin</artifactId>
+			</plugin>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-compiler-plugin</artifactId>
+			</plugin>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-maven-plugin</artifactId>
+			</plugin>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-p2-repository-plugin</artifactId>
+			</plugin>
+
+			<!-- sources -->
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-source-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<executions>
+					<execution>
+						<id>plugin-source</id>
+						<goals>
+							<goal>plugin-source</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+			<plugin>
+				<groupId>org.eclipse.tycho.extras</groupId>
+				<artifactId>tycho-source-feature-plugin</artifactId>
+				<version>${tychoExtrasVersion}</version>
+				<executions>
+					<execution>
+						<id>source-feature</id>
+						<phase>package</phase>
+						<goals>
+							<goal>source-feature</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-packaging-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<configuration>
+					<sourceReferences>
+						<generate>true</generate>
+					</sourceReferences>
+				</configuration>
+				<dependencies>
+					<dependency>
+						<groupId>org.eclipse.tycho.extras</groupId>
+						<artifactId>tycho-sourceref-jgit</artifactId>
+						<version>${tychoExtrasVersion}</version>
+					</dependency>
+				</dependencies>
+			</plugin>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-p2-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<executions>
+					<execution>
+						<id>attach-p2-metadata</id>
+						<phase>package</phase>
+						<goals>
+							<goal>p2-metadata</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+
+	</build>
+
+
+</project>
\ No newline at end of file
diff --git a/releng/main/pom.xml b/releng/main/pom.xml
new file mode 100644
index 0000000..93a9e81
--- /dev/null
+++ b/releng/main/pom.xml
@@ -0,0 +1,18 @@
+<?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/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.eclipse.papyrus.pdp4eng</groupId>
+		<artifactId>org.eclipse.papyrus.pdp4eng.releng</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.papyrus.pdp4eng.releng.main</artifactId>
+	<version>1.0.0-SNAPSHOT</version>
+	<packaging>pom</packaging>
+
+	<modules>
+		<module>targetplatform</module>
+	</modules>
+</project>
diff --git a/releng/main/targetplatform/org.eclipse.papyrus.pdp4eng.targetplatform/.project b/releng/main/targetplatform/org.eclipse.papyrus.pdp4eng.targetplatform/.project
new file mode 100644
index 0000000..5a5fb5e
--- /dev/null
+++ b/releng/main/targetplatform/org.eclipse.papyrus.pdp4eng.targetplatform/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.pdp4eng.targetplatform</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+	</natures>
+</projectDescription>
diff --git a/releng/main/targetplatform/org.eclipse.papyrus.pdp4eng.targetplatform/org.eclipse.papyrus.pdp4eng.targetplatform.target b/releng/main/targetplatform/org.eclipse.papyrus.pdp4eng.targetplatform/org.eclipse.papyrus.pdp4eng.targetplatform.target
new file mode 100644
index 0000000..ca318f2
--- /dev/null
+++ b/releng/main/targetplatform/org.eclipse.papyrus.pdp4eng.targetplatform/org.eclipse.papyrus.pdp4eng.targetplatform.target
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?pde version="3.8"?>
+<target name="Tycho Tutorial" sequenceNumber="1465317054">
+<locations>
+<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.papyrus.sysml14.feature.feature.group" version="0.0.0"/>
+<repository location="http://download.eclipse.org/modeling/mdt/papyrus/components/sysml14/"/>
+</location>
+	<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
+		<repository location="http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/2020-06"/>
+		<unit id="org.eclipse.papyrus.sdk.feature.feature.group" version="4.8.0.202006100749"/>
+	</location>
+	<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
+		<repository location="http://download.eclipse.org/releases/2020-06"/>
+		<unit id="org.eclipse.xtend.sdk.feature.group" version="2.22.0.v20200602-1533"/>
+	</location>
+	<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
+		<repository location="https://ci.eclipse.org/papyrus/job/Requirements-Photon/lastSuccessfulBuild/artifact/releng/org.eclipse.papyrus.requirements.p2/target/repository/"/>
+		<unit id="org.eclipse.papyrus.requirements.controler.feature.feature.group" version="0.7.0.201811121456"/>
+		<unit id="org.eclipse.papyrus.requirements.gui.feature.feature.group" version="0.8.0.201811121456"/>
+		<unit id="org.eclipse.papyrus.requirements.viewpoint.feature.feature.group" version="0.7.0.201811121456"/>
+	</location>
+</locations>
+</target>
\ No newline at end of file
diff --git a/releng/main/targetplatform/org.eclipse.papyrus.pdp4eng.targetplatform/pom.xml b/releng/main/targetplatform/org.eclipse.papyrus.pdp4eng.targetplatform/pom.xml
new file mode 100644
index 0000000..ed5a63f
--- /dev/null
+++ b/releng/main/targetplatform/org.eclipse.papyrus.pdp4eng.targetplatform/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/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<groupId>org.eclipse.papyrus.pdp4eng</groupId>
+		<artifactId>org.eclipse.papyrus.pdp4eng.releng.main.target</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.papyrus.pdp4eng.targetplatform</artifactId>
+	<version>1.0.0-SNAPSHOT</version>
+	<packaging>eclipse-target-definition</packaging>
+
+	<name>pdp4eng Target Definition</name>
+	<description>This plug-in contains the target pdp4eng</description>
+
+
+</project>
\ No newline at end of file
diff --git a/releng/main/targetplatform/pom.xml b/releng/main/targetplatform/pom.xml
new file mode 100644
index 0000000..11d0a00
--- /dev/null
+++ b/releng/main/targetplatform/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/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<groupId>org.eclipse.papyrus.pdp4eng</groupId>
+		<artifactId>org.eclipse.papyrus.pdp4eng.releng.main</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.papyrus.pdp4eng.releng.main.target</artifactId>
+	<version>1.0.0-SNAPSHOT</version>
+	<packaging>pom</packaging>
+
+	<modules>
+		<module>org.eclipse.papyrus.pdp4eng.targetplatform</module>
+	</modules>
+</project>
\ No newline at end of file
diff --git a/releng/org.eclipse.papyrus.pdp4eng.p2/.project b/releng/org.eclipse.papyrus.pdp4eng.p2/.project
new file mode 100644
index 0000000..f67b0a8
--- /dev/null
+++ b/releng/org.eclipse.papyrus.pdp4eng.p2/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>com.cea.pdp.p2</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+	</natures>
+</projectDescription>
diff --git a/releng/org.eclipse.papyrus.pdp4eng.p2/category.xml b/releng/org.eclipse.papyrus.pdp4eng.p2/category.xml
new file mode 100644
index 0000000..101fe6d
--- /dev/null
+++ b/releng/org.eclipse.papyrus.pdp4eng.p2/category.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<site>
+   <feature id="org.eclipse.papyrus.pdp4eng.common.feature">
+      <category name="org.eclipse.papyrus.pdp4eng.requirements.category"/>
+      <category name="org.eclipse.papyrus.pdp4eng.designer.category"/>
+   </feature>
+   <feature id="org.eclipse.papyrus.pdp4eng.req.feature">
+      <category name="org.eclipse.papyrus.pdp4eng.requirements.category"/>
+   </feature>
+   <feature id="org.eclipse.papyrus.pdp4eng.designer.feature">
+      <category name="org.eclipse.papyrus.pdp4eng.designer.category"/>
+   </feature>
+   <category-def name="org.eclipse.papyrus.pdp4eng.category" label="papyrus-privacydesigner">
+      <description>
+         papyrus-privacydesigner
+      </description>
+   </category-def>
+   <category-def name="org.eclipse.papyrus.pdp4eng.requirements.category" label="Privacy Requirements">
+      <category name="org.eclipse.papyrus.pdp4eng.category"/>
+      <description>
+         Privacy and Data Drotection for requirements
+      </description>
+   </category-def>
+   <category-def name="org.eclipse.papyrus.pdp4eng.designer.category" label="Privacy Design">
+      <category name="org.eclipse.papyrus.pdp4eng.category"/>
+      <description>
+         Privacy and Data Protection for Design
+      </description>
+   </category-def>
+</site>
diff --git a/releng/org.eclipse.papyrus.pdp4eng.p2/pom.xml b/releng/org.eclipse.papyrus.pdp4eng.p2/pom.xml
new file mode 100644
index 0000000..5c48d03
--- /dev/null
+++ b/releng/org.eclipse.papyrus.pdp4eng.p2/pom.xml
@@ -0,0 +1,62 @@
+<?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/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<groupId>org.eclipse.papyrus.pdp4eng</groupId>
+		<artifactId>org.eclipse.papyrus.pdp4eng.releng</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.papyrus.pdp4eng.p2</artifactId>
+	<version>1.0.0-SNAPSHOT</version>
+	<packaging>eclipse-repository</packaging>
+
+	<name>pdp4eng p2</name>
+	<description>This plugin defines the update site of pdp4eng.</description>
+
+	<pluginRepositories>
+		<pluginRepository>
+			<id>jboss-public-repository-group</id>
+			<name>JBoss Public Repository Group</name>
+			<url>http://repository.jboss.org/nexus/content/groups/public/</url>
+		</pluginRepository>
+	</pluginRepositories>
+
+	<build>
+		<plugins>
+			<plugin>
+				<!-- https://github.com/jbosstools/jbosstools-maven-plugins/wiki -->
+				<groupId>org.jboss.tools.tycho-plugins</groupId>
+				<artifactId>repository-utils</artifactId>
+				<version>0.23.2</version>
+				<executions>
+					<execution>
+						<id>generate-facade</id>
+						<phase>package</phase>
+						<goals>
+							<goal>generate-repository-facade</goal>
+						</goals>
+						<configuration>
+							<!-- <symbols> <update.site.name>Papyrus UML Versioning</update.site.name> 
+								<update.site.description>Use this URL in Eclipse to install Papyrus UML Versioning</update.site.description> 
+								<update.site.version>${project.version}</update.site.version> <project.website>https://hudson.eclipse.org/papyrus/view/Interoperability/job/papyrus-interoperability-website/ws/site-staging/index.html</project.website> 
+								<project.issues>${project.issueManagement.url}</project.issues> <eclipse.target>${eclipse.targetrelease}</eclipse.target> 
+								<update.site.nightly>https://hudson.eclipse.org/papyrus/view/Interoperability/job/papyrus-interoperability-rpy-oxygen/ws/rpy/releng/org.eclipse.papyrus.interoperability.rpy.p2/target/repository/</update.site.nightly> 
+								</symbols> <associateSites> <site>https://hudson.eclipse.org/papyrus/view/Interoperability/job/papyrus-interoperability-website/ws/site-staging/index.html</site> 
+								</associateSites> <siteTemplateFolder>siteTemplate</siteTemplateFolder> <p2StatsUrl>http://download.eclipse.org/stats</p2StatsUrl> -->
+						</configuration>
+					</execution>
+				</executions>
+				<dependencies>
+					<dependency>
+						<groupId>org.eclipse.tycho</groupId>
+						<artifactId>tycho-packaging-plugin</artifactId>
+						<version>${tycho-version}</version>
+					</dependency>
+				</dependencies>
+			</plugin>
+		</plugins>
+	</build>
+</project>
\ No newline at end of file
diff --git a/releng/pom.xml b/releng/pom.xml
new file mode 100644
index 0000000..6a4a5d4
--- /dev/null
+++ b/releng/pom.xml
@@ -0,0 +1,22 @@
+<?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/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<groupId>org.eclipse.papyrus.pdp4eng</groupId>
+		<artifactId>org.eclipse.papyrus.pdp4eng.artifact</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+
+
+	<groupId>org.eclipse.papyrus.pdp4eng</groupId>
+	<artifactId>org.eclipse.papyrus.pdp4eng.releng</artifactId>
+	<version>1.0.0-SNAPSHOT</version>
+	<packaging>pom</packaging>
+
+	<modules>
+		<module>main</module>
+		<module>org.eclipse.papyrus.pdp4eng.p2</module>
+	</modules>
+</project>