Bug 568432 - [PrivacyDesigner] add req feature
Change-Id: Ibb746c08c75fc5eb12265fec30e2a35d5816ca42
diff --git a/feature/org.eclipse.papyrus.pdp4eng.req.feature/.project b/feature/org.eclipse.papyrus.pdp4eng.req.feature/.project
new file mode 100644
index 0000000..8b3c03e
--- /dev/null
+++ b/feature/org.eclipse.papyrus.pdp4eng.req.feature/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.pdp4eng.req.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.req.feature/build.properties b/feature/org.eclipse.papyrus.pdp4eng.req.feature/build.properties
new file mode 100644
index 0000000..b3a611b
--- /dev/null
+++ b/feature/org.eclipse.papyrus.pdp4eng.req.feature/build.properties
@@ -0,0 +1,2 @@
+bin.includes = feature.xml,\
+ feature.properties
diff --git a/feature/org.eclipse.papyrus.pdp4eng.req.feature/feature.properties b/feature/org.eclipse.papyrus.pdp4eng.req.feature/feature.properties
new file mode 100644
index 0000000..acbe222
--- /dev/null
+++ b/feature/org.eclipse.papyrus.pdp4eng.req.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 Requirement 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 functions about GDPR requirements
+################ 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.req.feature/feature.xml b/feature/org.eclipse.papyrus.pdp4eng.req.feature/feature.xml
new file mode 100644
index 0000000..624863a
--- /dev/null
+++ b/feature/org.eclipse.papyrus.pdp4eng.req.feature/feature.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+ id="org.eclipse.papyrus.pdp4eng.req.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>
+
+ <requires>
+ <import feature="org.eclipse.papyrus.pdp4eng.common.feature" version="1.0.0.qualifier"/>
+ </requires>
+
+ <plugin
+ id="org.eclipse.papyrus.pdp4eng.req.gdprananalysis"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.papyrus.pdp4eng.req.metareq"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.papyrus.pdp4eng.req.profile"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.papyrus.pdp4eng.req.ui"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+</feature>
diff --git a/feature/org.eclipse.papyrus.pdp4eng.req.feature/pom.xml b/feature/org.eclipse.papyrus.pdp4eng.req.feature/pom.xml
new file mode 100644
index 0000000..e78eba4
--- /dev/null
+++ b/feature/org.eclipse.papyrus.pdp4eng.req.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.req.feature</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>eclipse-feature</packaging>
+
+ <name>pdp4eng req feature</name>
+ <description>pdp4eng req feature</description>
+</project>
\ No newline at end of file
diff --git a/feature/pom.xml b/feature/pom.xml
index 4d380f1..dd39239 100644
--- a/feature/pom.xml
+++ b/feature/pom.xml
@@ -18,7 +18,7 @@
<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-->
+ <module>org.eclipse.papyrus.pdp4eng.req.feature</module>
+ <!--module>org.eclipse.papyrus.pdp4eng.designer.feature</module-->
</modules>
</project>
diff --git a/plugins/pom.xml b/plugins/pom.xml
index 844a15a..bdff513 100644
--- a/plugins/pom.xml
+++ b/plugins/pom.xml
@@ -18,8 +18,8 @@
<modules>
<module>common</module>
- <!--module>req</module>
- <module>design</module-->
+ <module>req</module>
+ <!--module>design</module-->
</modules>
</project>
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/.classpath b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/.classpath
new file mode 100644
index 0000000..eca7bdb
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/.project b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/.project
new file mode 100644
index 0000000..11c0196
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.pdp4eng.req.gdprananalysis</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/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/.settings/org.eclipse.jdt.core.prefs b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0c68a61
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/.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/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/META-INF/MANIFEST.MF b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..a14cd0e
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/META-INF/MANIFEST.MF
@@ -0,0 +1,18 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.pdp4eng.req.gdprananalysis;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Vendor: %providerName
+Automatic-Module-Name: org.eclipse.papyrus.pdp4eng.req.gdprananalysis
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.eclipse.papyrus.requirements.sysml14.assistant.commands;bundle-version="[0.8.0,1.0.0)",
+ org.eclipse.papyrus.requirements.sysml14.common;bundle-version="[0.7.0,1.0.0)",
+ org.eclipse.emf.transaction;bundle-version="[1.9.1,2.0.0)",
+ org.eclipse.uml2.uml;bundle-version="[5.4.0,6.0.0)",
+ org.eclipse.papyrus.pdp4eng.req.profile;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.papyrus.sysml14;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.papyrus.pdp4eng.req.metareq;bundle-version="[1.0.0,2.0.0)"
+Export-Package: org.eclipse.papyrus.pdp4eng.req.gdprananalysis.api
+Bundle-ActivationPolicy: lazy
+Bundle-Localization: plugin
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/about.html b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/about.html
new file mode 100644
index 0000000..3e183aa
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/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 ("Content"). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 2.0 ("EPL"). 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, "Program" 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 ("Redistributor") 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/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/build.properties b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/build.properties
new file mode 100644
index 0000000..597a1cc
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/build.properties
@@ -0,0 +1,5 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ build.properties
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/plugin.properties b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/plugin.properties
new file mode 100644
index 0000000..8adf35d
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/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 Req GDPR analysis
+providerName = Eclipse Modeling Project
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/pom.xml b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/pom.xml
new file mode 100644
index 0000000..3957aa6
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/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.req.artifact</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>org.eclipse.papyrus.pdp4eng.req.gdprananalysis</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+
+</project>
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/src/org/eclipse/papyrus/pdp4eng/req/gdprananalysis/api/IRequirementGenerator.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/src/org/eclipse/papyrus/pdp4eng/req/gdprananalysis/api/IRequirementGenerator.java
new file mode 100644
index 0000000..3f6bb7f
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/src/org/eclipse/papyrus/pdp4eng/req/gdprananalysis/api/IRequirementGenerator.java
@@ -0,0 +1,38 @@
+/*****************************************************************************
+* Copyright (c)2020 CEA LIST, Committer Name, and others.
+*
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License 2.0
+* which accompanies this distribution, and is available at
+* https://www.eclipse.org/legal/epl-2.0/
+*
+* SPDX-License-Identifier: EPL-2.0
+*
+* Contributors:
+* CEA LIST - Initial API and implementation
+* Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+* Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+*****************************************************************************/
+package org.eclipse.papyrus.pdp4eng.req.gdprananalysis.api;
+
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+
+/**
+ * Declaration of this interface to create requirement
+ *
+ */
+public interface IRequirementGenerator {
+/**
+ * Create a requirement
+ * @param domain
+ * @param owner
+ * @return
+ */
+ public Command generateArticle51a(TransactionalEditingDomain domain, org.eclipse.uml2.uml.Package owner);
+ public Command generateArticle51b(TransactionalEditingDomain domain, org.eclipse.uml2.uml.Package owner);
+ public Command generateArticle51c(TransactionalEditingDomain domain, org.eclipse.uml2.uml.Package owner);
+ public Command generateArticle51d(TransactionalEditingDomain domain, org.eclipse.uml2.uml.Package owner);
+ public Command generateArticle51e(TransactionalEditingDomain domain, org.eclipse.uml2.uml.Package owner);
+ public Command generateArticle51f(TransactionalEditingDomain domain, org.eclipse.uml2.uml.Package owner);
+}
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/src/org/eclipse/papyrus/pdp4eng/req/gdprananalysis/api/RequirementGenerator.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/src/org/eclipse/papyrus/pdp4eng/req/gdprananalysis/api/RequirementGenerator.java
new file mode 100644
index 0000000..759d08d
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/src/org/eclipse/papyrus/pdp4eng/req/gdprananalysis/api/RequirementGenerator.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+* Copyright (c)2020 CEA LIST, Committer Name, and others.
+*
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License 2.0
+* which accompanies this distribution, and is available at
+* https://www.eclipse.org/legal/epl-2.0/
+*
+* SPDX-License-Identifier: EPL-2.0
+*
+* Contributors:
+* CEA LIST - Initial API and implementation
+* Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+* Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+*****************************************************************************/
+package org.eclipse.papyrus.pdp4eng.req.gdprananalysis.api;
+
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.pdp4eng.req.gdprananalysis.internal.RequirementTestGeneratorImpl;
+import org.eclipse.uml2.uml.Package;
+
+
+/**this is a public API to create Requirement**/
+public class RequirementGenerator implements IRequirementGenerator {
+ private RequirementTestGeneratorImpl generatorImpl= new RequirementTestGeneratorImpl();
+
+
+ @Override
+ public Command generateArticle51a(TransactionalEditingDomain domain, Package owner) {
+ return generatorImpl.generateArticle51a(domain, owner);
+ }
+
+ @Override
+ public Command generateArticle51b(TransactionalEditingDomain domain, Package owner) {
+ return generatorImpl.generateArticle51b(domain, owner);
+ }
+
+ @Override
+ public Command generateArticle51c(TransactionalEditingDomain domain, Package owner) {
+ return generatorImpl.generateArticle51c(domain, owner);
+ }
+
+ @Override
+ public Command generateArticle51d(TransactionalEditingDomain domain, Package owner) {
+ return generatorImpl.generateArticle51d(domain, owner);
+ }
+ public Command generateArticle51f(TransactionalEditingDomain domain, Package owner) {
+ return generatorImpl.generateArticle51f(domain, owner);
+ }
+
+ @Override
+ public Command generateArticle51e(TransactionalEditingDomain domain, Package owner) {
+ return generatorImpl.generateArticle51e(domain, owner);
+ }
+
+
+
+}
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/src/org/eclipse/pdp4eng/req/gdprananalysis/internal/AccuracyCreateCommand.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/src/org/eclipse/pdp4eng/req/gdprananalysis/internal/AccuracyCreateCommand.java
new file mode 100644
index 0000000..8187877
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/src/org/eclipse/pdp4eng/req/gdprananalysis/internal/AccuracyCreateCommand.java
@@ -0,0 +1,69 @@
+/*****************************************************************************
+* Copyright (c)2020 CEA LIST, Committer Name, and others.
+*
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License 2.0
+* which accompanies this distribution, and is available at
+* https://www.eclipse.org/legal/epl-2.0/
+*
+* SPDX-License-Identifier: EPL-2.0
+*
+* Contributors:
+* CEA LIST - Initial API and implementation
+* Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+* Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+*****************************************************************************/
+package org.eclipse.pdp4eng.req.gdprananalysis.internal;
+
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are the property of the CEA.
+ * Any use is subject to specific agreement with the CEA.
+ * Contributors:
+ *
+ * Patrick Tessier (CEA LIST) - Initial API and implementation
+ *
+ */
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.papyrus.sysml14.requirements.Requirement;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.util.UMLUtil;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Purpose;
+import org.eclipse.papyrus.pdp4eng.req.metareq.GDPRRequirements;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+
+public class AccuracyCreateCommand extends BasicRequirementCreateCommand {
+
+ private PersonalData personalData;
+ private Purpose purpose;
+ public AccuracyCreateCommand(TransactionalEditingDomain domain, Element owner, String id, String text,PersonalData personalData,Purpose purpose) {
+ super(domain, owner, id, text);
+ this.personalData= personalData;
+ this.purpose= purpose;
+ }
+
+ @Override
+ protected void createRequirement(Package owner, String id, String text) {
+ super.createRequirement(owner, id, text);
+ if( requirement!=null) {
+ StereotypeApplicationHelper stereotypeApplicationHelper = StereotypeApplicationHelper.getInstance(null);
+ stereotypeApplicationHelper.applyStereotype(requirement,pdp4engReqGDPRPackage.eINSTANCE.getAccuracy(),null );
+ org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Accuracy accuracy=(org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Accuracy)UMLUtil.getStereotypeApplication(requirement, org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Accuracy.class);
+ accuracy.setPersonalData(personalData);
+ accuracy.setPurpose(purpose);
+ GDPRRequirements gdprRrequiement= new GDPRRequirements();
+ Requirement reqStereotypeAppli= (Requirement)UMLUtil.getStereotypeApplication(requirement, Requirement.class);
+ reqStereotypeAppli.setText(""+gdprRrequiement.getDescriptionForAccurate(accuracy));
+ }
+
+
+ }
+
+
+}
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/src/org/eclipse/pdp4eng/req/gdprananalysis/internal/BasicRequirementCreateCommand.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/src/org/eclipse/pdp4eng/req/gdprananalysis/internal/BasicRequirementCreateCommand.java
new file mode 100644
index 0000000..ce68bee
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/src/org/eclipse/pdp4eng/req/gdprananalysis/internal/BasicRequirementCreateCommand.java
@@ -0,0 +1,75 @@
+/*****************************************************************************
+* 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.pdp4eng.req.gdprananalysis.internal;
+
+import org.eclipse.emf.transaction.RecordingCommand;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.papyrus.requirements.sysml14.common.I_SysMLStereotype;
+import org.eclipse.papyrus.requirements.sysml14.common.Utils;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Stereotype;
+
+/**
+ * Creates a new based on the options chosen in the Papyrus Req preferences page.
+ *
+ */
+public class BasicRequirementCreateCommand extends RecordingCommand {
+ protected Element owner;
+ private String id;
+ private String text;
+ protected org.eclipse.uml2.uml.Class requirement;
+
+ /**
+ *
+ * Constructor.
+ *
+ * @param domain
+ * @param owner never null
+ * @param id can be null, in this case it is generated
+ * @param text can be null
+ */
+ public BasicRequirementCreateCommand(TransactionalEditingDomain domain, Element owner, String id,String text) {
+ super(domain, "PapyrusReqSysMLRequirementCreateCommand");
+ this.owner = owner;
+ this.id = id;
+ this.text = text;
+ }
+
+ protected void createRequirement(org.eclipse.uml2.uml.Package owner, String id,String text) {
+ requirement = owner.createOwnedClass("tmpName", false);
+ Stereotype reqStereotype = requirement.getApplicableStereotype(I_SysMLStereotype.REQUIREMENT_STEREOTYPE);
+ requirement.applyStereotype(reqStereotype);
+ if( id==null) {
+ id = Utils.getNewRequirementID(owner);
+ }
+ requirement.setName(id);
+ requirement.setValue(reqStereotype, I_SysMLStereotype.REQUIREMENT_ID_ATT, id);
+
+ if( text!=null) {
+ requirement.setValue(reqStereotype, I_SysMLStereotype.REQUIREMENT_TEXT_ATT, text);
+ }
+ }
+
+ @Override
+ protected void doExecute() {
+ if (owner instanceof Package) {
+ createRequirement((Package) owner, id, text);
+ } else if (owner.getNearestPackage() != null) {
+ createRequirement(owner.getNearestPackage(), id, text);
+ }
+ }
+}
\ No newline at end of file
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/src/org/eclipse/pdp4eng/req/gdprananalysis/internal/DataMinimizationCreateCommand.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/src/org/eclipse/pdp4eng/req/gdprananalysis/internal/DataMinimizationCreateCommand.java
new file mode 100644
index 0000000..60baf98
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/src/org/eclipse/pdp4eng/req/gdprananalysis/internal/DataMinimizationCreateCommand.java
@@ -0,0 +1,69 @@
+/*****************************************************************************
+* Copyright (c)2020 CEA LIST, Committer Name, and others.
+*
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License 2.0
+* which accompanies this distribution, and is available at
+* https://www.eclipse.org/legal/epl-2.0/
+*
+* SPDX-License-Identifier: EPL-2.0
+*
+* Contributors:
+* CEA LIST - Initial API and implementation
+* Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+* Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+*****************************************************************************/
+package org.eclipse.pdp4eng.req.gdprananalysis.internal;
+
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are the property of the CEA.
+ * Any use is subject to specific agreement with the CEA.
+ * Contributors:
+ *
+ * Patrick Tessier (CEA LIST) - Initial API and implementation
+ *
+ */
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.papyrus.sysml14.requirements.Requirement;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.util.UMLUtil;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Purpose;
+import org.eclipse.papyrus.pdp4eng.req.metareq.GDPRRequirements;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+
+public class DataMinimizationCreateCommand extends BasicRequirementCreateCommand {
+
+ private PersonalData personalData;
+ private Purpose purpose;
+ public DataMinimizationCreateCommand(TransactionalEditingDomain domain, Element owner, String id, String text,PersonalData personalData,Purpose purpose) {
+ super(domain, owner, id, text);
+ this.personalData= personalData;
+ this.purpose= purpose;
+ }
+
+ @Override
+ protected void createRequirement(Package owner, String id, String text) {
+ super.createRequirement(owner, id, text);
+ if( requirement!=null) {
+ StereotypeApplicationHelper stereotypeApplicationHelper = StereotypeApplicationHelper.getInstance(null);
+ stereotypeApplicationHelper.applyStereotype(requirement,pdp4engReqGDPRPackage.eINSTANCE.getDataMinimisation(),null );
+ org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataMinimisation dataMinimization=(org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataMinimisation)UMLUtil.getStereotypeApplication(requirement, org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataMinimisation.class);
+ dataMinimization.setPersonalData(personalData);
+ dataMinimization.setPurpose(purpose);
+ GDPRRequirements gdprRrequiement= new GDPRRequirements();
+ Requirement reqStereotypeAppli= (Requirement)UMLUtil.getStereotypeApplication(requirement, Requirement.class);
+ reqStereotypeAppli.setText(""+gdprRrequiement.getDescriptionForDataMinimisation(dataMinimization));
+ }
+
+
+ }
+
+
+}
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/src/org/eclipse/pdp4eng/req/gdprananalysis/internal/FairlyRequirementCreateCommand.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/src/org/eclipse/pdp4eng/req/gdprananalysis/internal/FairlyRequirementCreateCommand.java
new file mode 100644
index 0000000..6e268a0
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/src/org/eclipse/pdp4eng/req/gdprananalysis/internal/FairlyRequirementCreateCommand.java
@@ -0,0 +1,76 @@
+/*****************************************************************************
+* 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.pdp4eng.req.gdprananalysis.internal;
+
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are the property of the CEA.
+ * Any use is subject to specific agreement with the CEA.
+ * Contributors:
+ *
+ * Patrick Tessier (CEA LIST) - Initial API and implementation
+ *
+ */
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.papyrus.sysml14.requirements.Requirement;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.util.UMLUtil;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData;
+import org.eclipse.papyrus.pdp4eng.req.metareq.GDPRRequirements;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalDataRequirement;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.ProcessRequirement;
+
+public class FairlyRequirementCreateCommand extends BasicRequirementCreateCommand {
+
+ private ProcessRequirement processRequirement;
+ private DataSubject dataSubject;
+ public FairlyRequirementCreateCommand(TransactionalEditingDomain domain, Element owner, String id, String text,ProcessRequirement processRequirement, DataSubject dataSubject) {
+ super(domain, owner, id, text);
+ this.processRequirement= processRequirement;
+ this.dataSubject= dataSubject;
+ }
+
+ @Override
+ protected void createRequirement(Package owner, String id, String text) {
+ super.createRequirement(owner, id, text);
+ if( requirement!=null) {
+ StereotypeApplicationHelper stereotypeApplicationHelper = StereotypeApplicationHelper.getInstance(null);
+ stereotypeApplicationHelper.applyStereotype(requirement,pdp4engReqGDPRPackage.eINSTANCE.getFairly(),null );
+ org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Fairly fairlyReq= (org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Fairly)UMLUtil.getStereotypeApplication(requirement, org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Fairly.class);
+ fairlyReq.setProcess(processRequirement);
+ for (PersonalData personalData : processRequirement.getPersonaldata()) {
+ fairlyReq.getPersonalData().add((PersonalDataRequirement) personalData);
+ }
+ fairlyReq.setDataSubject(this.dataSubject);
+ GDPRRequirements gdprRrequiement= new GDPRRequirements();
+ Requirement reqStereotypeAppli= (Requirement)UMLUtil.getStereotypeApplication(requirement, Requirement.class);
+ reqStereotypeAppli.setText(""+gdprRrequiement.getDescriptionForFairlyRequirement(fairlyReq));
+
+
+ }
+
+
+ }
+
+
+}
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/src/org/eclipse/pdp4eng/req/gdprananalysis/internal/LawfulRequirementCreateCommand.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/src/org/eclipse/pdp4eng/req/gdprananalysis/internal/LawfulRequirementCreateCommand.java
new file mode 100644
index 0000000..c0f7e7b
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/src/org/eclipse/pdp4eng/req/gdprananalysis/internal/LawfulRequirementCreateCommand.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.pdp4eng.req.gdprananalysis.internal;
+
+import java.util.Iterator;
+
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are the property of the CEA.
+ * Any use is subject to specific agreement with the CEA.
+ * Contributors:
+ *
+ * Patrick Tessier (CEA LIST) - Initial API and implementation
+ *
+ */
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.papyrus.sysml14.requirements.Requirement;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.util.UMLUtil;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+
+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.PersonalData;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Purpose;
+import org.eclipse.papyrus.pdp4eng.req.metareq.GDPRRequirements;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalDataRequirement;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.ProcessRequirement;
+
+public class LawfulRequirementCreateCommand extends BasicRequirementCreateCommand {
+
+ private ProcessRequirement processRequirement;
+ private DataSubject dataSubject;
+ public LawfulRequirementCreateCommand(TransactionalEditingDomain domain, Element owner, String id, String text,ProcessRequirement processRequirement, DataSubject dataSubject) {
+ super(domain, owner, id, text);
+ this.processRequirement= processRequirement;
+ this.dataSubject= dataSubject;
+ }
+
+ @Override
+ protected void createRequirement(Package owner, String id, String text) {
+ super.createRequirement(owner, id, text);
+ if( requirement!=null) {
+ StereotypeApplicationHelper stereotypeApplicationHelper = StereotypeApplicationHelper.getInstance(null);
+ stereotypeApplicationHelper.applyStereotype(requirement,pdp4engReqGDPRPackage.eINSTANCE.getLawful(),null );
+ org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Lawful lawfulReq= (org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Lawful)UMLUtil.getStereotypeApplication(requirement, org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Lawful.class);
+ lawfulReq.setProcess(processRequirement);
+ for (PersonalData personalData : processRequirement.getPersonaldata()) {
+ lawfulReq.getPersonalData().add((PersonalDataRequirement) personalData);
+ }
+ lawfulReq.setDataSubject(this.dataSubject);
+ GDPRRequirements gdprRrequiement= new GDPRRequirements();
+ Requirement reqStereotypeAppli= (Requirement)UMLUtil.getStereotypeApplication(requirement, Requirement.class);
+ reqStereotypeAppli.setText(""+gdprRrequiement.getDescriptionForLawfulRequirement(lawfulReq));
+
+ for (Iterator<Consent> iterator = dataSubject.getGivenConsent().iterator(); iterator.hasNext();) {
+ Consent aConsent = (Consent) iterator.next();
+ for (Iterator<Purpose> purposeIterator = aConsent.getPurpose().iterator(); purposeIterator.hasNext();) {
+ Purpose aPurpose = (Purpose) purposeIterator.next();
+ if( aPurpose.getProcesses().contains(this.processRequirement)) {
+ System.out.println("Create Lawfull BY CONSENT");
+ Class requirementClass=(Class)requirement.createNestedClassifier(reqStereotypeAppli.getId()+".1", UMLPackage.eINSTANCE.getClass_());
+ stereotypeApplicationHelper.applyStereotype(requirementClass,org.eclipse.papyrus.sysml14.requirements.RequirementsPackage.eINSTANCE.getRequirement(),null );
+ Requirement reqStereotype= (Requirement)UMLUtil.getStereotypeApplication(requirementClass, Requirement.class);
+ stereotypeApplicationHelper.applyStereotype(requirementClass,pdp4engReqGDPRPackage.eINSTANCE.getLawfulByConsent(),null );
+ org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByConsent lawfulRbyConsent= (org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByConsent)UMLUtil.getStereotypeApplication(requirementClass, org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByConsent.class);
+ lawfulRbyConsent.setConsent(aConsent);
+ lawfulRbyConsent.setDataSubject(dataSubject);
+ lawfulRbyConsent.getPersonalData().addAll(lawfulReq.getPersonalData());
+ lawfulRbyConsent.setProcess(this.processRequirement);
+ reqStereotype.setText(""+gdprRrequiement.getDescriptionForLawfulByConsent(lawfulRbyConsent));
+ reqStereotype.setId(reqStereotypeAppli.getId()+".1");
+
+
+ }
+
+ }
+
+ }
+
+
+
+ }
+
+
+ }
+
+
+}
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/src/org/eclipse/pdp4eng/req/gdprananalysis/internal/PurposeLimitationCreateCommand.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/src/org/eclipse/pdp4eng/req/gdprananalysis/internal/PurposeLimitationCreateCommand.java
new file mode 100644
index 0000000..5d18511
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/src/org/eclipse/pdp4eng/req/gdprananalysis/internal/PurposeLimitationCreateCommand.java
@@ -0,0 +1,69 @@
+/*****************************************************************************
+* Copyright (c)2020 CEA LIST, Committer Name, and others.
+*
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License 2.0
+* which accompanies this distribution, and is available at
+* https://www.eclipse.org/legal/epl-2.0/
+*
+* SPDX-License-Identifier: EPL-2.0
+*
+* Contributors:
+* CEA LIST - Initial API and implementation
+* Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+* Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+*****************************************************************************/
+package org.eclipse.pdp4eng.req.gdprananalysis.internal;
+
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are the property of the CEA.
+ * Any use is subject to specific agreement with the CEA.
+ * Contributors:
+ *
+ * Patrick Tessier (CEA LIST) - Initial API and implementation
+ *
+ */
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.papyrus.sysml14.requirements.Requirement;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.util.UMLUtil;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Purpose;
+import org.eclipse.papyrus.pdp4eng.req.metareq.GDPRRequirements;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+
+public class PurposeLimitationCreateCommand extends BasicRequirementCreateCommand {
+
+ private PersonalData personalData;
+ private Purpose purpose;
+ public PurposeLimitationCreateCommand(TransactionalEditingDomain domain, Element owner, String id, String text,PersonalData personalData,Purpose purpose) {
+ super(domain, owner, id, text);
+ this.personalData= personalData;
+ this.purpose= purpose;
+ }
+
+ @Override
+ protected void createRequirement(Package owner, String id, String text) {
+ super.createRequirement(owner, id, text);
+ if( requirement!=null) {
+ StereotypeApplicationHelper stereotypeApplicationHelper = StereotypeApplicationHelper.getInstance(null);
+ stereotypeApplicationHelper.applyStereotype(requirement,pdp4engReqGDPRPackage.eINSTANCE.getPurposeLimitation(),null );
+ org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PurposeLimitation purposeLimitation=(org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PurposeLimitation)UMLUtil.getStereotypeApplication(requirement, org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PurposeLimitation.class);
+ purposeLimitation.setPersonalData(personalData);
+ purposeLimitation.setPurpose(purpose);
+ GDPRRequirements gdprRrequiement= new GDPRRequirements();
+ Requirement reqStereotypeAppli= (Requirement)UMLUtil.getStereotypeApplication(requirement, Requirement.class);
+ reqStereotypeAppli.setText(""+gdprRrequiement.getDescriptionForPurposeLimitation(purposeLimitation));
+ }
+
+
+ }
+
+
+}
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/src/org/eclipse/pdp4eng/req/gdprananalysis/internal/RequirementTestGeneratorImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/src/org/eclipse/pdp4eng/req/gdprananalysis/internal/RequirementTestGeneratorImpl.java
new file mode 100644
index 0000000..ce721c0
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/src/org/eclipse/pdp4eng/req/gdprananalysis/internal/RequirementTestGeneratorImpl.java
@@ -0,0 +1,234 @@
+/*****************************************************************************
+* 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.pdp4eng.req.gdprananalysis.internal;
+
+import java.util.HashSet;
+import java.util.Iterator;
+
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.command.CompoundCommand;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Purpose;
+import org.eclipse.papyrus.pdp4eng.req.gdprananalysis.api.IRequirementGenerator;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.GeneratedRequirements;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.ProcessRequirement;
+import org.eclipse.papyrus.requirements.sysml14.assistant.commands.api.RequirementCommandAssistantFactory;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * this is an implmentation fo create requirements
+ * {@link RequirementTestGenerator}
+ *
+ */
+public class RequirementTestGeneratorImpl implements IRequirementGenerator {
+
+ protected RequirementCommandAssistantFactory factory = new RequirementCommandAssistantFactory();
+ protected int index=0;
+ protected String prefix="GDPRReq-";
+ protected Package generatedRequirementPackage=null;
+
+
+
+ @Override
+ public Command generateArticle51a(TransactionalEditingDomain domain, Package owner) {
+ CompoundCommand compoundCommand= new CompoundCommand();
+ Iterator<EObject> iterator=owner.eAllContents();
+
+ while (iterator.hasNext()) {
+ EObject eObject = (EObject) iterator.next();
+ if( eObject instanceof NamedElement) {
+ NamedElement namedElement= (NamedElement)eObject;
+ ProcessRequirement processRequirement= (ProcessRequirement)UMLUtil.getStereotypeApplication(namedElement, ProcessRequirement.class);
+ if (processRequirement!=null) {
+ HashSet<DataSubject> dataSubjectList=new HashSet<>();
+ for (PersonalData personalData : processRequirement.getPersonaldata()) {
+ dataSubjectList.addAll(personalData.getRelatedTo());
+ }
+ for (DataSubject dataSubject : dataSubjectList) {
+ index++;
+ String id = prefix+index;
+ Command cmd=new LawfulRequirementCreateCommand(domain, lookForGeneratedrequirementPackage(owner), id, "",processRequirement, dataSubject);
+ compoundCommand.append(cmd);
+ index++;
+ id = prefix+index;
+ cmd=new FairlyRequirementCreateCommand(domain, lookForGeneratedrequirementPackage(owner), id, "",processRequirement, dataSubject);
+ compoundCommand.append(cmd);
+ index++;
+ id = prefix+index;
+ cmd=new TransparentRequirementCreateCommand(domain, lookForGeneratedrequirementPackage(owner), id, "",processRequirement, dataSubject);
+ compoundCommand.append(cmd);
+ }
+
+
+ }
+ }
+
+ }
+ return compoundCommand;
+ }
+
+ protected Package lookForGeneratedrequirementPackage(Package owner) {
+ Iterator<EObject> iterator=owner.eAllContents();
+ while (iterator.hasNext()) {
+ EObject eObject = (EObject) iterator.next();
+ if( eObject instanceof Package) {
+ NamedElement namedElement= (NamedElement)eObject;
+ GeneratedRequirements generatedRequirements= (GeneratedRequirements)UMLUtil.getStereotypeApplication(namedElement, GeneratedRequirements.class);
+ if (generatedRequirements!=null) {
+ return (Package) namedElement;
+ }
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public Command generateArticle51b(TransactionalEditingDomain domain, Package owner) {
+ //purpose Limitation
+ CompoundCommand compoundCommand= new CompoundCommand();
+ Iterator<EObject> iterator=owner.eAllContents();
+
+ while (iterator.hasNext()) {
+ EObject eObject = (EObject) iterator.next();
+ if( eObject instanceof NamedElement) {
+ NamedElement namedElement= (NamedElement)eObject;
+ PersonalData personalData= (PersonalData)UMLUtil.getStereotypeApplication(namedElement, PersonalData.class);
+ if (personalData!=null) {
+ for (org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process processElement : personalData.getProcessedBy()) {
+ Purpose purpose=processElement.getContributedTo();
+ index++;
+ String id = prefix+index;
+ Command cmd=new PurposeLimitationCreateCommand(domain, lookForGeneratedrequirementPackage(owner), id, "",personalData, purpose);
+ compoundCommand.append(cmd);
+ }
+ }
+ }
+ }
+ return compoundCommand;
+ }
+
+ @Override
+ public Command generateArticle51d(TransactionalEditingDomain domain, Package owner) {
+ //accuracy
+ CompoundCommand compoundCommand= new CompoundCommand();
+ Iterator<EObject> iterator=owner.eAllContents();
+
+ while (iterator.hasNext()) {
+ EObject eObject = (EObject) iterator.next();
+ if( eObject instanceof NamedElement) {
+ NamedElement namedElement= (NamedElement)eObject;
+ PersonalData personalData= (PersonalData)UMLUtil.getStereotypeApplication(namedElement, PersonalData.class);
+ if (personalData!=null) {
+ for (org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process processElement : personalData.getProcessedBy()) {
+ Purpose purpose=processElement.getContributedTo();
+ index++;
+ String id = prefix+index;
+ Command cmd=new AccuracyCreateCommand(domain, lookForGeneratedrequirementPackage(owner), id, "",personalData, purpose);
+ compoundCommand.append(cmd);
+ }
+ }
+ }
+ }
+ return compoundCommand;
+ }
+
+ @Override
+ public Command generateArticle51e(TransactionalEditingDomain domain, Package owner) {
+ // storage limitation
+ CompoundCommand compoundCommand= new CompoundCommand();
+ Iterator<EObject> iterator=owner.eAllContents();
+
+ while (iterator.hasNext()) {
+ EObject eObject = (EObject) iterator.next();
+ if( eObject instanceof NamedElement) {
+ NamedElement namedElement= (NamedElement)eObject;
+ PersonalData personalData= (PersonalData)UMLUtil.getStereotypeApplication(namedElement, PersonalData.class);
+ if (personalData!=null) {
+ for (org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process processElement : personalData.getProcessedBy()) {
+ Purpose purpose=processElement.getContributedTo();
+ index++;
+ String id = prefix+index;
+ Command cmd=new StorageLimitationCreateCommand(domain, lookForGeneratedrequirementPackage(owner), id, "",personalData, purpose);
+ compoundCommand.append(cmd);
+ }
+ }
+ }
+ }
+ return compoundCommand;
+ }
+
+ @Override
+ public Command generateArticle51f(TransactionalEditingDomain domain, Package owner) {
+ // integrity confidentiality
+ CompoundCommand compoundCommand= new CompoundCommand();
+ Iterator<EObject> iterator=owner.eAllContents();
+
+ while (iterator.hasNext()) {
+ EObject eObject = (EObject) iterator.next();
+ if( eObject instanceof NamedElement) {
+ NamedElement namedElement= (NamedElement)eObject;
+ ProcessRequirement processRequirement= (ProcessRequirement)UMLUtil.getStereotypeApplication(namedElement, ProcessRequirement.class);
+ if (processRequirement!=null) {
+ HashSet<DataSubject> dataSubjectList=new HashSet<>();
+ for (PersonalData personalData : processRequirement.getPersonaldata()) {
+ dataSubjectList.addAll(personalData.getRelatedTo());
+ }
+ for (DataSubject dataSubject : dataSubjectList) {
+ index++;
+ String id = prefix+index;
+ Command cmd=new SecuritySafetyRequirementCreateCommand(domain, lookForGeneratedrequirementPackage(owner), id, "",processRequirement, dataSubject);
+ compoundCommand.append(cmd);
+
+ }
+
+
+ }
+ }
+
+ }
+ return compoundCommand;
+ }
+
+ @Override
+ public Command generateArticle51c(TransactionalEditingDomain domain, Package owner) {
+ // data minimisation
+ CompoundCommand compoundCommand= new CompoundCommand();
+ Iterator<EObject> iterator=owner.eAllContents();
+
+ while (iterator.hasNext()) {
+ EObject eObject = (EObject) iterator.next();
+ if( eObject instanceof NamedElement) {
+ NamedElement namedElement= (NamedElement)eObject;
+ PersonalData personalData= (PersonalData)UMLUtil.getStereotypeApplication(namedElement, PersonalData.class);
+ if (personalData!=null) {
+ for (org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process processElement : personalData.getProcessedBy()) {
+ Purpose purpose=processElement.getContributedTo();
+ index++;
+ String id = prefix+index;
+ Command cmd=new DataMinimizationCreateCommand(domain, lookForGeneratedrequirementPackage(owner), id, "",personalData, purpose);
+ compoundCommand.append(cmd);
+ }
+ }
+ }
+ }
+ return compoundCommand;
+ }
+}
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/src/org/eclipse/pdp4eng/req/gdprananalysis/internal/SecuritySafetyRequirementCreateCommand.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/src/org/eclipse/pdp4eng/req/gdprananalysis/internal/SecuritySafetyRequirementCreateCommand.java
new file mode 100644
index 0000000..fd89a5a
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/src/org/eclipse/pdp4eng/req/gdprananalysis/internal/SecuritySafetyRequirementCreateCommand.java
@@ -0,0 +1,76 @@
+/*****************************************************************************
+* 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.pdp4eng.req.gdprananalysis.internal;
+
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are the property of the CEA.
+ * Any use is subject to specific agreement with the CEA.
+ * Contributors:
+ *
+ * Patrick Tessier (CEA LIST) - Initial API and implementation
+ *
+ */
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.papyrus.sysml14.requirements.Requirement;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.util.UMLUtil;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData;
+import org.eclipse.papyrus.pdp4eng.req.metareq.GDPRRequirements;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalDataRequirement;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.ProcessRequirement;
+
+public class SecuritySafetyRequirementCreateCommand extends BasicRequirementCreateCommand {
+
+ private ProcessRequirement processRequirement;
+ private DataSubject dataSubject;
+ public SecuritySafetyRequirementCreateCommand(TransactionalEditingDomain domain, Element owner, String id, String text,ProcessRequirement processRequirement, DataSubject dataSubject) {
+ super(domain, owner, id, text);
+ this.processRequirement= processRequirement;
+ this.dataSubject= dataSubject;
+ }
+
+ @Override
+ protected void createRequirement(Package owner, String id, String text) {
+ super.createRequirement(owner, id, text);
+ if( requirement!=null) {
+ StereotypeApplicationHelper stereotypeApplicationHelper = StereotypeApplicationHelper.getInstance(null);
+ stereotypeApplicationHelper.applyStereotype(requirement,pdp4engReqGDPRPackage.eINSTANCE.getSecuritySafety(),null );
+ org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.SecuritySafety securitySafety= (org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.SecuritySafety)UMLUtil.getStereotypeApplication(requirement, org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.SecuritySafety.class);
+ securitySafety.setProcess(processRequirement);
+ for (PersonalData personalData : processRequirement.getPersonaldata()) {
+ securitySafety.getPersonalData().add((PersonalDataRequirement) personalData);
+ }
+ securitySafety.setDataSubject(this.dataSubject);
+ GDPRRequirements gdprRrequiement= new GDPRRequirements();
+ Requirement reqStereotypeAppli= (Requirement)UMLUtil.getStereotypeApplication(requirement, Requirement.class);
+ reqStereotypeAppli.setText(""+gdprRrequiement.getDescriptionForSecuritySafety(securitySafety));
+
+
+ }
+
+
+ }
+
+
+}
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/src/org/eclipse/pdp4eng/req/gdprananalysis/internal/StorageLimitationCreateCommand.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/src/org/eclipse/pdp4eng/req/gdprananalysis/internal/StorageLimitationCreateCommand.java
new file mode 100644
index 0000000..ae21f51
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/src/org/eclipse/pdp4eng/req/gdprananalysis/internal/StorageLimitationCreateCommand.java
@@ -0,0 +1,69 @@
+/*****************************************************************************
+* Copyright (c)2020 CEA LIST, Committer Name, and others.
+*
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License 2.0
+* which accompanies this distribution, and is available at
+* https://www.eclipse.org/legal/epl-2.0/
+*
+* SPDX-License-Identifier: EPL-2.0
+*
+* Contributors:
+* CEA LIST - Initial API and implementation
+* Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+* Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+*****************************************************************************/
+package org.eclipse.pdp4eng.req.gdprananalysis.internal;
+
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are the property of the CEA.
+ * Any use is subject to specific agreement with the CEA.
+ * Contributors:
+ *
+ * Patrick Tessier (CEA LIST) - Initial API and implementation
+ *
+ */
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.papyrus.sysml14.requirements.Requirement;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.util.UMLUtil;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Purpose;
+import org.eclipse.papyrus.pdp4eng.req.metareq.GDPRRequirements;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+
+public class StorageLimitationCreateCommand extends BasicRequirementCreateCommand {
+
+ private PersonalData personalData;
+ private Purpose purpose;
+ public StorageLimitationCreateCommand(TransactionalEditingDomain domain, Element owner, String id, String text,PersonalData personalData,Purpose purpose) {
+ super(domain, owner, id, text);
+ this.personalData= personalData;
+ this.purpose= purpose;
+ }
+
+ @Override
+ protected void createRequirement(Package owner, String id, String text) {
+ super.createRequirement(owner, id, text);
+ if( requirement!=null) {
+ StereotypeApplicationHelper stereotypeApplicationHelper = StereotypeApplicationHelper.getInstance(null);
+ stereotypeApplicationHelper.applyStereotype(requirement,pdp4engReqGDPRPackage.eINSTANCE.getStorageLimitation(),null );
+ org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.StorageLimitation storageLimitation=(org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.StorageLimitation)UMLUtil.getStereotypeApplication(requirement, org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.StorageLimitation.class);
+ storageLimitation.setPersonalData(personalData);
+ storageLimitation.setPurpose(purpose);
+ GDPRRequirements gdprRrequiement= new GDPRRequirements();
+ Requirement reqStereotypeAppli= (Requirement)UMLUtil.getStereotypeApplication(requirement, Requirement.class);
+ reqStereotypeAppli.setText(""+gdprRrequiement.getDescriptionForStorageLimitation(storageLimitation));
+ }
+
+
+ }
+
+
+}
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/src/org/eclipse/pdp4eng/req/gdprananalysis/internal/TransparentRequirementCreateCommand.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/src/org/eclipse/pdp4eng/req/gdprananalysis/internal/TransparentRequirementCreateCommand.java
new file mode 100644
index 0000000..630835a
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.gdprananalysis/src/org/eclipse/pdp4eng/req/gdprananalysis/internal/TransparentRequirementCreateCommand.java
@@ -0,0 +1,76 @@
+/*****************************************************************************
+* 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.pdp4eng.req.gdprananalysis.internal;
+
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are the property of the CEA.
+ * Any use is subject to specific agreement with the CEA.
+ * Contributors:
+ *
+ * Patrick Tessier (CEA LIST) - Initial API and implementation
+ *
+ */
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData;
+import org.eclipse.papyrus.pdp4eng.req.metareq.GDPRRequirements;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalDataRequirement;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.ProcessRequirement;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+import org.eclipse.papyrus.sysml14.requirements.Requirement;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.util.UMLUtil;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+
+
+public class TransparentRequirementCreateCommand extends BasicRequirementCreateCommand {
+
+ private ProcessRequirement processRequirement;
+ private DataSubject dataSubject;
+ public TransparentRequirementCreateCommand(TransactionalEditingDomain domain, Element owner, String id, String text,ProcessRequirement processRequirement, DataSubject dataSubject) {
+ super(domain, owner, id, text);
+ this.processRequirement= processRequirement;
+ this.dataSubject= dataSubject;
+ }
+
+ @Override
+ protected void createRequirement(Package owner, String id, String text) {
+ super.createRequirement(owner, id, text);
+ if( requirement!=null) {
+ StereotypeApplicationHelper stereotypeApplicationHelper = StereotypeApplicationHelper.getInstance(null);
+ stereotypeApplicationHelper.applyStereotype(requirement,pdp4engReqGDPRPackage.eINSTANCE.getTransparency(),null );
+ org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Transparency transparency= (org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Transparency)UMLUtil.getStereotypeApplication(requirement, org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Transparency.class);
+ transparency.setProcess(processRequirement);
+ for (PersonalData personalData : processRequirement.getPersonaldata()) {
+ transparency.getPersonalData().add((PersonalDataRequirement) personalData);
+ }
+ transparency.setDataSubject(this.dataSubject);
+ GDPRRequirements gdprRrequiement= new GDPRRequirements();
+ Requirement reqStereotypeAppli= (Requirement)UMLUtil.getStereotypeApplication(requirement, Requirement.class);
+ reqStereotypeAppli.setText(""+gdprRrequiement.getDescriptionForTransparentRequirement(transparency));
+
+
+ }
+
+
+ }
+
+
+}
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.metareq/.classpath b/plugins/req/org.eclipse.papyrus.pdp4eng.req.metareq/.classpath
new file mode 100644
index 0000000..428337e
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.metareq/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="src" path="xtend-gen"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.metareq/.project b/plugins/req/org.eclipse.papyrus.pdp4eng.req.metareq/.project
new file mode 100644
index 0000000..d38ae19
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.metareq/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.pdp4eng.req.metareq</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <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>
+ <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.metareq/.settings/org.eclipse.jdt.core.prefs b/plugins/req/org.eclipse.papyrus.pdp4eng.req.metareq/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0c68a61
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.metareq/.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/req/org.eclipse.papyrus.pdp4eng.req.metareq/META-INF/MANIFEST.MF b/plugins/req/org.eclipse.papyrus.pdp4eng.req.metareq/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..dfc523e
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.metareq/META-INF/MANIFEST.MF
@@ -0,0 +1,17 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.pdp4eng.req.metareq;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Vendor: %providerName
+Automatic-Module-Name: org.eclipse.papyrus.pdp4eng.req.metareq
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: com.google.guava;bundle-version="[27.1.0,28.0.0)",
+ org.eclipse.xtext.xbase.lib;bundle-version="[2.21.0,3.0.0)",
+ org.eclipse.xtend.lib;bundle-version="[2.21.0,3.0.0)",
+ org.eclipse.xtend.lib.macro;bundle-version="[2.21.0,3.0.0)",
+ org.eclipse.papyrus.pdp4eng.req.profile;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.papyrus.requirements.sysml14.assistant.commands;bundle-version="[0.8.0,1.0.0)"
+Export-Package: org.eclipse.papyrus.pdp4eng.req.metareq
+Bundle-ActivationPolicy: lazy
+Bundle-Localization: plugin
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.metareq/about.html b/plugins/req/org.eclipse.papyrus.pdp4eng.req.metareq/about.html
new file mode 100644
index 0000000..3e183aa
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.metareq/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 ("Content"). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 2.0 ("EPL"). 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, "Program" 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 ("Redistributor") 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/req/org.eclipse.papyrus.pdp4eng.req.metareq/build.properties b/plugins/req/org.eclipse.papyrus.pdp4eng.req.metareq/build.properties
new file mode 100644
index 0000000..6c1e893
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.metareq/build.properties
@@ -0,0 +1,6 @@
+source.. = src/,\
+ xtend-gen
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ build.properties
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.metareq/plugin.properties b/plugins/req/org.eclipse.papyrus.pdp4eng.req.metareq/plugin.properties
new file mode 100644
index 0000000..08e0d14
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.metareq/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 Req metareq
+providerName = Eclipse Modeling Project
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.metareq/pom.xml b/plugins/req/org.eclipse.papyrus.pdp4eng.req.metareq/pom.xml
new file mode 100644
index 0000000..07e9e81
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.metareq/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.req.artifact</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>org.eclipse.papyrus.pdp4eng.req.metareq</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+
+</project>
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.metareq/src/org/eclipse/papyrus/pdp4eng/req/metareq/GDPRRequirements.xtend b/plugins/req/org.eclipse.papyrus.pdp4eng.req.metareq/src/org/eclipse/papyrus/pdp4eng/req/metareq/GDPRRequirements.xtend
new file mode 100644
index 0000000..518866a
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.metareq/src/org/eclipse/papyrus/pdp4eng/req/metareq/GDPRRequirements.xtend
@@ -0,0 +1,103 @@
+/*****************************************************************************
+* Copyright (c)2020 CEA LIST, Committer Name, and others.
+*
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License 2.0
+* which accompanies this distribution, and is available at
+* https://www.eclipse.org/legal/epl-2.0/
+*
+* SPDX-License-Identifier: EPL-2.0
+*
+* Contributors:
+* CEA LIST - Initial API and implementation
+* Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+* Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+*****************************************************************************/
+package org.eclipse.papyrus.pdp4eng.req.metareq
+
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Fairly
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Lawful
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.ProcessPrinciple
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Transparency
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PurposeLimitation
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Accuracy
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.StorageLimitation
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.SecuritySafety
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataMinimisation
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByConsent
+
+class GDPRRequirements {
+ /**
+ * get Description for lawfull requirements from rticle5.1
+ */
+ def getDescriptionForLawfulRequirement(Lawful lawful){
+ '''IF process "«lawful.process.base_NamedElement.name»" processes "«getPersonalDataFromProcess(lawful)»" of "«lawful.dataSubject.base_NamedElement.name»" THEN the Process "«lawful.process.base_NamedElement.name»" shall be lawfull.'''
+ }
+
+
+ def getDescriptionForLawfulByConsent(LawfulByConsent lawfulByConsent){
+ '''Processing "«lawfulByConsent.process.base_NamedElement.name»" shall be lawful if the data subject "«lawfulByConsent.dataSubject.base_NamedElement.name»" has given consent "«lawfulByConsent.consent.base_NamedElement.name»" to the processing of his or her personal data "«getPersonalDataFromProcess(lawfulByConsent)»" for one or more specific purposes «lawfulByConsent.process.contributedTo.base_NamedElement.name»'''
+ }
+
+
+ /**
+ * get Description for fairly requirements from article5.1
+ */
+ def getDescriptionForFairlyRequirement(Fairly fairly){
+
+ '''IF process "«fairly.process.base_NamedElement.name»" processes "«getPersonalDataFromProcess(fairly)»" of "«fairly.dataSubject.base_NamedElement.name»" THEN the Process "«fairly.process.base_NamedElement.name»" shall be fairly.'''
+ }
+ /**
+ * get Description for transparent requirements from article5.1
+ */
+ def getDescriptionForTransparentRequirement(Transparency transparency){
+
+ '''IF process "«transparency.process.base_NamedElement.name»" processes "«getPersonalDataFromProcess(transparency)»" of "«transparency.dataSubject.base_NamedElement.name»" THEN the Process "«transparency.process.base_NamedElement.name»" shall be transparent.'''
+ }
+ /**
+ * get Description for transparent requirements from article5.1.b
+ */
+ def getDescriptionForPurposeLimitation(PurposeLimitation purposeLimitation){
+
+ '''The purpose "«purposeLimitation.purpose.base_NamedElement.name»" of the PersonalData "«purposeLimitation.personalData.base_NamedElement.name»" shall be specified, explicit, legimate, and compatible.'''
+ }
+
+ /**
+ * get Description for transparent requirements from article5.1.c
+ */
+ def getDescriptionForDataMinimisation(DataMinimisation dataMinimisation){
+
+ '''Personal Data "«dataMinimisation.personalData.base_NamedElement.name»" shall be adequate, relevant and limited to what is necessary in relation to the purpose "«dataMinimisation.purpose.base_NamedElement.name»" for which they are processed'''
+ }
+ /**
+ * get Description for transparent requirements from article5.1.d
+ */
+ def getDescriptionForAccurate(Accuracy accuracy){
+ '''Personal Data "«accuracy.personalData.base_NamedElement.name»" shall be accurate and, where necessary, kept up to date. If personal data "«accuracy.personalData.base_NamedElement.name»" are inaccurate, having regard to the purposes "«accuracy.purpose.base_NamedElement.name»" for which they are processed, it shall erased or rectified without delay.'''
+ }
+ /**
+ * get Description for transparent requirements from article5.1.e
+ */
+ def getDescriptionForStorageLimitation(StorageLimitation storageLimitation){
+ '''Personal Data "«storageLimitation.personalData.base_NamedElement.name»" shall be kept in a form which permits identification of data subject "«storageLimitation.personalData.relatedTo.get(0).base_NamedElement.name»" for no longer than is necessary for the purpose "«storageLimitation.purpose.base_NamedElement.name»" for which the personal data are processed'''
+
+ }
+
+ /**
+ * get Description for transparent requirements from article5.1.e
+ */
+ def getDescriptionForSecuritySafety(SecuritySafety securitySafety){
+ '''Personal Data «getPersonalDataFromProcess(securitySafety)» shall be processed in a manner that ensures appropriate security. '''
+ }
+
+ def getPersonalDataFromProcess(ProcessPrinciple ProcessPrinciple){
+ var result = ""
+
+ for (element : ProcessPrinciple.personalData) {
+ result=result+ element.base_NamedElement.name+" ";
+ }
+ return result
+ }
+
+
+}
\ No newline at end of file
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.metareq/xtend-gen/org/eclipse/papyrus/pdp4eng/req/metareq/GDPRRequirements.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.metareq/xtend-gen/org/eclipse/papyrus/pdp4eng/req/metareq/GDPRRequirements.java
new file mode 100644
index 0000000..407d548
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.metareq/xtend-gen/org/eclipse/papyrus/pdp4eng/req/metareq/GDPRRequirements.java
@@ -0,0 +1,206 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ */
+package org.eclipse.papyrus.pdp4eng.req.metareq;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Accuracy;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataMinimisation;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Fairly;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Lawful;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByConsent;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalDataRequirement;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.ProcessPrinciple;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PurposeLimitation;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.SecuritySafety;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.StorageLimitation;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Transparency;
+import org.eclipse.xtend2.lib.StringConcatenation;
+
+@SuppressWarnings("all")
+public class GDPRRequirements {
+ /**
+ * get Description for lawfull requirements from rticle5.1
+ */
+ public CharSequence getDescriptionForLawfulRequirement(final Lawful lawful) {
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("IF process \"");
+ String _name = lawful.getProcess().getBase_NamedElement().getName();
+ _builder.append(_name);
+ _builder.append("\" processes \"");
+ String _personalDataFromProcess = this.getPersonalDataFromProcess(lawful);
+ _builder.append(_personalDataFromProcess);
+ _builder.append("\" of \"");
+ String _name_1 = lawful.getDataSubject().getBase_NamedElement().getName();
+ _builder.append(_name_1);
+ _builder.append("\" THEN the Process \"");
+ String _name_2 = lawful.getProcess().getBase_NamedElement().getName();
+ _builder.append(_name_2);
+ _builder.append("\" shall be lawfull.");
+ return _builder;
+ }
+
+ public CharSequence getDescriptionForLawfulByConsent(final LawfulByConsent lawfulByConsent) {
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("Processing \"");
+ String _name = lawfulByConsent.getProcess().getBase_NamedElement().getName();
+ _builder.append(_name);
+ _builder.append("\" shall be lawful if the data subject \"");
+ String _name_1 = lawfulByConsent.getDataSubject().getBase_NamedElement().getName();
+ _builder.append(_name_1);
+ _builder.append("\" has given consent \"");
+ String _name_2 = lawfulByConsent.getConsent().getBase_NamedElement().getName();
+ _builder.append(_name_2);
+ _builder.append("\" to the processing of his or her personal data \"");
+ String _personalDataFromProcess = this.getPersonalDataFromProcess(lawfulByConsent);
+ _builder.append(_personalDataFromProcess);
+ _builder.append("\" for one or more specific purposes ");
+ String _name_3 = lawfulByConsent.getProcess().getContributedTo().getBase_NamedElement().getName();
+ _builder.append(_name_3);
+ return _builder;
+ }
+
+ /**
+ * get Description for fairly requirements from article5.1
+ */
+ public CharSequence getDescriptionForFairlyRequirement(final Fairly fairly) {
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("IF process \"");
+ String _name = fairly.getProcess().getBase_NamedElement().getName();
+ _builder.append(_name);
+ _builder.append("\" processes \"");
+ String _personalDataFromProcess = this.getPersonalDataFromProcess(fairly);
+ _builder.append(_personalDataFromProcess);
+ _builder.append("\" of \"");
+ String _name_1 = fairly.getDataSubject().getBase_NamedElement().getName();
+ _builder.append(_name_1);
+ _builder.append("\" THEN the Process \"");
+ String _name_2 = fairly.getProcess().getBase_NamedElement().getName();
+ _builder.append(_name_2);
+ _builder.append("\" shall be fairly.");
+ return _builder;
+ }
+
+ /**
+ * get Description for transparent requirements from article5.1
+ */
+ public CharSequence getDescriptionForTransparentRequirement(final Transparency transparency) {
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("IF process \"");
+ String _name = transparency.getProcess().getBase_NamedElement().getName();
+ _builder.append(_name);
+ _builder.append("\" processes \"");
+ String _personalDataFromProcess = this.getPersonalDataFromProcess(transparency);
+ _builder.append(_personalDataFromProcess);
+ _builder.append("\" of \"");
+ String _name_1 = transparency.getDataSubject().getBase_NamedElement().getName();
+ _builder.append(_name_1);
+ _builder.append("\" THEN the Process \"");
+ String _name_2 = transparency.getProcess().getBase_NamedElement().getName();
+ _builder.append(_name_2);
+ _builder.append("\" shall be transparent.");
+ return _builder;
+ }
+
+ /**
+ * get Description for transparent requirements from article5.1.b
+ */
+ public CharSequence getDescriptionForPurposeLimitation(final PurposeLimitation purposeLimitation) {
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("The purpose \"");
+ String _name = purposeLimitation.getPurpose().getBase_NamedElement().getName();
+ _builder.append(_name);
+ _builder.append("\" of the PersonalData \"");
+ String _name_1 = purposeLimitation.getPersonalData().getBase_NamedElement().getName();
+ _builder.append(_name_1);
+ _builder.append("\" shall be specified, explicit, legimate, and compatible.");
+ return _builder;
+ }
+
+ /**
+ * get Description for transparent requirements from article5.1.c
+ */
+ public CharSequence getDescriptionForDataMinimisation(final DataMinimisation dataMinimisation) {
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("Personal Data \"");
+ String _name = dataMinimisation.getPersonalData().getBase_NamedElement().getName();
+ _builder.append(_name);
+ _builder.append("\" shall be adequate, relevant and limited to what is necessary in relation to the purpose \"");
+ String _name_1 = dataMinimisation.getPurpose().getBase_NamedElement().getName();
+ _builder.append(_name_1);
+ _builder.append("\" for which they are processed");
+ return _builder;
+ }
+
+ /**
+ * get Description for transparent requirements from article5.1.d
+ */
+ public CharSequence getDescriptionForAccurate(final Accuracy accuracy) {
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("Personal Data \"");
+ String _name = accuracy.getPersonalData().getBase_NamedElement().getName();
+ _builder.append(_name);
+ _builder.append("\" shall be accurate and, where necessary, kept up to date. If personal data \"");
+ String _name_1 = accuracy.getPersonalData().getBase_NamedElement().getName();
+ _builder.append(_name_1);
+ _builder.append("\" are inaccurate, having regard to the purposes \"");
+ String _name_2 = accuracy.getPurpose().getBase_NamedElement().getName();
+ _builder.append(_name_2);
+ _builder.append("\" for which they are processed, it shall erased or rectified without delay.");
+ return _builder;
+ }
+
+ /**
+ * get Description for transparent requirements from article5.1.e
+ */
+ public CharSequence getDescriptionForStorageLimitation(final StorageLimitation storageLimitation) {
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("Personal Data \"");
+ String _name = storageLimitation.getPersonalData().getBase_NamedElement().getName();
+ _builder.append(_name);
+ _builder.append("\" shall be kept in a form which permits identification of data subject \"");
+ String _name_1 = storageLimitation.getPersonalData().getRelatedTo().get(0).getBase_NamedElement().getName();
+ _builder.append(_name_1);
+ _builder.append("\" for no longer than is necessary for the purpose \"");
+ String _name_2 = storageLimitation.getPurpose().getBase_NamedElement().getName();
+ _builder.append(_name_2);
+ _builder.append("\" for which the personal data are processed");
+ return _builder;
+ }
+
+ /**
+ * get Description for transparent requirements from article5.1.e
+ */
+ public CharSequence getDescriptionForSecuritySafety(final SecuritySafety securitySafety) {
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("Personal Data ");
+ String _personalDataFromProcess = this.getPersonalDataFromProcess(securitySafety);
+ _builder.append(_personalDataFromProcess);
+ _builder.append(" shall be processed in a manner that ensures appropriate security. ");
+ return _builder;
+ }
+
+ public String getPersonalDataFromProcess(final ProcessPrinciple ProcessPrinciple) {
+ String result = "";
+ EList<PersonalDataRequirement> _personalData = ProcessPrinciple.getPersonalData();
+ for (final PersonalDataRequirement element : _personalData) {
+ String _name = element.getBase_NamedElement().getName();
+ String _plus = (result + _name);
+ String _plus_1 = (_plus + " ");
+ result = _plus_1;
+ }
+ return result;
+ }
+}
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/.classpath b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/.classpath
new file mode 100644
index 0000000..eca7bdb
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.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"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/.project b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/.project
new file mode 100644
index 0000000..78c77f5
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.pdp4eng.req.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/req/org.eclipse.papyrus.pdp4eng.req.profile/.settings/org.eclipse.jdt.core.prefs b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0c68a61
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.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/req/org.eclipse.papyrus.pdp4eng.req.profile/META-INF/MANIFEST.MF b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..22114b3
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/META-INF/MANIFEST.MF
@@ -0,0 +1,19 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.pdp4eng.req.profile;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Automatic-Module-Name: org.eclipse.papyrus.pdp4eng.req.profile
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.18.0,4.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.22.0,3.0.0)";visibility:=reexport,
+ org.eclipse.uml2.types;bundle-version="[2.5.0,3.0.0)";visibility:=reexport,
+ org.eclipse.uml2.uml;bundle-version="[5.5.0,6.0.0)";visibility:=reexport,
+ org.eclipse.papyrus.pdp4eng.common.profile;bundle-version="[1.0.0,2.0.0)";visibility:=reexport
+Bundle-ActivationPolicy: lazy
+Export-Package: org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR,
+ org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl,
+ org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.util
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/about.html b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/about.html
new file mode 100644
index 0000000..3e183aa
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.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 ("Content"). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 2.0 ("EPL"). 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, "Program" 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 ("Redistributor") 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/req/org.eclipse.papyrus.pdp4eng.req.profile/build.properties b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/build.properties
new file mode 100644
index 0000000..bcfc6fd
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/build.properties
@@ -0,0 +1,8 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ model/,\
+ plugin.xml,\
+ plugin.properties,\
+ build.properties
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/model/pdp4engReqGDPR.ecore b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/model/pdp4engReqGDPR.ecore
new file mode 100644
index 0000000..3a34dec
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/model/pdp4engReqGDPR.ecore
@@ -0,0 +1,204 @@
+<?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="pdp4engReqGDPR" nsURI="http://org.eclipse.papyrus.pdp4eng.req.profile"
+ nsPrefix="pdp4engReqGDPR">
+ <eClassifiers xsi:type="ecore:EClass" name="ProcessRequirement" eSuperTypes="../../org.eclipse.papyrus.pdp4eng.common.profile/model/pdp4engCommonGDPR.ecore#//Process">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="requester" ordered="false"
+ upperBound="-1" eType="#//Stakeholder"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Stakeholder">
+ <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="PersonalDataRequirement" eSuperTypes="../../org.eclipse.papyrus.pdp4eng.common.profile/model/pdp4engCommonGDPR.ecore#//PersonalData">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="source" ordered="false"
+ lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Element"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="GDPRPrinciple">
+ <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="ProcessPrinciple" eSuperTypes="#//GDPRPrinciple">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="process" ordered="false"
+ lowerBound="1" eType="#//ProcessRequirement"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="dataSubject" ordered="false"
+ lowerBound="1" eType="ecore:EClass ../../org.eclipse.papyrus.pdp4eng.common.profile/model/pdp4engCommonGDPR.ecore#//DataSubject"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="personalData" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//PersonalDataRequirement"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PurposePersonalDataPrinciple" eSuperTypes="#//GDPRPrinciple">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="purpose" ordered="false"
+ lowerBound="1" eType="ecore:EClass ../../org.eclipse.papyrus.pdp4eng.common.profile/model/pdp4engCommonGDPR.ecore#//Purpose"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="personalData" ordered="false"
+ lowerBound="1" eType="ecore:EClass ../../org.eclipse.papyrus.pdp4eng.common.profile/model/pdp4engCommonGDPR.ecore#//PersonalData"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DataMinimisation" eSuperTypes="#//PurposePersonalDataPrinciple"/>
+ <eClassifiers xsi:type="ecore:EClass" name="PurposeLimitation" eSuperTypes="#//PurposePersonalDataPrinciple"/>
+ <eClassifiers xsi:type="ecore:EClass" name="Accuracy" eSuperTypes="#//PurposePersonalDataPrinciple"/>
+ <eClassifiers xsi:type="ecore:EClass" name="StorageLimitation" eSuperTypes="#//PurposePersonalDataPrinciple"/>
+ <eClassifiers xsi:type="ecore:EClass" name="Lawful" eSuperTypes="#//ProcessPrinciple"/>
+ <eClassifiers xsi:type="ecore:EClass" name="Fairly" eSuperTypes="#//ProcessPrinciple"/>
+ <eClassifiers xsi:type="ecore:EClass" name="Transparency" eSuperTypes="#//ProcessPrinciple"/>
+ <eClassifiers xsi:type="ecore:EClass" name="SecuritySafety" eSuperTypes="#//ProcessPrinciple"/>
+ <eClassifiers xsi:type="ecore:EClass" name="RelatedTo">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="sensitive" ordered="false"
+ lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="linkability" ordered="false"
+ lowerBound="1" eType="#//Linkability"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="collection" ordered="false"
+ lowerBound="1" eType="#//CollectionMethod"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Element" ordered="false"
+ eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Element"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="Linkability">
+ <eLiterals name="Single"/>
+ <eLiterals name="notKnown" value="1"/>
+ <eLiterals name="subgroup" value="2"/>
+ <eLiterals name="anonymous" value="3"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="CollectionMethod">
+ <eLiterals name="direct"/>
+ <eLiterals name="indirect" value="1"/>
+ <eLiterals name="reused" value="2"/>
+ <eLiterals name="external" value="3"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AvailableAt">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="duration" ordered="false"
+ lowerBound="1" eType="#//Duration"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Element" ordered="false"
+ eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Element"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="Duration">
+ <eLiterals name="forAction"/>
+ <eLiterals name="untilDeleted" value="1"/>
+ <eLiterals name="unlimited" value="2"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DerivedFrom">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Element" ordered="false"
+ eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Element"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DataRequirement" eSuperTypes="../../org.eclipse.papyrus.pdp4eng.common.profile/model/pdp4engCommonGDPR.ecore#//Data"/>
+ <eClassifiers xsi:type="ecore:EClass" name="Linkable">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="duration" ordered="false"
+ lowerBound="1" eType="#//Duration"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="linkability" ordered="false"
+ lowerBound="1" eType="#//Linkability"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Element" ordered="false"
+ eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Element"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="GeneratedRequirements">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+ eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DataFlowRequirement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Activity" ordered="false"
+ eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Activity"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DataSubjects">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+ eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DataRequirements">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+ eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AvailableInformation">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+ eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="concerns" ordered="false"
+ lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PersonalInformation">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+ eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="concerns" ordered="false"
+ lowerBound="1" eType="ecore:EClass ../../org.eclipse.papyrus.pdp4eng.common.profile/model/pdp4engCommonGDPR.ecore#//DataSubject"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AvailableInformationContainer">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+ eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PersonalInformationContainer">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+ eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="UnlinkabilityRequirement" eSuperTypes="#//PrivacyRequirement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="linkability" ordered="false"
+ lowerBound="1" eType="#//Linkability"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PrivacyRequirement">
+ <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="dataSubject" ordered="false"
+ lowerBound="1" eType="ecore:EClass ../../org.eclipse.papyrus.pdp4eng.common.profile/model/pdp4engCommonGDPR.ecore#//DataSubject"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="counterstakeholders" ordered="false"
+ upperBound="-1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="personalData" ordered="false"
+ upperBound="-1" eType="ecore:EClass ../../org.eclipse.papyrus.pdp4eng.common.profile/model/pdp4engCommonGDPR.ecore#//PersonalData"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DataUnlinkabilityRequirement" eSuperTypes="#//UnlinkabilityRequirement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="links" ordered="false"
+ upperBound="-1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Controlers">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+ eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Link">
+ <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:EAttribute" name="linkability" ordered="false"
+ lowerBound="1" eType="#//Linkability"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="UndectabilityRequirement" eSuperTypes="#//PrivacyRequirement"/>
+ <eClassifiers xsi:type="ecore:EClass" name="PseudonimityRequirement" eSuperTypes="#//PrivacyRequirement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" ordered="false" lowerBound="1"
+ eType="#//PseudonymKind"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="PseudonymKind">
+ <eLiterals name="Person"/>
+ <eLiterals name="role" value="1"/>
+ <eLiterals name="relationShip" value="2"/>
+ <eLiterals name="roleRelationShip" value="3"/>
+ <eLiterals name="transaction" value="4"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AnanomityRequirement" eSuperTypes="#//UnlinkabilityRequirement"/>
+ <eClassifiers xsi:type="ecore:EClass" name="DataRecordRequirement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_DataStoreNode" ordered="false"
+ eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//DataStoreNode"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="dataList" ordered="false"
+ upperBound="-1" eType="ecore:EClass ../../org.eclipse.papyrus.pdp4eng.common.profile/model/pdp4engCommonGDPR.ecore#//Data"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FunctionalRequirements">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+ eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="NonFunctionalRequirements">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+ eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="LawfulByConsent" eSuperTypes="#//Lawful">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="consent" ordered="false"
+ lowerBound="1" eType="ecore:EClass ../../org.eclipse.papyrus.pdp4eng.common.profile/model/pdp4engCommonGDPR.ecore#//Consent"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="LawfulByContract" eSuperTypes="#//Lawful">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="contract" ordered="false"
+ lowerBound="1" eType="ecore:EClass ../../org.eclipse.papyrus.pdp4eng.common.profile/model/pdp4engCommonGDPR.ecore#//Contract"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="LawfulByPublicInterest" eSuperTypes="#//Lawful">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="publicInterest" ordered="false"
+ lowerBound="1" eType="ecore:EClass ../../org.eclipse.papyrus.pdp4eng.common.profile/model/pdp4engCommonGDPR.ecore#//PublicInterest"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="LawfulByLegitimateInterest" eSuperTypes="#//Lawful">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="legitimateInterest" ordered="false"
+ lowerBound="1" eType="ecore:EClass ../../org.eclipse.papyrus.pdp4eng.common.profile/model/pdp4engCommonGDPR.ecore#//LegitimateInterest"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="LawfulByLegalObligation" eSuperTypes="#//Lawful">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="legalObligation" ordered="false"
+ lowerBound="1" eType="ecore:EClass ../../org.eclipse.papyrus.pdp4eng.common.profile/model/pdp4engCommonGDPR.ecore#//LegalObligation"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="LawfulByVitalInterest" eSuperTypes="#//Lawful">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="vitalInterest" ordered="false"
+ lowerBound="1" eType="ecore:EClass ../../org.eclipse.papyrus.pdp4eng.common.profile/model/pdp4engCommonGDPR.ecore#//VitalInterest"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/model/pdp4engReqGDPR.genmodel b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/model/pdp4engReqGDPR.genmodel
new file mode 100644
index 0000000..cee7e9c
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/model/pdp4engReqGDPR.genmodel
@@ -0,0 +1,228 @@
+<?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.

 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 
"
+ modelDirectory="/org.eclipse.papyrus.pdp4eng.req.profile/src" modelPluginID="org.eclipse.papyrus.pdp4eng.req.profile"
+ modelName="pdp4engReqGDPR" 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.papyrus.pdp4eng.common.profile/model/pdp4engCommonGDPR.genmodel#//pdp4engCommonGDPR ../../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>pdp4engReqGDPR.profile.uml</foreignModel>
+ <genPackages xsi:type="genmodel:GenPackage" prefix="pdp4engReqGDPR" basePackage="org.eclipse.papyrus.pdp4eng.req.profile"
+ disposableProviderFactory="true" ecorePackage="pdp4engReqGDPR.ecore#/">
+ <genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="pdp4engReqGDPR.ecore#//Linkability">
+ <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="pdp4engReqGDPR.ecore#//Linkability/Single"/>
+ <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="pdp4engReqGDPR.ecore#//Linkability/notKnown"/>
+ <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="pdp4engReqGDPR.ecore#//Linkability/subgroup"/>
+ <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="pdp4engReqGDPR.ecore#//Linkability/anonymous"/>
+ </genEnums>
+ <genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="pdp4engReqGDPR.ecore#//CollectionMethod">
+ <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="pdp4engReqGDPR.ecore#//CollectionMethod/direct"/>
+ <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="pdp4engReqGDPR.ecore#//CollectionMethod/indirect"/>
+ <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="pdp4engReqGDPR.ecore#//CollectionMethod/reused"/>
+ <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="pdp4engReqGDPR.ecore#//CollectionMethod/external"/>
+ </genEnums>
+ <genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="pdp4engReqGDPR.ecore#//Duration">
+ <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="pdp4engReqGDPR.ecore#//Duration/forAction"/>
+ <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="pdp4engReqGDPR.ecore#//Duration/untilDeleted"/>
+ <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="pdp4engReqGDPR.ecore#//Duration/unlimited"/>
+ </genEnums>
+ <genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="pdp4engReqGDPR.ecore#//PseudonymKind">
+ <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="pdp4engReqGDPR.ecore#//PseudonymKind/Person"/>
+ <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="pdp4engReqGDPR.ecore#//PseudonymKind/role"/>
+ <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="pdp4engReqGDPR.ecore#//PseudonymKind/relationShip"/>
+ <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="pdp4engReqGDPR.ecore#//PseudonymKind/roleRelationShip"/>
+ <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="pdp4engReqGDPR.ecore#//PseudonymKind/transaction"/>
+ </genEnums>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//ProcessRequirement">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engReqGDPR.ecore#//ProcessRequirement/requester"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//Stakeholder">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engReqGDPR.ecore#//Stakeholder/base_NamedElement"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//PersonalDataRequirement">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engReqGDPR.ecore#//PersonalDataRequirement/source"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//GDPRPrinciple">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engReqGDPR.ecore#//GDPRPrinciple/base_NamedElement"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//ProcessPrinciple">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engReqGDPR.ecore#//ProcessPrinciple/process"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engReqGDPR.ecore#//ProcessPrinciple/dataSubject"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engReqGDPR.ecore#//ProcessPrinciple/personalData"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//PurposePersonalDataPrinciple">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engReqGDPR.ecore#//PurposePersonalDataPrinciple/purpose"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engReqGDPR.ecore#//PurposePersonalDataPrinciple/personalData"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//DataMinimisation"/>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//PurposeLimitation"/>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//Accuracy"/>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//StorageLimitation"/>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//Lawful"/>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//Fairly"/>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//Transparency"/>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//SecuritySafety"/>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//RelatedTo">
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute pdp4engReqGDPR.ecore#//RelatedTo/sensitive"/>
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute pdp4engReqGDPR.ecore#//RelatedTo/linkability"/>
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute pdp4engReqGDPR.ecore#//RelatedTo/collection"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engReqGDPR.ecore#//RelatedTo/base_Element"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//AvailableAt">
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute pdp4engReqGDPR.ecore#//AvailableAt/duration"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engReqGDPR.ecore#//AvailableAt/base_Element"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//DerivedFrom">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engReqGDPR.ecore#//DerivedFrom/base_Element"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//DataRequirement"/>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//Linkable">
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute pdp4engReqGDPR.ecore#//Linkable/duration"/>
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute pdp4engReqGDPR.ecore#//Linkable/linkability"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engReqGDPR.ecore#//Linkable/base_Element"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//GeneratedRequirements">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engReqGDPR.ecore#//GeneratedRequirements/base_Package"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//DataFlowRequirement">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engReqGDPR.ecore#//DataFlowRequirement/base_Activity"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//DataSubjects">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engReqGDPR.ecore#//DataSubjects/base_Package"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//DataRequirements">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engReqGDPR.ecore#//DataRequirements/base_Package"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//AvailableInformation">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engReqGDPR.ecore#//AvailableInformation/base_Package"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engReqGDPR.ecore#//AvailableInformation/concerns"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//PersonalInformation">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engReqGDPR.ecore#//PersonalInformation/base_Package"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engReqGDPR.ecore#//PersonalInformation/concerns"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//AvailableInformationContainer">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engReqGDPR.ecore#//AvailableInformationContainer/base_Package"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//PersonalInformationContainer">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engReqGDPR.ecore#//PersonalInformationContainer/base_Package"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//UnlinkabilityRequirement">
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute pdp4engReqGDPR.ecore#//UnlinkabilityRequirement/linkability"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//PrivacyRequirement">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engReqGDPR.ecore#//PrivacyRequirement/base_NamedElement"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engReqGDPR.ecore#//PrivacyRequirement/dataSubject"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engReqGDPR.ecore#//PrivacyRequirement/counterstakeholders"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engReqGDPR.ecore#//PrivacyRequirement/personalData"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//DataUnlinkabilityRequirement">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engReqGDPR.ecore#//DataUnlinkabilityRequirement/links"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//Controlers">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engReqGDPR.ecore#//Controlers/base_Package"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//Link">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engReqGDPR.ecore#//Link/base_NamedElement"/>
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute pdp4engReqGDPR.ecore#//Link/linkability"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//UndectabilityRequirement"/>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//PseudonimityRequirement">
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute pdp4engReqGDPR.ecore#//PseudonimityRequirement/kind"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//AnanomityRequirement"/>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//DataRecordRequirement">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engReqGDPR.ecore#//DataRecordRequirement/base_DataStoreNode"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engReqGDPR.ecore#//DataRecordRequirement/dataList"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//FunctionalRequirements">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engReqGDPR.ecore#//FunctionalRequirements/base_Package"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//NonFunctionalRequirements">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engReqGDPR.ecore#//NonFunctionalRequirements/base_Package"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//LawfulByConsent">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engReqGDPR.ecore#//LawfulByConsent/consent"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//LawfulByContract">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engReqGDPR.ecore#//LawfulByContract/contract"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//LawfulByPublicInterest">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engReqGDPR.ecore#//LawfulByPublicInterest/publicInterest"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//LawfulByLegitimateInterest">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engReqGDPR.ecore#//LawfulByLegitimateInterest/legitimateInterest"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//LawfulByLegalObligation">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engReqGDPR.ecore#//LawfulByLegalObligation/legalObligation"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="pdp4engReqGDPR.ecore#//LawfulByVitalInterest">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference pdp4engReqGDPR.ecore#//LawfulByVitalInterest/vitalInterest"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/model/pdp4engReqGDPR.profile.di b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/model/pdp4engReqGDPR.profile.di
new file mode 100644
index 0000000..247ed5e
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/model/pdp4engReqGDPR.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/req/org.eclipse.papyrus.pdp4eng.req.profile/model/pdp4engReqGDPR.profile.notation b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/model/pdp4engReqGDPR.profile.notation
new file mode 100644
index 0000000..52becf4
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/model/pdp4engReqGDPR.profile.notation
@@ -0,0 +1,1981 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.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="_pmGPwMQgEemOUp1qx0PUxQ" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_pmG20MQgEemOUp1qx0PUxQ" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_pmG20cQgEemOUp1qx0PUxQ" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_pmG20sQgEemOUp1qx0PUxQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_pmG208QgEemOUp1qx0PUxQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_pmG21MQgEemOUp1qx0PUxQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pmG21cQgEemOUp1qx0PUxQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_pmG21sQgEemOUp1qx0PUxQ" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_pmG218QgEemOUp1qx0PUxQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_pmG22MQgEemOUp1qx0PUxQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_pmG22cQgEemOUp1qx0PUxQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pmG22sQgEemOUp1qx0PUxQ"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_-3IaAKe8EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pmGPwcQgEemOUp1qx0PUxQ" x="120" y="100" width="581"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_pnFHMMQgEemOUp1qx0PUxQ" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_pnGVUMQgEemOUp1qx0PUxQ" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pnFHMcQgEemOUp1qx0PUxQ" x="120" y="20" width="801"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_srCncMQgEemOUp1qx0PUxQ" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_srCncsQgEemOUp1qx0PUxQ" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_srCnc8QgEemOUp1qx0PUxQ" type="Stereotype_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_E2s6MMQhEemOUp1qx0PUxQ" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="pdp4engReqGDPR.profile.uml#_E2JgkMQhEemOUp1qx0PUxQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_E2s6McQhEemOUp1qx0PUxQ"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Wr_gwMQhEemOUp1qx0PUxQ" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="pdp4engReqGDPR.profile.uml#_Wq-0IMQhEemOUp1qx0PUxQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Wr_gwcQhEemOUp1qx0PUxQ"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_caxBcMQhEemOUp1qx0PUxQ" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="pdp4engReqGDPR.profile.uml#_caAzgMQhEemOUp1qx0PUxQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_caxBccQhEemOUp1qx0PUxQ"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_srCndMQgEemOUp1qx0PUxQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_srCndcQgEemOUp1qx0PUxQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_srCndsQgEemOUp1qx0PUxQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_srCnd8QgEemOUp1qx0PUxQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_srDOgMQgEemOUp1qx0PUxQ" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_srDOgcQgEemOUp1qx0PUxQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_srDOgsQgEemOUp1qx0PUxQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_srDOg8QgEemOUp1qx0PUxQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_srDOhMQgEemOUp1qx0PUxQ"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_EMnQ8Ke9EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_srCnccQgEemOUp1qx0PUxQ" x="120" y="260"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_xD7TQMQgEemOUp1qx0PUxQ" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_xD76UMQgEemOUp1qx0PUxQ" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_xD76UcQgEemOUp1qx0PUxQ" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_xD76UsQgEemOUp1qx0PUxQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_xD76U8QgEemOUp1qx0PUxQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_xD76VMQgEemOUp1qx0PUxQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xD76VcQgEemOUp1qx0PUxQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_xD76VsQgEemOUp1qx0PUxQ" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_xD76V8QgEemOUp1qx0PUxQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_xD76WMQgEemOUp1qx0PUxQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_xD76WcQgEemOUp1qx0PUxQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xD76WsQgEemOUp1qx0PUxQ"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_b2rSgKe9EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xD7TQcQgEemOUp1qx0PUxQ" x="120" y="460"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_xx9d8MQgEemOUp1qx0PUxQ" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_xx-FAMQgEemOUp1qx0PUxQ" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_xx-FAcQgEemOUp1qx0PUxQ" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_xx-FAsQgEemOUp1qx0PUxQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_xx-FA8QgEemOUp1qx0PUxQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_xx-FBMQgEemOUp1qx0PUxQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xx-FBcQgEemOUp1qx0PUxQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_xx-sEMQgEemOUp1qx0PUxQ" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_xx-sEcQgEemOUp1qx0PUxQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_xx-sEsQgEemOUp1qx0PUxQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_xx-sE8QgEemOUp1qx0PUxQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xx-sFMQgEemOUp1qx0PUxQ"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_dVmHkKe9EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xx9d8cQgEemOUp1qx0PUxQ" x="240" y="460"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_yi3WcMQgEemOUp1qx0PUxQ" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_yi39gMQgEemOUp1qx0PUxQ" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_yi39gcQgEemOUp1qx0PUxQ" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_yi39gsQgEemOUp1qx0PUxQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_yi39g8QgEemOUp1qx0PUxQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_yi39hMQgEemOUp1qx0PUxQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yi39hcQgEemOUp1qx0PUxQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_yi4kkMQgEemOUp1qx0PUxQ" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_yi4kkcQgEemOUp1qx0PUxQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_yi4kksQgEemOUp1qx0PUxQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_yi4kk8QgEemOUp1qx0PUxQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yi4klMQgEemOUp1qx0PUxQ"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_ej_0YKe9EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yi3WccQgEemOUp1qx0PUxQ" x="360" y="460"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_0oK3oM5IEemMr69mPZbrMQ" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_0oMs0M5IEemMr69mPZbrMQ" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0oMs0c5IEemMr69mPZbrMQ" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0oMs0s5IEemMr69mPZbrMQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0oMs085IEemMr69mPZbrMQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0oMs1M5IEemMr69mPZbrMQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0oMs1c5IEemMr69mPZbrMQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0oMs1s5IEemMr69mPZbrMQ" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0oMs185IEemMr69mPZbrMQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0oMs2M5IEemMr69mPZbrMQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0oMs2c5IEemMr69mPZbrMQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0oMs2s5IEemMr69mPZbrMQ"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_Qykr4Ke9EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0oK3oc5IEemMr69mPZbrMQ" x="500" y="460"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1SqmIM5IEemMr69mPZbrMQ" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_1Su3kM5IEemMr69mPZbrMQ" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1Su3kc5IEemMr69mPZbrMQ" type="Stereotype_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_J0edUM5JEemMr69mPZbrMQ" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="pdp4engReqGDPR.profile.uml#_JzmTkM5JEemMr69mPZbrMQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_J0edUc5JEemMr69mPZbrMQ"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_P_wT0M5JEemMr69mPZbrMQ" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="pdp4engReqGDPR.profile.uml#_P_FlcM5JEemMr69mPZbrMQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_P_wT0c5JEemMr69mPZbrMQ"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1Su3ks5IEemMr69mPZbrMQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1Su3k85IEemMr69mPZbrMQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1Su3lM5IEemMr69mPZbrMQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1Su3lc5IEemMr69mPZbrMQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1SveoM5IEemMr69mPZbrMQ" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1Sveoc5IEemMr69mPZbrMQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1Sveos5IEemMr69mPZbrMQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1Sveo85IEemMr69mPZbrMQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1SvepM5IEemMr69mPZbrMQ"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_IJyRIKe9EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1SqmIc5IEemMr69mPZbrMQ" x="500" y="260"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_3PmM4M5IEemMr69mPZbrMQ" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_3PmM4s5IEemMr69mPZbrMQ" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_3PmM485IEemMr69mPZbrMQ" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_3PmM5M5IEemMr69mPZbrMQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_3PmM5c5IEemMr69mPZbrMQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_3PmM5s5IEemMr69mPZbrMQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3PmM585IEemMr69mPZbrMQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_3Pmz8M5IEemMr69mPZbrMQ" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_3Pmz8c5IEemMr69mPZbrMQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_3Pmz8s5IEemMr69mPZbrMQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_3Pmz885IEemMr69mPZbrMQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3Pmz9M5IEemMr69mPZbrMQ"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_Ntr-kKe9EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3PmM4c5IEemMr69mPZbrMQ" x="860" y="460"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_4IdukM5IEemMr69mPZbrMQ" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_4IeVoM5IEemMr69mPZbrMQ" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_4IeVoc5IEemMr69mPZbrMQ" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_4IeVos5IEemMr69mPZbrMQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_4IeVo85IEemMr69mPZbrMQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_4IeVpM5IEemMr69mPZbrMQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4IeVpc5IEemMr69mPZbrMQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_4IeVps5IEemMr69mPZbrMQ" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_4IeVp85IEemMr69mPZbrMQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_4IeVqM5IEemMr69mPZbrMQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_4IeVqc5IEemMr69mPZbrMQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4IeVqs5IEemMr69mPZbrMQ"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_VkrwAKe9EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4Idukc5IEemMr69mPZbrMQ" x="740" y="460"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_9AvFEM5IEemMr69mPZbrMQ" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_9AvFEs5IEemMr69mPZbrMQ" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_9AvFE85IEemMr69mPZbrMQ" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_9AvFFM5IEemMr69mPZbrMQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_9AvFFc5IEemMr69mPZbrMQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_9AvFFs5IEemMr69mPZbrMQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9AvFF85IEemMr69mPZbrMQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_9AvFGM5IEemMr69mPZbrMQ" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_9AvFGc5IEemMr69mPZbrMQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_9AvFGs5IEemMr69mPZbrMQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_9AvFG85IEemMr69mPZbrMQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9AvFHM5IEemMr69mPZbrMQ"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_TSUEwKe9EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9AvFEc5IEemMr69mPZbrMQ" x="620" y="460"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_0vHbw1rzEeq5coEOWsxi4A" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0vHbxFrzEeq5coEOWsxi4A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_0vIC0FrzEeq5coEOWsxi4A" 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="_0vHbxVrzEeq5coEOWsxi4A" x="320" y="20"/>
+ </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="pdp4engReqGDPR.profile.uml#pdp4engreqprofile"/>
+ </styles>
+ <element xmi:type="uml:Profile" href="pdp4engReqGDPR.profile.uml#pdp4engreqprofile"/>
+ <edges xmi:type="notation:Connector" xmi:id="_poFMwMQgEemOUp1qx0PUxQ" type="Extension_Edge" source="_pmGPwMQgEemOUp1qx0PUxQ" target="_pnFHMMQgEemOUp1qx0PUxQ">
+ <styles xmi:type="notation:FontStyle" xmi:id="_poFMwcQgEemOUp1qx0PUxQ"/>
+ <element xmi:type="uml:Extension" href="pdp4engReqGDPR.profile.uml#_CIjHcKe9EemiOZ_hb7cBOg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_poFMwsQgEemOUp1qx0PUxQ" points="[0, 0, -643984, -643984]$[0, 0, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qXVfcMQgEemOUp1qx0PUxQ" id="(0.13769363166953527,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qXVfccQgEemOUp1qx0PUxQ" id="(0.09987515605493133,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_tXjvMMQgEemOUp1qx0PUxQ" type="Generalization_Edge" source="_srCncMQgEemOUp1qx0PUxQ" target="_pmGPwMQgEemOUp1qx0PUxQ">
+ <children xmi:type="notation:DecorationNode" xmi:id="_tXjvM8QgEemOUp1qx0PUxQ" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_tqRP0MQgEemOUp1qx0PUxQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_tXjvNMQgEemOUp1qx0PUxQ" y="59"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_tXjvMcQgEemOUp1qx0PUxQ"/>
+ <element xmi:type="uml:Generalization" href="pdp4engReqGDPR.profile.uml#_GKNmEKe9EemiOZ_hb7cBOg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_tXjvMsQgEemOUp1qx0PUxQ" points="[230, 444, -643984, -643984]$[216, 320, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_trYqIMQgEemOUp1qx0PUxQ" id="(0.42402826855123676,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_trZRMMQgEemOUp1qx0PUxQ" id="(0.20654044750430292,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_xEvyoMQgEemOUp1qx0PUxQ" type="Generalization_Edge" source="_xD7TQMQgEemOUp1qx0PUxQ" target="_srCncMQgEemOUp1qx0PUxQ">
+ <children xmi:type="notation:DecorationNode" xmi:id="_xEwZssQgEemOUp1qx0PUxQ" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_y9SooMQgEemOUp1qx0PUxQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_xEwZs8QgEemOUp1qx0PUxQ" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_xEwZsMQgEemOUp1qx0PUxQ"/>
+ <element xmi:type="uml:Generalization" href="pdp4engReqGDPR.profile.uml#_kpiPQKe9EemiOZ_hb7cBOg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xEwZscQgEemOUp1qx0PUxQ" points="[0, 0, -643984, -643984]$[186, 400, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_y9sRQMQgEemOUp1qx0PUxQ" id="(0.6,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_y9s4UMQgEemOUp1qx0PUxQ" id="(0.21201413427561838,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_xzkngMQgEemOUp1qx0PUxQ" type="Generalization_Edge" source="_xx9d8MQgEemOUp1qx0PUxQ" target="_srCncMQgEemOUp1qx0PUxQ">
+ <children xmi:type="notation:DecorationNode" xmi:id="_xzlOkMQgEemOUp1qx0PUxQ" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_zTSt0MQgEemOUp1qx0PUxQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_xzlOkcQgEemOUp1qx0PUxQ" y="59"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_xzkngcQgEemOUp1qx0PUxQ"/>
+ <element xmi:type="uml:Generalization" href="pdp4engReqGDPR.profile.uml#_l_gjsKe9EemiOZ_hb7cBOg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xzkngsQgEemOUp1qx0PUxQ" points="[0, 0, -643984, -643984]$[186, 400, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zUEJ4MQgEemOUp1qx0PUxQ" id="(0.4,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zUEJ4cQgEemOUp1qx0PUxQ" id="(0.5653710247349824,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_ykMMIMQgEemOUp1qx0PUxQ" type="Generalization_Edge" source="_yi3WcMQgEemOUp1qx0PUxQ" target="_srCncMQgEemOUp1qx0PUxQ">
+ <children xmi:type="notation:DecorationNode" xmi:id="_ykMMI8QgEemOUp1qx0PUxQ" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_zr6CIMQgEemOUp1qx0PUxQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ykMMJMQgEemOUp1qx0PUxQ" x="1" y="59"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_ykMMIcQgEemOUp1qx0PUxQ"/>
+ <element xmi:type="uml:Generalization" href="pdp4engReqGDPR.profile.uml#_m4HmsKe9EemiOZ_hb7cBOg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ykMMIsQgEemOUp1qx0PUxQ" points="[0, 0, -643984, -643984]$[186, 400, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zssFQMQgEemOUp1qx0PUxQ" id="(0.2,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zssFQcQgEemOUp1qx0PUxQ" id="(0.9187279151943463,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_1UZrgM5IEemMr69mPZbrMQ" type="Generalization_Edge" source="_0oK3oM5IEemMr69mPZbrMQ" target="_1SqmIM5IEemMr69mPZbrMQ">
+ <children xmi:type="notation:DecorationNode" xmi:id="_1UaSkM5IEemMr69mPZbrMQ" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1qR04M5IEemMr69mPZbrMQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_1UaSkc5IEemMr69mPZbrMQ" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_1UZrgc5IEemMr69mPZbrMQ"/>
+ <element xmi:type="uml:Generalization" href="pdp4engReqGDPR.profile.uml#__agXYKe9EemiOZ_hb7cBOg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_1UZrgs5IEemMr69mPZbrMQ" points="[560, 460, -643984, -643984]$[560, 420, -643984, -643984]$[600, 420, -643984, -643984]$[600, 372, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1rofwM5IEemMr69mPZbrMQ" id="(0.5504587155963303,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1rpG0M5IEemMr69mPZbrMQ" id="(0.49019607843137253,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_2Q03gM5IEemMr69mPZbrMQ" type="Generalization_Edge" source="_1SqmIM5IEemMr69mPZbrMQ" target="_pmGPwMQgEemOUp1qx0PUxQ">
+ <children xmi:type="notation:DecorationNode" xmi:id="_2Q1ekM5IEemMr69mPZbrMQ" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-sgDUM5IEemMr69mPZbrMQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_2Q1ekc5IEemMr69mPZbrMQ" y="59"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_2Q03gc5IEemMr69mPZbrMQ"/>
+ <element xmi:type="uml:Generalization" href="pdp4engReqGDPR.profile.uml#_-aC_8Ke9EemiOZ_hb7cBOg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_2Q03gs5IEemMr69mPZbrMQ" points="[600, 319, -643984, -643984]$[260, 276, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-tXmAM5IEemMr69mPZbrMQ" id="(0.49019607843137253,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-tYNEM5IEemMr69mPZbrMQ" id="(0.8261617900172117,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_3Qp80M5IEemMr69mPZbrMQ" type="Generalization_Edge" source="_3PmM4M5IEemMr69mPZbrMQ" target="_1SqmIM5IEemMr69mPZbrMQ">
+ <children xmi:type="notation:DecorationNode" xmi:id="_3Qp8085IEemMr69mPZbrMQ" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_AiTuYM5JEemMr69mPZbrMQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_3Qp81M5IEemMr69mPZbrMQ" x="-1" y="58"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_3Qp80c5IEemMr69mPZbrMQ"/>
+ <element xmi:type="uml:Generalization" href="pdp4engReqGDPR.profile.uml#_-8b7UKe9EemiOZ_hb7cBOg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3Qp80s5IEemMr69mPZbrMQ" points="[920, 460, -643984, -643984]$[920, 420, -643984, -643984]$[700, 420, -643984, -643984]$[620, 420, -643984, -643984]$[700, 372, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AkCzwc5JEemMr69mPZbrMQ" id="(0.5660377358490566,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AkCzws5JEemMr69mPZbrMQ" id="(0.5882352941176471,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_4KKXsM5IEemMr69mPZbrMQ" type="Generalization_Edge" source="_4IdukM5IEemMr69mPZbrMQ" target="_1SqmIM5IEemMr69mPZbrMQ">
+ <children xmi:type="notation:DecorationNode" xmi:id="_4KKXs85IEemMr69mPZbrMQ" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Ai49MM5JEemMr69mPZbrMQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_4KKXtM5IEemMr69mPZbrMQ" x="-1" y="59"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_4KKXsc5IEemMr69mPZbrMQ"/>
+ <element xmi:type="uml:Generalization" href="pdp4engReqGDPR.profile.uml#_AaOvAKe-EemiOZ_hb7cBOg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4KKXss5IEemMr69mPZbrMQ" points="[760, 460, -643984, -643984]$[760, 420, -643984, -643984]$[640, 420, -643984, -643984]$[640, 372, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AkCzw85JEemMr69mPZbrMQ" id="(0.18867924528301888,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AkDa0M5JEemMr69mPZbrMQ" id="(0.6862745098039216,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_9obXMM5IEemMr69mPZbrMQ" type="Generalization_Edge" source="_9AvFEM5IEemMr69mPZbrMQ" target="_1SqmIM5IEemMr69mPZbrMQ">
+ <children xmi:type="notation:DecorationNode" xmi:id="_9ob-QM5IEemMr69mPZbrMQ" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_AjYscM5JEemMr69mPZbrMQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_9ob-Qc5IEemMr69mPZbrMQ" y="59"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_9obXMc5IEemMr69mPZbrMQ"/>
+ <element xmi:type="uml:Generalization" href="pdp4engReqGDPR.profile.uml#__5XdoKe9EemiOZ_hb7cBOg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9obXMs5IEemMr69mPZbrMQ" points="[640, 460, -643984, -643984]$[640, 420, -643984, -643984]$[620, 420, -643984, -643984]$[620, 372, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AkCMsM5JEemMr69mPZbrMQ" id="(0.2,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AkCzwM5JEemMr69mPZbrMQ" id="(0.5882352941176471,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_0vIC0VrzEeq5coEOWsxi4A" type="StereotypeCommentLink" source="_pnFHMMQgEemOUp1qx0PUxQ" target="_0vHbw1rzEeq5coEOWsxi4A">
+ <styles xmi:type="notation:FontStyle" xmi:id="_0vIC0lrzEeq5coEOWsxi4A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_0vIC1lrzEeq5coEOWsxi4A" 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="_0vIC01rzEeq5coEOWsxi4A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0vIC1FrzEeq5coEOWsxi4A"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0vIC1VrzEeq5coEOWsxi4A"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_j6ud8Ke8EemiOZ_hb7cBOg" type="PapyrusUMLProfileDiagram" name="Principles" 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" visible="false" 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" visible="false" 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="pdp4engReqGDPR.profile.uml#_bQqywKIoEemN_tazoyo3PQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lg4jcae8EemiOZ_hb7cBOg" x="40" y="340"/>
+ </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" visible="false" 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" visible="false" 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="pdp4engReqGDPR.profile.uml#_QiJakKIoEemN_tazoyo3PQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lzvOAKe8EemiOZ_hb7cBOg" x="260" y="340"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_-3K2QKe8EemiOZ_hb7cBOg" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_-3LdUKe8EemiOZ_hb7cBOg" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_-3LdUae8EemiOZ_hb7cBOg" visible="false" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_-3LdUqe8EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_-3LdU6e8EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_-3LdVKe8EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-3LdVae8EemiOZ_hb7cBOg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_-3LdVqe8EemiOZ_hb7cBOg" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_-3LdV6e8EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_-3LdWKe8EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_-3LdWae8EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-3LdWqe8EemiOZ_hb7cBOg"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_-3IaAKe8EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-3K2Qae8EemiOZ_hb7cBOg" x="720" y="200" width="461" height="41"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_EMn4AKe9EemiOZ_hb7cBOg" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_EMn4Aqe9EemiOZ_hb7cBOg" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_EMofEKe9EemiOZ_hb7cBOg" visible="false" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_EMofEae9EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EMofEqe9EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EMofE6e9EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EMofFKe9EemiOZ_hb7cBOg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_EMofFae9EemiOZ_hb7cBOg" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_EMofFqe9EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EMofF6e9EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EMofGKe9EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EMofGae9EemiOZ_hb7cBOg"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_EMnQ8Ke9EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EMn4Aae9EemiOZ_hb7cBOg" x="720" y="280" height="41"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_IJ0tYKe9EemiOZ_hb7cBOg" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_IJ0tYqe9EemiOZ_hb7cBOg" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_IJ0tY6e9EemiOZ_hb7cBOg" visible="false" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_IJ0tZKe9EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_IJ0tZae9EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_IJ0tZqe9EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IJ0tZ6e9EemiOZ_hb7cBOg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_IJ0taKe9EemiOZ_hb7cBOg" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_IJ0taae9EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_IJ0taqe9EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_IJ0ta6e9EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IJ0tbKe9EemiOZ_hb7cBOg"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_IJyRIKe9EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IJ0tYae9EemiOZ_hb7cBOg" x="1000" y="280" height="41"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_NttzwKe9EemiOZ_hb7cBOg" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Ntua0Ke9EemiOZ_hb7cBOg" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Ntua0ae9EemiOZ_hb7cBOg" visible="false" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_Ntua0qe9EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Ntua06e9EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Ntua1Ke9EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ntua1ae9EemiOZ_hb7cBOg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Ntua1qe9EemiOZ_hb7cBOg" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_Ntua16e9EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Ntua2Ke9EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Ntua2ae9EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ntua2qe9EemiOZ_hb7cBOg"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_Ntr-kKe9EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Nttzwae9EemiOZ_hb7cBOg" x="1000" y="380" height="41"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Qyl6AKe9EemiOZ_hb7cBOg" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_QynIIKe9EemiOZ_hb7cBOg" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_QynIIae9EemiOZ_hb7cBOg" visible="false" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_QynIIqe9EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_QynII6e9EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_QynIJKe9EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QynIJae9EemiOZ_hb7cBOg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_QynIJqe9EemiOZ_hb7cBOg" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_QynIJ6e9EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_QynIKKe9EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_QynIKae9EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QynIKqe9EemiOZ_hb7cBOg"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_Qykr4Ke9EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Qyl6Aae9EemiOZ_hb7cBOg" x="1120" y="380" height="41"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_TSVS4Ke9EemiOZ_hb7cBOg" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_TSVS4qe9EemiOZ_hb7cBOg" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_TSVS46e9EemiOZ_hb7cBOg" visible="false" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_TSVS5Ke9EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_TSVS5ae9EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_TSVS5qe9EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TSVS56e9EemiOZ_hb7cBOg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_TSVS6Ke9EemiOZ_hb7cBOg" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_TSVS6ae9EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_TSVS6qe9EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_TSVS66e9EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TSVS7Ke9EemiOZ_hb7cBOg"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_TSUEwKe9EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TSVS4ae9EemiOZ_hb7cBOg" x="1260" y="380" height="41"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_VksXEKe9EemiOZ_hb7cBOg" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_VksXEqe9EemiOZ_hb7cBOg" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_VksXE6e9EemiOZ_hb7cBOg" visible="false" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_VksXFKe9EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_VksXFae9EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_VksXFqe9EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VksXF6e9EemiOZ_hb7cBOg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_VksXGKe9EemiOZ_hb7cBOg" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_VksXGae9EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_VksXGqe9EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_VksXG6e9EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VksXHKe9EemiOZ_hb7cBOg"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_VkrwAKe9EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VksXEae9EemiOZ_hb7cBOg" x="1380" y="380" height="41"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_b2r5kKe9EemiOZ_hb7cBOg" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_b2r5kqe9EemiOZ_hb7cBOg" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_b2sgoKe9EemiOZ_hb7cBOg" visible="false" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_b2sgoae9EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_b2sgoqe9EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_b2sgo6e9EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_b2sgpKe9EemiOZ_hb7cBOg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_b2sgpae9EemiOZ_hb7cBOg" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_b2sgpqe9EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_b2sgp6e9EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_b2sgqKe9EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_b2sgqae9EemiOZ_hb7cBOg"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_b2rSgKe9EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_b2r5kae9EemiOZ_hb7cBOg" x="400" y="380" height="41"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_dVmuoKe9EemiOZ_hb7cBOg" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_dVnVsKe9EemiOZ_hb7cBOg" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_dVnVsae9EemiOZ_hb7cBOg" visible="false" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_dVnVsqe9EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_dVnVs6e9EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_dVnVtKe9EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dVnVtae9EemiOZ_hb7cBOg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_dVnVtqe9EemiOZ_hb7cBOg" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_dVnVt6e9EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_dVnVuKe9EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_dVnVuae9EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dVnVuqe9EemiOZ_hb7cBOg"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_dVmHkKe9EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dVmuoae9EemiOZ_hb7cBOg" x="520" y="380" height="41"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ekAbcKe9EemiOZ_hb7cBOg" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_ekAbcqe9EemiOZ_hb7cBOg" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_ekAbc6e9EemiOZ_hb7cBOg" visible="false" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_ekAbdKe9EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ekAbdae9EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ekAbdqe9EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ekAbd6e9EemiOZ_hb7cBOg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_ekAbeKe9EemiOZ_hb7cBOg" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_ekAbeae9EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ekAbeqe9EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ekAbe6e9EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ekAbfKe9EemiOZ_hb7cBOg"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_ej_0YKe9EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ekAbcae9EemiOZ_hb7cBOg" x="640" y="380" height="41"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_iofkkKe9EemiOZ_hb7cBOg" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_iofkkqe9EemiOZ_hb7cBOg" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_iofkk6e9EemiOZ_hb7cBOg" visible="false" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_iogLoKe9EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_iogLoae9EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_iogLoqe9EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iogLo6e9EemiOZ_hb7cBOg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_iogLpKe9EemiOZ_hb7cBOg" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_iogLpae9EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_iogLpqe9EemiOZ_hb7cBOg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_iogLp6e9EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iogLqKe9EemiOZ_hb7cBOg"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_ioeWcKe9EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iofkkae9EemiOZ_hb7cBOg" x="780" y="380" height="41"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_qqUeoFpGEeqv8eaIcZt9UA" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_qqWT0FpGEeqv8eaIcZt9UA" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_qqW64FpGEeqv8eaIcZt9UA" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_qqW64VpGEeqv8eaIcZt9UA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_qqW64lpGEeqv8eaIcZt9UA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_qqW641pGEeqv8eaIcZt9UA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qqW65FpGEeqv8eaIcZt9UA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_qqW65VpGEeqv8eaIcZt9UA" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_qqW65lpGEeqv8eaIcZt9UA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_qqW651pGEeqv8eaIcZt9UA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_qqW66FpGEeqv8eaIcZt9UA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qqW66VpGEeqv8eaIcZt9UA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pathmap://pdp4engreqprofile-COMMON/pdp4engreqprofileCommonGDPR.profile.uml#_bQqywKIoEemN_tazoyo3PQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qqUeoVpGEeqv8eaIcZt9UA" x="60" y="160"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_sntYYFpGEeqv8eaIcZt9UA" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_snt_cFpGEeqv8eaIcZt9UA" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_snt_cVpGEeqv8eaIcZt9UA" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_snt_clpGEeqv8eaIcZt9UA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_snt_c1pGEeqv8eaIcZt9UA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_snt_dFpGEeqv8eaIcZt9UA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_snt_dVpGEeqv8eaIcZt9UA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_snt_dlpGEeqv8eaIcZt9UA" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_snt_d1pGEeqv8eaIcZt9UA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_snt_eFpGEeqv8eaIcZt9UA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_snt_eVpGEeqv8eaIcZt9UA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_snt_elpGEeqv8eaIcZt9UA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pathmap://pdp4engreqprofile-COMMON/pdp4engreqprofileCommonGDPR.profile.uml#_QiJakKIoEemN_tazoyo3PQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sntYYVpGEeqv8eaIcZt9UA" x="270" y="145"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1LvGUFrzEeq5coEOWsxi4A" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1LvGUVrzEeq5coEOWsxi4A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_1LvGU1rzEeq5coEOWsxi4A" 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="_1LvGUlrzEeq5coEOWsxi4A" 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="pdp4engReqGDPR.profile.uml#pdp4engreqprofile"/>
+ </styles>
+ <element xmi:type="uml:Profile" href="pdp4engReqGDPR.profile.uml#pdp4engreqprofile"/>
+ <edges xmi:type="notation:Connector" xmi:id="_CIs4cKe9EemiOZ_hb7cBOg" type="Extension_Edge" source="_-3K2QKe8EemiOZ_hb7cBOg" target="_k2j0EKe8EemiOZ_hb7cBOg">
+ <styles xmi:type="notation:FontStyle" xmi:id="_CIs4cae9EemiOZ_hb7cBOg"/>
+ <element xmi:type="uml:Extension" href="pdp4engReqGDPR.profile.uml#_CIjHcKe9EemiOZ_hb7cBOg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CIs4cqe9EemiOZ_hb7cBOg" points="[960, 200, -643984, -643984]$[960, 110, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CI9XIKe9EemiOZ_hb7cBOg" id="(0.5206073752711496,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CI9-MKe9EemiOZ_hb7cBOg" id="(0.7574536663980661,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_GKcPkKe9EemiOZ_hb7cBOg" type="Generalization_Edge" source="_EMn4AKe9EemiOZ_hb7cBOg" target="_-3K2QKe8EemiOZ_hb7cBOg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_GKc2oKe9EemiOZ_hb7cBOg" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_fRSlkDeDEeq58cC05yunBQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_GKc2oae9EemiOZ_hb7cBOg" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_GKcPkae9EemiOZ_hb7cBOg"/>
+ <element xmi:type="uml:Generalization" href="pdp4engReqGDPR.profile.uml#_GKNmEKe9EemiOZ_hb7cBOg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GKcPkqe9EemiOZ_hb7cBOg" points="[780, 360, -643984, -643984]$[960, 300, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GLA3UKe9EemiOZ_hb7cBOg" id="(0.4,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GLA3Uae9EemiOZ_hb7cBOg" id="(0.08676789587852494,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_kpxf0Ke9EemiOZ_hb7cBOg" type="Generalization_Edge" source="_b2r5kKe9EemiOZ_hb7cBOg" target="_EMn4AKe9EemiOZ_hb7cBOg" routing="Rectilinear">
+ <children xmi:type="notation:DecorationNode" xmi:id="_kpxf06e9EemiOZ_hb7cBOg" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_fRhPEDeDEeq58cC05yunBQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kpxf1Ke9EemiOZ_hb7cBOg" y="-80"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_kpxf0ae9EemiOZ_hb7cBOg"/>
+ <element xmi:type="uml:Generalization" href="pdp4engReqGDPR.profile.uml#_kpiPQKe9EemiOZ_hb7cBOg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kpxf0qe9EemiOZ_hb7cBOg" points="[440, 380, -643984, -643984]$[440, 360, -643984, -643984]$[740, 360, -643984, -643984]$[740, 321, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kqHeEKe9EemiOZ_hb7cBOg" id="(0.4,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kqHeEae9EemiOZ_hb7cBOg" id="(0.4,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_l_sw8Ke9EemiOZ_hb7cBOg" type="Generalization_Edge" source="_dVmuoKe9EemiOZ_hb7cBOg" target="_EMn4AKe9EemiOZ_hb7cBOg" routing="Rectilinear">
+ <children xmi:type="notation:DecorationNode" xmi:id="_l_sw86e9EemiOZ_hb7cBOg" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_fRv4kDeDEeq58cC05yunBQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_l_sw9Ke9EemiOZ_hb7cBOg" y="-80"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_l_sw8ae9EemiOZ_hb7cBOg"/>
+ <element xmi:type="uml:Generalization" href="pdp4engReqGDPR.profile.uml#_l_gjsKe9EemiOZ_hb7cBOg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l_sw8qe9EemiOZ_hb7cBOg" points="[560, 380, -643984, -643984]$[560, 360, -643984, -643984]$[760, 360, -643984, -643984]$[760, 321, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mAKrAKe9EemiOZ_hb7cBOg" id="(0.4,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mAKrAae9EemiOZ_hb7cBOg" id="(0.4,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_m4UbAKe9EemiOZ_hb7cBOg" type="Generalization_Edge" source="_ekAbcKe9EemiOZ_hb7cBOg" target="_EMn4AKe9EemiOZ_hb7cBOg" routing="Rectilinear">
+ <children xmi:type="notation:DecorationNode" xmi:id="_m4VCEKe9EemiOZ_hb7cBOg" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_fR97ADeDEeq58cC05yunBQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_m4VCEae9EemiOZ_hb7cBOg" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_m4UbAae9EemiOZ_hb7cBOg"/>
+ <element xmi:type="uml:Generalization" href="pdp4engReqGDPR.profile.uml#_m4HmsKe9EemiOZ_hb7cBOg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_m4UbAqe9EemiOZ_hb7cBOg" points="[680, 380, -643984, -643984]$[680, 360, -643984, -643984]$[760, 360, -643984, -643984]$[760, 321, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_m4xG8Ke9EemiOZ_hb7cBOg" id="(0.4,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_m4xG8ae9EemiOZ_hb7cBOg" id="(0.4,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_nrkc4Ke9EemiOZ_hb7cBOg" type="Generalization_Edge" source="_iofkkKe9EemiOZ_hb7cBOg" target="_EMn4AKe9EemiOZ_hb7cBOg" routing="Rectilinear">
+ <children xmi:type="notation:DecorationNode" xmi:id="_nrkc46e9EemiOZ_hb7cBOg" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_fSMkgDeDEeq58cC05yunBQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_nrkc5Ke9EemiOZ_hb7cBOg" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_nrkc4ae9EemiOZ_hb7cBOg"/>
+ <element xmi:type="uml:Generalization" href="pdp4engReqGDPR.profile.uml#_nrSJAKe9EemiOZ_hb7cBOg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_nrkc4qe9EemiOZ_hb7cBOg" points="[920, 380, -643984, -643984]$[920, 360, -643984, -643984]$[760, 360, -643984, -643984]$[760, 321, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nsEzMKe9EemiOZ_hb7cBOg" id="(0.6,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nsEzMae9EemiOZ_hb7cBOg" id="(0.4,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_-acBgKe9EemiOZ_hb7cBOg" type="Generalization_Edge" source="_IJ0tYKe9EemiOZ_hb7cBOg" target="_-3K2QKe8EemiOZ_hb7cBOg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_-acBg6e9EemiOZ_hb7cBOg" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_W5-VUDeDEeq58cC05yunBQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_-acBhKe9EemiOZ_hb7cBOg" x="-1" y="58"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_-acBgae9EemiOZ_hb7cBOg"/>
+ <element xmi:type="uml:Generalization" href="pdp4engReqGDPR.profile.uml#_-aC_8Ke9EemiOZ_hb7cBOg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-acBgqe9EemiOZ_hb7cBOg" points="[1060, 360, -643984, -643984]$[960, 300, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-bRH8Ke9EemiOZ_hb7cBOg" id="(0.3508771929824561,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-bRH8ae9EemiOZ_hb7cBOg" id="(0.737527114967462,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_-84nQKe9EemiOZ_hb7cBOg" type="Generalization_Edge" source="_NttzwKe9EemiOZ_hb7cBOg" target="_IJ0tYKe9EemiOZ_hb7cBOg" routing="Rectilinear">
+ <children xmi:type="notation:DecorationNode" xmi:id="_-85OUKe9EemiOZ_hb7cBOg" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_gUiyUDeDEeq58cC05yunBQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_-85OUae9EemiOZ_hb7cBOg" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_-84nQae9EemiOZ_hb7cBOg"/>
+ <element xmi:type="uml:Generalization" href="pdp4engReqGDPR.profile.uml#_-8b7UKe9EemiOZ_hb7cBOg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-84nQqe9EemiOZ_hb7cBOg" points="[1080, 380, -643984, -643984]$[1080, 321, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-9gSUKe9EemiOZ_hb7cBOg" id="(0.7547169811320755,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-9g5YKe9EemiOZ_hb7cBOg" id="(0.4678362573099415,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="__avA4Ke9EemiOZ_hb7cBOg" type="Generalization_Edge" source="_Qyl6AKe9EemiOZ_hb7cBOg" target="_IJ0tYKe9EemiOZ_hb7cBOg" routing="Rectilinear">
+ <children xmi:type="notation:DecorationNode" xmi:id="__avA46e9EemiOZ_hb7cBOg" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_KimtMKe-EemiOZ_hb7cBOg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__avA5Ke9EemiOZ_hb7cBOg" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="__avA4ae9EemiOZ_hb7cBOg"/>
+ <element xmi:type="uml:Generalization" href="pdp4engReqGDPR.profile.uml#__agXYKe9EemiOZ_hb7cBOg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__avA4qe9EemiOZ_hb7cBOg" points="[1180, 540, -643984, -643984]$[1180, 360, -643984, -643984]$[1080, 360, -643984, -643984]$[1080, 321, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__bOwIKe9EemiOZ_hb7cBOg" id="(0.5504587155963303,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="__bOwIae9EemiOZ_hb7cBOg" id="(0.4678362573099415,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="__5jD0Ke9EemiOZ_hb7cBOg" type="Generalization_Edge" source="_TSVS4Ke9EemiOZ_hb7cBOg" target="_IJ0tYKe9EemiOZ_hb7cBOg" routing="Rectilinear">
+ <children xmi:type="notation:DecorationNode" xmi:id="__5jq4qe9EemiOZ_hb7cBOg" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_K9B_YKe-EemiOZ_hb7cBOg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__5jq46e9EemiOZ_hb7cBOg" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="__5jq4Ke9EemiOZ_hb7cBOg"/>
+ <element xmi:type="uml:Generalization" href="pdp4engReqGDPR.profile.uml#__5XdoKe9EemiOZ_hb7cBOg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__5jq4ae9EemiOZ_hb7cBOg" points="[1320, 540, -643984, -643984]$[1320, 360, -643984, -643984]$[1080, 360, -643984, -643984]$[1080, 321, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__59TgKe9EemiOZ_hb7cBOg" id="(0.6,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="__59Tgae9EemiOZ_hb7cBOg" id="(0.4678362573099415,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_AaktQKe-EemiOZ_hb7cBOg" type="Generalization_Edge" source="_VksXEKe9EemiOZ_hb7cBOg" target="_IJ0tYKe9EemiOZ_hb7cBOg" routing="Rectilinear">
+ <children xmi:type="notation:DecorationNode" xmi:id="_AaktQ6e-EemiOZ_hb7cBOg" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_LVb4UKe-EemiOZ_hb7cBOg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_AaktRKe-EemiOZ_hb7cBOg" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_AaktQae-EemiOZ_hb7cBOg"/>
+ <element xmi:type="uml:Generalization" href="pdp4engReqGDPR.profile.uml#_AaOvAKe-EemiOZ_hb7cBOg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AaktQqe-EemiOZ_hb7cBOg" points="[1440, 540, -643984, -643984]$[1440, 360, -643984, -643984]$[1080, 360, -643984, -643984]$[1080, 321, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AbALEKe-EemiOZ_hb7cBOg" id="(0.5660377358490566,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AbAyIKe-EemiOZ_hb7cBOg" id="(0.4678362573099415,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_qrVyUFpGEeqv8eaIcZt9UA" type="Generalization_Edge" source="_lg4jcKe8EemiOZ_hb7cBOg" target="_qqUeoFpGEeqv8eaIcZt9UA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_qrWZYFpGEeqv8eaIcZt9UA" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_thrGQFpGEeqv8eaIcZt9UA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_qrWZYVpGEeqv8eaIcZt9UA" x="1" y="58"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_qrVyUVpGEeqv8eaIcZt9UA"/>
+ <element xmi:type="uml:Generalization" href="pdp4engReqGDPR.profile.uml#_vl43QLhUEemnErsCyDLyRA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qrVyUlpGEeqv8eaIcZt9UA" points="[194, 200, -643984, -643984]$[0, 0, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tiT_cFpGEeqv8eaIcZt9UA" id="(0.47904191616766467,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tiUmgFpGEeqv8eaIcZt9UA" id="(0.6,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_soKEUFpGEeqv8eaIcZt9UA" type="Generalization_Edge" source="_lzum8Ke8EemiOZ_hb7cBOg" target="_sntYYFpGEeqv8eaIcZt9UA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_soKEU1pGEeqv8eaIcZt9UA" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vdRQQFpGEeqv8eaIcZt9UA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_soKEVFpGEeqv8eaIcZt9UA" x="-1" y="58"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_soKEUVpGEeqv8eaIcZt9UA"/>
+ <element xmi:type="uml:Generalization" href="pdp4engReqGDPR.profile.uml#_pWYoELhUEemnErsCyDLyRA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_soKEUlpGEeqv8eaIcZt9UA" points="[420, 215, -643984, -643984]$[0, 0, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vderoFpGEeqv8eaIcZt9UA" id="(0.44776119402985076,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vdfSsFpGEeqv8eaIcZt9UA" id="(0.5,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_1LvGVFrzEeq5coEOWsxi4A" type="StereotypeCommentLink" source="_k2j0EKe8EemiOZ_hb7cBOg" target="_1LvGUFrzEeq5coEOWsxi4A">
+ <styles xmi:type="notation:FontStyle" xmi:id="_1LvGVVrzEeq5coEOWsxi4A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_1LvGWVrzEeq5coEOWsxi4A" 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="_1LvGVlrzEeq5coEOWsxi4A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1LvGV1rzEeq5coEOWsxi4A"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1LvGWFrzEeq5coEOWsxi4A"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_Na8KsLOPEemyjo40BHcr6w" type="PapyrusUMLProfileDiagram" name="FromPropan" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_Pia0kLOPEemyjo40BHcr6w" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PiftELOPEemyjo40BHcr6w" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Pia0kbOPEemyjo40BHcr6w" x="160" y="60" width="801"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_xqdkALOnEemyjo40BHcr6w" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_xqeLELOnEemyjo40BHcr6w" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_xqeLEbOnEemyjo40BHcr6w" type="Stereotype_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_3XhNcLOnEemyjo40BHcr6w" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="pdp4engReqGDPR.profile.uml#_3XTLALOnEemyjo40BHcr6w"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_3XhNcbOnEemyjo40BHcr6w"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_8gcPELOnEemyjo40BHcr6w" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="pdp4engReqGDPR.profile.uml#_8gQo4LOnEemyjo40BHcr6w"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8gcPEbOnEemyjo40BHcr6w"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="__rmjgLOnEemyjo40BHcr6w" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="pdp4engReqGDPR.profile.uml#__rZIILOnEemyjo40BHcr6w"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__rmjgbOnEemyjo40BHcr6w"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_xqeLErOnEemyjo40BHcr6w"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_xqeLE7OnEemyjo40BHcr6w"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_xqeLFLOnEemyjo40BHcr6w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xqeLFbOnEemyjo40BHcr6w"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_xqeyILOnEemyjo40BHcr6w" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_xqeyIbOnEemyjo40BHcr6w"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_xqeyIrOnEemyjo40BHcr6w"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_xqeyI7OnEemyjo40BHcr6w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xqeyJLOnEemyjo40BHcr6w"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_xqHlwLOnEemyjo40BHcr6w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xqdkAbOnEemyjo40BHcr6w" x="160" y="240" width="241" height="101"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_aQiawLOoEemyjo40BHcr6w" type="Enumeration_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_aQjo4LOoEemyjo40BHcr6w" type="Enumeration_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_aQjo4bOoEemyjo40BHcr6w" type="Enumeration_LiteralCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_bnV1oLOoEemyjo40BHcr6w" type="EnumerationLiteral_LiteralLabel">
+ <element xmi:type="uml:EnumerationLiteral" href="pdp4engReqGDPR.profile.uml#_bnMrsLOoEemyjo40BHcr6w"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bnV1obOoEemyjo40BHcr6w"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_desY0LOoEemyjo40BHcr6w" type="EnumerationLiteral_LiteralLabel">
+ <element xmi:type="uml:EnumerationLiteral" href="pdp4engReqGDPR.profile.uml#_demSMLOoEemyjo40BHcr6w"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_desY0bOoEemyjo40BHcr6w"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_gt_mYLOoEemyjo40BHcr6w" type="EnumerationLiteral_LiteralLabel">
+ <element xmi:type="uml:EnumerationLiteral" href="pdp4engReqGDPR.profile.uml#_gt1OULOoEemyjo40BHcr6w"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_gt_mYbOoEemyjo40BHcr6w"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_iMOe8LOoEemyjo40BHcr6w" type="EnumerationLiteral_LiteralLabel">
+ <element xmi:type="uml:EnumerationLiteral" href="pdp4engReqGDPR.profile.uml#_iMCRsLOoEemyjo40BHcr6w"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_iMOe8bOoEemyjo40BHcr6w"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_aQjo4rOoEemyjo40BHcr6w"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_aQjo47OoEemyjo40BHcr6w"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_aQjo5LOoEemyjo40BHcr6w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aQjo5bOoEemyjo40BHcr6w"/>
+ </children>
+ <element xmi:type="uml:Enumeration" href="pdp4engReqGDPR.profile.uml#_aQdiQLOoEemyjo40BHcr6w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aQjB0LOoEemyjo40BHcr6w" x="160" y="400"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_mBjKsLOoEemyjo40BHcr6w" type="Enumeration_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_mBjxwLOoEemyjo40BHcr6w" type="Enumeration_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_mBjxwbOoEemyjo40BHcr6w" type="Enumeration_LiteralCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_nOMkALOoEemyjo40BHcr6w" type="EnumerationLiteral_LiteralLabel">
+ <element xmi:type="uml:EnumerationLiteral" href="pdp4engReqGDPR.profile.uml#_nOEoMLOoEemyjo40BHcr6w"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_nOMkAbOoEemyjo40BHcr6w"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_obYI0LOoEemyjo40BHcr6w" type="EnumerationLiteral_LiteralLabel">
+ <element xmi:type="uml:EnumerationLiteral" href="pdp4engReqGDPR.profile.uml#_obRbILOoEemyjo40BHcr6w"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_obYI0bOoEemyjo40BHcr6w"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_p2ajcLOoEemyjo40BHcr6w" type="EnumerationLiteral_LiteralLabel">
+ <element xmi:type="uml:EnumerationLiteral" href="pdp4engReqGDPR.profile.uml#_p2OWMLOoEemyjo40BHcr6w"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_p2ajcbOoEemyjo40BHcr6w"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_reVjgLOoEemyjo40BHcr6w" type="EnumerationLiteral_LiteralLabel">
+ <element xmi:type="uml:EnumerationLiteral" href="pdp4engReqGDPR.profile.uml#_reKkYLOoEemyjo40BHcr6w"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_reVjgbOoEemyjo40BHcr6w"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_mBjxwrOoEemyjo40BHcr6w"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_mBjxw7OoEemyjo40BHcr6w"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_mBjxxLOoEemyjo40BHcr6w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mBjxxbOoEemyjo40BHcr6w"/>
+ </children>
+ <element xmi:type="uml:Enumeration" href="pdp4engReqGDPR.profile.uml#_mBgucLOoEemyjo40BHcr6w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mBjKsbOoEemyjo40BHcr6w" x="280" y="400"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ASa2cLOpEemyjo40BHcr6w" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_ASa2crOpEemyjo40BHcr6w" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_ASbdgLOpEemyjo40BHcr6w" type="Stereotype_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_Gk12wLOpEemyjo40BHcr6w" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="pdp4engReqGDPR.profile.uml#_GknNQLOpEemyjo40BHcr6w"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Gk12wbOpEemyjo40BHcr6w"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_ASbdgbOpEemyjo40BHcr6w"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ASbdgrOpEemyjo40BHcr6w"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ASbdg7OpEemyjo40BHcr6w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ASbdhLOpEemyjo40BHcr6w"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_ASbdhbOpEemyjo40BHcr6w" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_ASbdhrOpEemyjo40BHcr6w"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ASbdh7OpEemyjo40BHcr6w"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ASbdiLOpEemyjo40BHcr6w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ASbdibOpEemyjo40BHcr6w"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_ASV98LOpEemyjo40BHcr6w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ASa2cbOpEemyjo40BHcr6w" x="420" y="240"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_MHaHcLOpEemyjo40BHcr6w" type="Enumeration_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_MHaugLOpEemyjo40BHcr6w" type="Enumeration_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_MHaugbOpEemyjo40BHcr6w" type="Enumeration_LiteralCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_OQi-MLOpEemyjo40BHcr6w" type="EnumerationLiteral_LiteralLabel">
+ <element xmi:type="uml:EnumerationLiteral" href="pdp4engReqGDPR.profile.uml#_OQQDQLOpEemyjo40BHcr6w"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_OQi-MbOpEemyjo40BHcr6w"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_QFEP0LOpEemyjo40BHcr6w" type="EnumerationLiteral_LiteralLabel">
+ <element xmi:type="uml:EnumerationLiteral" href="pdp4engReqGDPR.profile.uml#_QE4CkLOpEemyjo40BHcr6w"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_QFEP0bOpEemyjo40BHcr6w"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Rf-HkLOpEemyjo40BHcr6w" type="EnumerationLiteral_LiteralLabel">
+ <element xmi:type="uml:EnumerationLiteral" href="pdp4engReqGDPR.profile.uml#_Rf0WkLOpEemyjo40BHcr6w"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Rf-HkbOpEemyjo40BHcr6w"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_MHaugrOpEemyjo40BHcr6w"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_MHaug7OpEemyjo40BHcr6w"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_MHauhLOpEemyjo40BHcr6w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MHauhbOpEemyjo40BHcr6w"/>
+ </children>
+ <element xmi:type="uml:Enumeration" href="pdp4engReqGDPR.profile.uml#_MHY5ULOpEemyjo40BHcr6w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MHaHcbOpEemyjo40BHcr6w" x="440" y="400"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_lCOmQLOpEemyjo40BHcr6w" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_lCOmQrOpEemyjo40BHcr6w" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_lCPNULOpEemyjo40BHcr6w" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_lCPNUbOpEemyjo40BHcr6w"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_lCPNUrOpEemyjo40BHcr6w"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_lCPNU7OpEemyjo40BHcr6w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lCPNVLOpEemyjo40BHcr6w"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_lCPNVbOpEemyjo40BHcr6w" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_lCPNVrOpEemyjo40BHcr6w"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_lCPNV7OpEemyjo40BHcr6w"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_lCPNWLOpEemyjo40BHcr6w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lCPNWbOpEemyjo40BHcr6w"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_lCKU0LOpEemyjo40BHcr6w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lCOmQbOpEemyjo40BHcr6w" x="600" y="240"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_TZmgwMQSEemLrKmPnGqBjA" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_TZnH0MQSEemLrKmPnGqBjA" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_TZnH0cQSEemLrKmPnGqBjA" type="Stereotype_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_W0ViQMQSEemLrKmPnGqBjA" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="pdp4engReqGDPR.profile.uml#_Wz1L8MQSEemLrKmPnGqBjA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_W0ViQcQSEemLrKmPnGqBjA"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_cSIAoMQSEemLrKmPnGqBjA" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="pdp4engReqGDPR.profile.uml#_cRwNMMQSEemLrKmPnGqBjA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_cSIAocQSEemLrKmPnGqBjA"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_TZnH0sQSEemLrKmPnGqBjA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_TZnH08QSEemLrKmPnGqBjA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_TZnH1MQSEemLrKmPnGqBjA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TZnH1cQSEemLrKmPnGqBjA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_TZnH1sQSEemLrKmPnGqBjA" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_TZnH18QSEemLrKmPnGqBjA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_TZnH2MQSEemLrKmPnGqBjA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_TZnH2cQSEemLrKmPnGqBjA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TZnH2sQSEemLrKmPnGqBjA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_TZfzEMQSEemLrKmPnGqBjA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TZmgwcQSEemLrKmPnGqBjA" x="720" y="240" height="101"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1ipKc1rzEeq5coEOWsxi4A" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1ipKdFrzEeq5coEOWsxi4A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_1ipxgFrzEeq5coEOWsxi4A" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1ipKdVrzEeq5coEOWsxi4A" x="360" y="60"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_Na8KsbOPEemyjo40BHcr6w" name="diagram_compatibility_version" stringValue="1.4.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_Na8KsrOPEemyjo40BHcr6w"/>
+ <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_Na8Ks7OPEemyjo40BHcr6w" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+ <owner xmi:type="uml:Profile" href="pdp4engReqGDPR.profile.uml#pdp4engreqprofile"/>
+ </styles>
+ <element xmi:type="uml:Profile" href="pdp4engReqGDPR.profile.uml#pdp4engreqprofile"/>
+ <edges xmi:type="notation:Connector" xmi:id="_WVWiILOpEemyjo40BHcr6w" type="Extension_Edge" source="_ASa2cLOpEemyjo40BHcr6w" target="_Pia0kLOPEemyjo40BHcr6w">
+ <styles xmi:type="notation:FontStyle" xmi:id="_WVWiIbOpEemyjo40BHcr6w"/>
+ <element xmi:type="uml:Extension" href="pdp4engReqGDPR.profile.uml#_WU-usLOpEemyjo40BHcr6w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WVWiIrOpEemyjo40BHcr6w" points="[920, 240, -643984, -643984]$[540, 112, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WV7J4LOpEemyjo40BHcr6w" id="(0.5095541401273885,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WV7w8LOpEemyjo40BHcr6w" id="(0.42446941323345816,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_XBJ4MLOpEemyjo40BHcr6w" type="Extension_Edge" source="_xqdkALOnEemyjo40BHcr6w" target="_Pia0kLOPEemyjo40BHcr6w">
+ <styles xmi:type="notation:FontStyle" xmi:id="_XBJ4MbOpEemyjo40BHcr6w"/>
+ <element xmi:type="uml:Extension" href="pdp4engReqGDPR.profile.uml#_XA5ZgLOpEemyjo40BHcr6w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XBJ4MrOpEemyjo40BHcr6w" points="[280, 240, -643984, -643984]$[500, 112, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XBeBQLOpEemyjo40BHcr6w" id="(0.4979253112033195,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XBeBQbOpEemyjo40BHcr6w" id="(0.149812734082397,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_nE2lULOpEemyjo40BHcr6w" type="Extension_Edge" source="_lCOmQLOpEemyjo40BHcr6w" target="_Pia0kLOPEemyjo40BHcr6w">
+ <styles xmi:type="notation:FontStyle" xmi:id="_nE2lUbOpEemyjo40BHcr6w"/>
+ <element xmi:type="uml:Extension" href="pdp4engReqGDPR.profile.uml#_nEicQLOpEemyjo40BHcr6w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_nE2lUrOpEemyjo40BHcr6w" points="[1240, 240, -643984, -643984]$[560, 112, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nFZX4LOpEemyjo40BHcr6w" id="(0.4,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nFZX4bOpEemyjo40BHcr6w" id="(0.599250936329588,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_2-6RIM16EemIGZzcx_n5Ew" type="Extension_Edge" source="_TZmgwMQSEemLrKmPnGqBjA" target="_Pia0kLOPEemyjo40BHcr6w">
+ <styles xmi:type="notation:FontStyle" xmi:id="_2-6RIc16EemIGZzcx_n5Ew"/>
+ <element xmi:type="uml:Extension" href="pdp4engReqGDPR.profile.uml#_298n0M16EemIGZzcx_n5Ew"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_2-6RIs16EemIGZzcx_n5Ew" points="[800, 240, -643984, -643984]$[800, 110, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2_1eMM16EemIGZzcx_n5Ew" id="(0.4678362573099415,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2_2FQM16EemIGZzcx_n5Ew" id="(0.7990012484394506,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_1ipxgVrzEeq5coEOWsxi4A" type="StereotypeCommentLink" source="_Pia0kLOPEemyjo40BHcr6w" target="_1ipKc1rzEeq5coEOWsxi4A">
+ <styles xmi:type="notation:FontStyle" xmi:id="_1ipxglrzEeq5coEOWsxi4A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_1ipxhlrzEeq5coEOWsxi4A" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_1ipxg1rzEeq5coEOWsxi4A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1ipxhFrzEeq5coEOWsxi4A"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1ipxhVrzEeq5coEOWsxi4A"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_cigdoMQgEemOUp1qx0PUxQ" type="PapyrusUMLProfileDiagram" name="Structuration" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_eE4PUMQgEemOUp1qx0PUxQ" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_eE6rkMQgEemOUp1qx0PUxQ" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_eE6rkcQgEemOUp1qx0PUxQ" visible="false" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_eE6rksQgEemOUp1qx0PUxQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_eE6rk8QgEemOUp1qx0PUxQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_eE6rlMQgEemOUp1qx0PUxQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eE6rlcQgEemOUp1qx0PUxQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_eE7SoMQgEemOUp1qx0PUxQ" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_eE7SocQgEemOUp1qx0PUxQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_eE7SosQgEemOUp1qx0PUxQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_eE7So8QgEemOUp1qx0PUxQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eE7SpMQgEemOUp1qx0PUxQ"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_eEo-wMQgEemOUp1qx0PUxQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eE4PUcQgEemOUp1qx0PUxQ" x="480" y="140" height="41"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_iPICMMQgEemOUp1qx0PUxQ" type="Class_MetaclassShape">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iPLFgMQgEemOUp1qx0PUxQ" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iPLskMQgEemOUp1qx0PUxQ" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iPLskcQgEemOUp1qx0PUxQ" key="StereotypeList" value="StandardProfile::Metaclass"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iPLsksQgEemOUp1qx0PUxQ" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iPLsk8QgEemOUp1qx0PUxQ" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iPLslMQgEemOUp1qx0PUxQ" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_iPIpQMQgEemOUp1qx0PUxQ" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iPIpQcQgEemOUp1qx0PUxQ" x="120" y="40" width="1361"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_D0BiYM17EemIGZzcx_n5Ew" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_D0BiYs17EemIGZzcx_n5Ew" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_D0BiY817EemIGZzcx_n5Ew" visible="false" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_D0BiZM17EemIGZzcx_n5Ew"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_D0BiZc17EemIGZzcx_n5Ew"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_D0BiZs17EemIGZzcx_n5Ew"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D0BiZ817EemIGZzcx_n5Ew"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_D0BiaM17EemIGZzcx_n5Ew" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_D0Biac17EemIGZzcx_n5Ew"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_D0Bias17EemIGZzcx_n5Ew"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_D0Bia817EemIGZzcx_n5Ew"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D0BibM17EemIGZzcx_n5Ew"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_Dz_GIM17EemIGZzcx_n5Ew"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D0BiYc17EemIGZzcx_n5Ew" x="120" y="340" width="161" height="41"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_GjDUcM17EemIGZzcx_n5Ew" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_GjDUcs17EemIGZzcx_n5Ew" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_GjDUc817EemIGZzcx_n5Ew" visible="false" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_GjDUdM17EemIGZzcx_n5Ew"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GjDUdc17EemIGZzcx_n5Ew"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GjDUds17EemIGZzcx_n5Ew"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GjDUd817EemIGZzcx_n5Ew"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_GjDUeM17EemIGZzcx_n5Ew" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_GjDUec17EemIGZzcx_n5Ew"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GjDUes17EemIGZzcx_n5Ew"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GjDUe817EemIGZzcx_n5Ew"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GjDUfM17EemIGZzcx_n5Ew"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_GjCGUM17EemIGZzcx_n5Ew"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GjDUcc17EemIGZzcx_n5Ew" x="800" y="140" height="41"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_JVV14M17EemIGZzcx_n5Ew" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_JVV14s17EemIGZzcx_n5Ew" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_JVV14817EemIGZzcx_n5Ew" visible="false" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_JVV15M17EemIGZzcx_n5Ew"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_JVV15c17EemIGZzcx_n5Ew"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_JVV15s17EemIGZzcx_n5Ew"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JVV15817EemIGZzcx_n5Ew"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_JVV16M17EemIGZzcx_n5Ew" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_JVV16c17EemIGZzcx_n5Ew"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_JVV16s17EemIGZzcx_n5Ew"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_JVV16817EemIGZzcx_n5Ew"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JVV17M17EemIGZzcx_n5Ew"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_JVUnwM17EemIGZzcx_n5Ew"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JVV14c17EemIGZzcx_n5Ew" x="940" y="140" height="41"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1giZMM17EemIGZzcx_n5Ew" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_1gjAQM17EemIGZzcx_n5Ew" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1gjAQc17EemIGZzcx_n5Ew" visible="false" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1gjAQs17EemIGZzcx_n5Ew"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1gjAQ817EemIGZzcx_n5Ew"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1gjARM17EemIGZzcx_n5Ew"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1gjARc17EemIGZzcx_n5Ew"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1gkOYM17EemIGZzcx_n5Ew" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1gkOYc17EemIGZzcx_n5Ew"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1gkOYs17EemIGZzcx_n5Ew"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1gkOY817EemIGZzcx_n5Ew"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1gkOZM17EemIGZzcx_n5Ew"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_1geu0M17EemIGZzcx_n5Ew"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1giZMc17EemIGZzcx_n5Ew" x="1080" y="140" height="41"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_35-80M17EemIGZzcx_n5Ew" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_35-80s17EemIGZzcx_n5Ew" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_35_j4M17EemIGZzcx_n5Ew" visible="false" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_35_j4c17EemIGZzcx_n5Ew"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_35_j4s17EemIGZzcx_n5Ew"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_35_j4817EemIGZzcx_n5Ew"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_35_j5M17EemIGZzcx_n5Ew"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_35_j5c17EemIGZzcx_n5Ew" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_35_j5s17EemIGZzcx_n5Ew"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_35_j5817EemIGZzcx_n5Ew"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_35_j6M17EemIGZzcx_n5Ew"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_35_j6c17EemIGZzcx_n5Ew"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_359HoM17EemIGZzcx_n5Ew"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_35-80c17EemIGZzcx_n5Ew" x="1300" y="140" height="41"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_nW65QM4iEemA--Akpl3qeg" type="Class_MetaclassShape">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nW_KsM4iEemA--Akpl3qeg" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nW_Ksc4iEemA--Akpl3qeg" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nW_Kss4iEemA--Akpl3qeg" key="StereotypeList" value="StandardProfile::Metaclass"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nW_Ks84iEemA--Akpl3qeg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nW_KtM4iEemA--Akpl3qeg" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nW_Ktc4iEemA--Akpl3qeg" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_nW98kM4iEemA--Akpl3qeg" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Activity"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nW-joM4iEemA--Akpl3qeg" x="120" y="220" width="161"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_qZFCsM4iEemA--Akpl3qeg" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_qZFCss4iEemA--Akpl3qeg" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_qZFCs84iEemA--Akpl3qeg" visible="false" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_qZFCtM4iEemA--Akpl3qeg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_qZFCtc4iEemA--Akpl3qeg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_qZFCts4iEemA--Akpl3qeg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qZFCt84iEemA--Akpl3qeg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_qZFCuM4iEemA--Akpl3qeg" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_qZFCuc4iEemA--Akpl3qeg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_qZFCus4iEemA--Akpl3qeg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_qZFCu84iEemA--Akpl3qeg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qZFCvM4iEemA--Akpl3qeg"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_qZAxQM4iEemA--Akpl3qeg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qZFCsc4iEemA--Akpl3qeg" x="660" y="140" height="41"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_0-YSUO8wEemMQJ9VTbRPgA" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_0-bVoO8wEemMQJ9VTbRPgA" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0-bVoe8wEemMQJ9VTbRPgA" visible="false" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0-bVou8wEemMQJ9VTbRPgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0-bVo-8wEemMQJ9VTbRPgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0-bVpO8wEemMQJ9VTbRPgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-bVpe8wEemMQJ9VTbRPgA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0-bVpu8wEemMQJ9VTbRPgA" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0-bVp-8wEemMQJ9VTbRPgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0-bVqO8wEemMQJ9VTbRPgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0-bVqe8wEemMQJ9VTbRPgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-bVqu8wEemMQJ9VTbRPgA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_0-GlgO8wEemMQJ9VTbRPgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0-YSUe8wEemMQJ9VTbRPgA" x="300" y="140" height="41"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1dR00O8wEemMQJ9VTbRPgA" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_1dR00u8wEemMQJ9VTbRPgA" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1dR00-8wEemMQJ9VTbRPgA" visible="false" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1dR01O8wEemMQJ9VTbRPgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1dR01e8wEemMQJ9VTbRPgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1dR01u8wEemMQJ9VTbRPgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1dR01-8wEemMQJ9VTbRPgA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1dR02O8wEemMQJ9VTbRPgA" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1dR02e8wEemMQJ9VTbRPgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1dR02u8wEemMQJ9VTbRPgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1dR02-8wEemMQJ9VTbRPgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1dR03O8wEemMQJ9VTbRPgA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_1dP_oO8wEemMQJ9VTbRPgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1dR00e8wEemMQJ9VTbRPgA" x="100" y="140" height="41"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1t5_QFrzEeq5coEOWsxi4A" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1t5_QVrzEeq5coEOWsxi4A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_1t5_Q1rzEeq5coEOWsxi4A" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1t5_QlrzEeq5coEOWsxi4A" x="320" y="40"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1uHaoFrzEeq5coEOWsxi4A" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1uHaoVrzEeq5coEOWsxi4A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_1uHao1rzEeq5coEOWsxi4A" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Activity"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1uHaolrzEeq5coEOWsxi4A" x="320" y="220"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_cigdocQgEemOUp1qx0PUxQ" name="diagram_compatibility_version" stringValue="1.4.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_cigdosQgEemOUp1qx0PUxQ"/>
+ <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_cigdo8QgEemOUp1qx0PUxQ" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+ <owner xmi:type="uml:Profile" href="pdp4engReqGDPR.profile.uml#pdp4engreqprofile"/>
+ </styles>
+ <element xmi:type="uml:Profile" href="pdp4engReqGDPR.profile.uml#pdp4engreqprofile"/>
+ <edges xmi:type="notation:Connector" xmi:id="_jNRFcMQgEemOUp1qx0PUxQ" type="Extension_Edge" source="_eE4PUMQgEemOUp1qx0PUxQ" target="_iPICMMQgEemOUp1qx0PUxQ">
+ <styles xmi:type="notation:FontStyle" xmi:id="_jNRFccQgEemOUp1qx0PUxQ"/>
+ <element xmi:type="uml:Extension" href="pdp4engReqGDPR.profile.uml#_jMaJ0MQgEemOUp1qx0PUxQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jNRFcsQgEemOUp1qx0PUxQ" points="[200, 180, -643984, -643984]$[200, 90, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jNo44MQgEemOUp1qx0PUxQ" id="(0.42857142857142855,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jNo44cQgEemOUp1qx0PUxQ" id="(0.3085966201322557,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_VfGdAM17EemIGZzcx_n5Ew" type="Extension_Edge" source="_GjDUcM17EemIGZzcx_n5Ew" target="_iPICMMQgEemOUp1qx0PUxQ">
+ <styles xmi:type="notation:FontStyle" xmi:id="_VfGdAc17EemIGZzcx_n5Ew"/>
+ <element xmi:type="uml:Extension" href="pdp4engReqGDPR.profile.uml#_Ve5BoM17EemIGZzcx_n5Ew"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_VfGdAs17EemIGZzcx_n5Ew" points="[520, 180, -643984, -643984]$[520, 90, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VfvWMM17EemIGZzcx_n5Ew" id="(0.6,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VfvWMc17EemIGZzcx_n5Ew" id="(0.5437178545187362,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_WQRbQM17EemIGZzcx_n5Ew" type="Extension_Edge" source="_JVV14M17EemIGZzcx_n5Ew" target="_iPICMMQgEemOUp1qx0PUxQ">
+ <styles xmi:type="notation:FontStyle" xmi:id="_WQRbQc17EemIGZzcx_n5Ew"/>
+ <element xmi:type="uml:Extension" href="pdp4engReqGDPR.profile.uml#_WQEm8M17EemIGZzcx_n5Ew"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WQRbQs17EemIGZzcx_n5Ew" points="[620, 180, -643984, -643984]$[620, 90, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WQh58M17EemIGZzcx_n5Ew" id="(0.36363636363636365,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WQjIEM17EemIGZzcx_n5Ew" id="(0.6318883174136665,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_7s7C8M17EemIGZzcx_n5Ew" type="Extension_Edge" source="_35-80M17EemIGZzcx_n5Ew" target="_iPICMMQgEemOUp1qx0PUxQ">
+ <styles xmi:type="notation:FontStyle" xmi:id="_7s7C8c17EemIGZzcx_n5Ew"/>
+ <element xmi:type="uml:Extension" href="pdp4engReqGDPR.profile.uml#_7srLUM17EemIGZzcx_n5Ew"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7s7C8s17EemIGZzcx_n5Ew" points="[1380, 180, -643984, -643984]$[1380, 90, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7tMvwM17EemIGZzcx_n5Ew" id="(0.3468208092485549,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7tMvwc17EemIGZzcx_n5Ew" id="(0.9110947832476121,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_81Zt8M17EemIGZzcx_n5Ew" type="Extension_Edge" source="_1giZMM17EemIGZzcx_n5Ew" target="_iPICMMQgEemOUp1qx0PUxQ">
+ <styles xmi:type="notation:FontStyle" xmi:id="_81Zt8c17EemIGZzcx_n5Ew"/>
+ <element xmi:type="uml:Extension" href="pdp4engReqGDPR.profile.uml#_81MSkM17EemIGZzcx_n5Ew"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_81Zt8s17EemIGZzcx_n5Ew" points="[1200, 180, -643984, -643984]$[1200, 90, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_81w6UM17EemIGZzcx_n5Ew" id="(0.45454545454545453,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_81w6Uc17EemIGZzcx_n5Ew" id="(0.7641440117560617,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_ps4rEM4iEemA--Akpl3qeg" type="Extension_Edge" source="_D0BiYM17EemIGZzcx_n5Ew" target="_nW65QM4iEemA--Akpl3qeg">
+ <styles xmi:type="notation:FontStyle" xmi:id="_ps4rEc4iEemA--Akpl3qeg"/>
+ <element xmi:type="uml:Extension" href="pdp4engReqGDPR.profile.uml#_psS1MM4iEemA--Akpl3qeg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ps4rEs4iEemA--Akpl3qeg" points="[240, 240, -643984, -643984]$[500, 300, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ptjZcM4iEemA--Akpl3qeg" id="(0.4968944099378882,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ptjZcc4iEemA--Akpl3qeg" id="(0.4968944099378882,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_s1go4M4iEemA--Akpl3qeg" type="Extension_Edge" source="_qZFCsM4iEemA--Akpl3qeg" target="_iPICMMQgEemOUp1qx0PUxQ">
+ <styles xmi:type="notation:FontStyle" xmi:id="_s1go4c4iEemA--Akpl3qeg"/>
+ <element xmi:type="uml:Extension" href="pdp4engReqGDPR.profile.uml#_s08BIM4iEemA--Akpl3qeg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_s1go4s4iEemA--Akpl3qeg" points="[360, 180, -643984, -643984]$[360, 90, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_s2SsAM4iEemA--Akpl3qeg" id="(0.6,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_s2SsAc4iEemA--Akpl3qeg" id="(0.440852314474651,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_5dTUsO8wEemMQJ9VTbRPgA" type="Extension_Edge" source="_0-YSUO8wEemMQJ9VTbRPgA" target="_iPICMMQgEemOUp1qx0PUxQ">
+ <styles xmi:type="notation:FontStyle" xmi:id="_5dTUse8wEemMQJ9VTbRPgA"/>
+ <element xmi:type="uml:Extension" href="pdp4engReqGDPR.profile.uml#_5cGa0O8wEemMQJ9VTbRPgA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5dTUsu8wEemMQJ9VTbRPgA" points="[160, 320, -643984, -643984]$[160, 90, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5eQ-AO8wEemMQJ9VTbRPgA" id="(0.5633802816901409,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5eSMIO8wEemMQJ9VTbRPgA" id="(0.19103600293901543,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_6frXsO8wEemMQJ9VTbRPgA" type="Extension_Edge" source="_1dR00O8wEemMQJ9VTbRPgA" target="_iPICMMQgEemOUp1qx0PUxQ">
+ <styles xmi:type="notation:FontStyle" xmi:id="_6frXse8wEemMQJ9VTbRPgA"/>
+ <element xmi:type="uml:Extension" href="pdp4engReqGDPR.profile.uml#_6er5MO8wEemMQJ9VTbRPgA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6frXsu8wEemMQJ9VTbRPgA" points="[140, 480, -643984, -643984]$[140, 90, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6hA0cO8wEemMQJ9VTbRPgA" id="(0.36363636363636365,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6hA0ce8wEemMQJ9VTbRPgA" id="(0.029390154298310066,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_1t5_RFrzEeq5coEOWsxi4A" type="StereotypeCommentLink" source="_iPICMMQgEemOUp1qx0PUxQ" target="_1t5_QFrzEeq5coEOWsxi4A">
+ <styles xmi:type="notation:FontStyle" xmi:id="_1t5_RVrzEeq5coEOWsxi4A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_1t5_SVrzEeq5coEOWsxi4A" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_1t5_RlrzEeq5coEOWsxi4A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1t5_R1rzEeq5coEOWsxi4A"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1t5_SFrzEeq5coEOWsxi4A"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_1uHapFrzEeq5coEOWsxi4A" type="StereotypeCommentLink" source="_nW65QM4iEemA--Akpl3qeg" target="_1uHaoFrzEeq5coEOWsxi4A">
+ <styles xmi:type="notation:FontStyle" xmi:id="_1uHapVrzEeq5coEOWsxi4A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_1uIBslrzEeq5coEOWsxi4A" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Activity"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_1uHaplrzEeq5coEOWsxi4A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1uIBsFrzEeq5coEOWsxi4A"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1uIBsVrzEeq5coEOWsxi4A"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_CRva0M18EemIGZzcx_n5Ew" type="PapyrusUMLProfileDiagram" name="PropanRequirementCategory" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_FitcUM18EemIGZzcx_n5Ew" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_FitcUs18EemIGZzcx_n5Ew" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FitcUc18EemIGZzcx_n5Ew" x="400" y="40" width="581"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_JemDEM18EemIGZzcx_n5Ew" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_JemqIM18EemIGZzcx_n5Ew" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_JemqIc18EemIGZzcx_n5Ew" type="Stereotype_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_ZvISUM18EemIGZzcx_n5Ew" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="pdp4engReqGDPR.profile.uml#_ZvDZ0M18EemIGZzcx_n5Ew"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ZvISUc18EemIGZzcx_n5Ew"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_JemqIs18EemIGZzcx_n5Ew"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_JemqI818EemIGZzcx_n5Ew"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_JemqJM18EemIGZzcx_n5Ew"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JemqJc18EemIGZzcx_n5Ew"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_JemqJs18EemIGZzcx_n5Ew" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_JemqJ818EemIGZzcx_n5Ew"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_JemqKM18EemIGZzcx_n5Ew"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_JemqKc18EemIGZzcx_n5Ew"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JemqKs18EemIGZzcx_n5Ew"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_Jek08M18EemIGZzcx_n5Ew"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JemDEc18EemIGZzcx_n5Ew" x="380" y="340" width="221"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_SD_WIM19EemIGZzcx_n5Ew" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_SD_9MM19EemIGZzcx_n5Ew" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_SD_9Mc19EemIGZzcx_n5Ew" type="Stereotype_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_7PUEMM4bEemIGZzcx_n5Ew" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="pdp4engReqGDPR.profile.uml#_7PNWgM4bEemIGZzcx_n5Ew"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_7PUEMc4bEemIGZzcx_n5Ew"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_OcBJoM4cEemIGZzcx_n5Ew" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="pdp4engReqGDPR.profile.uml#_Ob3_sM4cEemIGZzcx_n5Ew"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_OcBJoc4cEemIGZzcx_n5Ew"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_EhiBAM4dEemIGZzcx_n5Ew" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="pdp4engReqGDPR.profile.uml#_EhSJYM4dEemIGZzcx_n5Ew"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_EhiBAc4dEemIGZzcx_n5Ew"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_SD_9Ms19EemIGZzcx_n5Ew"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_SD_9M819EemIGZzcx_n5Ew"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_SD_9NM19EemIGZzcx_n5Ew"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SD_9Nc19EemIGZzcx_n5Ew"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_SD_9Ns19EemIGZzcx_n5Ew" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_SD_9N819EemIGZzcx_n5Ew"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_SD_9OM19EemIGZzcx_n5Ew"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_SD_9Oc19EemIGZzcx_n5Ew"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SD_9Os19EemIGZzcx_n5Ew"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_SD9g8M19EemIGZzcx_n5Ew"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SD_WIc19EemIGZzcx_n5Ew" x="200" y="180" width="581" height="101"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_p8SAsM4cEemIGZzcx_n5Ew" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_p8SAss4cEemIGZzcx_n5Ew" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_p8SnwM4cEemIGZzcx_n5Ew" type="Stereotype_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_tWCKwM4cEemIGZzcx_n5Ew" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="pdp4engReqGDPR.profile.uml#_tV7dEM4cEemIGZzcx_n5Ew"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_tWCKwc4cEemIGZzcx_n5Ew"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_p8Snwc4cEemIGZzcx_n5Ew"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_p8Snws4cEemIGZzcx_n5Ew"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_p8Snw84cEemIGZzcx_n5Ew"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p8SnxM4cEemIGZzcx_n5Ew"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_p8Snxc4cEemIGZzcx_n5Ew" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_p8Snxs4cEemIGZzcx_n5Ew"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_p8Snx84cEemIGZzcx_n5Ew"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_p8SnyM4cEemIGZzcx_n5Ew"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p8Snyc4cEemIGZzcx_n5Ew"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_p8QykM4cEemIGZzcx_n5Ew"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p8SAsc4cEemIGZzcx_n5Ew" x="300" y="520"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_qVyWYNoQEem5SNFcfg-vgA" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_qV1ZsNoQEem5SNFcfg-vgA" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_qV1ZsdoQEem5SNFcfg-vgA" type="Stereotype_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_8N6OgNoQEem5SNFcfg-vgA" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="pdp4engReqGDPR.profile.uml#_8NjCINoQEem5SNFcfg-vgA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8N6OgdoQEem5SNFcfg-vgA"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_qV1ZstoQEem5SNFcfg-vgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_qV1Zs9oQEem5SNFcfg-vgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_qV1ZtNoQEem5SNFcfg-vgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qV1ZtdoQEem5SNFcfg-vgA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_qV1ZttoQEem5SNFcfg-vgA" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_qV1Zt9oQEem5SNFcfg-vgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_qV1ZuNoQEem5SNFcfg-vgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_qV1ZudoQEem5SNFcfg-vgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qV1ZutoQEem5SNFcfg-vgA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_qVbxENoQEem5SNFcfg-vgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qVyWYdoQEem5SNFcfg-vgA" x="860" y="180"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Kjd-0NoREem5SNFcfg-vgA" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_KjfM8NoREem5SNFcfg-vgA" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_KjfM8doREem5SNFcfg-vgA" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_KjfM8toREem5SNFcfg-vgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_KjfM89oREem5SNFcfg-vgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_KjfM9NoREem5SNFcfg-vgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KjfM9doREem5SNFcfg-vgA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_KjfM9toREem5SNFcfg-vgA" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_KjfM99oREem5SNFcfg-vgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_KjfM-NoREem5SNFcfg-vgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_KjfM-doREem5SNFcfg-vgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KjfM-toREem5SNFcfg-vgA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_KjcJoNoREem5SNFcfg-vgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Kjd-0doREem5SNFcfg-vgA" x="640" y="340"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_UvE3MNoREem5SNFcfg-vgA" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_UvE3MtoREem5SNFcfg-vgA" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_UvFeQNoREem5SNFcfg-vgA" type="Stereotype_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_XQFbYNoREem5SNFcfg-vgA" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="pdp4engReqGDPR.profile.uml#_XPx5YNoREem5SNFcfg-vgA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XQFbYdoREem5SNFcfg-vgA"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_UvFeQdoREem5SNFcfg-vgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_UvFeQtoREem5SNFcfg-vgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_UvFeQ9oREem5SNFcfg-vgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UvFeRNoREem5SNFcfg-vgA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_UvFeRdoREem5SNFcfg-vgA" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_UvFeRtoREem5SNFcfg-vgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_UvFeR9oREem5SNFcfg-vgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_UvFeSNoREem5SNFcfg-vgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UvFeSdoREem5SNFcfg-vgA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_UvCa8NoREem5SNFcfg-vgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UvE3MdoREem5SNFcfg-vgA" x="160" y="340"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Y0KdQNoREem5SNFcfg-vgA" type="Enumeration_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Y0KdQtoREem5SNFcfg-vgA" type="Enumeration_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Y0KdQ9oREem5SNFcfg-vgA" type="Enumeration_LiteralCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_byf2oNoREem5SNFcfg-vgA" type="EnumerationLiteral_LiteralLabel">
+ <element xmi:type="uml:EnumerationLiteral" href="pdp4engReqGDPR.profile.uml#_byMUoNoREem5SNFcfg-vgA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_byf2odoREem5SNFcfg-vgA"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_c_IB0NoREem5SNFcfg-vgA" type="EnumerationLiteral_LiteralLabel">
+ <element xmi:type="uml:EnumerationLiteral" href="pdp4engReqGDPR.profile.uml#_c-1t8NoREem5SNFcfg-vgA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_c_IB0doREem5SNFcfg-vgA"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_eQ-rQNoREem5SNFcfg-vgA" type="EnumerationLiteral_LiteralLabel">
+ <element xmi:type="uml:EnumerationLiteral" href="pdp4engReqGDPR.profile.uml#_eQtlgNoREem5SNFcfg-vgA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_eQ-rQdoREem5SNFcfg-vgA"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_f6K2oNoREem5SNFcfg-vgA" type="EnumerationLiteral_LiteralLabel">
+ <element xmi:type="uml:EnumerationLiteral" href="pdp4engReqGDPR.profile.uml#_f5rucNoREem5SNFcfg-vgA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_f6K2odoREem5SNFcfg-vgA"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_jk5b8NoREem5SNFcfg-vgA" type="EnumerationLiteral_LiteralLabel">
+ <element xmi:type="uml:EnumerationLiteral" href="pdp4engReqGDPR.profile.uml#_jko9QNoREem5SNFcfg-vgA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_jk5b8doREem5SNFcfg-vgA"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_Y0KdRNoREem5SNFcfg-vgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Y0KdRdoREem5SNFcfg-vgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Y0KdRtoREem5SNFcfg-vgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y0KdR9oREem5SNFcfg-vgA"/>
+ </children>
+ <element xmi:type="uml:Enumeration" href="pdp4engReqGDPR.profile.uml#_Y0Gy4NoREem5SNFcfg-vgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y0KdQdoREem5SNFcfg-vgA" x="20" y="340"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_zWTfMNoREem5SNFcfg-vgA" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_zWTfMtoREem5SNFcfg-vgA" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_zWUGQNoREem5SNFcfg-vgA" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_zWUGQdoREem5SNFcfg-vgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_zWUGQtoREem5SNFcfg-vgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_zWUGQ9oREem5SNFcfg-vgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zWUGRNoREem5SNFcfg-vgA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_zWUGRdoREem5SNFcfg-vgA" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_zWUGRtoREem5SNFcfg-vgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_zWUGR9oREem5SNFcfg-vgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_zWUGSNoREem5SNFcfg-vgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zWUGSdoREem5SNFcfg-vgA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_zWRqANoREem5SNFcfg-vgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zWTfMdoREem5SNFcfg-vgA" x="540" y="520"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_13AQ4FrzEeq5coEOWsxi4A" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_13AQ4VrzEeq5coEOWsxi4A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_13AQ41rzEeq5coEOWsxi4A" 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="_13AQ4lrzEeq5coEOWsxi4A" x="600" y="40"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_CRva0c18EemIGZzcx_n5Ew" name="diagram_compatibility_version" stringValue="1.4.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_CRva0s18EemIGZzcx_n5Ew"/>
+ <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_CRva0818EemIGZzcx_n5Ew" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+ <owner xmi:type="uml:Profile" href="pdp4engReqGDPR.profile.uml#pdp4engreqprofile"/>
+ </styles>
+ <element xmi:type="uml:Profile" href="pdp4engReqGDPR.profile.uml#pdp4engreqprofile"/>
+ <edges xmi:type="notation:Connector" xmi:id="_PpV4oM19EemIGZzcx_n5Ew" type="Generalization_Edge" source="_JemDEM18EemIGZzcx_n5Ew" target="_SD_WIM19EemIGZzcx_n5Ew">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PpWfsM19EemIGZzcx_n5Ew" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_wyookNoREem5SNFcfg-vgA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PpWfsc19EemIGZzcx_n5Ew" x="-1" y="58"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_PpV4oc19EemIGZzcx_n5Ew"/>
+ <element xmi:type="uml:Generalization" href="pdp4engReqGDPR.profile.uml#_PpOj4M19EemIGZzcx_n5Ew"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PpV4os19EemIGZzcx_n5Ew" points="[500, 480, -643984, -643984]$[500, 443, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ppm-YM19EemIGZzcx_n5Ew" id="(0.45248868778280543,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PpnlcM19EemIGZzcx_n5Ew" id="(0.4819277108433735,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_TqYsMM19EemIGZzcx_n5Ew" type="Extension_Edge" source="_SD_WIM19EemIGZzcx_n5Ew" target="_FitcUM18EemIGZzcx_n5Ew">
+ <styles xmi:type="notation:FontStyle" xmi:id="_TqYsMc19EemIGZzcx_n5Ew"/>
+ <element xmi:type="uml:Extension" href="pdp4engReqGDPR.profile.uml#_TqO7MM19EemIGZzcx_n5Ew"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_TqYsMs19EemIGZzcx_n5Ew" points="[480, 180, -643984, -643984]$[480, 96, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TqmHkM19EemIGZzcx_n5Ew" id="(0.5163511187607573,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TqmHkc19EemIGZzcx_n5Ew" id="(0.1721170395869191,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_yU1nEM4cEemIGZzcx_n5Ew" type="Generalization_Edge" source="_p8SAsM4cEemIGZzcx_n5Ew" target="_JemDEM18EemIGZzcx_n5Ew">
+ <children xmi:type="notation:DecorationNode" xmi:id="_yU1nE84cEemIGZzcx_n5Ew" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_wzC4QNoREem5SNFcfg-vgA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_yU1nFM4cEemIGZzcx_n5Ew" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_yU1nEc4cEemIGZzcx_n5Ew"/>
+ <element xmi:type="uml:Generalization" href="pdp4engReqGDPR.profile.uml#_yUr2EM4cEemIGZzcx_n5Ew"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yU1nEs4cEemIGZzcx_n5Ew" points="[500, 640, -643984, -643984]$[500, 583, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yVJwIM4cEemIGZzcx_n5Ew" id="(0.5847953216374269,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yVJwIc4cEemIGZzcx_n5Ew" id="(0.45248868778280543,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_sKzXQNoQEem5SNFcfg-vgA" type="Extension_Edge" source="_qVyWYNoQEem5SNFcfg-vgA" target="_FitcUM18EemIGZzcx_n5Ew">
+ <styles xmi:type="notation:FontStyle" xmi:id="_sKzXQdoQEem5SNFcfg-vgA"/>
+ <element xmi:type="uml:Extension" href="pdp4engReqGDPR.profile.uml#_sJ-Q0NoQEem5SNFcfg-vgA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sKzXQtoQEem5SNFcfg-vgA" points="[720, 180, -643984, -643984]$[560, 90, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sL904NoQEem5SNFcfg-vgA" id="(0.3508771929824561,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sL904doQEem5SNFcfg-vgA" id="(0.8950086058519794,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_PaoiENoREem5SNFcfg-vgA" type="Generalization_Edge" source="_Kjd-0NoREem5SNFcfg-vgA" target="_SD_WIM19EemIGZzcx_n5Ew">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PaoiE9oREem5SNFcfg-vgA" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_P3rqcNoREem5SNFcfg-vgA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PaoiFNoREem5SNFcfg-vgA" y="59"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_PaoiEdoREem5SNFcfg-vgA"/>
+ <element xmi:type="uml:Generalization" href="pdp4engReqGDPR.profile.uml#_PaTx8NoREem5SNFcfg-vgA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PaoiEtoREem5SNFcfg-vgA" points="[180, 200, -643984, -643984]$[460, 180, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PbjvINoREem5SNFcfg-vgA" id="(0.5298013245033113,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PbjvIdoREem5SNFcfg-vgA" id="(0.8950086058519794,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_l0690NoREem5SNFcfg-vgA" type="Generalization_Edge" source="_UvE3MNoREem5SNFcfg-vgA" target="_SD_WIM19EemIGZzcx_n5Ew">
+ <children xmi:type="notation:DecorationNode" xmi:id="_l06909oREem5SNFcfg-vgA" type="Generalization_StereotypeLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_l0691NoREem5SNFcfg-vgA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_l0690doREem5SNFcfg-vgA"/>
+ <element xmi:type="uml:Generalization" href="pdp4engReqGDPR.profile.uml#_l0guINoREem5SNFcfg-vgA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l0690toREem5SNFcfg-vgA" points="[240, 340, -643984, -643984]$[440, 281, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l14AENoREem5SNFcfg-vgA" id="(0.5,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l14AEdoREem5SNFcfg-vgA" id="(0.06884681583476764,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_2gFTkNoREem5SNFcfg-vgA" type="Generalization_Edge" source="_zWTfMNoREem5SNFcfg-vgA" target="_JemDEM18EemIGZzcx_n5Ew">
+ <children xmi:type="notation:DecorationNode" xmi:id="_2gFTk9oREem5SNFcfg-vgA" type="Generalization_StereotypeLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_2gFTlNoREem5SNFcfg-vgA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_2gFTkdoREem5SNFcfg-vgA"/>
+ <element xmi:type="uml:Generalization" href="pdp4engReqGDPR.profile.uml#_2f2DANoREem5SNFcfg-vgA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_2gFTktoREem5SNFcfg-vgA" points="[560, 520, -643984, -643984]$[500, 440, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2goGINoREem5SNFcfg-vgA" id="(0.14285714285714285,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2goGIdoREem5SNFcfg-vgA" id="(0.5429864253393665,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_13AQ5FrzEeq5coEOWsxi4A" type="StereotypeCommentLink" source="_FitcUM18EemIGZzcx_n5Ew" target="_13AQ4FrzEeq5coEOWsxi4A">
+ <styles xmi:type="notation:FontStyle" xmi:id="_13AQ5VrzEeq5coEOWsxi4A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_13AQ6VrzEeq5coEOWsxi4A" 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="_13AQ5lrzEeq5coEOWsxi4A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_13AQ51rzEeq5coEOWsxi4A"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_13AQ6FrzEeq5coEOWsxi4A"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_yqXHwOs_EemVOdTBOQoUcg" type="PapyrusUMLProfileDiagram" name="DFD profile" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_zYEiUOs_EemVOdTBOQoUcg" type="Stereotype_Shape" fillColor="8453888">
+ <children xmi:type="notation:DecorationNode" xmi:id="_zYEiUus_EemVOdTBOQoUcg" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_zYFJYOs_EemVOdTBOQoUcg" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_zYFJYes_EemVOdTBOQoUcg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_zYFJYus_EemVOdTBOQoUcg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_zYFJY-s_EemVOdTBOQoUcg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zYFJZOs_EemVOdTBOQoUcg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_zYFJZes_EemVOdTBOQoUcg" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_zYFJZus_EemVOdTBOQoUcg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_zYFJZ-s_EemVOdTBOQoUcg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_zYFJaOs_EemVOdTBOQoUcg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zYFJaes_EemVOdTBOQoUcg"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_QiJakKIoEemN_tazoyo3PQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zYEiUes_EemVOdTBOQoUcg" x="280" y="260"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_0Etl4Os_EemVOdTBOQoUcg" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_0Etl4us_EemVOdTBOQoUcg" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0Etl4-s_EemVOdTBOQoUcg" type="Stereotype_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_7lWQUOtAEemVOdTBOQoUcg" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="pdp4engReqGDPR.profile.uml#_7lMfUOtAEemVOdTBOQoUcg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_7lWQUetAEemVOdTBOQoUcg"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0Etl5Os_EemVOdTBOQoUcg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0Etl5es_EemVOdTBOQoUcg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0Etl5us_EemVOdTBOQoUcg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0Etl5-s_EemVOdTBOQoUcg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0EuM8Os_EemVOdTBOQoUcg" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0EuM8es_EemVOdTBOQoUcg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0EuM8us_EemVOdTBOQoUcg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0EuM8-s_EemVOdTBOQoUcg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0EuM9Os_EemVOdTBOQoUcg"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_bQqywKIoEemN_tazoyo3PQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0Etl4es_EemVOdTBOQoUcg" x="603" y="261"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_2jmqMOs_EemVOdTBOQoUcg" type="Stereotype_Shape" fillColor="8453888">
+ <children xmi:type="notation:DecorationNode" xmi:id="_2jmqMus_EemVOdTBOQoUcg" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_2jmqM-s_EemVOdTBOQoUcg" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_2jmqNOs_EemVOdTBOQoUcg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_2jmqNes_EemVOdTBOQoUcg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_2jmqNus_EemVOdTBOQoUcg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2jmqN-s_EemVOdTBOQoUcg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_2jmqOOs_EemVOdTBOQoUcg" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_2jmqOes_EemVOdTBOQoUcg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_2jmqOus_EemVOdTBOQoUcg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_2jmqO-s_EemVOdTBOQoUcg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2jmqPOs_EemVOdTBOQoUcg"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_UjvkYOs9EemVOdTBOQoUcg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2jmqMes_EemVOdTBOQoUcg" x="40" y="260" width="120"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_3ZABIOs_EemVOdTBOQoUcg" type="Stereotype_Shape" fillColor="16777088">
+ <children xmi:type="notation:DecorationNode" xmi:id="_3ZAoMOs_EemVOdTBOQoUcg" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_3ZAoMes_EemVOdTBOQoUcg" visible="false" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_3ZAoMus_EemVOdTBOQoUcg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_3ZAoM-s_EemVOdTBOQoUcg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_3ZAoNOs_EemVOdTBOQoUcg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3ZAoNes_EemVOdTBOQoUcg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_3ZAoNus_EemVOdTBOQoUcg" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_3ZAoN-s_EemVOdTBOQoUcg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_3ZAoOOs_EemVOdTBOQoUcg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_3ZAoOes_EemVOdTBOQoUcg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3ZAoOus_EemVOdTBOQoUcg"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pathmap://pdp4engreqprofile-COMMON/pdp4engreqprofileCommonGDPR.profile.uml#_QiJakKIoEemN_tazoyo3PQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3ZABIes_EemVOdTBOQoUcg" x="280" y="60" height="41"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_41miAOs_EemVOdTBOQoUcg" type="Stereotype_Shape" fillColor="16777088">
+ <children xmi:type="notation:DecorationNode" xmi:id="_41nJEOs_EemVOdTBOQoUcg" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_41nJEes_EemVOdTBOQoUcg" visible="false" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_41nJEus_EemVOdTBOQoUcg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_41nJE-s_EemVOdTBOQoUcg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_41nJFOs_EemVOdTBOQoUcg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_41nJFes_EemVOdTBOQoUcg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_41nJFus_EemVOdTBOQoUcg" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_41nJF-s_EemVOdTBOQoUcg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_41nJGOs_EemVOdTBOQoUcg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_41nJGes_EemVOdTBOQoUcg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_41nJGus_EemVOdTBOQoUcg"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pathmap://pdp4engreqprofile-COMMON/pdp4engreqprofileCommonGDPR.profile.uml#_bQqywKIoEemN_tazoyo3PQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_41miAes_EemVOdTBOQoUcg" x="600" y="80" height="41"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_dFKEcOtAEemVOdTBOQoUcg" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_dFKrgOtAEemVOdTBOQoUcg" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_dFKrgetAEemVOdTBOQoUcg" type="Stereotype_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_iooeoOtBEemVOdTBOQoUcg" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="pdp4engReqGDPR.profile.uml#_ioeGkOtBEemVOdTBOQoUcg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_iooeoetBEemVOdTBOQoUcg"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_dFKrgutAEemVOdTBOQoUcg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_dFKrg-tAEemVOdTBOQoUcg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_dFKrhOtAEemVOdTBOQoUcg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dFKrhetAEemVOdTBOQoUcg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_dFKrhutAEemVOdTBOQoUcg" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_dFKrh-tAEemVOdTBOQoUcg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_dFKriOtAEemVOdTBOQoUcg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_dFKrietAEemVOdTBOQoUcg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dFKriutAEemVOdTBOQoUcg"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_dFI2UOtAEemVOdTBOQoUcg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dFKEcetAEemVOdTBOQoUcg" x="860" y="260"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_hT1EUOtAEemVOdTBOQoUcg" type="Class_MetaclassShape" fillColor="16777088">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hT1rYOtAEemVOdTBOQoUcg" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hT2ScOtAEemVOdTBOQoUcg" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hT2ScetAEemVOdTBOQoUcg" key="StereotypeList" value="StandardProfile::Metaclass"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hT2ScutAEemVOdTBOQoUcg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hT2Sc-tAEemVOdTBOQoUcg" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hT2SdOtAEemVOdTBOQoUcg" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_hT1EUutAEemVOdTBOQoUcg" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#DataStoreNode"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hT1EU-tAEemVOdTBOQoUcg" x="860" y="60"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_0J4nwFrzEeq5coEOWsxi4A" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0J4nwVrzEeq5coEOWsxi4A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_0J4nw1rzEeq5coEOWsxi4A" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#DataStoreNode"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0J4nwlrzEeq5coEOWsxi4A" x="1060" y="60"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_yqXHwes_EemVOdTBOQoUcg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_yqXHwus_EemVOdTBOQoUcg"/>
+ <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_yqXHw-s_EemVOdTBOQoUcg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+ <owner xmi:type="uml:Profile" href="pdp4engReqGDPR.profile.uml#pdp4engreqprofile"/>
+ </styles>
+ <element xmi:type="uml:Profile" href="pdp4engReqGDPR.profile.uml#pdp4engreqprofile"/>
+ <edges xmi:type="notation:Connector" xmi:id="_3aYhMOs_EemVOdTBOQoUcg" type="Generalization_Edge" source="_zYEiUOs_EemVOdTBOQoUcg" target="_3ZABIOs_EemVOdTBOQoUcg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_3aYhM-s_EemVOdTBOQoUcg" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_37CXMOs_EemVOdTBOQoUcg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_3aYhNOs_EemVOdTBOQoUcg" y="59"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_3aYhMes_EemVOdTBOQoUcg"/>
+ <element xmi:type="uml:Generalization" href="pdp4engReqGDPR.profile.uml#_pWYoELhUEemnErsCyDLyRA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3aYhMus_EemVOdTBOQoUcg" points="[285, 260, -643984, -643984]$[0, 0, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_37jUkOs_EemVOdTBOQoUcg" id="(0.47107438016528924,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_37j7oOs_EemVOdTBOQoUcg" id="(0.6,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_42UTsOs_EemVOdTBOQoUcg" type="Generalization_Edge" source="_0Etl4Os_EemVOdTBOQoUcg" target="_41miAOs_EemVOdTBOQoUcg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_42U6wOs_EemVOdTBOQoUcg" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_5KVb4Os_EemVOdTBOQoUcg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_42U6wes_EemVOdTBOQoUcg" x="1" y="59"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_42UTses_EemVOdTBOQoUcg"/>
+ <element xmi:type="uml:Generalization" href="pdp4engReqGDPR.profile.uml#_vl43QLhUEemnErsCyDLyRA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_42UTsus_EemVOdTBOQoUcg" points="[603, 276, -643984, -643984]$[0, 0, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5K5ckOs_EemVOdTBOQoUcg" id="(0.3413173652694611,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5K6DoOs_EemVOdTBOQoUcg" id="(0.6,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_9D_OAOs_EemVOdTBOQoUcg" type="Association_Edge" source="_zYEiUOs_EemVOdTBOQoUcg" target="_2jmqMOs_EemVOdTBOQoUcg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_9D_1EOs_EemVOdTBOQoUcg" type="Association_StereotypeLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_9D_1Ees_EemVOdTBOQoUcg" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_9D_1Eus_EemVOdTBOQoUcg" type="Association_NameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_9D_1E-s_EemVOdTBOQoUcg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_9D_1FOs_EemVOdTBOQoUcg" type="Association_TargetRoleLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_9D_1Fes_EemVOdTBOQoUcg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_9D_1Fus_EemVOdTBOQoUcg" type="Association_SourceRoleLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_9D_1F-s_EemVOdTBOQoUcg" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_9D_1GOs_EemVOdTBOQoUcg" type="Association_SourceMultiplicityLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_9D_1Ges_EemVOdTBOQoUcg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_9D_1Gus_EemVOdTBOQoUcg" type="Association_TargetMultiplicityLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_9D_1G-s_EemVOdTBOQoUcg" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_9D_OAes_EemVOdTBOQoUcg"/>
+ <element xmi:type="uml:Association" href="pdp4engReqGDPR.profile.uml#_9DLVsOs_EemVOdTBOQoUcg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9D_OAus_EemVOdTBOQoUcg" points="[280, 300, -643984, -643984]$[160, 300, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9E_TkOs_EemVOdTBOQoUcg" id="(0.0,0.4)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9E_Tkes_EemVOdTBOQoUcg" id="(1.0,0.4)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_iM72kOtAEemVOdTBOQoUcg" type="Extension_Edge" source="_dFKEcOtAEemVOdTBOQoUcg" target="_hT1EUOtAEemVOdTBOQoUcg">
+ <styles xmi:type="notation:FontStyle" xmi:id="_iM72ketAEemVOdTBOQoUcg"/>
+ <element xmi:type="uml:Extension" href="pdp4engReqGDPR.profile.uml#_iMl4UOtAEemVOdTBOQoUcg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_iM72kutAEemVOdTBOQoUcg" points="[920, 260, -643984, -643984]$[920, 110, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iNcM4OtAEemVOdTBOQoUcg" id="(0.4225352112676056,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iNcz8OtAEemVOdTBOQoUcg" id="(0.6,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_0J5O0FrzEeq5coEOWsxi4A" type="StereotypeCommentLink" source="_hT1EUOtAEemVOdTBOQoUcg" target="_0J4nwFrzEeq5coEOWsxi4A">
+ <styles xmi:type="notation:FontStyle" xmi:id="_0J5O0VrzEeq5coEOWsxi4A"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_0J514FrzEeq5coEOWsxi4A" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#DataStoreNode"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0J5O0lrzEeq5coEOWsxi4A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0J5O01rzEeq5coEOWsxi4A"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0J5O1FrzEeq5coEOWsxi4A"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_cvdskDeEEeq58cC05yunBQ" type="PapyrusUMLProfileDiagram" name="LawfulPrinciple" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_ldJOYDeEEeq58cC05yunBQ" type="Stereotype_Shape" fillColor="8453888">
+ <children xmi:type="notation:DecorationNode" xmi:id="_ldbiQDeEEeq58cC05yunBQ" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_ldbiQTeEEeq58cC05yunBQ" visible="false" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_ldbiQjeEEeq58cC05yunBQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ldbiQzeEEeq58cC05yunBQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ldbiRDeEEeq58cC05yunBQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ldbiRTeEEeq58cC05yunBQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_ldcJUDeEEeq58cC05yunBQ" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_ldcJUTeEEeq58cC05yunBQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ldcJUjeEEeq58cC05yunBQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ldcJUzeEEeq58cC05yunBQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ldcJVDeEEeq58cC05yunBQ"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_b2rSgKe9EemiOZ_hb7cBOg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ldJOYTeEEeq58cC05yunBQ" x="488" y="112" height="49"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_pad_kDeEEeq58cC05yunBQ" type="Stereotype_Shape" fillColor="8453888">
+ <children xmi:type="notation:DecorationNode" xmi:id="_paemoDeEEeq58cC05yunBQ" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_paemoTeEEeq58cC05yunBQ" type="Stereotype_AttributeCompartment">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EuWngDeFEeq58cC05yunBQ" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EuXOkDeFEeq58cC05yunBQ" key="visible" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:Shape" xmi:id="_GUiiMDeFEeq58cC05yunBQ" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="pdp4engReqGDPR.profile.uml#_GUeQwDeFEeq58cC05yunBQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_GUiiMTeFEeq58cC05yunBQ"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_paemojeEEeq58cC05yunBQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_paemozeEEeq58cC05yunBQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_paempDeEEeq58cC05yunBQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_paempTeEEeq58cC05yunBQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_paempjeEEeq58cC05yunBQ" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_paempzeEEeq58cC05yunBQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_paemqDeEEeq58cC05yunBQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_paemqTeEEeq58cC05yunBQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_paemqjeEEeq58cC05yunBQ"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_paWq0DeEEeq58cC05yunBQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pad_kTeEEeq58cC05yunBQ" x="120" y="240" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_zIsYYDeEEeq58cC05yunBQ" type="Stereotype_Shape" fillColor="16777088">
+ <children xmi:type="notation:DecorationNode" xmi:id="_zIsYYjeEEeq58cC05yunBQ" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_zIsYYzeEEeq58cC05yunBQ" visible="false" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_zIsYZDeEEeq58cC05yunBQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_zIsYZTeEEeq58cC05yunBQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_zIsYZjeEEeq58cC05yunBQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zIsYZzeEEeq58cC05yunBQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_zIsYaDeEEeq58cC05yunBQ" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_zIsYaTeEEeq58cC05yunBQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_zIsYajeEEeq58cC05yunBQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_zIsYazeEEeq58cC05yunBQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zIsYbDeEEeq58cC05yunBQ"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pathmap://pdp4engreqprofile-COMMON/pdp4engreqprofileCommonGDPR.profile.uml#_3gl34DbjEeqsGNzaceeV5g"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zIsYYTeEEeq58cC05yunBQ" x="120" y="400" height="41"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_3N-WQDeFEeq58cC05yunBQ" type="Stereotype_Shape" fillColor="8453888">
+ <children xmi:type="notation:DecorationNode" xmi:id="_3N-WQjeFEeq58cC05yunBQ" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_3N-WQzeFEeq58cC05yunBQ" type="Stereotype_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="__q5fQDeFEeq58cC05yunBQ" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="pdp4engReqGDPR.profile.uml#__qw8YDeFEeq58cC05yunBQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__q5fQTeFEeq58cC05yunBQ"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_3N-WRDeFEeq58cC05yunBQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_3N-WRTeFEeq58cC05yunBQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_3N-WRjeFEeq58cC05yunBQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3N-WRzeFEeq58cC05yunBQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_3N-WSDeFEeq58cC05yunBQ" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_3N-WSTeFEeq58cC05yunBQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_3N-WSjeFEeq58cC05yunBQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_3N-WSzeFEeq58cC05yunBQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3N-WTDeFEeq58cC05yunBQ"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_3N8hEDeFEeq58cC05yunBQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3N-WQTeFEeq58cC05yunBQ" x="300" y="240" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_3rGXIDeFEeq58cC05yunBQ" type="Stereotype_Shape" fillColor="8453888">
+ <children xmi:type="notation:DecorationNode" xmi:id="_3rGXIjeFEeq58cC05yunBQ" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_3rGXIzeFEeq58cC05yunBQ" type="Stereotype_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_fqdzMDeGEeq58cC05yunBQ" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="pdp4engReqGDPR.profile.uml#_fqXFgDeGEeq58cC05yunBQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_fqdzMTeGEeq58cC05yunBQ"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_3rG-MDeFEeq58cC05yunBQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_3rG-MTeFEeq58cC05yunBQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_3rG-MjeFEeq58cC05yunBQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3rG-MzeFEeq58cC05yunBQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_3rG-NDeFEeq58cC05yunBQ" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_3rG-NTeFEeq58cC05yunBQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_3rG-NjeFEeq58cC05yunBQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_3rG-NzeFEeq58cC05yunBQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3rG-ODeFEeq58cC05yunBQ"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_3rFJADeFEeq58cC05yunBQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3rGXITeFEeq58cC05yunBQ" x="480" y="240" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_4ImygDeFEeq58cC05yunBQ" type="Stereotype_Shape" fillColor="8453888">
+ <children xmi:type="notation:DecorationNode" xmi:id="_4InZkDeFEeq58cC05yunBQ" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_4InZkTeFEeq58cC05yunBQ" type="Stereotype_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_laTq4DeGEeq58cC05yunBQ" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="pdp4engReqGDPR.profile.uml#_laJ54DeGEeq58cC05yunBQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_laTq4TeGEeq58cC05yunBQ"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_4InZkjeFEeq58cC05yunBQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_4InZkzeFEeq58cC05yunBQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_4InZlDeFEeq58cC05yunBQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4InZlTeFEeq58cC05yunBQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_4InZljeFEeq58cC05yunBQ" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_4InZlzeFEeq58cC05yunBQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_4InZmDeFEeq58cC05yunBQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_4InZmTeFEeq58cC05yunBQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4InZmjeFEeq58cC05yunBQ"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_4IlkYDeFEeq58cC05yunBQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4ImygTeFEeq58cC05yunBQ" x="700" y="240" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_4kakwDeFEeq58cC05yunBQ" type="Stereotype_Shape" fillColor="8453888">
+ <children xmi:type="notation:DecorationNode" xmi:id="_4kakwjeFEeq58cC05yunBQ" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_4kakwzeFEeq58cC05yunBQ" type="Stereotype_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_qjytMDeGEeq58cC05yunBQ" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="pdp4engReqGDPR.profile.uml#_qjqxYDeGEeq58cC05yunBQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_qjytMTeGEeq58cC05yunBQ"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_4kakxDeFEeq58cC05yunBQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_4kakxTeFEeq58cC05yunBQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_4kakxjeFEeq58cC05yunBQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4kakxzeFEeq58cC05yunBQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_4kakyDeFEeq58cC05yunBQ" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_4kakyTeFEeq58cC05yunBQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_4kakyjeFEeq58cC05yunBQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_4kakyzeFEeq58cC05yunBQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4kakzDeFEeq58cC05yunBQ"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_4kYvkDeFEeq58cC05yunBQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4kakwTeFEeq58cC05yunBQ" x="960" y="240" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_5YDBIDeFEeq58cC05yunBQ" type="Stereotype_Shape" fillColor="8453888">
+ <children xmi:type="notation:DecorationNode" xmi:id="_5YDBIjeFEeq58cC05yunBQ" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_5YDBIzeFEeq58cC05yunBQ" type="Stereotype_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_yJuj0DeGEeq58cC05yunBQ" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="pdp4engReqGDPR.profile.uml#_yJmoADeGEeq58cC05yunBQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_yJuj0TeGEeq58cC05yunBQ"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_5YDBJDeFEeq58cC05yunBQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_5YDBJTeFEeq58cC05yunBQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_5YDBJjeFEeq58cC05yunBQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5YDBJzeFEeq58cC05yunBQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_5YDBKDeFEeq58cC05yunBQ" visible="false" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_5YDBKTeFEeq58cC05yunBQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_5YDBKjeFEeq58cC05yunBQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_5YDBKzeFEeq58cC05yunBQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5YDBLDeFEeq58cC05yunBQ"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pdp4engReqGDPR.profile.uml#_5YBzADeFEeq58cC05yunBQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5YDBITeFEeq58cC05yunBQ" x="1220" y="240" height="61"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_cvdskTeEEeq58cC05yunBQ" name="diagram_compatibility_version" stringValue="1.4.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_cvdskjeEEeq58cC05yunBQ"/>
+ <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_cvdskzeEEeq58cC05yunBQ" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+ <owner xmi:type="uml:Profile" href="pdp4engReqGDPR.profile.uml#pdp4engreqprofile"/>
+ </styles>
+ <element xmi:type="uml:Profile" href="pdp4engReqGDPR.profile.uml#pdp4engreqprofile"/>
+ <edges xmi:type="notation:Connector" xmi:id="_6VrjgDeEEeq58cC05yunBQ" type="Generalization_Edge" source="_pad_kDeEEeq58cC05yunBQ" target="_ldJOYDeEEeq58cC05yunBQ" routing="Rectilinear">
+ <children xmi:type="notation:DecorationNode" xmi:id="_6VsKkDeEEeq58cC05yunBQ" type="Generalization_StereotypeLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_6VsKkTeEEeq58cC05yunBQ" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_6VrjgTeEEeq58cC05yunBQ"/>
+ <element xmi:type="uml:Generalization" href="pdp4engReqGDPR.profile.uml#_6Vf9UDeEEeq58cC05yunBQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6VrjgjeEEeq58cC05yunBQ" points="[180, 240, -643984, -643984]$[540, 161, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6V3wwDeEEeq58cC05yunBQ" id="(0.5714285714285714,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6V3wwTeEEeq58cC05yunBQ" id="(0.52,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_ZdUUcDeGEeq58cC05yunBQ" type="Generalization_Edge" source="_3N-WQDeFEeq58cC05yunBQ" target="_ldJOYDeEEeq58cC05yunBQ" routing="Rectilinear">
+ <children xmi:type="notation:DecorationNode" xmi:id="_ZdUUczeGEeq58cC05yunBQ" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_2gIjYDeGEeq58cC05yunBQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ZdUUdDeGEeq58cC05yunBQ" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_ZdUUcTeGEeq58cC05yunBQ"/>
+ <element xmi:type="uml:Generalization" href="pdp4engReqGDPR.profile.uml#_ZdJ8YDeGEeq58cC05yunBQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ZdUUcjeGEeq58cC05yunBQ" points="[380, 240, -643984, -643984]$[380, 200, -643984, -643984]$[540, 200, -643984, -643984]$[540, 161, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZdkzIDeGEeq58cC05yunBQ" id="(0.38461538461538464,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZdkzITeGEeq58cC05yunBQ" id="(0.52,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Z2JEIDeGEeq58cC05yunBQ" type="Generalization_Edge" source="_3rGXIDeFEeq58cC05yunBQ" target="_ldJOYDeEEeq58cC05yunBQ" routing="Rectilinear">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Z2JEIzeGEeq58cC05yunBQ" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_2zK0IDeGEeq58cC05yunBQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Z2JEJDeGEeq58cC05yunBQ" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Z2JEITeGEeq58cC05yunBQ"/>
+ <element xmi:type="uml:Generalization" href="pdp4engReqGDPR.profile.uml#_Z2BvYDeGEeq58cC05yunBQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Z2JEIjeGEeq58cC05yunBQ" points="[620, 240, -643984, -643984]$[620, 200, -643984, -643984]$[540, 200, -643984, -643984]$[540, 161, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Z2aJ4DeGEeq58cC05yunBQ" id="(0.47619047619047616,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Z2aJ4TeGEeq58cC05yunBQ" id="(0.52,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_aWILwDeGEeq58cC05yunBQ" type="Generalization_Edge" source="_4ImygDeFEeq58cC05yunBQ" target="_ldJOYDeEEeq58cC05yunBQ" routing="Rectilinear">
+ <children xmi:type="notation:DecorationNode" xmi:id="_aWILwzeGEeq58cC05yunBQ" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_e3FOcDeGEeq58cC05yunBQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_aWILxDeGEeq58cC05yunBQ" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_aWILwTeGEeq58cC05yunBQ"/>
+ <element xmi:type="uml:Generalization" href="pdp4engReqGDPR.profile.uml#_aV4UIDeGEeq58cC05yunBQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_aWILwjeGEeq58cC05yunBQ" points="[780, 240, -643984, -643984]$[780, 200, -643984, -643984]$[540, 200, -643984, -643984]$[540, 161, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_aWWOMDeGEeq58cC05yunBQ" id="(0.5128205128205128,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_aWWOMTeGEeq58cC05yunBQ" id="(0.52,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_a5sL0DeGEeq58cC05yunBQ" type="Generalization_Edge" source="_4kakwDeFEeq58cC05yunBQ" target="_ldJOYDeEEeq58cC05yunBQ" routing="Rectilinear">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a5sL0zeGEeq58cC05yunBQ" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_eh6PsDeGEeq58cC05yunBQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a5sL1DeGEeq58cC05yunBQ" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_a5sL0TeGEeq58cC05yunBQ"/>
+ <element xmi:type="uml:Generalization" href="pdp4engReqGDPR.profile.uml#_a5eJYDeGEeq58cC05yunBQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a5sL0jeGEeq58cC05yunBQ" points="[1000, 240, -643984, -643984]$[1000, 200, -643984, -643984]$[540, 200, -643984, -643984]$[540, 161, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a6AU4DeGEeq58cC05yunBQ" id="(0.6926406926406926,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a6AU4TeGEeq58cC05yunBQ" id="(0.52,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_bf-vwDeGEeq58cC05yunBQ" type="Generalization_Edge" source="_5YDBIDeFEeq58cC05yunBQ" target="_ldJOYDeEEeq58cC05yunBQ" routing="Rectilinear">
+ <children xmi:type="notation:DecorationNode" xmi:id="_bf-vwzeGEeq58cC05yunBQ" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vkZgUDeGEeq58cC05yunBQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bf-vxDeGEeq58cC05yunBQ" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_bf-vwTeGEeq58cC05yunBQ"/>
+ <element xmi:type="uml:Generalization" href="pdp4engReqGDPR.profile.uml#_bfu4IDeGEeq58cC05yunBQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bf-vwjeGEeq58cC05yunBQ" points="[1120, 240, -643984, -643984]$[1120, 200, -643984, -643984]$[540, 200, -643984, -643984]$[540, 161, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bgRqsDeGEeq58cC05yunBQ" id="(0.31746031746031744,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bgRqsTeGEeq58cC05yunBQ" id="(0.52,1.0)"/>
+ </edges>
+ </notation:Diagram>
+</xmi:XMI>
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/model/pdp4engReqGDPR.profile.uml b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/model/pdp4engReqGDPR.profile.uml
new file mode 100644
index 0000000..56e2e6b
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/model/pdp4engReqGDPR.profile.uml
@@ -0,0 +1,406 @@
+<?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="pdp4engreqprofile" name="pdp4engReqGDPR" metaclassReference="_OUFAgKIoEemN_tazoyo3PQ _Ny30EKIsEemN_tazoyo3PQ _iPFl8MQgEemOUp1qx0PUxQ _nWxvUM4iEemA--Akpl3qeg _hTz2MOtAEemVOdTBOQoUcg">
+ <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>
+ <elementImport xmi:type="uml:ElementImport" xmi:id="_iPFl8MQgEemOUp1qx0PUxQ" alias="Package">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ </elementImport>
+ <elementImport xmi:type="uml:ElementImport" xmi:id="_nWxvUM4iEemA--Akpl3qeg" alias="Activity">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Activity"/>
+ </elementImport>
+ <elementImport xmi:type="uml:ElementImport" xmi:id="_hTz2MOtAEemVOdTBOQoUcg" alias="DataStoreNode">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#DataStoreNode"/>
+ </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="ProcessRequirement">
+ <generalization xmi:type="uml:Generalization" xmi:id="_pWYoELhUEemnErsCyDLyRA">
+ <general xmi:type="uml:Stereotype" href="pathmap://PDP4ENG-COMMON/pdp4engCommonGDPR.profile.uml#_QiJakKIoEemN_tazoyo3PQ"/>
+ </generalization>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_9DSDYOs_EemVOdTBOQoUcg" name="requester" type="_UjvkYOs9EemVOdTBOQoUcg" association="_9DLVsOs_EemVOdTBOQoUcg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_nQxj4OtAEemVOdTBOQoUcg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_nR_r4OtAEemVOdTBOQoUcg" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_bQqywKIoEemN_tazoyo3PQ" name="PersonalDataRequirement">
+ <generalization xmi:type="uml:Generalization" xmi:id="_vl43QLhUEemnErsCyDLyRA">
+ <general xmi:type="uml:Stereotype" href="pathmap://PDP4ENG-COMMON/pdp4engCommonGDPR.profile.uml#_bQqywKIoEemN_tazoyo3PQ"/>
+ </generalization>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_7lMfUOtAEemVOdTBOQoUcg" name="source" visibility="public">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_-3IaAKe8EemiOZ_hb7cBOg" name="GDPRPrinciple">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_CIjugKe9EemiOZ_hb7cBOg" name="base_NamedElement" association="_CIjHcKe9EemiOZ_hb7cBOg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_CIjugae9EemiOZ_hb7cBOg"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_CIjHcKe9EemiOZ_hb7cBOg" name="E_GDPRPrinciple_NamedElement19" memberEnd="_CIjHcae9EemiOZ_hb7cBOg _CIjugKe9EemiOZ_hb7cBOg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_CIjHcae9EemiOZ_hb7cBOg" name="extension_GDPRPrinciple" type="_-3IaAKe8EemiOZ_hb7cBOg" aggregation="composite" association="_CIjHcKe9EemiOZ_hb7cBOg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_EMnQ8Ke9EemiOZ_hb7cBOg" name="ProcessPrinciple">
+ <generalization xmi:type="uml:Generalization" xmi:id="_GKNmEKe9EemiOZ_hb7cBOg" general="_-3IaAKe8EemiOZ_hb7cBOg"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_E2JgkMQhEemOUp1qx0PUxQ" name="process" type="_QiJakKIoEemN_tazoyo3PQ"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_Wq-0IMQhEemOUp1qx0PUxQ" name="dataSubject">
+ <type xmi:type="uml:Stereotype" href="pathmap://PDP4ENG-COMMON/pdp4engCommonGDPR.profile.uml#_u3iJwKe8EemiOZ_hb7cBOg"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_caAzgMQhEemOUp1qx0PUxQ" name="personalData" type="_bQqywKIoEemN_tazoyo3PQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iT-3kMQhEemOUp1qx0PUxQ" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iUdYsMQhEemOUp1qx0PUxQ" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_IJyRIKe9EemiOZ_hb7cBOg" name="PurposePersonalDataPrinciple">
+ <generalization xmi:type="uml:Generalization" xmi:id="_-aC_8Ke9EemiOZ_hb7cBOg" general="_-3IaAKe8EemiOZ_hb7cBOg"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_JzmTkM5JEemMr69mPZbrMQ" name="purpose">
+ <type xmi:type="uml:Stereotype" href="pathmap://PDP4ENG-COMMON/pdp4engCommonGDPR.profile.uml#_sfn3MKe8EemiOZ_hb7cBOg"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_P_FlcM5JEemMr69mPZbrMQ" name="personalData" visibility="public">
+ <type xmi:type="uml:Stereotype" href="pathmap://PDP4ENG-COMMON/pdp4engCommonGDPR.profile.uml#_bQqywKIoEemN_tazoyo3PQ"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_Ntr-kKe9EemiOZ_hb7cBOg" name="DataMinimisation">
+ <generalization xmi:type="uml:Generalization" xmi:id="_-8b7UKe9EemiOZ_hb7cBOg" general="_IJyRIKe9EemiOZ_hb7cBOg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_Qykr4Ke9EemiOZ_hb7cBOg" name="PurposeLimitation">
+ <generalization xmi:type="uml:Generalization" xmi:id="__agXYKe9EemiOZ_hb7cBOg" general="_IJyRIKe9EemiOZ_hb7cBOg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_TSUEwKe9EemiOZ_hb7cBOg" name="Accuracy">
+ <generalization xmi:type="uml:Generalization" xmi:id="__5XdoKe9EemiOZ_hb7cBOg" general="_IJyRIKe9EemiOZ_hb7cBOg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_VkrwAKe9EemiOZ_hb7cBOg" name="StorageLimitation">
+ <generalization xmi:type="uml:Generalization" xmi:id="_AaOvAKe-EemiOZ_hb7cBOg" general="_IJyRIKe9EemiOZ_hb7cBOg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_b2rSgKe9EemiOZ_hb7cBOg" name="Lawful">
+ <generalization xmi:type="uml:Generalization" xmi:id="_kpiPQKe9EemiOZ_hb7cBOg" general="_EMnQ8Ke9EemiOZ_hb7cBOg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_dVmHkKe9EemiOZ_hb7cBOg" name="Fairly">
+ <generalization xmi:type="uml:Generalization" xmi:id="_l_gjsKe9EemiOZ_hb7cBOg" general="_EMnQ8Ke9EemiOZ_hb7cBOg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_ej_0YKe9EemiOZ_hb7cBOg" name="Transparency">
+ <generalization xmi:type="uml:Generalization" xmi:id="_m4HmsKe9EemiOZ_hb7cBOg" general="_EMnQ8Ke9EemiOZ_hb7cBOg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_ioeWcKe9EemiOZ_hb7cBOg" name="SecuritySafety">
+ <generalization xmi:type="uml:Generalization" xmi:id="_nrSJAKe9EemiOZ_hb7cBOg" general="_EMnQ8Ke9EemiOZ_hb7cBOg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_xqHlwLOnEemyjo40BHcr6w" name="RelatedTo">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_3XTLALOnEemyjo40BHcr6w" name="sensitive">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_8gQo4LOnEemyjo40BHcr6w" name="linkability" type="_aQdiQLOoEemyjo40BHcr6w"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="__rZIILOnEemyjo40BHcr6w" name="collection" visibility="public" type="_mBgucLOoEemyjo40BHcr6w"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_XA6noLOpEemyjo40BHcr6w" name="base_Element" association="_XA5ZgLOpEemyjo40BHcr6w">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XA6nobOpEemyjo40BHcr6w"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Enumeration" xmi:id="_aQdiQLOoEemyjo40BHcr6w" name="Linkability">
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_bnMrsLOoEemyjo40BHcr6w" name="Single"/>
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_demSMLOoEemyjo40BHcr6w" name="notKnown"/>
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_gt1OULOoEemyjo40BHcr6w" name="subgroup"/>
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_iMCRsLOoEemyjo40BHcr6w" name="anonymous"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Enumeration" xmi:id="_mBgucLOoEemyjo40BHcr6w" name="CollectionMethod">
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_nOEoMLOoEemyjo40BHcr6w" name="direct"/>
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_obRbILOoEemyjo40BHcr6w" name="indirect"/>
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_p2OWMLOoEemyjo40BHcr6w" name="reused"/>
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_reKkYLOoEemyjo40BHcr6w" name="external"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_ASV98LOpEemyjo40BHcr6w" name="AvailableAt">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_GknNQLOpEemyjo40BHcr6w" name="duration" type="_MHY5ULOpEemyjo40BHcr6w"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_WVE1ULOpEemyjo40BHcr6w" name="base_Element" association="_WU-usLOpEemyjo40BHcr6w">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_WVFcYLOpEemyjo40BHcr6w"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Enumeration" xmi:id="_MHY5ULOpEemyjo40BHcr6w" name="Duration">
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_OQQDQLOpEemyjo40BHcr6w" name="forAction"/>
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_QE4CkLOpEemyjo40BHcr6w" name="untilDeleted"/>
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_Rf0WkLOpEemyjo40BHcr6w" name="unlimited"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_WU-usLOpEemyjo40BHcr6w" name="E_AvailableAt_Element35" memberEnd="_WVEOQLOpEemyjo40BHcr6w _WVE1ULOpEemyjo40BHcr6w">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_WVEOQLOpEemyjo40BHcr6w" name="extension_AvailableAt" type="_ASV98LOpEemyjo40BHcr6w" aggregation="composite" association="_WU-usLOpEemyjo40BHcr6w"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_XA5ZgLOpEemyjo40BHcr6w" name="E_RelatedTo_Element36" memberEnd="_XA6AkLOpEemyjo40BHcr6w _XA6noLOpEemyjo40BHcr6w">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_XA6AkLOpEemyjo40BHcr6w" name="extension_RelatedTo" type="_xqHlwLOnEemyjo40BHcr6w" aggregation="composite" association="_XA5ZgLOpEemyjo40BHcr6w"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_lCKU0LOpEemyjo40BHcr6w" name="DerivedFrom">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_nElfkLOpEemyjo40BHcr6w" name="base_Element" association="_nEicQLOpEemyjo40BHcr6w">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_nElfkbOpEemyjo40BHcr6w"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_nEicQLOpEemyjo40BHcr6w" name="E_DerivedFrom_Element38" memberEnd="_nEjDULOpEemyjo40BHcr6w _nElfkLOpEemyjo40BHcr6w">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_nEjDULOpEemyjo40BHcr6w" name="extension_DerivedFrom" type="_lCKU0LOpEemyjo40BHcr6w" aggregation="composite" association="_nEicQLOpEemyjo40BHcr6w"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_3QS-MLhUEemnErsCyDLyRA" name="DataRequirement">
+ <generalization xmi:type="uml:Generalization" xmi:id="_8EbbkLhUEemnErsCyDLyRA">
+ <general xmi:type="uml:Stereotype" href="pathmap://PDP4ENG-COMMON/pdp4engCommonGDPR.profile.uml#_zuyzoKe8EemiOZ_hb7cBOg"/>
+ </generalization>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_TZfzEMQSEemLrKmPnGqBjA" name="Linkable">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_Wz1L8MQSEemLrKmPnGqBjA" name="duration" type="_MHY5ULOpEemyjo40BHcr6w"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_cRwNMMQSEemLrKmPnGqBjA" name="linkability" type="_aQdiQLOoEemyjo40BHcr6w"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_2-BgUM16EemIGZzcx_n5Ew" name="base_Element" association="_298n0M16EemIGZzcx_n5Ew">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_2-BgUc16EemIGZzcx_n5Ew"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_eEo-wMQgEemOUp1qx0PUxQ" name="GeneratedRequirements">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_jM1AkMQgEemOUp1qx0PUxQ" name="base_Package" association="_jMaJ0MQgEemOUp1qx0PUxQ">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jM1AkcQgEemOUp1qx0PUxQ"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_jMaJ0MQgEemOUp1qx0PUxQ" name="E_GeneratedRequirements_Package34" memberEnd="_jMzycMQgEemOUp1qx0PUxQ _jM1AkMQgEemOUp1qx0PUxQ">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_jMzycMQgEemOUp1qx0PUxQ" name="extension_GeneratedRequirements" type="_eEo-wMQgEemOUp1qx0PUxQ" aggregation="composite" association="_jMaJ0MQgEemOUp1qx0PUxQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_298n0M16EemIGZzcx_n5Ew" name="E_Linkable_Element35" memberEnd="_2-ASMM16EemIGZzcx_n5Ew _2-BgUM16EemIGZzcx_n5Ew">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_2-ASMM16EemIGZzcx_n5Ew" name="extension_Linkable" type="_TZfzEMQSEemLrKmPnGqBjA" aggregation="composite" association="_298n0M16EemIGZzcx_n5Ew"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_Dz_GIM17EemIGZzcx_n5Ew" name="DataFlowRequirement">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_psV4gM4iEemA--Akpl3qeg" name="base_Activity" association="_psS1MM4iEemA--Akpl3qeg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Activity"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_psV4gc4iEemA--Akpl3qeg"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_GjCGUM17EemIGZzcx_n5Ew" name="DataSubjects">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_Ve6PwM17EemIGZzcx_n5Ew" name="base_Package" association="_Ve5BoM17EemIGZzcx_n5Ew">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Ve6Pwc17EemIGZzcx_n5Ew"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_JVUnwM17EemIGZzcx_n5Ew" name="DataRequirements">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_WQF1EM17EemIGZzcx_n5Ew" name="base_Package" association="_WQEm8M17EemIGZzcx_n5Ew">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_WQF1Ec17EemIGZzcx_n5Ew"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_OhWAsM17EemIGZzcx_n5Ew" name="AvailableInformation">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_Z7ZpMc17EemIGZzcx_n5Ew" name="base_Package" association="_Z7ZCIM17EemIGZzcx_n5Ew">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Z7ZpMs17EemIGZzcx_n5Ew"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_lLy_YM17EemIGZzcx_n5Ew" name="concerns" visibility="public">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_R9y5cM17EemIGZzcx_n5Ew" name="PersonalInformation">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_bMtgEM17EemIGZzcx_n5Ew" name="base_Package" association="_bMs5AM17EemIGZzcx_n5Ew">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bMtgEc17EemIGZzcx_n5Ew"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_eY1d0M17EemIGZzcx_n5Ew" name="concerns" visibility="public">
+ <type xmi:type="uml:Stereotype" href="pathmap://PDP4ENG-COMMON/pdp4engCommonGDPR.profile.uml#_u3iJwKe8EemiOZ_hb7cBOg"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_Ve5BoM17EemIGZzcx_n5Ew" name="E_DataSubjects_Package42" memberEnd="_Ve5osM17EemIGZzcx_n5Ew _Ve6PwM17EemIGZzcx_n5Ew">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_Ve5osM17EemIGZzcx_n5Ew" name="extension_DataSubjects" type="_GjCGUM17EemIGZzcx_n5Ew" aggregation="composite" association="_Ve5BoM17EemIGZzcx_n5Ew"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_WQEm8M17EemIGZzcx_n5Ew" name="E_DataRequirements_Package1" memberEnd="_WQFOAM17EemIGZzcx_n5Ew _WQF1EM17EemIGZzcx_n5Ew">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_WQFOAM17EemIGZzcx_n5Ew" name="extension_DataRequirements" type="_JVUnwM17EemIGZzcx_n5Ew" aggregation="composite" association="_WQEm8M17EemIGZzcx_n5Ew"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_Z7ZCIM17EemIGZzcx_n5Ew" name="E_AvailableInformation_Package44" memberEnd="_Z7ZpMM17EemIGZzcx_n5Ew _Z7ZpMc17EemIGZzcx_n5Ew">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_Z7ZpMM17EemIGZzcx_n5Ew" name="extension_AvailableInformation" type="_OhWAsM17EemIGZzcx_n5Ew" aggregation="composite" association="_Z7ZCIM17EemIGZzcx_n5Ew"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_bMs5AM17EemIGZzcx_n5Ew" name="E_PersonalInformation_Package45" memberEnd="_bMs5Ac17EemIGZzcx_n5Ew _bMtgEM17EemIGZzcx_n5Ew">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_bMs5Ac17EemIGZzcx_n5Ew" name="extension_PersonalInformation" type="_R9y5cM17EemIGZzcx_n5Ew" aggregation="composite" association="_bMs5AM17EemIGZzcx_n5Ew"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_1geu0M17EemIGZzcx_n5Ew" name="AvailableInformationContainer">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_81M5oM17EemIGZzcx_n5Ew" name="base_Package" association="_81MSkM17EemIGZzcx_n5Ew">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_81M5oc17EemIGZzcx_n5Ew"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_359HoM17EemIGZzcx_n5Ew" name="PersonalInformationContainer">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_7sryYM17EemIGZzcx_n5Ew" name="base_Package" association="_7srLUM17EemIGZzcx_n5Ew">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_7sryYc17EemIGZzcx_n5Ew"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_7srLUM17EemIGZzcx_n5Ew" name="E_PersonalInformationContainer_Package1" memberEnd="_7srLUc17EemIGZzcx_n5Ew _7sryYM17EemIGZzcx_n5Ew">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_7srLUc17EemIGZzcx_n5Ew" name="extension_PersonalInformationContainer" type="_359HoM17EemIGZzcx_n5Ew" aggregation="composite" association="_7srLUM17EemIGZzcx_n5Ew"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_81MSkM17EemIGZzcx_n5Ew" name="E_AvailableInformationContainer_Package49" memberEnd="_81MSkc17EemIGZzcx_n5Ew _81M5oM17EemIGZzcx_n5Ew">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_81MSkc17EemIGZzcx_n5Ew" name="extension_AvailableInformationContainer" type="_1geu0M17EemIGZzcx_n5Ew" aggregation="composite" association="_81MSkM17EemIGZzcx_n5Ew"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_Jek08M18EemIGZzcx_n5Ew" name="UnlinkabilityRequirement">
+ <generalization xmi:type="uml:Generalization" xmi:id="_PpOj4M19EemIGZzcx_n5Ew" general="_SD9g8M19EemIGZzcx_n5Ew"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_ZvDZ0M18EemIGZzcx_n5Ew" name="linkability" visibility="public" type="_aQdiQLOoEemyjo40BHcr6w"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_SD9g8M19EemIGZzcx_n5Ew" name="PrivacyRequirement">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_TqPiQc19EemIGZzcx_n5Ew" name="base_NamedElement" association="_TqO7MM19EemIGZzcx_n5Ew">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_TqPiQs19EemIGZzcx_n5Ew"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_7PNWgM4bEemIGZzcx_n5Ew" name="dataSubject" visibility="public">
+ <type xmi:type="uml:Stereotype" href="pathmap://PDP4ENG-COMMON/pdp4engCommonGDPR.profile.uml#_u3iJwKe8EemiOZ_hb7cBOg"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_Ob3_sM4cEemIGZzcx_n5Ew" name="counterstakeholders">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_T_GXsM4cEemIGZzcx_n5Ew"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_T_O6kM4cEemIGZzcx_n5Ew" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_EhSJYM4dEemIGZzcx_n5Ew" name="personalData">
+ <type xmi:type="uml:Stereotype" href="pathmap://PDP4ENG-COMMON/pdp4engCommonGDPR.profile.uml#_bQqywKIoEemN_tazoyo3PQ"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_JmvAQM4dEemIGZzcx_n5Ew"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Jmz4wM4dEemIGZzcx_n5Ew" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_TqO7MM19EemIGZzcx_n5Ew" name="E_PrivacyRequirement_NamedElement54" memberEnd="_TqPiQM19EemIGZzcx_n5Ew _TqPiQc19EemIGZzcx_n5Ew">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_TqPiQM19EemIGZzcx_n5Ew" name="extension_PrivacyRequirement" type="_SD9g8M19EemIGZzcx_n5Ew" aggregation="composite" association="_TqO7MM19EemIGZzcx_n5Ew"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_p8QykM4cEemIGZzcx_n5Ew" name="DataUnlinkabilityRequirement">
+ <generalization xmi:type="uml:Generalization" xmi:id="_yUr2EM4cEemIGZzcx_n5Ew" general="_Jek08M18EemIGZzcx_n5Ew"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_tV7dEM4cEemIGZzcx_n5Ew" name="links">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_wekpAM4cEemIGZzcx_n5Ew"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_weoTYM4cEemIGZzcx_n5Ew" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_psS1MM4iEemA--Akpl3qeg" name="E_DataFlowRequirement_Activity56" memberEnd="_psVRcM4iEemA--Akpl3qeg _psV4gM4iEemA--Akpl3qeg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_psVRcM4iEemA--Akpl3qeg" name="extension_DataFlowRequirement" type="_Dz_GIM17EemIGZzcx_n5Ew" aggregation="composite" association="_psS1MM4iEemA--Akpl3qeg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_qZAxQM4iEemA--Akpl3qeg" name="Controlers">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_s08oMc4iEemA--Akpl3qeg" name="base_Package" association="_s08BIM4iEemA--Akpl3qeg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_s08oMs4iEemA--Akpl3qeg"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_s08BIM4iEemA--Akpl3qeg" name="E_Controlers_Package58" memberEnd="_s08oMM4iEemA--Akpl3qeg _s08oMc4iEemA--Akpl3qeg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_s08oMM4iEemA--Akpl3qeg" name="extension_Controlers" type="_qZAxQM4iEemA--Akpl3qeg" aggregation="composite" association="_s08BIM4iEemA--Akpl3qeg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_qVbxENoQEem5SNFcfg-vgA" name="Link">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_sKUPENoQEem5SNFcfg-vgA" name="base_NamedElement" association="_sJ-Q0NoQEem5SNFcfg-vgA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_sKUPEdoQEem5SNFcfg-vgA"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_8NjCINoQEem5SNFcfg-vgA" name="linkability" visibility="public" type="_aQdiQLOoEemyjo40BHcr6w"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_sJ-Q0NoQEem5SNFcfg-vgA" name="E_Link_NamedElement60" memberEnd="_sKToANoQEem5SNFcfg-vgA _sKUPENoQEem5SNFcfg-vgA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_sKToANoQEem5SNFcfg-vgA" name="extension_Link" type="_qVbxENoQEem5SNFcfg-vgA" aggregation="composite" association="_sJ-Q0NoQEem5SNFcfg-vgA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_KjcJoNoREem5SNFcfg-vgA" name="UndectabilityRequirement">
+ <generalization xmi:type="uml:Generalization" xmi:id="_PaTx8NoREem5SNFcfg-vgA" general="_SD9g8M19EemIGZzcx_n5Ew"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_UvCa8NoREem5SNFcfg-vgA" name="PseudonimityRequirement">
+ <generalization xmi:type="uml:Generalization" xmi:id="_l0guINoREem5SNFcfg-vgA" general="_SD9g8M19EemIGZzcx_n5Ew"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_XPx5YNoREem5SNFcfg-vgA" name="kind" visibility="public" type="_Y0Gy4NoREem5SNFcfg-vgA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Enumeration" xmi:id="_Y0Gy4NoREem5SNFcfg-vgA" name="PseudonymKind">
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_byMUoNoREem5SNFcfg-vgA" name="Person"/>
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_c-1t8NoREem5SNFcfg-vgA" name="role"/>
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_eQtlgNoREem5SNFcfg-vgA" name="relationShip"/>
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_f5rucNoREem5SNFcfg-vgA" name="roleRelationShip"/>
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_jko9QNoREem5SNFcfg-vgA" name="transaction"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_zWRqANoREem5SNFcfg-vgA" name="AnanomityRequirement">
+ <generalization xmi:type="uml:Generalization" xmi:id="_2f2DANoREem5SNFcfg-vgA" general="_Jek08M18EemIGZzcx_n5Ew"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_UjvkYOs9EemVOdTBOQoUcg" name="Stakeholder">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_XAWwwOs9EemVOdTBOQoUcg" name="base_NamedElement" association="_W_9vMOs9EemVOdTBOQoUcg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XAWwwes9EemVOdTBOQoUcg"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_W_9vMOs9EemVOdTBOQoUcg" name="E_Stakeholder_NamedElement64" memberEnd="_XAWJsOs9EemVOdTBOQoUcg _XAWwwOs9EemVOdTBOQoUcg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_XAWJsOs9EemVOdTBOQoUcg" name="extension_Stakeholder" type="_UjvkYOs9EemVOdTBOQoUcg" aggregation="composite" association="_W_9vMOs9EemVOdTBOQoUcg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_9DLVsOs_EemVOdTBOQoUcg" memberEnd="_9DSDYOs_EemVOdTBOQoUcg _9DTRgOs_EemVOdTBOQoUcg">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9DQOMOs_EemVOdTBOQoUcg" source="org.eclipse.papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9DQ1QOs_EemVOdTBOQoUcg" key="nature" value="UML_Nature"/>
+ </eAnnotations>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_9DTRgOs_EemVOdTBOQoUcg" name="processrequirement" type="_QiJakKIoEemN_tazoyo3PQ" association="_9DLVsOs_EemVOdTBOQoUcg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_dFI2UOtAEemVOdTBOQoUcg" name="DataRecordRequirement">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_iMnGcOtAEemVOdTBOQoUcg" name="base_DataStoreNode" association="_iMl4UOtAEemVOdTBOQoUcg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#DataStoreNode"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iMnGcetAEemVOdTBOQoUcg"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_ioeGkOtBEemVOdTBOQoUcg" name="dataList">
+ <type xmi:type="uml:Stereotype" href="pathmap://PDP4ENG-COMMON/pdp4engCommonGDPR.profile.uml#_zuyzoKe8EemiOZ_hb7cBOg"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_nW8n4OtBEemVOdTBOQoUcg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_nXDVkOtBEemVOdTBOQoUcg" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_iMl4UOtAEemVOdTBOQoUcg" name="E_DataRecordRequirement_DataStoreNode68" memberEnd="_iMmfYOtAEemVOdTBOQoUcg _iMnGcOtAEemVOdTBOQoUcg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_iMmfYOtAEemVOdTBOQoUcg" name="extension_DataRecordRequirement" type="_dFI2UOtAEemVOdTBOQoUcg" aggregation="composite" association="_iMl4UOtAEemVOdTBOQoUcg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_0-GlgO8wEemMQJ9VTbRPgA" name="FunctionalRequirements">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_5cL6YO8wEemMQJ9VTbRPgA" name="base_Package" association="_5cGa0O8wEemMQJ9VTbRPgA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_5cL6Ye8wEemMQJ9VTbRPgA"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_1dP_oO8wEemMQJ9VTbRPgA" name="NonFunctionalRequirements">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_6etHUO8wEemMQJ9VTbRPgA" name="base_Package" association="_6er5MO8wEemMQJ9VTbRPgA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_6etHUe8wEemMQJ9VTbRPgA"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_5cGa0O8wEemMQJ9VTbRPgA" name="E_FunctionalRequirements_Package1" memberEnd="_5cLTUO8wEemMQJ9VTbRPgA _5cL6YO8wEemMQJ9VTbRPgA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_5cLTUO8wEemMQJ9VTbRPgA" name="extension_FunctionalRequirements" type="_0-GlgO8wEemMQJ9VTbRPgA" aggregation="composite" association="_5cGa0O8wEemMQJ9VTbRPgA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_6er5MO8wEemMQJ9VTbRPgA" name="E_NonFunctionalRequirements_Package73" memberEnd="_6esgQO8wEemMQJ9VTbRPgA _6etHUO8wEemMQJ9VTbRPgA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_6esgQO8wEemMQJ9VTbRPgA" name="extension_NonFunctionalRequirements" type="_1dP_oO8wEemMQJ9VTbRPgA" aggregation="composite" association="_6er5MO8wEemMQJ9VTbRPgA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_paWq0DeEEeq58cC05yunBQ" name="LawfulByConsent">
+ <generalization xmi:type="uml:Generalization" xmi:id="_6Vf9UDeEEeq58cC05yunBQ" general="_b2rSgKe9EemiOZ_hb7cBOg"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_GUeQwDeFEeq58cC05yunBQ" name="consent" visibility="public">
+ <type xmi:type="uml:Stereotype" href="pathmap://PDP4ENG-COMMON/pdp4engCommonGDPR.profile.uml#_3gl34DbjEeqsGNzaceeV5g"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_3N8hEDeFEeq58cC05yunBQ" name="LawfulByContract">
+ <generalization xmi:type="uml:Generalization" xmi:id="_ZdJ8YDeGEeq58cC05yunBQ" general="_b2rSgKe9EemiOZ_hb7cBOg"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="__qw8YDeFEeq58cC05yunBQ" name="contract">
+ <type xmi:type="uml:Stereotype" href="pathmap://PDP4ENG-COMMON/pdp4engCommonGDPR.profile.uml#_UjKPMDbkEeqsGNzaceeV5g"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_3rFJADeFEeq58cC05yunBQ" name="LawfulByPublicInterest">
+ <generalization xmi:type="uml:Generalization" xmi:id="_Z2BvYDeGEeq58cC05yunBQ" general="_b2rSgKe9EemiOZ_hb7cBOg"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_fqXFgDeGEeq58cC05yunBQ" name="publicInterest">
+ <type xmi:type="uml:Stereotype" href="pathmap://PDP4ENG-COMMON/pdp4engCommonGDPR.profile.uml#_7ZRHsDblEeqsGNzaceeV5g"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_4IlkYDeFEeq58cC05yunBQ" name="LawfulByLegitimateInterest">
+ <generalization xmi:type="uml:Generalization" xmi:id="_aV4UIDeGEeq58cC05yunBQ" general="_b2rSgKe9EemiOZ_hb7cBOg"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_laJ54DeGEeq58cC05yunBQ" name="legitimateInterest">
+ <type xmi:type="uml:Stereotype" href="pathmap://PDP4ENG-COMMON/pdp4engCommonGDPR.profile.uml#_8K1ukDblEeqsGNzaceeV5g"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_4kYvkDeFEeq58cC05yunBQ" name="LawfulByLegalObligation">
+ <generalization xmi:type="uml:Generalization" xmi:id="_a5eJYDeGEeq58cC05yunBQ" general="_b2rSgKe9EemiOZ_hb7cBOg"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_qjqxYDeGEeq58cC05yunBQ" name="legalObligation">
+ <type xmi:type="uml:Stereotype" href="pathmap://PDP4ENG-COMMON/pdp4engCommonGDPR.profile.uml#_8Z5eQDblEeqsGNzaceeV5g"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_5YBzADeFEeq58cC05yunBQ" name="LawfulByVitalInterest">
+ <generalization xmi:type="uml:Generalization" xmi:id="_bfu4IDeGEeq58cC05yunBQ" general="_b2rSgKe9EemiOZ_hb7cBOg"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_yJmoADeGEeq58cC05yunBQ" name="vitalInterest">
+ <type xmi:type="uml:Stereotype" href="pathmap://PDP4ENG-COMMON/pdp4engCommonGDPR.profile.uml#_8pTMMDblEeqsGNzaceeV5g"/>
+ </ownedAttribute>
+ </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>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_FGSbEOtBEemVOdTBOQoUcg">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FGUQQOtBEemVOdTBOQoUcg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="pathmap://PAPYRUS_ACTIONLANGUAGE_PROFILE/ActionLanguage-Profile.profile.uml#_Kv8EIKFXEeS_KNX0nfvIVQ"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://PAPYRUS_ACTIONLANGUAGE_PROFILE/ActionLanguage-Profile.profile.uml#ActionLanguage"/>
+ </profileApplication>
+ </uml:Profile>
+ <Ecore:EPackage xmi:id="_IQROgKIpEemN_tazoyo3PQ" base_Package="pdp4engreqprofile" nsURI="http://org.eclipse.papyrus.pdp4eng.req.profile" basePackage="org.eclipse.papyrus.pdp4eng.req.profile"/>
+</xmi:XMI>
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/plugin.properties b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/plugin.properties
new file mode 100644
index 0000000..730d1e0
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.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 Req
+providerName = Eclipse Modeling Project
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/plugin.xml b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/plugin.xml
new file mode 100644
index 0000000..531320c
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/plugin.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<plugin>
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated pdp4engReqGDPR -->
+ <package
+ uri="http://org.eclipse.papyrus.pdp4eng.req.profile"
+ class="org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage"
+ genModel="model/pdp4engReqGDPR.genmodel"/>
+ </extension>
+ <extension
+ point="org.eclipse.emf.ecore.uri_mapping">
+ <mapping
+ source="pathmap://PDP4ENG-REQ/"
+ target="platform:/plugin/org.eclipse.papyrus.pdp4eng.req.profile/model/">
+ </mapping>
+ </extension>
+ <extension
+ point="org.eclipse.uml2.uml.generated_package">
+ <profile
+ location="pathmap://PDP4ENG-REQ/pdp4engReqGDPR.profile.uml#pdp4engreqprofile"
+ uri="http://org.eclipse.papyrus.pdp4eng.req.profile">
+ </profile>
+ </extension>
+
+</plugin>
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/pom.xml b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/pom.xml
new file mode 100644
index 0000000..cb4fbb8
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.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.req.artifact</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>org.eclipse.papyrus.pdp4eng.req.profile</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+
+</project>
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Accuracy.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Accuracy.java
new file mode 100644
index 0000000..fe5548b
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Accuracy.java
@@ -0,0 +1,31 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Accuracy</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getAccuracy()
+ * @model
+ * @generated
+ */
+public interface Accuracy extends PurposePersonalDataPrinciple {
+} // Accuracy
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/AnanomityRequirement.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/AnanomityRequirement.java
new file mode 100644
index 0000000..eb7bd6c
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/AnanomityRequirement.java
@@ -0,0 +1,31 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Ananomity Requirement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getAnanomityRequirement()
+ * @model
+ * @generated
+ */
+public interface AnanomityRequirement extends UnlinkabilityRequirement {
+} // AnanomityRequirement
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/AvailableAt.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/AvailableAt.java
new file mode 100644
index 0000000..38399fc
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/AvailableAt.java
@@ -0,0 +1,96 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Element;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Available At</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AvailableAt#getDuration <em>Duration</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AvailableAt#getBase_Element <em>Base Element</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getAvailableAt()
+ * @model
+ * @generated
+ */
+public interface AvailableAt extends EObject {
+ /**
+ * Returns the value of the '<em><b>Duration</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Duration}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Duration</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Duration</em>' attribute.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Duration
+ * @see #setDuration(Duration)
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getAvailableAt_Duration()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Duration getDuration();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AvailableAt#getDuration <em>Duration</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Duration</em>' attribute.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Duration
+ * @see #getDuration()
+ * @generated
+ */
+ void setDuration(Duration value);
+
+ /**
+ * Returns the value of the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base 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 Element</em>' reference.
+ * @see #setBase_Element(Element)
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getAvailableAt_Base_Element()
+ * @model ordered="false"
+ * @generated
+ */
+ Element getBase_Element();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AvailableAt#getBase_Element <em>Base Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Element</em>' reference.
+ * @see #getBase_Element()
+ * @generated
+ */
+ void setBase_Element(Element value);
+
+} // AvailableAt
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/AvailableInformation.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/AvailableInformation.java
new file mode 100644
index 0000000..e461aff
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/AvailableInformation.java
@@ -0,0 +1,93 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Available Information</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AvailableInformation#getBase_Package <em>Base Package</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AvailableInformation#getConcerns <em>Concerns</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getAvailableInformation()
+ * @model
+ * @generated
+ */
+public interface AvailableInformation extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Package</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 Package</em>' reference.
+ * @see #setBase_Package(org.eclipse.uml2.uml.Package)
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getAvailableInformation_Base_Package()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Package getBase_Package();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AvailableInformation#getBase_Package <em>Base Package</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Package</em>' reference.
+ * @see #getBase_Package()
+ * @generated
+ */
+ void setBase_Package(org.eclipse.uml2.uml.Package value);
+
+ /**
+ * Returns the value of the '<em><b>Concerns</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Concerns</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Concerns</em>' reference.
+ * @see #setConcerns(NamedElement)
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getAvailableInformation_Concerns()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ NamedElement getConcerns();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AvailableInformation#getConcerns <em>Concerns</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Concerns</em>' reference.
+ * @see #getConcerns()
+ * @generated
+ */
+ void setConcerns(NamedElement value);
+
+} // AvailableInformation
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/AvailableInformationContainer.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/AvailableInformationContainer.java
new file mode 100644
index 0000000..526ead1
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/AvailableInformationContainer.java
@@ -0,0 +1,64 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Available Information Container</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AvailableInformationContainer#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getAvailableInformationContainer()
+ * @model
+ * @generated
+ */
+public interface AvailableInformationContainer extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Package</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 Package</em>' reference.
+ * @see #setBase_Package(org.eclipse.uml2.uml.Package)
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getAvailableInformationContainer_Base_Package()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Package getBase_Package();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AvailableInformationContainer#getBase_Package <em>Base Package</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Package</em>' reference.
+ * @see #getBase_Package()
+ * @generated
+ */
+ void setBase_Package(org.eclipse.uml2.uml.Package value);
+
+} // AvailableInformationContainer
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/CollectionMethod.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/CollectionMethod.java
new file mode 100644
index 0000000..544bbf2
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/CollectionMethod.java
@@ -0,0 +1,269 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Collection Method</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getCollectionMethod()
+ * @model
+ * @generated
+ */
+public enum CollectionMethod implements Enumerator {
+ /**
+ * The '<em><b>Direct</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #DIRECT_VALUE
+ * @generated
+ * @ordered
+ */
+ DIRECT(0, "direct", "direct"),
+
+ /**
+ * The '<em><b>Indirect</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #INDIRECT_VALUE
+ * @generated
+ * @ordered
+ */
+ INDIRECT(1, "indirect", "indirect"),
+
+ /**
+ * The '<em><b>Reused</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #REUSED_VALUE
+ * @generated
+ * @ordered
+ */
+ REUSED(2, "reused", "reused"),
+
+ /**
+ * The '<em><b>External</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #EXTERNAL_VALUE
+ * @generated
+ * @ordered
+ */
+ EXTERNAL(3, "external", "external");
+
+ /**
+ * The '<em><b>Direct</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #DIRECT
+ * @model name="direct"
+ * @generated
+ * @ordered
+ */
+ public static final int DIRECT_VALUE = 0;
+
+ /**
+ * The '<em><b>Indirect</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #INDIRECT
+ * @model name="indirect"
+ * @generated
+ * @ordered
+ */
+ public static final int INDIRECT_VALUE = 1;
+
+ /**
+ * The '<em><b>Reused</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #REUSED
+ * @model name="reused"
+ * @generated
+ * @ordered
+ */
+ public static final int REUSED_VALUE = 2;
+
+ /**
+ * The '<em><b>External</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #EXTERNAL
+ * @model name="external"
+ * @generated
+ * @ordered
+ */
+ public static final int EXTERNAL_VALUE = 3;
+
+ /**
+ * An array of all the '<em><b>Collection Method</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final CollectionMethod[] VALUES_ARRAY =
+ new CollectionMethod[] {
+ DIRECT,
+ INDIRECT,
+ REUSED,
+ EXTERNAL,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Collection Method</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<CollectionMethod> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Collection Method</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static CollectionMethod get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ CollectionMethod result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Collection Method</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static CollectionMethod getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ CollectionMethod result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Collection Method</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static CollectionMethod get(int value) {
+ switch (value) {
+ case DIRECT_VALUE: return DIRECT;
+ case INDIRECT_VALUE: return INDIRECT;
+ case REUSED_VALUE: return REUSED;
+ case EXTERNAL_VALUE: return EXTERNAL;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private CollectionMethod(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //CollectionMethod
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Controlers.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Controlers.java
new file mode 100644
index 0000000..a38fc4b
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Controlers.java
@@ -0,0 +1,64 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Controlers</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Controlers#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getControlers()
+ * @model
+ * @generated
+ */
+public interface Controlers extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Package</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 Package</em>' reference.
+ * @see #setBase_Package(org.eclipse.uml2.uml.Package)
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getControlers_Base_Package()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Package getBase_Package();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Controlers#getBase_Package <em>Base Package</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Package</em>' reference.
+ * @see #getBase_Package()
+ * @generated
+ */
+ void setBase_Package(org.eclipse.uml2.uml.Package value);
+
+} // Controlers
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataFlowRequirement.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataFlowRequirement.java
new file mode 100644
index 0000000..0467cde
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataFlowRequirement.java
@@ -0,0 +1,66 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Activity;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Data Flow Requirement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataFlowRequirement#getBase_Activity <em>Base Activity</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getDataFlowRequirement()
+ * @model
+ * @generated
+ */
+public interface DataFlowRequirement extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Activity</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Activity</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 Activity</em>' reference.
+ * @see #setBase_Activity(Activity)
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getDataFlowRequirement_Base_Activity()
+ * @model ordered="false"
+ * @generated
+ */
+ Activity getBase_Activity();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataFlowRequirement#getBase_Activity <em>Base Activity</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Activity</em>' reference.
+ * @see #getBase_Activity()
+ * @generated
+ */
+ void setBase_Activity(Activity value);
+
+} // DataFlowRequirement
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataMinimisation.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataMinimisation.java
new file mode 100644
index 0000000..5b12c8c
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataMinimisation.java
@@ -0,0 +1,31 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Data Minimisation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getDataMinimisation()
+ * @model
+ * @generated
+ */
+public interface DataMinimisation extends PurposePersonalDataPrinciple {
+} // DataMinimisation
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataRecordRequirement.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataRecordRequirement.java
new file mode 100644
index 0000000..2e28329
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataRecordRequirement.java
@@ -0,0 +1,87 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Data;
+
+import org.eclipse.uml2.uml.DataStoreNode;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Data Record Requirement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataRecordRequirement#getBase_DataStoreNode <em>Base Data Store Node</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataRecordRequirement#getDataList <em>Data List</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getDataRecordRequirement()
+ * @model
+ * @generated
+ */
+public interface DataRecordRequirement extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Data Store Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Data Store Node</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 Data Store Node</em>' reference.
+ * @see #setBase_DataStoreNode(DataStoreNode)
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getDataRecordRequirement_Base_DataStoreNode()
+ * @model ordered="false"
+ * @generated
+ */
+ DataStoreNode getBase_DataStoreNode();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataRecordRequirement#getBase_DataStoreNode <em>Base Data Store Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Data Store Node</em>' reference.
+ * @see #getBase_DataStoreNode()
+ * @generated
+ */
+ void setBase_DataStoreNode(DataStoreNode value);
+
+ /**
+ * Returns the value of the '<em><b>Data List</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 List</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Data List</em>' reference list.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getDataRecordRequirement_DataList()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<Data> getDataList();
+
+} // DataRecordRequirement
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataRequirement.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataRequirement.java
new file mode 100644
index 0000000..712f357
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataRequirement.java
@@ -0,0 +1,32 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Data;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Data Requirement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getDataRequirement()
+ * @model
+ * @generated
+ */
+public interface DataRequirement extends Data {
+} // DataRequirement
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataRequirements.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataRequirements.java
new file mode 100644
index 0000000..d1d1b94
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataRequirements.java
@@ -0,0 +1,64 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Data Requirements</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataRequirements#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getDataRequirements()
+ * @model
+ * @generated
+ */
+public interface DataRequirements extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Package</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 Package</em>' reference.
+ * @see #setBase_Package(org.eclipse.uml2.uml.Package)
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getDataRequirements_Base_Package()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Package getBase_Package();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataRequirements#getBase_Package <em>Base Package</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Package</em>' reference.
+ * @see #getBase_Package()
+ * @generated
+ */
+ void setBase_Package(org.eclipse.uml2.uml.Package value);
+
+} // DataRequirements
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataSubjects.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataSubjects.java
new file mode 100644
index 0000000..0ddef13
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataSubjects.java
@@ -0,0 +1,64 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Data Subjects</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataSubjects#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getDataSubjects()
+ * @model
+ * @generated
+ */
+public interface DataSubjects extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Package</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 Package</em>' reference.
+ * @see #setBase_Package(org.eclipse.uml2.uml.Package)
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getDataSubjects_Base_Package()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Package getBase_Package();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataSubjects#getBase_Package <em>Base Package</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Package</em>' reference.
+ * @see #getBase_Package()
+ * @generated
+ */
+ void setBase_Package(org.eclipse.uml2.uml.Package value);
+
+} // DataSubjects
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataUnlinkabilityRequirement.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataUnlinkabilityRequirement.java
new file mode 100644
index 0000000..c30f067
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DataUnlinkabilityRequirement.java
@@ -0,0 +1,82 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Data Unlinkability Requirement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataUnlinkabilityRequirement#getLinks <em>Links</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getDataUnlinkabilityRequirement()
+ * @model
+ * @generated
+ */
+public interface DataUnlinkabilityRequirement extends UnlinkabilityRequirement {
+ /**
+ * Returns the value of the '<em><b>Links</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.NamedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Links</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>Links</em>' reference list.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getDataUnlinkabilityRequirement_Links()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<NamedElement> getLinks();
+
+ /**
+ * Retrieves the first {@link org.eclipse.uml2.uml.NamedElement} with the specified '<em><b>Name</b></em>' from the '<em><b>Links</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.NamedElement} to retrieve, or <code>null</code>.
+ * @return The first {@link org.eclipse.uml2.uml.NamedElement} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+ * @see #getLinks()
+ * @generated
+ */
+ NamedElement getLinks(String name);
+
+ /**
+ * Retrieves the first {@link org.eclipse.uml2.uml.NamedElement} with the specified '<em><b>Name</b></em>' from the '<em><b>Links</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.NamedElement} to retrieve, or <code>null</code>.
+ * @param ignoreCase Whether to ignore case in {@link java.lang.String} comparisons.
+ * @param eClass The Ecore class of the {@link org.eclipse.uml2.uml.NamedElement} to retrieve, or <code>null</code>.
+ * @return The first {@link org.eclipse.uml2.uml.NamedElement} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+ * @see #getLinks()
+ * @generated
+ */
+ NamedElement getLinks(String name, boolean ignoreCase, EClass eClass);
+
+} // DataUnlinkabilityRequirement
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DerivedFrom.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DerivedFrom.java
new file mode 100644
index 0000000..e13acec
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/DerivedFrom.java
@@ -0,0 +1,66 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Element;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Derived From</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DerivedFrom#getBase_Element <em>Base Element</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getDerivedFrom()
+ * @model
+ * @generated
+ */
+public interface DerivedFrom extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base 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 Element</em>' reference.
+ * @see #setBase_Element(Element)
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getDerivedFrom_Base_Element()
+ * @model ordered="false"
+ * @generated
+ */
+ Element getBase_Element();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DerivedFrom#getBase_Element <em>Base Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Element</em>' reference.
+ * @see #getBase_Element()
+ * @generated
+ */
+ void setBase_Element(Element value);
+
+} // DerivedFrom
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Duration.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Duration.java
new file mode 100644
index 0000000..70f3ffc
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Duration.java
@@ -0,0 +1,246 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Duration</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getDuration()
+ * @model
+ * @generated
+ */
+public enum Duration implements Enumerator {
+ /**
+ * The '<em><b>For Action</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #FOR_ACTION_VALUE
+ * @generated
+ * @ordered
+ */
+ FOR_ACTION(0, "forAction", "forAction"),
+
+ /**
+ * The '<em><b>Until Deleted</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #UNTIL_DELETED_VALUE
+ * @generated
+ * @ordered
+ */
+ UNTIL_DELETED(1, "untilDeleted", "untilDeleted"),
+
+ /**
+ * The '<em><b>Unlimited</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #UNLIMITED_VALUE
+ * @generated
+ * @ordered
+ */
+ UNLIMITED(2, "unlimited", "unlimited");
+
+ /**
+ * The '<em><b>For Action</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #FOR_ACTION
+ * @model name="forAction"
+ * @generated
+ * @ordered
+ */
+ public static final int FOR_ACTION_VALUE = 0;
+
+ /**
+ * The '<em><b>Until Deleted</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #UNTIL_DELETED
+ * @model name="untilDeleted"
+ * @generated
+ * @ordered
+ */
+ public static final int UNTIL_DELETED_VALUE = 1;
+
+ /**
+ * The '<em><b>Unlimited</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #UNLIMITED
+ * @model name="unlimited"
+ * @generated
+ * @ordered
+ */
+ public static final int UNLIMITED_VALUE = 2;
+
+ /**
+ * An array of all the '<em><b>Duration</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final Duration[] VALUES_ARRAY =
+ new Duration[] {
+ FOR_ACTION,
+ UNTIL_DELETED,
+ UNLIMITED,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Duration</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<Duration> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Duration</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static Duration get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ Duration result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Duration</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static Duration getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ Duration result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Duration</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static Duration get(int value) {
+ switch (value) {
+ case FOR_ACTION_VALUE: return FOR_ACTION;
+ case UNTIL_DELETED_VALUE: return UNTIL_DELETED;
+ case UNLIMITED_VALUE: return UNLIMITED;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private Duration(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //Duration
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Fairly.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Fairly.java
new file mode 100644
index 0000000..0acfc13
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Fairly.java
@@ -0,0 +1,31 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Fairly</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getFairly()
+ * @model
+ * @generated
+ */
+public interface Fairly extends ProcessPrinciple {
+} // Fairly
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/FunctionalRequirements.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/FunctionalRequirements.java
new file mode 100644
index 0000000..8df1b5b
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/FunctionalRequirements.java
@@ -0,0 +1,64 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Functional Requirements</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.FunctionalRequirements#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getFunctionalRequirements()
+ * @model
+ * @generated
+ */
+public interface FunctionalRequirements extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Package</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 Package</em>' reference.
+ * @see #setBase_Package(org.eclipse.uml2.uml.Package)
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getFunctionalRequirements_Base_Package()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Package getBase_Package();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.FunctionalRequirements#getBase_Package <em>Base Package</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Package</em>' reference.
+ * @see #getBase_Package()
+ * @generated
+ */
+ void setBase_Package(org.eclipse.uml2.uml.Package value);
+
+} // FunctionalRequirements
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/GDPRPrinciple.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/GDPRPrinciple.java
new file mode 100644
index 0000000..58ffde9
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/GDPRPrinciple.java
@@ -0,0 +1,66 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>GDPR Principle</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.GDPRPrinciple#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getGDPRPrinciple()
+ * @model
+ * @generated
+ */
+public interface GDPRPrinciple 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.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getGDPRPrinciple_Base_NamedElement()
+ * @model ordered="false"
+ * @generated
+ */
+ NamedElement getBase_NamedElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.GDPRPrinciple#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);
+
+} // GDPRPrinciple
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/GeneratedRequirements.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/GeneratedRequirements.java
new file mode 100644
index 0000000..7039b53
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/GeneratedRequirements.java
@@ -0,0 +1,64 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Generated Requirements</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.GeneratedRequirements#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getGeneratedRequirements()
+ * @model
+ * @generated
+ */
+public interface GeneratedRequirements extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Package</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 Package</em>' reference.
+ * @see #setBase_Package(org.eclipse.uml2.uml.Package)
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getGeneratedRequirements_Base_Package()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Package getBase_Package();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.GeneratedRequirements#getBase_Package <em>Base Package</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Package</em>' reference.
+ * @see #getBase_Package()
+ * @generated
+ */
+ void setBase_Package(org.eclipse.uml2.uml.Package value);
+
+} // GeneratedRequirements
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Lawful.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Lawful.java
new file mode 100644
index 0000000..3c8efdf
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Lawful.java
@@ -0,0 +1,31 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Lawful</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getLawful()
+ * @model
+ * @generated
+ */
+public interface Lawful extends ProcessPrinciple {
+} // Lawful
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByConsent.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByConsent.java
new file mode 100644
index 0000000..aa4a169
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByConsent.java
@@ -0,0 +1,64 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Consent;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Lawful By Consent</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByConsent#getConsent <em>Consent</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getLawfulByConsent()
+ * @model
+ * @generated
+ */
+public interface LawfulByConsent extends Lawful {
+ /**
+ * Returns the value of the '<em><b>Consent</b></em>' reference.
+ * <!-- 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.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getLawfulByConsent_Consent()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Consent getConsent();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByConsent#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);
+
+} // LawfulByConsent
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByContract.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByContract.java
new file mode 100644
index 0000000..d04477c
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByContract.java
@@ -0,0 +1,64 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Contract;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Lawful By Contract</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByContract#getContract <em>Contract</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getLawfulByContract()
+ * @model
+ * @generated
+ */
+public interface LawfulByContract extends Lawful {
+ /**
+ * Returns the value of the '<em><b>Contract</b></em>' reference.
+ * <!-- 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.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getLawfulByContract_Contract()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Contract getContract();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByContract#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);
+
+} // LawfulByContract
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByLegalObligation.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByLegalObligation.java
new file mode 100644
index 0000000..89b5133
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByLegalObligation.java
@@ -0,0 +1,64 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.LegalObligation;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Lawful By Legal Obligation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByLegalObligation#getLegalObligation <em>Legal Obligation</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getLawfulByLegalObligation()
+ * @model
+ * @generated
+ */
+public interface LawfulByLegalObligation extends Lawful {
+ /**
+ * Returns the value of the '<em><b>Legal Obligation</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>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>Legal Obligation</em>' reference.
+ * @see #setLegalObligation(LegalObligation)
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getLawfulByLegalObligation_LegalObligation()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ LegalObligation getLegalObligation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByLegalObligation#getLegalObligation <em>Legal Obligation</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Legal Obligation</em>' reference.
+ * @see #getLegalObligation()
+ * @generated
+ */
+ void setLegalObligation(LegalObligation value);
+
+} // LawfulByLegalObligation
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByLegitimateInterest.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByLegitimateInterest.java
new file mode 100644
index 0000000..3b6ff1f
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByLegitimateInterest.java
@@ -0,0 +1,64 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.LegitimateInterest;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Lawful By Legitimate Interest</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByLegitimateInterest#getLegitimateInterest <em>Legitimate Interest</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getLawfulByLegitimateInterest()
+ * @model
+ * @generated
+ */
+public interface LawfulByLegitimateInterest extends Lawful {
+ /**
+ * Returns the value of the '<em><b>Legitimate Interest</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Legitimate 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>Legitimate Interest</em>' reference.
+ * @see #setLegitimateInterest(LegitimateInterest)
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getLawfulByLegitimateInterest_LegitimateInterest()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ LegitimateInterest getLegitimateInterest();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByLegitimateInterest#getLegitimateInterest <em>Legitimate Interest</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Legitimate Interest</em>' reference.
+ * @see #getLegitimateInterest()
+ * @generated
+ */
+ void setLegitimateInterest(LegitimateInterest value);
+
+} // LawfulByLegitimateInterest
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByPublicInterest.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByPublicInterest.java
new file mode 100644
index 0000000..9ec12be
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByPublicInterest.java
@@ -0,0 +1,64 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PublicInterest;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Lawful By Public Interest</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByPublicInterest#getPublicInterest <em>Public Interest</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getLawfulByPublicInterest()
+ * @model
+ * @generated
+ */
+public interface LawfulByPublicInterest extends Lawful {
+ /**
+ * Returns the value of the '<em><b>Public Interest</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>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>Public Interest</em>' reference.
+ * @see #setPublicInterest(PublicInterest)
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getLawfulByPublicInterest_PublicInterest()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ PublicInterest getPublicInterest();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByPublicInterest#getPublicInterest <em>Public Interest</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Public Interest</em>' reference.
+ * @see #getPublicInterest()
+ * @generated
+ */
+ void setPublicInterest(PublicInterest value);
+
+} // LawfulByPublicInterest
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByVitalInterest.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByVitalInterest.java
new file mode 100644
index 0000000..361029b
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/LawfulByVitalInterest.java
@@ -0,0 +1,64 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.VitalInterest;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Lawful By Vital Interest</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByVitalInterest#getVitalInterest <em>Vital Interest</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getLawfulByVitalInterest()
+ * @model
+ * @generated
+ */
+public interface LawfulByVitalInterest extends Lawful {
+ /**
+ * Returns the value of the '<em><b>Vital Interest</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>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>Vital Interest</em>' reference.
+ * @see #setVitalInterest(VitalInterest)
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getLawfulByVitalInterest_VitalInterest()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ VitalInterest getVitalInterest();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByVitalInterest#getVitalInterest <em>Vital Interest</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Vital Interest</em>' reference.
+ * @see #getVitalInterest()
+ * @generated
+ */
+ void setVitalInterest(VitalInterest value);
+
+} // LawfulByVitalInterest
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Link.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Link.java
new file mode 100644
index 0000000..56c08a7
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Link.java
@@ -0,0 +1,96 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Link</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Link#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Link#getLinkability <em>Linkability</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getLink()
+ * @model
+ * @generated
+ */
+public interface Link 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.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getLink_Base_NamedElement()
+ * @model ordered="false"
+ * @generated
+ */
+ NamedElement getBase_NamedElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Link#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>Linkability</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkability}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Linkability</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Linkability</em>' attribute.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkability
+ * @see #setLinkability(Linkability)
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getLink_Linkability()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Linkability getLinkability();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Link#getLinkability <em>Linkability</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Linkability</em>' attribute.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkability
+ * @see #getLinkability()
+ * @generated
+ */
+ void setLinkability(Linkability value);
+
+} // Link
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Linkability.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Linkability.java
new file mode 100644
index 0000000..a9e0d09
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Linkability.java
@@ -0,0 +1,269 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Linkability</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getLinkability()
+ * @model
+ * @generated
+ */
+public enum Linkability implements Enumerator {
+ /**
+ * The '<em><b>Single</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #SINGLE_VALUE
+ * @generated
+ * @ordered
+ */
+ SINGLE(0, "Single", "Single"),
+
+ /**
+ * The '<em><b>Not Known</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #NOT_KNOWN_VALUE
+ * @generated
+ * @ordered
+ */
+ NOT_KNOWN(1, "notKnown", "notKnown"),
+
+ /**
+ * The '<em><b>Subgroup</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #SUBGROUP_VALUE
+ * @generated
+ * @ordered
+ */
+ SUBGROUP(2, "subgroup", "subgroup"),
+
+ /**
+ * The '<em><b>Anonymous</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #ANONYMOUS_VALUE
+ * @generated
+ * @ordered
+ */
+ ANONYMOUS(3, "anonymous", "anonymous");
+
+ /**
+ * The '<em><b>Single</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #SINGLE
+ * @model name="Single"
+ * @generated
+ * @ordered
+ */
+ public static final int SINGLE_VALUE = 0;
+
+ /**
+ * The '<em><b>Not Known</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #NOT_KNOWN
+ * @model name="notKnown"
+ * @generated
+ * @ordered
+ */
+ public static final int NOT_KNOWN_VALUE = 1;
+
+ /**
+ * The '<em><b>Subgroup</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #SUBGROUP
+ * @model name="subgroup"
+ * @generated
+ * @ordered
+ */
+ public static final int SUBGROUP_VALUE = 2;
+
+ /**
+ * The '<em><b>Anonymous</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #ANONYMOUS
+ * @model name="anonymous"
+ * @generated
+ * @ordered
+ */
+ public static final int ANONYMOUS_VALUE = 3;
+
+ /**
+ * An array of all the '<em><b>Linkability</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final Linkability[] VALUES_ARRAY =
+ new Linkability[] {
+ SINGLE,
+ NOT_KNOWN,
+ SUBGROUP,
+ ANONYMOUS,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Linkability</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<Linkability> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Linkability</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static Linkability get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ Linkability result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Linkability</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static Linkability getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ Linkability result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Linkability</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static Linkability get(int value) {
+ switch (value) {
+ case SINGLE_VALUE: return SINGLE;
+ case NOT_KNOWN_VALUE: return NOT_KNOWN;
+ case SUBGROUP_VALUE: return SUBGROUP;
+ case ANONYMOUS_VALUE: return ANONYMOUS;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private Linkability(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //Linkability
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Linkable.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Linkable.java
new file mode 100644
index 0000000..a64b9b2
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Linkable.java
@@ -0,0 +1,126 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Element;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Linkable</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkable#getDuration <em>Duration</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkable#getLinkability <em>Linkability</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkable#getBase_Element <em>Base Element</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getLinkable()
+ * @model
+ * @generated
+ */
+public interface Linkable extends EObject {
+ /**
+ * Returns the value of the '<em><b>Duration</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Duration}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Duration</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Duration</em>' attribute.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Duration
+ * @see #setDuration(Duration)
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getLinkable_Duration()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Duration getDuration();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkable#getDuration <em>Duration</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Duration</em>' attribute.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Duration
+ * @see #getDuration()
+ * @generated
+ */
+ void setDuration(Duration value);
+
+ /**
+ * Returns the value of the '<em><b>Linkability</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkability}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Linkability</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Linkability</em>' attribute.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkability
+ * @see #setLinkability(Linkability)
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getLinkable_Linkability()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Linkability getLinkability();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkable#getLinkability <em>Linkability</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Linkability</em>' attribute.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkability
+ * @see #getLinkability()
+ * @generated
+ */
+ void setLinkability(Linkability value);
+
+ /**
+ * Returns the value of the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base 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 Element</em>' reference.
+ * @see #setBase_Element(Element)
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getLinkable_Base_Element()
+ * @model ordered="false"
+ * @generated
+ */
+ Element getBase_Element();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkable#getBase_Element <em>Base Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Element</em>' reference.
+ * @see #getBase_Element()
+ * @generated
+ */
+ void setBase_Element(Element value);
+
+} // Linkable
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/NonFunctionalRequirements.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/NonFunctionalRequirements.java
new file mode 100644
index 0000000..8dbcc3c
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/NonFunctionalRequirements.java
@@ -0,0 +1,64 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Non Functional Requirements</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.NonFunctionalRequirements#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getNonFunctionalRequirements()
+ * @model
+ * @generated
+ */
+public interface NonFunctionalRequirements extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Package</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 Package</em>' reference.
+ * @see #setBase_Package(org.eclipse.uml2.uml.Package)
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getNonFunctionalRequirements_Base_Package()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Package getBase_Package();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.NonFunctionalRequirements#getBase_Package <em>Base Package</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Package</em>' reference.
+ * @see #getBase_Package()
+ * @generated
+ */
+ void setBase_Package(org.eclipse.uml2.uml.Package value);
+
+} // NonFunctionalRequirements
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PersonalDataRequirement.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PersonalDataRequirement.java
new file mode 100644
index 0000000..75accd7
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PersonalDataRequirement.java
@@ -0,0 +1,66 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData;
+
+import org.eclipse.uml2.uml.Element;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Personal Data Requirement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalDataRequirement#getSource <em>Source</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getPersonalDataRequirement()
+ * @model
+ * @generated
+ */
+public interface PersonalDataRequirement extends PersonalData {
+ /**
+ * Returns the value of the '<em><b>Source</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Source</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Source</em>' reference.
+ * @see #setSource(Element)
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getPersonalDataRequirement_Source()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Element getSource();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalDataRequirement#getSource <em>Source</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Source</em>' reference.
+ * @see #getSource()
+ * @generated
+ */
+ void setSource(Element value);
+
+} // PersonalDataRequirement
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PersonalInformation.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PersonalInformation.java
new file mode 100644
index 0000000..6066a9c
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PersonalInformation.java
@@ -0,0 +1,93 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Personal Information</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalInformation#getBase_Package <em>Base Package</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalInformation#getConcerns <em>Concerns</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getPersonalInformation()
+ * @model
+ * @generated
+ */
+public interface PersonalInformation extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Package</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 Package</em>' reference.
+ * @see #setBase_Package(org.eclipse.uml2.uml.Package)
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getPersonalInformation_Base_Package()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Package getBase_Package();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalInformation#getBase_Package <em>Base Package</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Package</em>' reference.
+ * @see #getBase_Package()
+ * @generated
+ */
+ void setBase_Package(org.eclipse.uml2.uml.Package value);
+
+ /**
+ * Returns the value of the '<em><b>Concerns</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Concerns</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Concerns</em>' reference.
+ * @see #setConcerns(DataSubject)
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getPersonalInformation_Concerns()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ DataSubject getConcerns();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalInformation#getConcerns <em>Concerns</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Concerns</em>' reference.
+ * @see #getConcerns()
+ * @generated
+ */
+ void setConcerns(DataSubject value);
+
+} // PersonalInformation
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PersonalInformationContainer.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PersonalInformationContainer.java
new file mode 100644
index 0000000..7b23c04
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PersonalInformationContainer.java
@@ -0,0 +1,64 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Personal Information Container</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalInformationContainer#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getPersonalInformationContainer()
+ * @model
+ * @generated
+ */
+public interface PersonalInformationContainer extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Package</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 Package</em>' reference.
+ * @see #setBase_Package(org.eclipse.uml2.uml.Package)
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getPersonalInformationContainer_Base_Package()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Package getBase_Package();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalInformationContainer#getBase_Package <em>Base Package</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Package</em>' reference.
+ * @see #getBase_Package()
+ * @generated
+ */
+ void setBase_Package(org.eclipse.uml2.uml.Package value);
+
+} // PersonalInformationContainer
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PrivacyRequirement.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PrivacyRequirement.java
new file mode 100644
index 0000000..5144b19
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PrivacyRequirement.java
@@ -0,0 +1,157 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Privacy Requirement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PrivacyRequirement#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PrivacyRequirement#getDataSubject <em>Data Subject</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PrivacyRequirement#getCounterstakeholders <em>Counterstakeholders</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PrivacyRequirement#getPersonalData <em>Personal Data</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getPrivacyRequirement()
+ * @model
+ * @generated
+ */
+public interface PrivacyRequirement 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.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getPrivacyRequirement_Base_NamedElement()
+ * @model ordered="false"
+ * @generated
+ */
+ NamedElement getBase_NamedElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PrivacyRequirement#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>Data Subject</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Data Subject</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Data Subject</em>' reference.
+ * @see #setDataSubject(DataSubject)
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getPrivacyRequirement_DataSubject()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ DataSubject getDataSubject();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PrivacyRequirement#getDataSubject <em>Data Subject</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Data Subject</em>' reference.
+ * @see #getDataSubject()
+ * @generated
+ */
+ void setDataSubject(DataSubject value);
+
+ /**
+ * Returns the value of the '<em><b>Counterstakeholders</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.NamedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Counterstakeholders</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>Counterstakeholders</em>' reference list.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getPrivacyRequirement_Counterstakeholders()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<NamedElement> getCounterstakeholders();
+
+ /**
+ * Retrieves the first {@link org.eclipse.uml2.uml.NamedElement} with the specified '<em><b>Name</b></em>' from the '<em><b>Counterstakeholders</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.NamedElement} to retrieve, or <code>null</code>.
+ * @return The first {@link org.eclipse.uml2.uml.NamedElement} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+ * @see #getCounterstakeholders()
+ * @generated
+ */
+ NamedElement getCounterstakeholders(String name);
+
+ /**
+ * Retrieves the first {@link org.eclipse.uml2.uml.NamedElement} with the specified '<em><b>Name</b></em>' from the '<em><b>Counterstakeholders</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.NamedElement} to retrieve, or <code>null</code>.
+ * @param ignoreCase Whether to ignore case in {@link java.lang.String} comparisons.
+ * @param eClass The Ecore class of the {@link org.eclipse.uml2.uml.NamedElement} to retrieve, or <code>null</code>.
+ * @return The first {@link org.eclipse.uml2.uml.NamedElement} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+ * @see #getCounterstakeholders()
+ * @generated
+ */
+ NamedElement getCounterstakeholders(String name, boolean ignoreCase, EClass eClass);
+
+ /**
+ * 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}.
+ * <!-- 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.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getPrivacyRequirement_PersonalData()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<PersonalData> getPersonalData();
+
+} // PrivacyRequirement
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/ProcessPrinciple.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/ProcessPrinciple.java
new file mode 100644
index 0000000..800cc49
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/ProcessPrinciple.java
@@ -0,0 +1,110 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Process Principle</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.ProcessPrinciple#getProcess <em>Process</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.ProcessPrinciple#getDataSubject <em>Data Subject</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.ProcessPrinciple#getPersonalData <em>Personal Data</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getProcessPrinciple()
+ * @model
+ * @generated
+ */
+public interface ProcessPrinciple extends GDPRPrinciple {
+ /**
+ * Returns the value of the '<em><b>Process</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Process</em>' reference 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.
+ * @see #setProcess(ProcessRequirement)
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getProcessPrinciple_Process()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ ProcessRequirement getProcess();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.ProcessPrinciple#getProcess <em>Process</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Process</em>' reference.
+ * @see #getProcess()
+ * @generated
+ */
+ void setProcess(ProcessRequirement value);
+
+ /**
+ * Returns the value of the '<em><b>Data Subject</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Data Subject</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Data Subject</em>' reference.
+ * @see #setDataSubject(DataSubject)
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getProcessPrinciple_DataSubject()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ DataSubject getDataSubject();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.ProcessPrinciple#getDataSubject <em>Data Subject</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Data Subject</em>' reference.
+ * @see #getDataSubject()
+ * @generated
+ */
+ void setDataSubject(DataSubject 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.req.profile.pdp4engReqGDPR.PersonalDataRequirement}.
+ * <!-- 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.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getProcessPrinciple_PersonalData()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<PersonalDataRequirement> getPersonalData();
+
+} // ProcessPrinciple
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/ProcessRequirement.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/ProcessRequirement.java
new file mode 100644
index 0000000..c8b17bd
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/ProcessRequirement.java
@@ -0,0 +1,54 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Process Requirement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.ProcessRequirement#getRequester <em>Requester</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getProcessRequirement()
+ * @model
+ * @generated
+ */
+public interface ProcessRequirement extends org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process {
+ /**
+ * Returns the value of the '<em><b>Requester</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Stakeholder}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Requester</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>Requester</em>' reference list.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getProcessRequirement_Requester()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<Stakeholder> getRequester();
+
+} // ProcessRequirement
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PseudonimityRequirement.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PseudonimityRequirement.java
new file mode 100644
index 0000000..a07a5f5
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PseudonimityRequirement.java
@@ -0,0 +1,66 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Pseudonimity Requirement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PseudonimityRequirement#getKind <em>Kind</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getPseudonimityRequirement()
+ * @model
+ * @generated
+ */
+public interface PseudonimityRequirement extends PrivacyRequirement {
+ /**
+ * Returns the value of the '<em><b>Kind</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PseudonymKind}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Kind</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Kind</em>' attribute.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PseudonymKind
+ * @see #setKind(PseudonymKind)
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getPseudonimityRequirement_Kind()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ PseudonymKind getKind();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PseudonimityRequirement#getKind <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Kind</em>' attribute.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PseudonymKind
+ * @see #getKind()
+ * @generated
+ */
+ void setKind(PseudonymKind value);
+
+} // PseudonimityRequirement
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PseudonymKind.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PseudonymKind.java
new file mode 100644
index 0000000..34defaf
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PseudonymKind.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.req.profile.pdp4engReqGDPR;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Pseudonym Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getPseudonymKind()
+ * @model
+ * @generated
+ */
+public enum PseudonymKind implements Enumerator {
+ /**
+ * The '<em><b>Person</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #PERSON_VALUE
+ * @generated
+ * @ordered
+ */
+ PERSON(0, "Person", "Person"),
+
+ /**
+ * The '<em><b>Role</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #ROLE_VALUE
+ * @generated
+ * @ordered
+ */
+ ROLE(1, "role", "role"),
+
+ /**
+ * The '<em><b>Relation Ship</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #RELATION_SHIP_VALUE
+ * @generated
+ * @ordered
+ */
+ RELATION_SHIP(2, "relationShip", "relationShip"),
+
+ /**
+ * The '<em><b>Role Relation Ship</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #ROLE_RELATION_SHIP_VALUE
+ * @generated
+ * @ordered
+ */
+ ROLE_RELATION_SHIP(3, "roleRelationShip", "roleRelationShip"),
+
+ /**
+ * The '<em><b>Transaction</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #TRANSACTION_VALUE
+ * @generated
+ * @ordered
+ */
+ TRANSACTION(4, "transaction", "transaction");
+
+ /**
+ * The '<em><b>Person</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #PERSON
+ * @model name="Person"
+ * @generated
+ * @ordered
+ */
+ public static final int PERSON_VALUE = 0;
+
+ /**
+ * The '<em><b>Role</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #ROLE
+ * @model name="role"
+ * @generated
+ * @ordered
+ */
+ public static final int ROLE_VALUE = 1;
+
+ /**
+ * The '<em><b>Relation Ship</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #RELATION_SHIP
+ * @model name="relationShip"
+ * @generated
+ * @ordered
+ */
+ public static final int RELATION_SHIP_VALUE = 2;
+
+ /**
+ * The '<em><b>Role Relation Ship</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #ROLE_RELATION_SHIP
+ * @model name="roleRelationShip"
+ * @generated
+ * @ordered
+ */
+ public static final int ROLE_RELATION_SHIP_VALUE = 3;
+
+ /**
+ * The '<em><b>Transaction</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #TRANSACTION
+ * @model name="transaction"
+ * @generated
+ * @ordered
+ */
+ public static final int TRANSACTION_VALUE = 4;
+
+ /**
+ * An array of all the '<em><b>Pseudonym Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final PseudonymKind[] VALUES_ARRAY =
+ new PseudonymKind[] {
+ PERSON,
+ ROLE,
+ RELATION_SHIP,
+ ROLE_RELATION_SHIP,
+ TRANSACTION,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Pseudonym Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<PseudonymKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Pseudonym Kind</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static PseudonymKind get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ PseudonymKind result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Pseudonym Kind</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static PseudonymKind getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ PseudonymKind result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Pseudonym Kind</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static PseudonymKind get(int value) {
+ switch (value) {
+ case PERSON_VALUE: return PERSON;
+ case ROLE_VALUE: return ROLE;
+ case RELATION_SHIP_VALUE: return RELATION_SHIP;
+ case ROLE_RELATION_SHIP_VALUE: return ROLE_RELATION_SHIP;
+ case TRANSACTION_VALUE: return TRANSACTION;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private PseudonymKind(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //PseudonymKind
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PurposeLimitation.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PurposeLimitation.java
new file mode 100644
index 0000000..c2b50d1
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PurposeLimitation.java
@@ -0,0 +1,31 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Purpose Limitation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getPurposeLimitation()
+ * @model
+ * @generated
+ */
+public interface PurposeLimitation extends PurposePersonalDataPrinciple {
+} // PurposeLimitation
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PurposePersonalDataPrinciple.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PurposePersonalDataPrinciple.java
new file mode 100644
index 0000000..34ac22b
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/PurposePersonalDataPrinciple.java
@@ -0,0 +1,92 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Purpose;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Purpose Personal Data Principle</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PurposePersonalDataPrinciple#getPurpose <em>Purpose</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PurposePersonalDataPrinciple#getPersonalData <em>Personal Data</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getPurposePersonalDataPrinciple()
+ * @model
+ * @generated
+ */
+public interface PurposePersonalDataPrinciple extends GDPRPrinciple {
+ /**
+ * Returns the value of the '<em><b>Purpose</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Purpose</em>' reference 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.
+ * @see #setPurpose(Purpose)
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getPurposePersonalDataPrinciple_Purpose()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Purpose getPurpose();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PurposePersonalDataPrinciple#getPurpose <em>Purpose</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Purpose</em>' reference.
+ * @see #getPurpose()
+ * @generated
+ */
+ void setPurpose(Purpose value);
+
+ /**
+ * Returns the value of the '<em><b>Personal Data</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Personal Data</em>' reference 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.
+ * @see #setPersonalData(PersonalData)
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getPurposePersonalDataPrinciple_PersonalData()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ PersonalData getPersonalData();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PurposePersonalDataPrinciple#getPersonalData <em>Personal Data</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Personal Data</em>' reference.
+ * @see #getPersonalData()
+ * @generated
+ */
+ void setPersonalData(PersonalData value);
+
+} // PurposePersonalDataPrinciple
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/RelatedTo.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/RelatedTo.java
new file mode 100644
index 0000000..2706be2
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/RelatedTo.java
@@ -0,0 +1,153 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Element;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Related To</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.RelatedTo#isSensitive <em>Sensitive</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.RelatedTo#getLinkability <em>Linkability</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.RelatedTo#getCollection <em>Collection</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.RelatedTo#getBase_Element <em>Base Element</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getRelatedTo()
+ * @model
+ * @generated
+ */
+public interface RelatedTo extends EObject {
+ /**
+ * Returns the value of the '<em><b>Sensitive</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Sensitive</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Sensitive</em>' attribute.
+ * @see #setSensitive(boolean)
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getRelatedTo_Sensitive()
+ * @model dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+ * @generated
+ */
+ boolean isSensitive();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.RelatedTo#isSensitive <em>Sensitive</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Sensitive</em>' attribute.
+ * @see #isSensitive()
+ * @generated
+ */
+ void setSensitive(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Linkability</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkability}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Linkability</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Linkability</em>' attribute.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkability
+ * @see #setLinkability(Linkability)
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getRelatedTo_Linkability()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Linkability getLinkability();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.RelatedTo#getLinkability <em>Linkability</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Linkability</em>' attribute.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkability
+ * @see #getLinkability()
+ * @generated
+ */
+ void setLinkability(Linkability value);
+
+ /**
+ * Returns the value of the '<em><b>Collection</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.CollectionMethod}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Collection</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Collection</em>' attribute.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.CollectionMethod
+ * @see #setCollection(CollectionMethod)
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getRelatedTo_Collection()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ CollectionMethod getCollection();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.RelatedTo#getCollection <em>Collection</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Collection</em>' attribute.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.CollectionMethod
+ * @see #getCollection()
+ * @generated
+ */
+ void setCollection(CollectionMethod value);
+
+ /**
+ * Returns the value of the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base 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 Element</em>' reference.
+ * @see #setBase_Element(Element)
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getRelatedTo_Base_Element()
+ * @model ordered="false"
+ * @generated
+ */
+ Element getBase_Element();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.RelatedTo#getBase_Element <em>Base Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Element</em>' reference.
+ * @see #getBase_Element()
+ * @generated
+ */
+ void setBase_Element(Element value);
+
+} // RelatedTo
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/SecuritySafety.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/SecuritySafety.java
new file mode 100644
index 0000000..cce0e7e
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/SecuritySafety.java
@@ -0,0 +1,31 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Security Safety</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getSecuritySafety()
+ * @model
+ * @generated
+ */
+public interface SecuritySafety extends ProcessPrinciple {
+} // SecuritySafety
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Stakeholder.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Stakeholder.java
new file mode 100644
index 0000000..e3c7689
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Stakeholder.java
@@ -0,0 +1,66 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Stakeholder</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Stakeholder#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getStakeholder()
+ * @model
+ * @generated
+ */
+public interface Stakeholder 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.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getStakeholder_Base_NamedElement()
+ * @model ordered="false"
+ * @generated
+ */
+ NamedElement getBase_NamedElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Stakeholder#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);
+
+} // Stakeholder
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/StorageLimitation.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/StorageLimitation.java
new file mode 100644
index 0000000..6ec68f0
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/StorageLimitation.java
@@ -0,0 +1,31 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Storage Limitation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getStorageLimitation()
+ * @model
+ * @generated
+ */
+public interface StorageLimitation extends PurposePersonalDataPrinciple {
+} // StorageLimitation
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Transparency.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Transparency.java
new file mode 100644
index 0000000..b1c6b69
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/Transparency.java
@@ -0,0 +1,31 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Transparency</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getTransparency()
+ * @model
+ * @generated
+ */
+public interface Transparency extends ProcessPrinciple {
+} // Transparency
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/UndectabilityRequirement.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/UndectabilityRequirement.java
new file mode 100644
index 0000000..5134bf8
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/UndectabilityRequirement.java
@@ -0,0 +1,31 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Undectability Requirement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getUndectabilityRequirement()
+ * @model
+ * @generated
+ */
+public interface UndectabilityRequirement extends PrivacyRequirement {
+} // UndectabilityRequirement
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/UnlinkabilityRequirement.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/UnlinkabilityRequirement.java
new file mode 100644
index 0000000..f80ff7f
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/UnlinkabilityRequirement.java
@@ -0,0 +1,66 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Unlinkability Requirement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.UnlinkabilityRequirement#getLinkability <em>Linkability</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getUnlinkabilityRequirement()
+ * @model
+ * @generated
+ */
+public interface UnlinkabilityRequirement extends PrivacyRequirement {
+ /**
+ * Returns the value of the '<em><b>Linkability</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkability}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Linkability</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Linkability</em>' attribute.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkability
+ * @see #setLinkability(Linkability)
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#getUnlinkabilityRequirement_Linkability()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Linkability getLinkability();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.UnlinkabilityRequirement#getLinkability <em>Linkability</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Linkability</em>' attribute.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkability
+ * @see #getLinkability()
+ * @generated
+ */
+ void setLinkability(Linkability value);
+
+} // UnlinkabilityRequirement
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/AccuracyImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/AccuracyImpl.java
new file mode 100644
index 0000000..bd12039
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/AccuracyImpl.java
@@ -0,0 +1,51 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Accuracy;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Accuracy</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class AccuracyImpl extends PurposePersonalDataPrincipleImpl implements Accuracy {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AccuracyImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.ACCURACY;
+ }
+
+} //AccuracyImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/AnanomityRequirementImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/AnanomityRequirementImpl.java
new file mode 100644
index 0000000..6fb92a0
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/AnanomityRequirementImpl.java
@@ -0,0 +1,51 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AnanomityRequirement;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Ananomity Requirement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class AnanomityRequirementImpl extends UnlinkabilityRequirementImpl implements AnanomityRequirement {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AnanomityRequirementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.ANANOMITY_REQUIREMENT;
+ }
+
+} //AnanomityRequirementImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/AvailableAtImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/AvailableAtImpl.java
new file mode 100644
index 0000000..69c9188
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/AvailableAtImpl.java
@@ -0,0 +1,245 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.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.req.profile.pdp4engReqGDPR.AvailableAt;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Duration;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+
+import org.eclipse.uml2.uml.Element;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Available At</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.AvailableAtImpl#getDuration <em>Duration</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.AvailableAtImpl#getBase_Element <em>Base Element</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class AvailableAtImpl extends MinimalEObjectImpl.Container implements AvailableAt {
+ /**
+ * The default value of the '{@link #getDuration() <em>Duration</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDuration()
+ * @generated
+ * @ordered
+ */
+ protected static final Duration DURATION_EDEFAULT = Duration.FOR_ACTION;
+
+ /**
+ * The cached value of the '{@link #getDuration() <em>Duration</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDuration()
+ * @generated
+ * @ordered
+ */
+ protected Duration duration = DURATION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBase_Element() <em>Base Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Element()
+ * @generated
+ * @ordered
+ */
+ protected Element base_Element;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AvailableAtImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.AVAILABLE_AT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Duration getDuration() {
+ return duration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setDuration(Duration newDuration) {
+ Duration oldDuration = duration;
+ duration = newDuration == null ? DURATION_EDEFAULT : newDuration;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, pdp4engReqGDPRPackage.AVAILABLE_AT__DURATION, oldDuration, duration));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element getBase_Element() {
+ if (base_Element != null && base_Element.eIsProxy()) {
+ InternalEObject oldBase_Element = (InternalEObject)base_Element;
+ base_Element = (Element)eResolveProxy(oldBase_Element);
+ if (base_Element != oldBase_Element) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, pdp4engReqGDPRPackage.AVAILABLE_AT__BASE_ELEMENT, oldBase_Element, base_Element));
+ }
+ }
+ return base_Element;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Element basicGetBase_Element() {
+ return base_Element;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setBase_Element(Element newBase_Element) {
+ Element oldBase_Element = base_Element;
+ base_Element = newBase_Element;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, pdp4engReqGDPRPackage.AVAILABLE_AT__BASE_ELEMENT, oldBase_Element, base_Element));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.AVAILABLE_AT__DURATION:
+ return getDuration();
+ case pdp4engReqGDPRPackage.AVAILABLE_AT__BASE_ELEMENT:
+ if (resolve) return getBase_Element();
+ return basicGetBase_Element();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.AVAILABLE_AT__DURATION:
+ setDuration((Duration)newValue);
+ return;
+ case pdp4engReqGDPRPackage.AVAILABLE_AT__BASE_ELEMENT:
+ setBase_Element((Element)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.AVAILABLE_AT__DURATION:
+ setDuration(DURATION_EDEFAULT);
+ return;
+ case pdp4engReqGDPRPackage.AVAILABLE_AT__BASE_ELEMENT:
+ setBase_Element((Element)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.AVAILABLE_AT__DURATION:
+ return duration != DURATION_EDEFAULT;
+ case pdp4engReqGDPRPackage.AVAILABLE_AT__BASE_ELEMENT:
+ return base_Element != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (duration: ");
+ result.append(duration);
+ result.append(')');
+ return result.toString();
+ }
+
+} //AvailableAtImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/AvailableInformationContainerImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/AvailableInformationContainerImpl.java
new file mode 100644
index 0000000..c7dba0f
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/AvailableInformationContainerImpl.java
@@ -0,0 +1,172 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.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.req.profile.pdp4engReqGDPR.AvailableInformationContainer;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Available Information Container</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.AvailableInformationContainerImpl#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class AvailableInformationContainerImpl extends MinimalEObjectImpl.Container implements AvailableInformationContainer {
+ /**
+ * The cached value of the '{@link #getBase_Package() <em>Base Package</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Package()
+ * @generated
+ * @ordered
+ */
+ protected org.eclipse.uml2.uml.Package base_Package;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AvailableInformationContainerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.AVAILABLE_INFORMATION_CONTAINER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public org.eclipse.uml2.uml.Package getBase_Package() {
+ if (base_Package != null && base_Package.eIsProxy()) {
+ InternalEObject oldBase_Package = (InternalEObject)base_Package;
+ base_Package = (org.eclipse.uml2.uml.Package)eResolveProxy(oldBase_Package);
+ if (base_Package != oldBase_Package) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, pdp4engReqGDPRPackage.AVAILABLE_INFORMATION_CONTAINER__BASE_PACKAGE, oldBase_Package, base_Package));
+ }
+ }
+ return base_Package;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Package basicGetBase_Package() {
+ return base_Package;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setBase_Package(org.eclipse.uml2.uml.Package newBase_Package) {
+ org.eclipse.uml2.uml.Package oldBase_Package = base_Package;
+ base_Package = newBase_Package;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, pdp4engReqGDPRPackage.AVAILABLE_INFORMATION_CONTAINER__BASE_PACKAGE, oldBase_Package, base_Package));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.AVAILABLE_INFORMATION_CONTAINER__BASE_PACKAGE:
+ if (resolve) return getBase_Package();
+ return basicGetBase_Package();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.AVAILABLE_INFORMATION_CONTAINER__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.AVAILABLE_INFORMATION_CONTAINER__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.AVAILABLE_INFORMATION_CONTAINER__BASE_PACKAGE:
+ return base_Package != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //AvailableInformationContainerImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/AvailableInformationImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/AvailableInformationImpl.java
new file mode 100644
index 0000000..7dc88aa
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/AvailableInformationImpl.java
@@ -0,0 +1,236 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.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.req.profile.pdp4engReqGDPR.AvailableInformation;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Available Information</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.AvailableInformationImpl#getBase_Package <em>Base Package</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.AvailableInformationImpl#getConcerns <em>Concerns</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class AvailableInformationImpl extends MinimalEObjectImpl.Container implements AvailableInformation {
+ /**
+ * The cached value of the '{@link #getBase_Package() <em>Base Package</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Package()
+ * @generated
+ * @ordered
+ */
+ protected org.eclipse.uml2.uml.Package base_Package;
+
+ /**
+ * The cached value of the '{@link #getConcerns() <em>Concerns</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConcerns()
+ * @generated
+ * @ordered
+ */
+ protected NamedElement concerns;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AvailableInformationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.AVAILABLE_INFORMATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public org.eclipse.uml2.uml.Package getBase_Package() {
+ if (base_Package != null && base_Package.eIsProxy()) {
+ InternalEObject oldBase_Package = (InternalEObject)base_Package;
+ base_Package = (org.eclipse.uml2.uml.Package)eResolveProxy(oldBase_Package);
+ if (base_Package != oldBase_Package) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, pdp4engReqGDPRPackage.AVAILABLE_INFORMATION__BASE_PACKAGE, oldBase_Package, base_Package));
+ }
+ }
+ return base_Package;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Package basicGetBase_Package() {
+ return base_Package;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setBase_Package(org.eclipse.uml2.uml.Package newBase_Package) {
+ org.eclipse.uml2.uml.Package oldBase_Package = base_Package;
+ base_Package = newBase_Package;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, pdp4engReqGDPRPackage.AVAILABLE_INFORMATION__BASE_PACKAGE, oldBase_Package, base_Package));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NamedElement getConcerns() {
+ if (concerns != null && concerns.eIsProxy()) {
+ InternalEObject oldConcerns = (InternalEObject)concerns;
+ concerns = (NamedElement)eResolveProxy(oldConcerns);
+ if (concerns != oldConcerns) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, pdp4engReqGDPRPackage.AVAILABLE_INFORMATION__CONCERNS, oldConcerns, concerns));
+ }
+ }
+ return concerns;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement basicGetConcerns() {
+ return concerns;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setConcerns(NamedElement newConcerns) {
+ NamedElement oldConcerns = concerns;
+ concerns = newConcerns;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, pdp4engReqGDPRPackage.AVAILABLE_INFORMATION__CONCERNS, oldConcerns, concerns));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.AVAILABLE_INFORMATION__BASE_PACKAGE:
+ if (resolve) return getBase_Package();
+ return basicGetBase_Package();
+ case pdp4engReqGDPRPackage.AVAILABLE_INFORMATION__CONCERNS:
+ if (resolve) return getConcerns();
+ return basicGetConcerns();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.AVAILABLE_INFORMATION__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)newValue);
+ return;
+ case pdp4engReqGDPRPackage.AVAILABLE_INFORMATION__CONCERNS:
+ setConcerns((NamedElement)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.AVAILABLE_INFORMATION__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)null);
+ return;
+ case pdp4engReqGDPRPackage.AVAILABLE_INFORMATION__CONCERNS:
+ setConcerns((NamedElement)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.AVAILABLE_INFORMATION__BASE_PACKAGE:
+ return base_Package != null;
+ case pdp4engReqGDPRPackage.AVAILABLE_INFORMATION__CONCERNS:
+ return concerns != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //AvailableInformationImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/ControlersImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/ControlersImpl.java
new file mode 100644
index 0000000..06fd7f0
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/ControlersImpl.java
@@ -0,0 +1,172 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.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.req.profile.pdp4engReqGDPR.Controlers;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Controlers</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.ControlersImpl#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ControlersImpl extends MinimalEObjectImpl.Container implements Controlers {
+ /**
+ * The cached value of the '{@link #getBase_Package() <em>Base Package</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Package()
+ * @generated
+ * @ordered
+ */
+ protected org.eclipse.uml2.uml.Package base_Package;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ControlersImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.CONTROLERS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public org.eclipse.uml2.uml.Package getBase_Package() {
+ if (base_Package != null && base_Package.eIsProxy()) {
+ InternalEObject oldBase_Package = (InternalEObject)base_Package;
+ base_Package = (org.eclipse.uml2.uml.Package)eResolveProxy(oldBase_Package);
+ if (base_Package != oldBase_Package) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, pdp4engReqGDPRPackage.CONTROLERS__BASE_PACKAGE, oldBase_Package, base_Package));
+ }
+ }
+ return base_Package;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Package basicGetBase_Package() {
+ return base_Package;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setBase_Package(org.eclipse.uml2.uml.Package newBase_Package) {
+ org.eclipse.uml2.uml.Package oldBase_Package = base_Package;
+ base_Package = newBase_Package;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, pdp4engReqGDPRPackage.CONTROLERS__BASE_PACKAGE, oldBase_Package, base_Package));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.CONTROLERS__BASE_PACKAGE:
+ if (resolve) return getBase_Package();
+ return basicGetBase_Package();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.CONTROLERS__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.CONTROLERS__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.CONTROLERS__BASE_PACKAGE:
+ return base_Package != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ControlersImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataFlowRequirementImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataFlowRequirementImpl.java
new file mode 100644
index 0000000..04a7df0
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataFlowRequirementImpl.java
@@ -0,0 +1,174 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.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.req.profile.pdp4engReqGDPR.DataFlowRequirement;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+
+import org.eclipse.uml2.uml.Activity;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Data Flow Requirement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.DataFlowRequirementImpl#getBase_Activity <em>Base Activity</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DataFlowRequirementImpl extends MinimalEObjectImpl.Container implements DataFlowRequirement {
+ /**
+ * The cached value of the '{@link #getBase_Activity() <em>Base Activity</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Activity()
+ * @generated
+ * @ordered
+ */
+ protected Activity base_Activity;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DataFlowRequirementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.DATA_FLOW_REQUIREMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Activity getBase_Activity() {
+ if (base_Activity != null && base_Activity.eIsProxy()) {
+ InternalEObject oldBase_Activity = (InternalEObject)base_Activity;
+ base_Activity = (Activity)eResolveProxy(oldBase_Activity);
+ if (base_Activity != oldBase_Activity) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, pdp4engReqGDPRPackage.DATA_FLOW_REQUIREMENT__BASE_ACTIVITY, oldBase_Activity, base_Activity));
+ }
+ }
+ return base_Activity;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Activity basicGetBase_Activity() {
+ return base_Activity;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setBase_Activity(Activity newBase_Activity) {
+ Activity oldBase_Activity = base_Activity;
+ base_Activity = newBase_Activity;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, pdp4engReqGDPRPackage.DATA_FLOW_REQUIREMENT__BASE_ACTIVITY, oldBase_Activity, base_Activity));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.DATA_FLOW_REQUIREMENT__BASE_ACTIVITY:
+ if (resolve) return getBase_Activity();
+ return basicGetBase_Activity();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.DATA_FLOW_REQUIREMENT__BASE_ACTIVITY:
+ setBase_Activity((Activity)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.DATA_FLOW_REQUIREMENT__BASE_ACTIVITY:
+ setBase_Activity((Activity)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.DATA_FLOW_REQUIREMENT__BASE_ACTIVITY:
+ return base_Activity != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //DataFlowRequirementImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataMinimisationImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataMinimisationImpl.java
new file mode 100644
index 0000000..59f9513
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataMinimisationImpl.java
@@ -0,0 +1,51 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataMinimisation;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Data Minimisation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class DataMinimisationImpl extends PurposePersonalDataPrincipleImpl implements DataMinimisation {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DataMinimisationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.DATA_MINIMISATION;
+ }
+
+} //DataMinimisationImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataRecordRequirementImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataRecordRequirementImpl.java
new file mode 100644
index 0000000..cc392e4
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataRecordRequirementImpl.java
@@ -0,0 +1,218 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.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.Data;
+
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataRecordRequirement;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+
+import org.eclipse.uml2.uml.DataStoreNode;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Data Record Requirement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.DataRecordRequirementImpl#getBase_DataStoreNode <em>Base Data Store Node</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.DataRecordRequirementImpl#getDataList <em>Data List</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DataRecordRequirementImpl extends MinimalEObjectImpl.Container implements DataRecordRequirement {
+ /**
+ * The cached value of the '{@link #getBase_DataStoreNode() <em>Base Data Store Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_DataStoreNode()
+ * @generated
+ * @ordered
+ */
+ protected DataStoreNode base_DataStoreNode;
+
+ /**
+ * The cached value of the '{@link #getDataList() <em>Data List</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDataList()
+ * @generated
+ * @ordered
+ */
+ protected EList<Data> dataList;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DataRecordRequirementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.DATA_RECORD_REQUIREMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public DataStoreNode getBase_DataStoreNode() {
+ if (base_DataStoreNode != null && base_DataStoreNode.eIsProxy()) {
+ InternalEObject oldBase_DataStoreNode = (InternalEObject)base_DataStoreNode;
+ base_DataStoreNode = (DataStoreNode)eResolveProxy(oldBase_DataStoreNode);
+ if (base_DataStoreNode != oldBase_DataStoreNode) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, pdp4engReqGDPRPackage.DATA_RECORD_REQUIREMENT__BASE_DATA_STORE_NODE, oldBase_DataStoreNode, base_DataStoreNode));
+ }
+ }
+ return base_DataStoreNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataStoreNode basicGetBase_DataStoreNode() {
+ return base_DataStoreNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setBase_DataStoreNode(DataStoreNode newBase_DataStoreNode) {
+ DataStoreNode oldBase_DataStoreNode = base_DataStoreNode;
+ base_DataStoreNode = newBase_DataStoreNode;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, pdp4engReqGDPRPackage.DATA_RECORD_REQUIREMENT__BASE_DATA_STORE_NODE, oldBase_DataStoreNode, base_DataStoreNode));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Data> getDataList() {
+ if (dataList == null) {
+ dataList = new EObjectResolvingEList<Data>(Data.class, this, pdp4engReqGDPRPackage.DATA_RECORD_REQUIREMENT__DATA_LIST);
+ }
+ return dataList;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.DATA_RECORD_REQUIREMENT__BASE_DATA_STORE_NODE:
+ if (resolve) return getBase_DataStoreNode();
+ return basicGetBase_DataStoreNode();
+ case pdp4engReqGDPRPackage.DATA_RECORD_REQUIREMENT__DATA_LIST:
+ return getDataList();
+ }
+ 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 pdp4engReqGDPRPackage.DATA_RECORD_REQUIREMENT__BASE_DATA_STORE_NODE:
+ setBase_DataStoreNode((DataStoreNode)newValue);
+ return;
+ case pdp4engReqGDPRPackage.DATA_RECORD_REQUIREMENT__DATA_LIST:
+ getDataList().clear();
+ getDataList().addAll((Collection<? extends Data>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.DATA_RECORD_REQUIREMENT__BASE_DATA_STORE_NODE:
+ setBase_DataStoreNode((DataStoreNode)null);
+ return;
+ case pdp4engReqGDPRPackage.DATA_RECORD_REQUIREMENT__DATA_LIST:
+ getDataList().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.DATA_RECORD_REQUIREMENT__BASE_DATA_STORE_NODE:
+ return base_DataStoreNode != null;
+ case pdp4engReqGDPRPackage.DATA_RECORD_REQUIREMENT__DATA_LIST:
+ return dataList != null && !dataList.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //DataRecordRequirementImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataRequirementImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataRequirementImpl.java
new file mode 100644
index 0000000..78dc347
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataRequirementImpl.java
@@ -0,0 +1,53 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.DataImpl;
+
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataRequirement;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Data Requirement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class DataRequirementImpl extends DataImpl implements DataRequirement {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DataRequirementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.DATA_REQUIREMENT;
+ }
+
+} //DataRequirementImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataRequirementsImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataRequirementsImpl.java
new file mode 100644
index 0000000..4f63b86
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataRequirementsImpl.java
@@ -0,0 +1,172 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.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.req.profile.pdp4engReqGDPR.DataRequirements;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Data Requirements</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.DataRequirementsImpl#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DataRequirementsImpl extends MinimalEObjectImpl.Container implements DataRequirements {
+ /**
+ * The cached value of the '{@link #getBase_Package() <em>Base Package</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Package()
+ * @generated
+ * @ordered
+ */
+ protected org.eclipse.uml2.uml.Package base_Package;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DataRequirementsImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.DATA_REQUIREMENTS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public org.eclipse.uml2.uml.Package getBase_Package() {
+ if (base_Package != null && base_Package.eIsProxy()) {
+ InternalEObject oldBase_Package = (InternalEObject)base_Package;
+ base_Package = (org.eclipse.uml2.uml.Package)eResolveProxy(oldBase_Package);
+ if (base_Package != oldBase_Package) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, pdp4engReqGDPRPackage.DATA_REQUIREMENTS__BASE_PACKAGE, oldBase_Package, base_Package));
+ }
+ }
+ return base_Package;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Package basicGetBase_Package() {
+ return base_Package;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setBase_Package(org.eclipse.uml2.uml.Package newBase_Package) {
+ org.eclipse.uml2.uml.Package oldBase_Package = base_Package;
+ base_Package = newBase_Package;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, pdp4engReqGDPRPackage.DATA_REQUIREMENTS__BASE_PACKAGE, oldBase_Package, base_Package));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.DATA_REQUIREMENTS__BASE_PACKAGE:
+ if (resolve) return getBase_Package();
+ return basicGetBase_Package();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.DATA_REQUIREMENTS__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.DATA_REQUIREMENTS__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.DATA_REQUIREMENTS__BASE_PACKAGE:
+ return base_Package != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //DataRequirementsImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataSubjectsImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataSubjectsImpl.java
new file mode 100644
index 0000000..245d8a5
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataSubjectsImpl.java
@@ -0,0 +1,172 @@
+/**
+ * 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 a