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 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.DataSubjects;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Data Subjects</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.DataSubjectsImpl#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DataSubjectsImpl extends MinimalEObjectImpl.Container implements DataSubjects {
+ /**
+ * 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 DataSubjectsImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.DATA_SUBJECTS;
+ }
+
+ /**
+ * <!-- 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_SUBJECTS__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_SUBJECTS__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_SUBJECTS__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_SUBJECTS__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_SUBJECTS__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_SUBJECTS__BASE_PACKAGE:
+ return base_Package != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //DataSubjectsImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataUnlinkabilityRequirementImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataUnlinkabilityRequirementImpl.java
new file mode 100644
index 0000000..2d016de
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DataUnlinkabilityRequirementImpl.java
@@ -0,0 +1,173 @@
+/**
+ * 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.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataUnlinkabilityRequirement;
+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>Data Unlinkability Requirement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.DataUnlinkabilityRequirementImpl#getLinks <em>Links</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DataUnlinkabilityRequirementImpl extends UnlinkabilityRequirementImpl implements DataUnlinkabilityRequirement {
+ /**
+ * The cached value of the '{@link #getLinks() <em>Links</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLinks()
+ * @generated
+ * @ordered
+ */
+ protected EList<NamedElement> links;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DataUnlinkabilityRequirementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.DATA_UNLINKABILITY_REQUIREMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<NamedElement> getLinks() {
+ if (links == null) {
+ links = new EObjectResolvingEList<NamedElement>(NamedElement.class, this, pdp4engReqGDPRPackage.DATA_UNLINKABILITY_REQUIREMENT__LINKS);
+ }
+ return links;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getLinks(String name) {
+ return getLinks(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getLinks(String name, boolean ignoreCase, EClass eClass) {
+ linksLoop: for (NamedElement links : getLinks()) {
+ if (eClass != null && !eClass.isInstance(links))
+ continue linksLoop;
+ if (name != null && !(ignoreCase ? name.equalsIgnoreCase(links.getName()) : name.equals(links.getName())))
+ continue linksLoop;
+ return links;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.DATA_UNLINKABILITY_REQUIREMENT__LINKS:
+ return getLinks();
+ }
+ 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_UNLINKABILITY_REQUIREMENT__LINKS:
+ getLinks().clear();
+ getLinks().addAll((Collection<? extends NamedElement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.DATA_UNLINKABILITY_REQUIREMENT__LINKS:
+ getLinks().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.DATA_UNLINKABILITY_REQUIREMENT__LINKS:
+ return links != null && !links.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //DataUnlinkabilityRequirementImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DerivedFromImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DerivedFromImpl.java
new file mode 100644
index 0000000..1291cf3
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/DerivedFromImpl.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.DerivedFrom;
+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>Derived From</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.DerivedFromImpl#getBase_Element <em>Base Element</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DerivedFromImpl extends MinimalEObjectImpl.Container implements DerivedFrom {
+ /**
+ * 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 DerivedFromImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.DERIVED_FROM;
+ }
+
+ /**
+ * <!-- 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.DERIVED_FROM__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.DERIVED_FROM__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.DERIVED_FROM__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.DERIVED_FROM__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.DERIVED_FROM__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.DERIVED_FROM__BASE_ELEMENT:
+ return base_Element != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //DerivedFromImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/FairlyImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/FairlyImpl.java
new file mode 100644
index 0000000..a537fbc
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/FairlyImpl.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.Fairly;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Fairly</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class FairlyImpl extends ProcessPrincipleImpl implements Fairly {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FairlyImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.FAIRLY;
+ }
+
+} //FairlyImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/FunctionalRequirementsImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/FunctionalRequirementsImpl.java
new file mode 100644
index 0000000..1b13834
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/FunctionalRequirementsImpl.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.FunctionalRequirements;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Functional Requirements</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.FunctionalRequirementsImpl#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class FunctionalRequirementsImpl extends MinimalEObjectImpl.Container implements FunctionalRequirements {
+ /**
+ * 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 FunctionalRequirementsImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.FUNCTIONAL_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.FUNCTIONAL_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.FUNCTIONAL_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.FUNCTIONAL_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.FUNCTIONAL_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.FUNCTIONAL_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.FUNCTIONAL_REQUIREMENTS__BASE_PACKAGE:
+ return base_Package != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //FunctionalRequirementsImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/GDPRPrincipleImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/GDPRPrincipleImpl.java
new file mode 100644
index 0000000..2f26fee
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/GDPRPrincipleImpl.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.GDPRPrinciple;
+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>GDPR Principle</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.GDPRPrincipleImpl#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class GDPRPrincipleImpl extends MinimalEObjectImpl.Container implements GDPRPrinciple {
+ /**
+ * The cached value of the '{@link #getBase_NamedElement() <em>Base Named Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_NamedElement()
+ * @generated
+ * @ordered
+ */
+ protected NamedElement base_NamedElement;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GDPRPrincipleImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.GDPR_PRINCIPLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NamedElement getBase_NamedElement() {
+ if (base_NamedElement != null && base_NamedElement.eIsProxy()) {
+ InternalEObject oldBase_NamedElement = (InternalEObject)base_NamedElement;
+ base_NamedElement = (NamedElement)eResolveProxy(oldBase_NamedElement);
+ if (base_NamedElement != oldBase_NamedElement) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, pdp4engReqGDPRPackage.GDPR_PRINCIPLE__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+ }
+ }
+ return base_NamedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement basicGetBase_NamedElement() {
+ return base_NamedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setBase_NamedElement(NamedElement newBase_NamedElement) {
+ NamedElement oldBase_NamedElement = base_NamedElement;
+ base_NamedElement = newBase_NamedElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, pdp4engReqGDPRPackage.GDPR_PRINCIPLE__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.GDPR_PRINCIPLE__BASE_NAMED_ELEMENT:
+ if (resolve) return getBase_NamedElement();
+ return basicGetBase_NamedElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.GDPR_PRINCIPLE__BASE_NAMED_ELEMENT:
+ setBase_NamedElement((NamedElement)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.GDPR_PRINCIPLE__BASE_NAMED_ELEMENT:
+ setBase_NamedElement((NamedElement)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.GDPR_PRINCIPLE__BASE_NAMED_ELEMENT:
+ return base_NamedElement != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //GDPRPrincipleImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/GeneratedRequirementsImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/GeneratedRequirementsImpl.java
new file mode 100644
index 0000000..b34b218
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/GeneratedRequirementsImpl.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.GeneratedRequirements;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Generated Requirements</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.GeneratedRequirementsImpl#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class GeneratedRequirementsImpl extends MinimalEObjectImpl.Container implements GeneratedRequirements {
+ /**
+ * 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 GeneratedRequirementsImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.GENERATED_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.GENERATED_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.GENERATED_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.GENERATED_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.GENERATED_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.GENERATED_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.GENERATED_REQUIREMENTS__BASE_PACKAGE:
+ return base_Package != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //GeneratedRequirementsImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByConsentImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByConsentImpl.java
new file mode 100644
index 0000000..270b6b7
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByConsentImpl.java
@@ -0,0 +1,173 @@
+/**
+ * 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.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Consent;
+
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByConsent;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Lawful By Consent</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LawfulByConsentImpl#getConsent <em>Consent</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class LawfulByConsentImpl extends LawfulImpl implements LawfulByConsent {
+ /**
+ * The cached value of the '{@link #getConsent() <em>Consent</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConsent()
+ * @generated
+ * @ordered
+ */
+ protected Consent consent;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LawfulByConsentImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.LAWFUL_BY_CONSENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Consent getConsent() {
+ if (consent != null && consent.eIsProxy()) {
+ InternalEObject oldConsent = (InternalEObject)consent;
+ consent = (Consent)eResolveProxy(oldConsent);
+ if (consent != oldConsent) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, pdp4engReqGDPRPackage.LAWFUL_BY_CONSENT__CONSENT, oldConsent, consent));
+ }
+ }
+ return consent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Consent basicGetConsent() {
+ return consent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setConsent(Consent newConsent) {
+ Consent oldConsent = consent;
+ consent = newConsent;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, pdp4engReqGDPRPackage.LAWFUL_BY_CONSENT__CONSENT, oldConsent, consent));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.LAWFUL_BY_CONSENT__CONSENT:
+ if (resolve) return getConsent();
+ return basicGetConsent();
+ }
+ 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.LAWFUL_BY_CONSENT__CONSENT:
+ setConsent((Consent)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.LAWFUL_BY_CONSENT__CONSENT:
+ setConsent((Consent)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.LAWFUL_BY_CONSENT__CONSENT:
+ return consent != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //LawfulByConsentImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByContractImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByContractImpl.java
new file mode 100644
index 0000000..296e7d6
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByContractImpl.java
@@ -0,0 +1,173 @@
+/**
+ * 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.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Contract;
+
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByContract;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Lawful By Contract</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LawfulByContractImpl#getContract <em>Contract</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class LawfulByContractImpl extends LawfulImpl implements LawfulByContract {
+ /**
+ * The cached value of the '{@link #getContract() <em>Contract</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getContract()
+ * @generated
+ * @ordered
+ */
+ protected Contract contract;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LawfulByContractImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.LAWFUL_BY_CONTRACT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Contract getContract() {
+ if (contract != null && contract.eIsProxy()) {
+ InternalEObject oldContract = (InternalEObject)contract;
+ contract = (Contract)eResolveProxy(oldContract);
+ if (contract != oldContract) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, pdp4engReqGDPRPackage.LAWFUL_BY_CONTRACT__CONTRACT, oldContract, contract));
+ }
+ }
+ return contract;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Contract basicGetContract() {
+ return contract;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setContract(Contract newContract) {
+ Contract oldContract = contract;
+ contract = newContract;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, pdp4engReqGDPRPackage.LAWFUL_BY_CONTRACT__CONTRACT, oldContract, contract));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.LAWFUL_BY_CONTRACT__CONTRACT:
+ if (resolve) return getContract();
+ return basicGetContract();
+ }
+ 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.LAWFUL_BY_CONTRACT__CONTRACT:
+ setContract((Contract)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.LAWFUL_BY_CONTRACT__CONTRACT:
+ setContract((Contract)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.LAWFUL_BY_CONTRACT__CONTRACT:
+ return contract != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //LawfulByContractImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByLegalObligationImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByLegalObligationImpl.java
new file mode 100644
index 0000000..0d7b08e
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByLegalObligationImpl.java
@@ -0,0 +1,173 @@
+/**
+ * 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.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.LegalObligation;
+
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByLegalObligation;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Lawful By Legal Obligation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LawfulByLegalObligationImpl#getLegalObligation <em>Legal Obligation</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class LawfulByLegalObligationImpl extends LawfulImpl implements LawfulByLegalObligation {
+ /**
+ * The cached value of the '{@link #getLegalObligation() <em>Legal Obligation</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLegalObligation()
+ * @generated
+ * @ordered
+ */
+ protected LegalObligation legalObligation;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LawfulByLegalObligationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.LAWFUL_BY_LEGAL_OBLIGATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public LegalObligation getLegalObligation() {
+ if (legalObligation != null && legalObligation.eIsProxy()) {
+ InternalEObject oldLegalObligation = (InternalEObject)legalObligation;
+ legalObligation = (LegalObligation)eResolveProxy(oldLegalObligation);
+ if (legalObligation != oldLegalObligation) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, pdp4engReqGDPRPackage.LAWFUL_BY_LEGAL_OBLIGATION__LEGAL_OBLIGATION, oldLegalObligation, legalObligation));
+ }
+ }
+ return legalObligation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LegalObligation basicGetLegalObligation() {
+ return legalObligation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setLegalObligation(LegalObligation newLegalObligation) {
+ LegalObligation oldLegalObligation = legalObligation;
+ legalObligation = newLegalObligation;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, pdp4engReqGDPRPackage.LAWFUL_BY_LEGAL_OBLIGATION__LEGAL_OBLIGATION, oldLegalObligation, legalObligation));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.LAWFUL_BY_LEGAL_OBLIGATION__LEGAL_OBLIGATION:
+ if (resolve) return getLegalObligation();
+ return basicGetLegalObligation();
+ }
+ 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.LAWFUL_BY_LEGAL_OBLIGATION__LEGAL_OBLIGATION:
+ setLegalObligation((LegalObligation)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.LAWFUL_BY_LEGAL_OBLIGATION__LEGAL_OBLIGATION:
+ setLegalObligation((LegalObligation)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.LAWFUL_BY_LEGAL_OBLIGATION__LEGAL_OBLIGATION:
+ return legalObligation != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //LawfulByLegalObligationImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByLegitimateInterestImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByLegitimateInterestImpl.java
new file mode 100644
index 0000000..5ff6dbb
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByLegitimateInterestImpl.java
@@ -0,0 +1,173 @@
+/**
+ * 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.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.LegitimateInterest;
+
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByLegitimateInterest;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Lawful By Legitimate Interest</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LawfulByLegitimateInterestImpl#getLegitimateInterest <em>Legitimate Interest</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class LawfulByLegitimateInterestImpl extends LawfulImpl implements LawfulByLegitimateInterest {
+ /**
+ * The cached value of the '{@link #getLegitimateInterest() <em>Legitimate Interest</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLegitimateInterest()
+ * @generated
+ * @ordered
+ */
+ protected LegitimateInterest legitimateInterest;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LawfulByLegitimateInterestImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.LAWFUL_BY_LEGITIMATE_INTEREST;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public LegitimateInterest getLegitimateInterest() {
+ if (legitimateInterest != null && legitimateInterest.eIsProxy()) {
+ InternalEObject oldLegitimateInterest = (InternalEObject)legitimateInterest;
+ legitimateInterest = (LegitimateInterest)eResolveProxy(oldLegitimateInterest);
+ if (legitimateInterest != oldLegitimateInterest) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, pdp4engReqGDPRPackage.LAWFUL_BY_LEGITIMATE_INTEREST__LEGITIMATE_INTEREST, oldLegitimateInterest, legitimateInterest));
+ }
+ }
+ return legitimateInterest;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LegitimateInterest basicGetLegitimateInterest() {
+ return legitimateInterest;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setLegitimateInterest(LegitimateInterest newLegitimateInterest) {
+ LegitimateInterest oldLegitimateInterest = legitimateInterest;
+ legitimateInterest = newLegitimateInterest;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, pdp4engReqGDPRPackage.LAWFUL_BY_LEGITIMATE_INTEREST__LEGITIMATE_INTEREST, oldLegitimateInterest, legitimateInterest));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.LAWFUL_BY_LEGITIMATE_INTEREST__LEGITIMATE_INTEREST:
+ if (resolve) return getLegitimateInterest();
+ return basicGetLegitimateInterest();
+ }
+ 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.LAWFUL_BY_LEGITIMATE_INTEREST__LEGITIMATE_INTEREST:
+ setLegitimateInterest((LegitimateInterest)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.LAWFUL_BY_LEGITIMATE_INTEREST__LEGITIMATE_INTEREST:
+ setLegitimateInterest((LegitimateInterest)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.LAWFUL_BY_LEGITIMATE_INTEREST__LEGITIMATE_INTEREST:
+ return legitimateInterest != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //LawfulByLegitimateInterestImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByPublicInterestImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByPublicInterestImpl.java
new file mode 100644
index 0000000..5006232
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByPublicInterestImpl.java
@@ -0,0 +1,173 @@
+/**
+ * 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.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PublicInterest;
+
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByPublicInterest;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Lawful By Public Interest</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LawfulByPublicInterestImpl#getPublicInterest <em>Public Interest</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class LawfulByPublicInterestImpl extends LawfulImpl implements LawfulByPublicInterest {
+ /**
+ * The cached value of the '{@link #getPublicInterest() <em>Public Interest</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPublicInterest()
+ * @generated
+ * @ordered
+ */
+ protected PublicInterest publicInterest;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LawfulByPublicInterestImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.LAWFUL_BY_PUBLIC_INTEREST;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public PublicInterest getPublicInterest() {
+ if (publicInterest != null && publicInterest.eIsProxy()) {
+ InternalEObject oldPublicInterest = (InternalEObject)publicInterest;
+ publicInterest = (PublicInterest)eResolveProxy(oldPublicInterest);
+ if (publicInterest != oldPublicInterest) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, pdp4engReqGDPRPackage.LAWFUL_BY_PUBLIC_INTEREST__PUBLIC_INTEREST, oldPublicInterest, publicInterest));
+ }
+ }
+ return publicInterest;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PublicInterest basicGetPublicInterest() {
+ return publicInterest;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setPublicInterest(PublicInterest newPublicInterest) {
+ PublicInterest oldPublicInterest = publicInterest;
+ publicInterest = newPublicInterest;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, pdp4engReqGDPRPackage.LAWFUL_BY_PUBLIC_INTEREST__PUBLIC_INTEREST, oldPublicInterest, publicInterest));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.LAWFUL_BY_PUBLIC_INTEREST__PUBLIC_INTEREST:
+ if (resolve) return getPublicInterest();
+ return basicGetPublicInterest();
+ }
+ 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.LAWFUL_BY_PUBLIC_INTEREST__PUBLIC_INTEREST:
+ setPublicInterest((PublicInterest)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.LAWFUL_BY_PUBLIC_INTEREST__PUBLIC_INTEREST:
+ setPublicInterest((PublicInterest)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.LAWFUL_BY_PUBLIC_INTEREST__PUBLIC_INTEREST:
+ return publicInterest != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //LawfulByPublicInterestImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByVitalInterestImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByVitalInterestImpl.java
new file mode 100644
index 0000000..697885f
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulByVitalInterestImpl.java
@@ -0,0 +1,173 @@
+/**
+ * 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.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.VitalInterest;
+
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByVitalInterest;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Lawful By Vital Interest</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LawfulByVitalInterestImpl#getVitalInterest <em>Vital Interest</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class LawfulByVitalInterestImpl extends LawfulImpl implements LawfulByVitalInterest {
+ /**
+ * The cached value of the '{@link #getVitalInterest() <em>Vital Interest</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVitalInterest()
+ * @generated
+ * @ordered
+ */
+ protected VitalInterest vitalInterest;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LawfulByVitalInterestImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.LAWFUL_BY_VITAL_INTEREST;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public VitalInterest getVitalInterest() {
+ if (vitalInterest != null && vitalInterest.eIsProxy()) {
+ InternalEObject oldVitalInterest = (InternalEObject)vitalInterest;
+ vitalInterest = (VitalInterest)eResolveProxy(oldVitalInterest);
+ if (vitalInterest != oldVitalInterest) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, pdp4engReqGDPRPackage.LAWFUL_BY_VITAL_INTEREST__VITAL_INTEREST, oldVitalInterest, vitalInterest));
+ }
+ }
+ return vitalInterest;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VitalInterest basicGetVitalInterest() {
+ return vitalInterest;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setVitalInterest(VitalInterest newVitalInterest) {
+ VitalInterest oldVitalInterest = vitalInterest;
+ vitalInterest = newVitalInterest;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, pdp4engReqGDPRPackage.LAWFUL_BY_VITAL_INTEREST__VITAL_INTEREST, oldVitalInterest, vitalInterest));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.LAWFUL_BY_VITAL_INTEREST__VITAL_INTEREST:
+ if (resolve) return getVitalInterest();
+ return basicGetVitalInterest();
+ }
+ 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.LAWFUL_BY_VITAL_INTEREST__VITAL_INTEREST:
+ setVitalInterest((VitalInterest)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.LAWFUL_BY_VITAL_INTEREST__VITAL_INTEREST:
+ setVitalInterest((VitalInterest)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.LAWFUL_BY_VITAL_INTEREST__VITAL_INTEREST:
+ return vitalInterest != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //LawfulByVitalInterestImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulImpl.java
new file mode 100644
index 0000000..77f391b
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LawfulImpl.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.Lawful;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Lawful</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class LawfulImpl extends ProcessPrincipleImpl implements Lawful {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LawfulImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.LAWFUL;
+ }
+
+} //LawfulImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LinkImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LinkImpl.java
new file mode 100644
index 0000000..61dbb51
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LinkImpl.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.Link;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkability;
+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>Link</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LinkImpl#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LinkImpl#getLinkability <em>Linkability</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class LinkImpl extends MinimalEObjectImpl.Container implements Link {
+ /**
+ * The cached value of the '{@link #getBase_NamedElement() <em>Base Named Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_NamedElement()
+ * @generated
+ * @ordered
+ */
+ protected NamedElement base_NamedElement;
+
+ /**
+ * The default value of the '{@link #getLinkability() <em>Linkability</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLinkability()
+ * @generated
+ * @ordered
+ */
+ protected static final Linkability LINKABILITY_EDEFAULT = Linkability.SINGLE;
+
+ /**
+ * The cached value of the '{@link #getLinkability() <em>Linkability</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLinkability()
+ * @generated
+ * @ordered
+ */
+ protected Linkability linkability = LINKABILITY_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LinkImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.LINK;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NamedElement getBase_NamedElement() {
+ if (base_NamedElement != null && base_NamedElement.eIsProxy()) {
+ InternalEObject oldBase_NamedElement = (InternalEObject)base_NamedElement;
+ base_NamedElement = (NamedElement)eResolveProxy(oldBase_NamedElement);
+ if (base_NamedElement != oldBase_NamedElement) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, pdp4engReqGDPRPackage.LINK__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+ }
+ }
+ return base_NamedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement basicGetBase_NamedElement() {
+ return base_NamedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setBase_NamedElement(NamedElement newBase_NamedElement) {
+ NamedElement oldBase_NamedElement = base_NamedElement;
+ base_NamedElement = newBase_NamedElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, pdp4engReqGDPRPackage.LINK__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Linkability getLinkability() {
+ return linkability;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setLinkability(Linkability newLinkability) {
+ Linkability oldLinkability = linkability;
+ linkability = newLinkability == null ? LINKABILITY_EDEFAULT : newLinkability;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, pdp4engReqGDPRPackage.LINK__LINKABILITY, oldLinkability, linkability));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.LINK__BASE_NAMED_ELEMENT:
+ if (resolve) return getBase_NamedElement();
+ return basicGetBase_NamedElement();
+ case pdp4engReqGDPRPackage.LINK__LINKABILITY:
+ return getLinkability();
+ }
+ 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.LINK__BASE_NAMED_ELEMENT:
+ setBase_NamedElement((NamedElement)newValue);
+ return;
+ case pdp4engReqGDPRPackage.LINK__LINKABILITY:
+ setLinkability((Linkability)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.LINK__BASE_NAMED_ELEMENT:
+ setBase_NamedElement((NamedElement)null);
+ return;
+ case pdp4engReqGDPRPackage.LINK__LINKABILITY:
+ setLinkability(LINKABILITY_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.LINK__BASE_NAMED_ELEMENT:
+ return base_NamedElement != null;
+ case pdp4engReqGDPRPackage.LINK__LINKABILITY:
+ return linkability != LINKABILITY_EDEFAULT;
+ }
+ 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(" (linkability: ");
+ result.append(linkability);
+ result.append(')');
+ return result.toString();
+ }
+
+} //LinkImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LinkableImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LinkableImpl.java
new file mode 100644
index 0000000..69336cf
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/LinkableImpl.java
@@ -0,0 +1,302 @@
+/**
+ * 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.Duration;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkability;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkable;
+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>Linkable</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LinkableImpl#getDuration <em>Duration</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LinkableImpl#getLinkability <em>Linkability</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LinkableImpl#getBase_Element <em>Base Element</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class LinkableImpl extends MinimalEObjectImpl.Container implements Linkable {
+ /**
+ * 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 default value of the '{@link #getLinkability() <em>Linkability</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLinkability()
+ * @generated
+ * @ordered
+ */
+ protected static final Linkability LINKABILITY_EDEFAULT = Linkability.SINGLE;
+
+ /**
+ * The cached value of the '{@link #getLinkability() <em>Linkability</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLinkability()
+ * @generated
+ * @ordered
+ */
+ protected Linkability linkability = LINKABILITY_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 LinkableImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.LINKABLE;
+ }
+
+ /**
+ * <!-- 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.LINKABLE__DURATION, oldDuration, duration));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Linkability getLinkability() {
+ return linkability;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setLinkability(Linkability newLinkability) {
+ Linkability oldLinkability = linkability;
+ linkability = newLinkability == null ? LINKABILITY_EDEFAULT : newLinkability;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, pdp4engReqGDPRPackage.LINKABLE__LINKABILITY, oldLinkability, linkability));
+ }
+
+ /**
+ * <!-- 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.LINKABLE__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.LINKABLE__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.LINKABLE__DURATION:
+ return getDuration();
+ case pdp4engReqGDPRPackage.LINKABLE__LINKABILITY:
+ return getLinkability();
+ case pdp4engReqGDPRPackage.LINKABLE__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.LINKABLE__DURATION:
+ setDuration((Duration)newValue);
+ return;
+ case pdp4engReqGDPRPackage.LINKABLE__LINKABILITY:
+ setLinkability((Linkability)newValue);
+ return;
+ case pdp4engReqGDPRPackage.LINKABLE__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.LINKABLE__DURATION:
+ setDuration(DURATION_EDEFAULT);
+ return;
+ case pdp4engReqGDPRPackage.LINKABLE__LINKABILITY:
+ setLinkability(LINKABILITY_EDEFAULT);
+ return;
+ case pdp4engReqGDPRPackage.LINKABLE__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.LINKABLE__DURATION:
+ return duration != DURATION_EDEFAULT;
+ case pdp4engReqGDPRPackage.LINKABLE__LINKABILITY:
+ return linkability != LINKABILITY_EDEFAULT;
+ case pdp4engReqGDPRPackage.LINKABLE__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(", linkability: ");
+ result.append(linkability);
+ result.append(')');
+ return result.toString();
+ }
+
+} //LinkableImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/NonFunctionalRequirementsImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/NonFunctionalRequirementsImpl.java
new file mode 100644
index 0000000..41aac54
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/NonFunctionalRequirementsImpl.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.NonFunctionalRequirements;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Non Functional Requirements</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.NonFunctionalRequirementsImpl#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class NonFunctionalRequirementsImpl extends MinimalEObjectImpl.Container implements NonFunctionalRequirements {
+ /**
+ * 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 NonFunctionalRequirementsImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.NON_FUNCTIONAL_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.NON_FUNCTIONAL_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.NON_FUNCTIONAL_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.NON_FUNCTIONAL_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.NON_FUNCTIONAL_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.NON_FUNCTIONAL_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.NON_FUNCTIONAL_REQUIREMENTS__BASE_PACKAGE:
+ return base_Package != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //NonFunctionalRequirementsImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PersonalDataRequirementImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PersonalDataRequirementImpl.java
new file mode 100644
index 0000000..67cbc25
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PersonalDataRequirementImpl.java
@@ -0,0 +1,175 @@
+/**
+ * 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.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.PersonalDataImpl;
+
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalDataRequirement;
+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>Personal Data Requirement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.PersonalDataRequirementImpl#getSource <em>Source</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class PersonalDataRequirementImpl extends PersonalDataImpl implements PersonalDataRequirement {
+ /**
+ * The cached value of the '{@link #getSource() <em>Source</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSource()
+ * @generated
+ * @ordered
+ */
+ protected Element source;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PersonalDataRequirementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.PERSONAL_DATA_REQUIREMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Element getSource() {
+ if (source != null && source.eIsProxy()) {
+ InternalEObject oldSource = (InternalEObject)source;
+ source = (Element)eResolveProxy(oldSource);
+ if (source != oldSource) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, pdp4engReqGDPRPackage.PERSONAL_DATA_REQUIREMENT__SOURCE, oldSource, source));
+ }
+ }
+ return source;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Element basicGetSource() {
+ return source;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setSource(Element newSource) {
+ Element oldSource = source;
+ source = newSource;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, pdp4engReqGDPRPackage.PERSONAL_DATA_REQUIREMENT__SOURCE, oldSource, source));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.PERSONAL_DATA_REQUIREMENT__SOURCE:
+ if (resolve) return getSource();
+ return basicGetSource();
+ }
+ 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.PERSONAL_DATA_REQUIREMENT__SOURCE:
+ setSource((Element)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.PERSONAL_DATA_REQUIREMENT__SOURCE:
+ setSource((Element)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.PERSONAL_DATA_REQUIREMENT__SOURCE:
+ return source != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //PersonalDataRequirementImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PersonalInformationContainerImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PersonalInformationContainerImpl.java
new file mode 100644
index 0000000..100530f
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PersonalInformationContainerImpl.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.PersonalInformationContainer;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Personal 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.PersonalInformationContainerImpl#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class PersonalInformationContainerImpl extends MinimalEObjectImpl.Container implements PersonalInformationContainer {
+ /**
+ * 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 PersonalInformationContainerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.PERSONAL_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.PERSONAL_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.PERSONAL_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.PERSONAL_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.PERSONAL_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.PERSONAL_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.PERSONAL_INFORMATION_CONTAINER__BASE_PACKAGE:
+ return base_Package != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //PersonalInformationContainerImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PersonalInformationImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PersonalInformationImpl.java
new file mode 100644
index 0000000..453bce0
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PersonalInformationImpl.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.common.profile.pdp4engCommonGDPR.DataSubject;
+
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalInformation;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Personal Information</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.PersonalInformationImpl#getBase_Package <em>Base Package</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.PersonalInformationImpl#getConcerns <em>Concerns</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class PersonalInformationImpl extends MinimalEObjectImpl.Container implements PersonalInformation {
+ /**
+ * 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 DataSubject concerns;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PersonalInformationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.PERSONAL_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.PERSONAL_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.PERSONAL_INFORMATION__BASE_PACKAGE, oldBase_Package, base_Package));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public DataSubject getConcerns() {
+ if (concerns != null && concerns.eIsProxy()) {
+ InternalEObject oldConcerns = (InternalEObject)concerns;
+ concerns = (DataSubject)eResolveProxy(oldConcerns);
+ if (concerns != oldConcerns) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, pdp4engReqGDPRPackage.PERSONAL_INFORMATION__CONCERNS, oldConcerns, concerns));
+ }
+ }
+ return concerns;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataSubject basicGetConcerns() {
+ return concerns;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setConcerns(DataSubject newConcerns) {
+ DataSubject oldConcerns = concerns;
+ concerns = newConcerns;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, pdp4engReqGDPRPackage.PERSONAL_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.PERSONAL_INFORMATION__BASE_PACKAGE:
+ if (resolve) return getBase_Package();
+ return basicGetBase_Package();
+ case pdp4engReqGDPRPackage.PERSONAL_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.PERSONAL_INFORMATION__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)newValue);
+ return;
+ case pdp4engReqGDPRPackage.PERSONAL_INFORMATION__CONCERNS:
+ setConcerns((DataSubject)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.PERSONAL_INFORMATION__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)null);
+ return;
+ case pdp4engReqGDPRPackage.PERSONAL_INFORMATION__CONCERNS:
+ setConcerns((DataSubject)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.PERSONAL_INFORMATION__BASE_PACKAGE:
+ return base_Package != null;
+ case pdp4engReqGDPRPackage.PERSONAL_INFORMATION__CONCERNS:
+ return concerns != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //PersonalInformationImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PrivacyRequirementImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PrivacyRequirementImpl.java
new file mode 100644
index 0000000..a6dbaba
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PrivacyRequirementImpl.java
@@ -0,0 +1,341 @@
+/**
+ * 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.DataSubject;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData;
+
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PrivacyRequirement;
+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>Privacy Requirement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.PrivacyRequirementImpl#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.PrivacyRequirementImpl#getDataSubject <em>Data Subject</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.PrivacyRequirementImpl#getCounterstakeholders <em>Counterstakeholders</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.PrivacyRequirementImpl#getPersonalData <em>Personal Data</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class PrivacyRequirementImpl extends MinimalEObjectImpl.Container implements PrivacyRequirement {
+ /**
+ * The cached value of the '{@link #getBase_NamedElement() <em>Base Named Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_NamedElement()
+ * @generated
+ * @ordered
+ */
+ protected NamedElement base_NamedElement;
+
+ /**
+ * The cached value of the '{@link #getDataSubject() <em>Data Subject</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDataSubject()
+ * @generated
+ * @ordered
+ */
+ protected DataSubject dataSubject;
+
+ /**
+ * The cached value of the '{@link #getCounterstakeholders() <em>Counterstakeholders</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCounterstakeholders()
+ * @generated
+ * @ordered
+ */
+ protected EList<NamedElement> counterstakeholders;
+
+ /**
+ * The cached value of the '{@link #getPersonalData() <em>Personal Data</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPersonalData()
+ * @generated
+ * @ordered
+ */
+ protected EList<PersonalData> personalData;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PrivacyRequirementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.PRIVACY_REQUIREMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NamedElement getBase_NamedElement() {
+ if (base_NamedElement != null && base_NamedElement.eIsProxy()) {
+ InternalEObject oldBase_NamedElement = (InternalEObject)base_NamedElement;
+ base_NamedElement = (NamedElement)eResolveProxy(oldBase_NamedElement);
+ if (base_NamedElement != oldBase_NamedElement) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, pdp4engReqGDPRPackage.PRIVACY_REQUIREMENT__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+ }
+ }
+ return base_NamedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement basicGetBase_NamedElement() {
+ return base_NamedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setBase_NamedElement(NamedElement newBase_NamedElement) {
+ NamedElement oldBase_NamedElement = base_NamedElement;
+ base_NamedElement = newBase_NamedElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, pdp4engReqGDPRPackage.PRIVACY_REQUIREMENT__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public DataSubject getDataSubject() {
+ if (dataSubject != null && dataSubject.eIsProxy()) {
+ InternalEObject oldDataSubject = (InternalEObject)dataSubject;
+ dataSubject = (DataSubject)eResolveProxy(oldDataSubject);
+ if (dataSubject != oldDataSubject) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, pdp4engReqGDPRPackage.PRIVACY_REQUIREMENT__DATA_SUBJECT, oldDataSubject, dataSubject));
+ }
+ }
+ return dataSubject;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataSubject basicGetDataSubject() {
+ return dataSubject;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setDataSubject(DataSubject newDataSubject) {
+ DataSubject oldDataSubject = dataSubject;
+ dataSubject = newDataSubject;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, pdp4engReqGDPRPackage.PRIVACY_REQUIREMENT__DATA_SUBJECT, oldDataSubject, dataSubject));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<NamedElement> getCounterstakeholders() {
+ if (counterstakeholders == null) {
+ counterstakeholders = new EObjectResolvingEList<NamedElement>(NamedElement.class, this, pdp4engReqGDPRPackage.PRIVACY_REQUIREMENT__COUNTERSTAKEHOLDERS);
+ }
+ return counterstakeholders;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getCounterstakeholders(String name) {
+ return getCounterstakeholders(name, false, null);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getCounterstakeholders(String name, boolean ignoreCase, EClass eClass) {
+ counterstakeholdersLoop: for (NamedElement counterstakeholders : getCounterstakeholders()) {
+ if (eClass != null && !eClass.isInstance(counterstakeholders))
+ continue counterstakeholdersLoop;
+ if (name != null && !(ignoreCase ? name.equalsIgnoreCase(counterstakeholders.getName()) : name.equals(counterstakeholders.getName())))
+ continue counterstakeholdersLoop;
+ return counterstakeholders;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<PersonalData> getPersonalData() {
+ if (personalData == null) {
+ personalData = new EObjectResolvingEList<PersonalData>(PersonalData.class, this, pdp4engReqGDPRPackage.PRIVACY_REQUIREMENT__PERSONAL_DATA);
+ }
+ return personalData;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.PRIVACY_REQUIREMENT__BASE_NAMED_ELEMENT:
+ if (resolve) return getBase_NamedElement();
+ return basicGetBase_NamedElement();
+ case pdp4engReqGDPRPackage.PRIVACY_REQUIREMENT__DATA_SUBJECT:
+ if (resolve) return getDataSubject();
+ return basicGetDataSubject();
+ case pdp4engReqGDPRPackage.PRIVACY_REQUIREMENT__COUNTERSTAKEHOLDERS:
+ return getCounterstakeholders();
+ case pdp4engReqGDPRPackage.PRIVACY_REQUIREMENT__PERSONAL_DATA:
+ return getPersonalData();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.PRIVACY_REQUIREMENT__BASE_NAMED_ELEMENT:
+ setBase_NamedElement((NamedElement)newValue);
+ return;
+ case pdp4engReqGDPRPackage.PRIVACY_REQUIREMENT__DATA_SUBJECT:
+ setDataSubject((DataSubject)newValue);
+ return;
+ case pdp4engReqGDPRPackage.PRIVACY_REQUIREMENT__COUNTERSTAKEHOLDERS:
+ getCounterstakeholders().clear();
+ getCounterstakeholders().addAll((Collection<? extends NamedElement>)newValue);
+ return;
+ case pdp4engReqGDPRPackage.PRIVACY_REQUIREMENT__PERSONAL_DATA:
+ getPersonalData().clear();
+ getPersonalData().addAll((Collection<? extends PersonalData>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.PRIVACY_REQUIREMENT__BASE_NAMED_ELEMENT:
+ setBase_NamedElement((NamedElement)null);
+ return;
+ case pdp4engReqGDPRPackage.PRIVACY_REQUIREMENT__DATA_SUBJECT:
+ setDataSubject((DataSubject)null);
+ return;
+ case pdp4engReqGDPRPackage.PRIVACY_REQUIREMENT__COUNTERSTAKEHOLDERS:
+ getCounterstakeholders().clear();
+ return;
+ case pdp4engReqGDPRPackage.PRIVACY_REQUIREMENT__PERSONAL_DATA:
+ getPersonalData().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.PRIVACY_REQUIREMENT__BASE_NAMED_ELEMENT:
+ return base_NamedElement != null;
+ case pdp4engReqGDPRPackage.PRIVACY_REQUIREMENT__DATA_SUBJECT:
+ return dataSubject != null;
+ case pdp4engReqGDPRPackage.PRIVACY_REQUIREMENT__COUNTERSTAKEHOLDERS:
+ return counterstakeholders != null && !counterstakeholders.isEmpty();
+ case pdp4engReqGDPRPackage.PRIVACY_REQUIREMENT__PERSONAL_DATA:
+ return personalData != null && !personalData.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //PrivacyRequirementImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/ProcessPrincipleImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/ProcessPrincipleImpl.java
new file mode 100644
index 0000000..cfd47ed
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/ProcessPrincipleImpl.java
@@ -0,0 +1,279 @@
+/**
+ * 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.util.EObjectResolvingEList;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.DataSubject;
+
+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.ProcessRequirement;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Process Principle</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.ProcessPrincipleImpl#getProcess <em>Process</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.ProcessPrincipleImpl#getDataSubject <em>Data Subject</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.ProcessPrincipleImpl#getPersonalData <em>Personal Data</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ProcessPrincipleImpl extends GDPRPrincipleImpl implements ProcessPrinciple {
+ /**
+ * The cached value of the '{@link #getProcess() <em>Process</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProcess()
+ * @generated
+ * @ordered
+ */
+ protected ProcessRequirement process;
+
+ /**
+ * The cached value of the '{@link #getDataSubject() <em>Data Subject</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDataSubject()
+ * @generated
+ * @ordered
+ */
+ protected DataSubject dataSubject;
+
+ /**
+ * The cached value of the '{@link #getPersonalData() <em>Personal Data</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPersonalData()
+ * @generated
+ * @ordered
+ */
+ protected EList<PersonalDataRequirement> personalData;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ProcessPrincipleImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.PROCESS_PRINCIPLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ProcessRequirement getProcess() {
+ if (process != null && process.eIsProxy()) {
+ InternalEObject oldProcess = (InternalEObject)process;
+ process = (ProcessRequirement)eResolveProxy(oldProcess);
+ if (process != oldProcess) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, pdp4engReqGDPRPackage.PROCESS_PRINCIPLE__PROCESS, oldProcess, process));
+ }
+ }
+ return process;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ProcessRequirement basicGetProcess() {
+ return process;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setProcess(ProcessRequirement newProcess) {
+ ProcessRequirement oldProcess = process;
+ process = newProcess;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, pdp4engReqGDPRPackage.PROCESS_PRINCIPLE__PROCESS, oldProcess, process));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public DataSubject getDataSubject() {
+ if (dataSubject != null && dataSubject.eIsProxy()) {
+ InternalEObject oldDataSubject = (InternalEObject)dataSubject;
+ dataSubject = (DataSubject)eResolveProxy(oldDataSubject);
+ if (dataSubject != oldDataSubject) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, pdp4engReqGDPRPackage.PROCESS_PRINCIPLE__DATA_SUBJECT, oldDataSubject, dataSubject));
+ }
+ }
+ return dataSubject;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataSubject basicGetDataSubject() {
+ return dataSubject;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setDataSubject(DataSubject newDataSubject) {
+ DataSubject oldDataSubject = dataSubject;
+ dataSubject = newDataSubject;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, pdp4engReqGDPRPackage.PROCESS_PRINCIPLE__DATA_SUBJECT, oldDataSubject, dataSubject));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<PersonalDataRequirement> getPersonalData() {
+ if (personalData == null) {
+ personalData = new EObjectResolvingEList<PersonalDataRequirement>(PersonalDataRequirement.class, this, pdp4engReqGDPRPackage.PROCESS_PRINCIPLE__PERSONAL_DATA);
+ }
+ return personalData;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.PROCESS_PRINCIPLE__PROCESS:
+ if (resolve) return getProcess();
+ return basicGetProcess();
+ case pdp4engReqGDPRPackage.PROCESS_PRINCIPLE__DATA_SUBJECT:
+ if (resolve) return getDataSubject();
+ return basicGetDataSubject();
+ case pdp4engReqGDPRPackage.PROCESS_PRINCIPLE__PERSONAL_DATA:
+ return getPersonalData();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.PROCESS_PRINCIPLE__PROCESS:
+ setProcess((ProcessRequirement)newValue);
+ return;
+ case pdp4engReqGDPRPackage.PROCESS_PRINCIPLE__DATA_SUBJECT:
+ setDataSubject((DataSubject)newValue);
+ return;
+ case pdp4engReqGDPRPackage.PROCESS_PRINCIPLE__PERSONAL_DATA:
+ getPersonalData().clear();
+ getPersonalData().addAll((Collection<? extends PersonalDataRequirement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.PROCESS_PRINCIPLE__PROCESS:
+ setProcess((ProcessRequirement)null);
+ return;
+ case pdp4engReqGDPRPackage.PROCESS_PRINCIPLE__DATA_SUBJECT:
+ setDataSubject((DataSubject)null);
+ return;
+ case pdp4engReqGDPRPackage.PROCESS_PRINCIPLE__PERSONAL_DATA:
+ getPersonalData().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.PROCESS_PRINCIPLE__PROCESS:
+ return process != null;
+ case pdp4engReqGDPRPackage.PROCESS_PRINCIPLE__DATA_SUBJECT:
+ return dataSubject != null;
+ case pdp4engReqGDPRPackage.PROCESS_PRINCIPLE__PERSONAL_DATA:
+ return personalData != null && !personalData.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ProcessPrincipleImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/ProcessRequirementImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/ProcessRequirementImpl.java
new file mode 100644
index 0000000..9bf87cf
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/ProcessRequirementImpl.java
@@ -0,0 +1,149 @@
+/**
+ * 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.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.impl.ProcessImpl;
+
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.ProcessRequirement;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Stakeholder;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Process Requirement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.ProcessRequirementImpl#getRequester <em>Requester</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ProcessRequirementImpl extends ProcessImpl implements ProcessRequirement {
+ /**
+ * The cached value of the '{@link #getRequester() <em>Requester</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRequester()
+ * @generated
+ * @ordered
+ */
+ protected EList<Stakeholder> requester;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ProcessRequirementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.PROCESS_REQUIREMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EList<Stakeholder> getRequester() {
+ if (requester == null) {
+ requester = new EObjectResolvingEList<Stakeholder>(Stakeholder.class, this, pdp4engReqGDPRPackage.PROCESS_REQUIREMENT__REQUESTER);
+ }
+ return requester;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.PROCESS_REQUIREMENT__REQUESTER:
+ return getRequester();
+ }
+ 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.PROCESS_REQUIREMENT__REQUESTER:
+ getRequester().clear();
+ getRequester().addAll((Collection<? extends Stakeholder>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.PROCESS_REQUIREMENT__REQUESTER:
+ getRequester().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.PROCESS_REQUIREMENT__REQUESTER:
+ return requester != null && !requester.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ProcessRequirementImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PseudonimityRequirementImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PseudonimityRequirementImpl.java
new file mode 100644
index 0000000..b873bc5
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PseudonimityRequirementImpl.java
@@ -0,0 +1,179 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PseudonimityRequirement;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PseudonymKind;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Pseudonimity Requirement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.PseudonimityRequirementImpl#getKind <em>Kind</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class PseudonimityRequirementImpl extends PrivacyRequirementImpl implements PseudonimityRequirement {
+ /**
+ * The default value of the '{@link #getKind() <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKind()
+ * @generated
+ * @ordered
+ */
+ protected static final PseudonymKind KIND_EDEFAULT = PseudonymKind.PERSON;
+
+ /**
+ * The cached value of the '{@link #getKind() <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKind()
+ * @generated
+ * @ordered
+ */
+ protected PseudonymKind kind = KIND_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PseudonimityRequirementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.PSEUDONIMITY_REQUIREMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public PseudonymKind getKind() {
+ return kind;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setKind(PseudonymKind newKind) {
+ PseudonymKind oldKind = kind;
+ kind = newKind == null ? KIND_EDEFAULT : newKind;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, pdp4engReqGDPRPackage.PSEUDONIMITY_REQUIREMENT__KIND, oldKind, kind));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.PSEUDONIMITY_REQUIREMENT__KIND:
+ return getKind();
+ }
+ 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.PSEUDONIMITY_REQUIREMENT__KIND:
+ setKind((PseudonymKind)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.PSEUDONIMITY_REQUIREMENT__KIND:
+ setKind(KIND_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.PSEUDONIMITY_REQUIREMENT__KIND:
+ return kind != KIND_EDEFAULT;
+ }
+ 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(" (kind: ");
+ result.append(kind);
+ result.append(')');
+ return result.toString();
+ }
+
+} //PseudonimityRequirementImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PurposeLimitationImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PurposeLimitationImpl.java
new file mode 100644
index 0000000..17bab0f
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PurposeLimitationImpl.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.PurposeLimitation;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Purpose Limitation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class PurposeLimitationImpl extends PurposePersonalDataPrincipleImpl implements PurposeLimitation {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PurposeLimitationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.PURPOSE_LIMITATION;
+ }
+
+} //PurposeLimitationImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PurposePersonalDataPrincipleImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PurposePersonalDataPrincipleImpl.java
new file mode 100644
index 0000000..b136b04
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/PurposePersonalDataPrincipleImpl.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.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Purpose;
+
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PurposePersonalDataPrinciple;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Purpose Personal Data Principle</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.PurposePersonalDataPrincipleImpl#getPurpose <em>Purpose</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.PurposePersonalDataPrincipleImpl#getPersonalData <em>Personal Data</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class PurposePersonalDataPrincipleImpl extends GDPRPrincipleImpl implements PurposePersonalDataPrinciple {
+ /**
+ * The cached value of the '{@link #getPurpose() <em>Purpose</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPurpose()
+ * @generated
+ * @ordered
+ */
+ protected Purpose purpose;
+
+ /**
+ * The cached value of the '{@link #getPersonalData() <em>Personal Data</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPersonalData()
+ * @generated
+ * @ordered
+ */
+ protected PersonalData personalData;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PurposePersonalDataPrincipleImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.PURPOSE_PERSONAL_DATA_PRINCIPLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Purpose getPurpose() {
+ if (purpose != null && purpose.eIsProxy()) {
+ InternalEObject oldPurpose = (InternalEObject)purpose;
+ purpose = (Purpose)eResolveProxy(oldPurpose);
+ if (purpose != oldPurpose) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, pdp4engReqGDPRPackage.PURPOSE_PERSONAL_DATA_PRINCIPLE__PURPOSE, oldPurpose, purpose));
+ }
+ }
+ return purpose;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Purpose basicGetPurpose() {
+ return purpose;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setPurpose(Purpose newPurpose) {
+ Purpose oldPurpose = purpose;
+ purpose = newPurpose;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, pdp4engReqGDPRPackage.PURPOSE_PERSONAL_DATA_PRINCIPLE__PURPOSE, oldPurpose, purpose));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public PersonalData getPersonalData() {
+ if (personalData != null && personalData.eIsProxy()) {
+ InternalEObject oldPersonalData = (InternalEObject)personalData;
+ personalData = (PersonalData)eResolveProxy(oldPersonalData);
+ if (personalData != oldPersonalData) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, pdp4engReqGDPRPackage.PURPOSE_PERSONAL_DATA_PRINCIPLE__PERSONAL_DATA, oldPersonalData, personalData));
+ }
+ }
+ return personalData;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PersonalData basicGetPersonalData() {
+ return personalData;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setPersonalData(PersonalData newPersonalData) {
+ PersonalData oldPersonalData = personalData;
+ personalData = newPersonalData;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, pdp4engReqGDPRPackage.PURPOSE_PERSONAL_DATA_PRINCIPLE__PERSONAL_DATA, oldPersonalData, personalData));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.PURPOSE_PERSONAL_DATA_PRINCIPLE__PURPOSE:
+ if (resolve) return getPurpose();
+ return basicGetPurpose();
+ case pdp4engReqGDPRPackage.PURPOSE_PERSONAL_DATA_PRINCIPLE__PERSONAL_DATA:
+ if (resolve) return getPersonalData();
+ return basicGetPersonalData();
+ }
+ 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.PURPOSE_PERSONAL_DATA_PRINCIPLE__PURPOSE:
+ setPurpose((Purpose)newValue);
+ return;
+ case pdp4engReqGDPRPackage.PURPOSE_PERSONAL_DATA_PRINCIPLE__PERSONAL_DATA:
+ setPersonalData((PersonalData)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.PURPOSE_PERSONAL_DATA_PRINCIPLE__PURPOSE:
+ setPurpose((Purpose)null);
+ return;
+ case pdp4engReqGDPRPackage.PURPOSE_PERSONAL_DATA_PRINCIPLE__PERSONAL_DATA:
+ setPersonalData((PersonalData)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.PURPOSE_PERSONAL_DATA_PRINCIPLE__PURPOSE:
+ return purpose != null;
+ case pdp4engReqGDPRPackage.PURPOSE_PERSONAL_DATA_PRINCIPLE__PERSONAL_DATA:
+ return personalData != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //PurposePersonalDataPrincipleImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/RelatedToImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/RelatedToImpl.java
new file mode 100644
index 0000000..91a8546
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/RelatedToImpl.java
@@ -0,0 +1,358 @@
+/**
+ * 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.CollectionMethod;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkability;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.RelatedTo;
+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>Related To</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.RelatedToImpl#isSensitive <em>Sensitive</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.RelatedToImpl#getLinkability <em>Linkability</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.RelatedToImpl#getCollection <em>Collection</em>}</li>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.RelatedToImpl#getBase_Element <em>Base Element</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class RelatedToImpl extends MinimalEObjectImpl.Container implements RelatedTo {
+ /**
+ * The default value of the '{@link #isSensitive() <em>Sensitive</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSensitive()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean SENSITIVE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isSensitive() <em>Sensitive</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSensitive()
+ * @generated
+ * @ordered
+ */
+ protected boolean sensitive = SENSITIVE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getLinkability() <em>Linkability</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLinkability()
+ * @generated
+ * @ordered
+ */
+ protected static final Linkability LINKABILITY_EDEFAULT = Linkability.SINGLE;
+
+ /**
+ * The cached value of the '{@link #getLinkability() <em>Linkability</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLinkability()
+ * @generated
+ * @ordered
+ */
+ protected Linkability linkability = LINKABILITY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getCollection() <em>Collection</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCollection()
+ * @generated
+ * @ordered
+ */
+ protected static final CollectionMethod COLLECTION_EDEFAULT = CollectionMethod.DIRECT;
+
+ /**
+ * The cached value of the '{@link #getCollection() <em>Collection</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCollection()
+ * @generated
+ * @ordered
+ */
+ protected CollectionMethod collection = COLLECTION_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 RelatedToImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.RELATED_TO;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSensitive() {
+ return sensitive;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setSensitive(boolean newSensitive) {
+ boolean oldSensitive = sensitive;
+ sensitive = newSensitive;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, pdp4engReqGDPRPackage.RELATED_TO__SENSITIVE, oldSensitive, sensitive));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Linkability getLinkability() {
+ return linkability;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setLinkability(Linkability newLinkability) {
+ Linkability oldLinkability = linkability;
+ linkability = newLinkability == null ? LINKABILITY_EDEFAULT : newLinkability;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, pdp4engReqGDPRPackage.RELATED_TO__LINKABILITY, oldLinkability, linkability));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public CollectionMethod getCollection() {
+ return collection;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setCollection(CollectionMethod newCollection) {
+ CollectionMethod oldCollection = collection;
+ collection = newCollection == null ? COLLECTION_EDEFAULT : newCollection;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, pdp4engReqGDPRPackage.RELATED_TO__COLLECTION, oldCollection, collection));
+ }
+
+ /**
+ * <!-- 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.RELATED_TO__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.RELATED_TO__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.RELATED_TO__SENSITIVE:
+ return isSensitive();
+ case pdp4engReqGDPRPackage.RELATED_TO__LINKABILITY:
+ return getLinkability();
+ case pdp4engReqGDPRPackage.RELATED_TO__COLLECTION:
+ return getCollection();
+ case pdp4engReqGDPRPackage.RELATED_TO__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.RELATED_TO__SENSITIVE:
+ setSensitive((Boolean)newValue);
+ return;
+ case pdp4engReqGDPRPackage.RELATED_TO__LINKABILITY:
+ setLinkability((Linkability)newValue);
+ return;
+ case pdp4engReqGDPRPackage.RELATED_TO__COLLECTION:
+ setCollection((CollectionMethod)newValue);
+ return;
+ case pdp4engReqGDPRPackage.RELATED_TO__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.RELATED_TO__SENSITIVE:
+ setSensitive(SENSITIVE_EDEFAULT);
+ return;
+ case pdp4engReqGDPRPackage.RELATED_TO__LINKABILITY:
+ setLinkability(LINKABILITY_EDEFAULT);
+ return;
+ case pdp4engReqGDPRPackage.RELATED_TO__COLLECTION:
+ setCollection(COLLECTION_EDEFAULT);
+ return;
+ case pdp4engReqGDPRPackage.RELATED_TO__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.RELATED_TO__SENSITIVE:
+ return sensitive != SENSITIVE_EDEFAULT;
+ case pdp4engReqGDPRPackage.RELATED_TO__LINKABILITY:
+ return linkability != LINKABILITY_EDEFAULT;
+ case pdp4engReqGDPRPackage.RELATED_TO__COLLECTION:
+ return collection != COLLECTION_EDEFAULT;
+ case pdp4engReqGDPRPackage.RELATED_TO__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(" (sensitive: ");
+ result.append(sensitive);
+ result.append(", linkability: ");
+ result.append(linkability);
+ result.append(", collection: ");
+ result.append(collection);
+ result.append(')');
+ return result.toString();
+ }
+
+} //RelatedToImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/SecuritySafetyImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/SecuritySafetyImpl.java
new file mode 100644
index 0000000..5d3a427
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/SecuritySafetyImpl.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.SecuritySafety;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Security Safety</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class SecuritySafetyImpl extends ProcessPrincipleImpl implements SecuritySafety {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SecuritySafetyImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.SECURITY_SAFETY;
+ }
+
+} //SecuritySafetyImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/StakeholderImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/StakeholderImpl.java
new file mode 100644
index 0000000..273c14a
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/StakeholderImpl.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.Stakeholder;
+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>Stakeholder</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.StakeholderImpl#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class StakeholderImpl extends MinimalEObjectImpl.Container implements Stakeholder {
+ /**
+ * The cached value of the '{@link #getBase_NamedElement() <em>Base Named Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_NamedElement()
+ * @generated
+ * @ordered
+ */
+ protected NamedElement base_NamedElement;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StakeholderImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.STAKEHOLDER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NamedElement getBase_NamedElement() {
+ if (base_NamedElement != null && base_NamedElement.eIsProxy()) {
+ InternalEObject oldBase_NamedElement = (InternalEObject)base_NamedElement;
+ base_NamedElement = (NamedElement)eResolveProxy(oldBase_NamedElement);
+ if (base_NamedElement != oldBase_NamedElement) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, pdp4engReqGDPRPackage.STAKEHOLDER__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+ }
+ }
+ return base_NamedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement basicGetBase_NamedElement() {
+ return base_NamedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setBase_NamedElement(NamedElement newBase_NamedElement) {
+ NamedElement oldBase_NamedElement = base_NamedElement;
+ base_NamedElement = newBase_NamedElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, pdp4engReqGDPRPackage.STAKEHOLDER__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.STAKEHOLDER__BASE_NAMED_ELEMENT:
+ if (resolve) return getBase_NamedElement();
+ return basicGetBase_NamedElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.STAKEHOLDER__BASE_NAMED_ELEMENT:
+ setBase_NamedElement((NamedElement)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.STAKEHOLDER__BASE_NAMED_ELEMENT:
+ setBase_NamedElement((NamedElement)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.STAKEHOLDER__BASE_NAMED_ELEMENT:
+ return base_NamedElement != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //StakeholderImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/StorageLimitationImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/StorageLimitationImpl.java
new file mode 100644
index 0000000..ee9a997
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/StorageLimitationImpl.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.StorageLimitation;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Storage Limitation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class StorageLimitationImpl extends PurposePersonalDataPrincipleImpl implements StorageLimitation {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StorageLimitationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.STORAGE_LIMITATION;
+ }
+
+} //StorageLimitationImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/TransparencyImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/TransparencyImpl.java
new file mode 100644
index 0000000..183e668
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/TransparencyImpl.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.Transparency;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Transparency</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class TransparencyImpl extends ProcessPrincipleImpl implements Transparency {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TransparencyImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.TRANSPARENCY;
+ }
+
+} //TransparencyImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/UndectabilityRequirementImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/UndectabilityRequirementImpl.java
new file mode 100644
index 0000000..fc1e659
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/UndectabilityRequirementImpl.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.UndectabilityRequirement;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Undectability Requirement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class UndectabilityRequirementImpl extends PrivacyRequirementImpl implements UndectabilityRequirement {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected UndectabilityRequirementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.UNDECTABILITY_REQUIREMENT;
+ }
+
+} //UndectabilityRequirementImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/UnlinkabilityRequirementImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/UnlinkabilityRequirementImpl.java
new file mode 100644
index 0000000..14ad81a
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/UnlinkabilityRequirementImpl.java
@@ -0,0 +1,179 @@
+/**
+ * Copyright (c)2020 CEA LIST, Committer Name, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr
+ * Gabriel Pedroza (CEA LIST) gabriel.pedroza@cea.fr
+ *
+ */
+package org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkability;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.UnlinkabilityRequirement;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Unlinkability Requirement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.UnlinkabilityRequirementImpl#getLinkability <em>Linkability</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class UnlinkabilityRequirementImpl extends PrivacyRequirementImpl implements UnlinkabilityRequirement {
+ /**
+ * The default value of the '{@link #getLinkability() <em>Linkability</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLinkability()
+ * @generated
+ * @ordered
+ */
+ protected static final Linkability LINKABILITY_EDEFAULT = Linkability.SINGLE;
+
+ /**
+ * The cached value of the '{@link #getLinkability() <em>Linkability</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLinkability()
+ * @generated
+ * @ordered
+ */
+ protected Linkability linkability = LINKABILITY_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected UnlinkabilityRequirementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return pdp4engReqGDPRPackage.Literals.UNLINKABILITY_REQUIREMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Linkability getLinkability() {
+ return linkability;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setLinkability(Linkability newLinkability) {
+ Linkability oldLinkability = linkability;
+ linkability = newLinkability == null ? LINKABILITY_EDEFAULT : newLinkability;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, pdp4engReqGDPRPackage.UNLINKABILITY_REQUIREMENT__LINKABILITY, oldLinkability, linkability));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.UNLINKABILITY_REQUIREMENT__LINKABILITY:
+ return getLinkability();
+ }
+ 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.UNLINKABILITY_REQUIREMENT__LINKABILITY:
+ setLinkability((Linkability)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.UNLINKABILITY_REQUIREMENT__LINKABILITY:
+ setLinkability(LINKABILITY_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case pdp4engReqGDPRPackage.UNLINKABILITY_REQUIREMENT__LINKABILITY:
+ return linkability != LINKABILITY_EDEFAULT;
+ }
+ 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(" (linkability: ");
+ result.append(linkability);
+ result.append(')');
+ return result.toString();
+ }
+
+} //UnlinkabilityRequirementImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/pdp4engReqGDPRFactoryImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/pdp4engReqGDPRFactoryImpl.java
new file mode 100644
index 0000000..2241567
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/pdp4engReqGDPRFactoryImpl.java
@@ -0,0 +1,750 @@
+/**
+ * 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.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class pdp4engReqGDPRFactoryImpl extends EFactoryImpl implements pdp4engReqGDPRFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static pdp4engReqGDPRFactory init() {
+ try {
+ pdp4engReqGDPRFactory thepdp4engReqGDPRFactory = (pdp4engReqGDPRFactory)EPackage.Registry.INSTANCE.getEFactory(pdp4engReqGDPRPackage.eNS_URI);
+ if (thepdp4engReqGDPRFactory != null) {
+ return thepdp4engReqGDPRFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new pdp4engReqGDPRFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public pdp4engReqGDPRFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case pdp4engReqGDPRPackage.PROCESS_REQUIREMENT: return createProcessRequirement();
+ case pdp4engReqGDPRPackage.STAKEHOLDER: return createStakeholder();
+ case pdp4engReqGDPRPackage.PERSONAL_DATA_REQUIREMENT: return createPersonalDataRequirement();
+ case pdp4engReqGDPRPackage.GDPR_PRINCIPLE: return createGDPRPrinciple();
+ case pdp4engReqGDPRPackage.PROCESS_PRINCIPLE: return createProcessPrinciple();
+ case pdp4engReqGDPRPackage.PURPOSE_PERSONAL_DATA_PRINCIPLE: return createPurposePersonalDataPrinciple();
+ case pdp4engReqGDPRPackage.DATA_MINIMISATION: return createDataMinimisation();
+ case pdp4engReqGDPRPackage.PURPOSE_LIMITATION: return createPurposeLimitation();
+ case pdp4engReqGDPRPackage.ACCURACY: return createAccuracy();
+ case pdp4engReqGDPRPackage.STORAGE_LIMITATION: return createStorageLimitation();
+ case pdp4engReqGDPRPackage.LAWFUL: return createLawful();
+ case pdp4engReqGDPRPackage.FAIRLY: return createFairly();
+ case pdp4engReqGDPRPackage.TRANSPARENCY: return createTransparency();
+ case pdp4engReqGDPRPackage.SECURITY_SAFETY: return createSecuritySafety();
+ case pdp4engReqGDPRPackage.RELATED_TO: return createRelatedTo();
+ case pdp4engReqGDPRPackage.AVAILABLE_AT: return createAvailableAt();
+ case pdp4engReqGDPRPackage.DERIVED_FROM: return createDerivedFrom();
+ case pdp4engReqGDPRPackage.DATA_REQUIREMENT: return createDataRequirement();
+ case pdp4engReqGDPRPackage.LINKABLE: return createLinkable();
+ case pdp4engReqGDPRPackage.GENERATED_REQUIREMENTS: return createGeneratedRequirements();
+ case pdp4engReqGDPRPackage.DATA_FLOW_REQUIREMENT: return createDataFlowRequirement();
+ case pdp4engReqGDPRPackage.DATA_SUBJECTS: return createDataSubjects();
+ case pdp4engReqGDPRPackage.DATA_REQUIREMENTS: return createDataRequirements();
+ case pdp4engReqGDPRPackage.AVAILABLE_INFORMATION: return createAvailableInformation();
+ case pdp4engReqGDPRPackage.PERSONAL_INFORMATION: return createPersonalInformation();
+ case pdp4engReqGDPRPackage.AVAILABLE_INFORMATION_CONTAINER: return createAvailableInformationContainer();
+ case pdp4engReqGDPRPackage.PERSONAL_INFORMATION_CONTAINER: return createPersonalInformationContainer();
+ case pdp4engReqGDPRPackage.UNLINKABILITY_REQUIREMENT: return createUnlinkabilityRequirement();
+ case pdp4engReqGDPRPackage.PRIVACY_REQUIREMENT: return createPrivacyRequirement();
+ case pdp4engReqGDPRPackage.DATA_UNLINKABILITY_REQUIREMENT: return createDataUnlinkabilityRequirement();
+ case pdp4engReqGDPRPackage.CONTROLERS: return createControlers();
+ case pdp4engReqGDPRPackage.LINK: return createLink();
+ case pdp4engReqGDPRPackage.UNDECTABILITY_REQUIREMENT: return createUndectabilityRequirement();
+ case pdp4engReqGDPRPackage.PSEUDONIMITY_REQUIREMENT: return createPseudonimityRequirement();
+ case pdp4engReqGDPRPackage.ANANOMITY_REQUIREMENT: return createAnanomityRequirement();
+ case pdp4engReqGDPRPackage.DATA_RECORD_REQUIREMENT: return createDataRecordRequirement();
+ case pdp4engReqGDPRPackage.FUNCTIONAL_REQUIREMENTS: return createFunctionalRequirements();
+ case pdp4engReqGDPRPackage.NON_FUNCTIONAL_REQUIREMENTS: return createNonFunctionalRequirements();
+ case pdp4engReqGDPRPackage.LAWFUL_BY_CONSENT: return createLawfulByConsent();
+ case pdp4engReqGDPRPackage.LAWFUL_BY_CONTRACT: return createLawfulByContract();
+ case pdp4engReqGDPRPackage.LAWFUL_BY_PUBLIC_INTEREST: return createLawfulByPublicInterest();
+ case pdp4engReqGDPRPackage.LAWFUL_BY_LEGITIMATE_INTEREST: return createLawfulByLegitimateInterest();
+ case pdp4engReqGDPRPackage.LAWFUL_BY_LEGAL_OBLIGATION: return createLawfulByLegalObligation();
+ case pdp4engReqGDPRPackage.LAWFUL_BY_VITAL_INTEREST: return createLawfulByVitalInterest();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case pdp4engReqGDPRPackage.LINKABILITY:
+ return createLinkabilityFromString(eDataType, initialValue);
+ case pdp4engReqGDPRPackage.COLLECTION_METHOD:
+ return createCollectionMethodFromString(eDataType, initialValue);
+ case pdp4engReqGDPRPackage.DURATION:
+ return createDurationFromString(eDataType, initialValue);
+ case pdp4engReqGDPRPackage.PSEUDONYM_KIND:
+ return createPseudonymKindFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case pdp4engReqGDPRPackage.LINKABILITY:
+ return convertLinkabilityToString(eDataType, instanceValue);
+ case pdp4engReqGDPRPackage.COLLECTION_METHOD:
+ return convertCollectionMethodToString(eDataType, instanceValue);
+ case pdp4engReqGDPRPackage.DURATION:
+ return convertDurationToString(eDataType, instanceValue);
+ case pdp4engReqGDPRPackage.PSEUDONYM_KIND:
+ return convertPseudonymKindToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ProcessRequirement createProcessRequirement() {
+ ProcessRequirementImpl processRequirement = new ProcessRequirementImpl();
+ return processRequirement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Stakeholder createStakeholder() {
+ StakeholderImpl stakeholder = new StakeholderImpl();
+ return stakeholder;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public PersonalDataRequirement createPersonalDataRequirement() {
+ PersonalDataRequirementImpl personalDataRequirement = new PersonalDataRequirementImpl();
+ return personalDataRequirement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public GDPRPrinciple createGDPRPrinciple() {
+ GDPRPrincipleImpl gdprPrinciple = new GDPRPrincipleImpl();
+ return gdprPrinciple;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ProcessPrinciple createProcessPrinciple() {
+ ProcessPrincipleImpl processPrinciple = new ProcessPrincipleImpl();
+ return processPrinciple;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public PurposePersonalDataPrinciple createPurposePersonalDataPrinciple() {
+ PurposePersonalDataPrincipleImpl purposePersonalDataPrinciple = new PurposePersonalDataPrincipleImpl();
+ return purposePersonalDataPrinciple;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public DataMinimisation createDataMinimisation() {
+ DataMinimisationImpl dataMinimisation = new DataMinimisationImpl();
+ return dataMinimisation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public PurposeLimitation createPurposeLimitation() {
+ PurposeLimitationImpl purposeLimitation = new PurposeLimitationImpl();
+ return purposeLimitation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Accuracy createAccuracy() {
+ AccuracyImpl accuracy = new AccuracyImpl();
+ return accuracy;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public StorageLimitation createStorageLimitation() {
+ StorageLimitationImpl storageLimitation = new StorageLimitationImpl();
+ return storageLimitation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Lawful createLawful() {
+ LawfulImpl lawful = new LawfulImpl();
+ return lawful;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Fairly createFairly() {
+ FairlyImpl fairly = new FairlyImpl();
+ return fairly;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Transparency createTransparency() {
+ TransparencyImpl transparency = new TransparencyImpl();
+ return transparency;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public SecuritySafety createSecuritySafety() {
+ SecuritySafetyImpl securitySafety = new SecuritySafetyImpl();
+ return securitySafety;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public RelatedTo createRelatedTo() {
+ RelatedToImpl relatedTo = new RelatedToImpl();
+ return relatedTo;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public AvailableAt createAvailableAt() {
+ AvailableAtImpl availableAt = new AvailableAtImpl();
+ return availableAt;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public DerivedFrom createDerivedFrom() {
+ DerivedFromImpl derivedFrom = new DerivedFromImpl();
+ return derivedFrom;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public DataRequirement createDataRequirement() {
+ DataRequirementImpl dataRequirement = new DataRequirementImpl();
+ return dataRequirement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Linkable createLinkable() {
+ LinkableImpl linkable = new LinkableImpl();
+ return linkable;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public GeneratedRequirements createGeneratedRequirements() {
+ GeneratedRequirementsImpl generatedRequirements = new GeneratedRequirementsImpl();
+ return generatedRequirements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public DataFlowRequirement createDataFlowRequirement() {
+ DataFlowRequirementImpl dataFlowRequirement = new DataFlowRequirementImpl();
+ return dataFlowRequirement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public DataSubjects createDataSubjects() {
+ DataSubjectsImpl dataSubjects = new DataSubjectsImpl();
+ return dataSubjects;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public DataRequirements createDataRequirements() {
+ DataRequirementsImpl dataRequirements = new DataRequirementsImpl();
+ return dataRequirements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public AvailableInformation createAvailableInformation() {
+ AvailableInformationImpl availableInformation = new AvailableInformationImpl();
+ return availableInformation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public PersonalInformation createPersonalInformation() {
+ PersonalInformationImpl personalInformation = new PersonalInformationImpl();
+ return personalInformation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public AvailableInformationContainer createAvailableInformationContainer() {
+ AvailableInformationContainerImpl availableInformationContainer = new AvailableInformationContainerImpl();
+ return availableInformationContainer;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public PersonalInformationContainer createPersonalInformationContainer() {
+ PersonalInformationContainerImpl personalInformationContainer = new PersonalInformationContainerImpl();
+ return personalInformationContainer;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public UnlinkabilityRequirement createUnlinkabilityRequirement() {
+ UnlinkabilityRequirementImpl unlinkabilityRequirement = new UnlinkabilityRequirementImpl();
+ return unlinkabilityRequirement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public PrivacyRequirement createPrivacyRequirement() {
+ PrivacyRequirementImpl privacyRequirement = new PrivacyRequirementImpl();
+ return privacyRequirement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public DataUnlinkabilityRequirement createDataUnlinkabilityRequirement() {
+ DataUnlinkabilityRequirementImpl dataUnlinkabilityRequirement = new DataUnlinkabilityRequirementImpl();
+ return dataUnlinkabilityRequirement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Controlers createControlers() {
+ ControlersImpl controlers = new ControlersImpl();
+ return controlers;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Link createLink() {
+ LinkImpl link = new LinkImpl();
+ return link;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public UndectabilityRequirement createUndectabilityRequirement() {
+ UndectabilityRequirementImpl undectabilityRequirement = new UndectabilityRequirementImpl();
+ return undectabilityRequirement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public PseudonimityRequirement createPseudonimityRequirement() {
+ PseudonimityRequirementImpl pseudonimityRequirement = new PseudonimityRequirementImpl();
+ return pseudonimityRequirement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public AnanomityRequirement createAnanomityRequirement() {
+ AnanomityRequirementImpl ananomityRequirement = new AnanomityRequirementImpl();
+ return ananomityRequirement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public DataRecordRequirement createDataRecordRequirement() {
+ DataRecordRequirementImpl dataRecordRequirement = new DataRecordRequirementImpl();
+ return dataRecordRequirement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public FunctionalRequirements createFunctionalRequirements() {
+ FunctionalRequirementsImpl functionalRequirements = new FunctionalRequirementsImpl();
+ return functionalRequirements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NonFunctionalRequirements createNonFunctionalRequirements() {
+ NonFunctionalRequirementsImpl nonFunctionalRequirements = new NonFunctionalRequirementsImpl();
+ return nonFunctionalRequirements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public LawfulByConsent createLawfulByConsent() {
+ LawfulByConsentImpl lawfulByConsent = new LawfulByConsentImpl();
+ return lawfulByConsent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public LawfulByContract createLawfulByContract() {
+ LawfulByContractImpl lawfulByContract = new LawfulByContractImpl();
+ return lawfulByContract;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public LawfulByPublicInterest createLawfulByPublicInterest() {
+ LawfulByPublicInterestImpl lawfulByPublicInterest = new LawfulByPublicInterestImpl();
+ return lawfulByPublicInterest;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public LawfulByLegitimateInterest createLawfulByLegitimateInterest() {
+ LawfulByLegitimateInterestImpl lawfulByLegitimateInterest = new LawfulByLegitimateInterestImpl();
+ return lawfulByLegitimateInterest;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public LawfulByLegalObligation createLawfulByLegalObligation() {
+ LawfulByLegalObligationImpl lawfulByLegalObligation = new LawfulByLegalObligationImpl();
+ return lawfulByLegalObligation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public LawfulByVitalInterest createLawfulByVitalInterest() {
+ LawfulByVitalInterestImpl lawfulByVitalInterest = new LawfulByVitalInterestImpl();
+ return lawfulByVitalInterest;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Linkability createLinkabilityFromString(EDataType eDataType, String initialValue) {
+ Linkability result = Linkability.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertLinkabilityToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CollectionMethod createCollectionMethodFromString(EDataType eDataType, String initialValue) {
+ CollectionMethod result = CollectionMethod.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertCollectionMethodToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Duration createDurationFromString(EDataType eDataType, String initialValue) {
+ Duration result = Duration.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertDurationToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PseudonymKind createPseudonymKindFromString(EDataType eDataType, String initialValue) {
+ PseudonymKind result = PseudonymKind.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertPseudonymKindToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public pdp4engReqGDPRPackage getpdp4engReqGDPRPackage() {
+ return (pdp4engReqGDPRPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static pdp4engReqGDPRPackage getPackage() {
+ return pdp4engReqGDPRPackage.eINSTANCE;
+ }
+
+} //pdp4engReqGDPRFactoryImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/pdp4engReqGDPRPackageImpl.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/pdp4engReqGDPRPackageImpl.java
new file mode 100644
index 0000000..03414e4
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/impl/pdp4engReqGDPRPackageImpl.java
@@ -0,0 +1,1863 @@
+/**
+ * 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.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage;
+
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Accuracy;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AnanomityRequirement;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AvailableAt;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AvailableInformation;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AvailableInformationContainer;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.CollectionMethod;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Controlers;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataFlowRequirement;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataMinimisation;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataRecordRequirement;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataRequirement;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataRequirements;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataSubjects;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataUnlinkabilityRequirement;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DerivedFrom;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Duration;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Fairly;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.FunctionalRequirements;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.GDPRPrinciple;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.GeneratedRequirements;
+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.LawfulByContract;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByLegalObligation;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByLegitimateInterest;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByPublicInterest;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByVitalInterest;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Link;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkability;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkable;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.NonFunctionalRequirements;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalDataRequirement;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalInformation;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalInformationContainer;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PrivacyRequirement;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.ProcessPrinciple;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.ProcessRequirement;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PseudonimityRequirement;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PseudonymKind;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PurposeLimitation;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PurposePersonalDataPrinciple;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.RelatedTo;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.SecuritySafety;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Stakeholder;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.StorageLimitation;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Transparency;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.UndectabilityRequirement;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.UnlinkabilityRequirement;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRFactory;
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage;
+
+import org.eclipse.uml2.types.TypesPackage;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class pdp4engReqGDPRPackageImpl extends EPackageImpl implements pdp4engReqGDPRPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass processRequirementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass stakeholderEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass personalDataRequirementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass gdprPrincipleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass processPrincipleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass purposePersonalDataPrincipleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass dataMinimisationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass purposeLimitationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass accuracyEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass storageLimitationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass lawfulEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass fairlyEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass transparencyEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass securitySafetyEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass relatedToEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass availableAtEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass derivedFromEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass dataRequirementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass linkableEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass generatedRequirementsEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass dataFlowRequirementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass dataSubjectsEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass dataRequirementsEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass availableInformationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass personalInformationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass availableInformationContainerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass personalInformationContainerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass unlinkabilityRequirementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass privacyRequirementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass dataUnlinkabilityRequirementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass controlersEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass linkEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass undectabilityRequirementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass pseudonimityRequirementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass ananomityRequirementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass dataRecordRequirementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass functionalRequirementsEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass nonFunctionalRequirementsEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass lawfulByConsentEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass lawfulByContractEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass lawfulByPublicInterestEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass lawfulByLegitimateInterestEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass lawfulByLegalObligationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass lawfulByVitalInterestEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum linkabilityEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum collectionMethodEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum durationEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum pseudonymKindEEnum = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private pdp4engReqGDPRPackageImpl() {
+ super(eNS_URI, pdp4engReqGDPRFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link pdp4engReqGDPRPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static pdp4engReqGDPRPackage init() {
+ if (isInited) return (pdp4engReqGDPRPackage)EPackage.Registry.INSTANCE.getEPackage(pdp4engReqGDPRPackage.eNS_URI);
+
+ // Obtain or create and register package
+ Object registeredpdp4engReqGDPRPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+ pdp4engReqGDPRPackageImpl thepdp4engReqGDPRPackage = registeredpdp4engReqGDPRPackage instanceof pdp4engReqGDPRPackageImpl ? (pdp4engReqGDPRPackageImpl)registeredpdp4engReqGDPRPackage : new pdp4engReqGDPRPackageImpl();
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ EcorePackage.eINSTANCE.eClass();
+ Pdp4engCommonGDPRPackage.eINSTANCE.eClass();
+ TypesPackage.eINSTANCE.eClass();
+ UMLPackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ thepdp4engReqGDPRPackage.createPackageContents();
+
+ // Initialize created meta-data
+ thepdp4engReqGDPRPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ thepdp4engReqGDPRPackage.freeze();
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(pdp4engReqGDPRPackage.eNS_URI, thepdp4engReqGDPRPackage);
+ return thepdp4engReqGDPRPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getProcessRequirement() {
+ return processRequirementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getProcessRequirement_Requester() {
+ return (EReference)processRequirementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getStakeholder() {
+ return stakeholderEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getStakeholder_Base_NamedElement() {
+ return (EReference)stakeholderEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getPersonalDataRequirement() {
+ return personalDataRequirementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getPersonalDataRequirement_Source() {
+ return (EReference)personalDataRequirementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getGDPRPrinciple() {
+ return gdprPrincipleEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getGDPRPrinciple_Base_NamedElement() {
+ return (EReference)gdprPrincipleEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getProcessPrinciple() {
+ return processPrincipleEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getProcessPrinciple_Process() {
+ return (EReference)processPrincipleEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getProcessPrinciple_DataSubject() {
+ return (EReference)processPrincipleEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getProcessPrinciple_PersonalData() {
+ return (EReference)processPrincipleEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getPurposePersonalDataPrinciple() {
+ return purposePersonalDataPrincipleEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getPurposePersonalDataPrinciple_Purpose() {
+ return (EReference)purposePersonalDataPrincipleEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getPurposePersonalDataPrinciple_PersonalData() {
+ return (EReference)purposePersonalDataPrincipleEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getDataMinimisation() {
+ return dataMinimisationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getPurposeLimitation() {
+ return purposeLimitationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getAccuracy() {
+ return accuracyEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getStorageLimitation() {
+ return storageLimitationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getLawful() {
+ return lawfulEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getFairly() {
+ return fairlyEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getTransparency() {
+ return transparencyEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getSecuritySafety() {
+ return securitySafetyEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getRelatedTo() {
+ return relatedToEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EAttribute getRelatedTo_Sensitive() {
+ return (EAttribute)relatedToEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EAttribute getRelatedTo_Linkability() {
+ return (EAttribute)relatedToEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EAttribute getRelatedTo_Collection() {
+ return (EAttribute)relatedToEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getRelatedTo_Base_Element() {
+ return (EReference)relatedToEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getAvailableAt() {
+ return availableAtEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EAttribute getAvailableAt_Duration() {
+ return (EAttribute)availableAtEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getAvailableAt_Base_Element() {
+ return (EReference)availableAtEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getDerivedFrom() {
+ return derivedFromEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getDerivedFrom_Base_Element() {
+ return (EReference)derivedFromEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getDataRequirement() {
+ return dataRequirementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getLinkable() {
+ return linkableEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EAttribute getLinkable_Duration() {
+ return (EAttribute)linkableEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EAttribute getLinkable_Linkability() {
+ return (EAttribute)linkableEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getLinkable_Base_Element() {
+ return (EReference)linkableEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getGeneratedRequirements() {
+ return generatedRequirementsEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getGeneratedRequirements_Base_Package() {
+ return (EReference)generatedRequirementsEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getDataFlowRequirement() {
+ return dataFlowRequirementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getDataFlowRequirement_Base_Activity() {
+ return (EReference)dataFlowRequirementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getDataSubjects() {
+ return dataSubjectsEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getDataSubjects_Base_Package() {
+ return (EReference)dataSubjectsEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getDataRequirements() {
+ return dataRequirementsEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getDataRequirements_Base_Package() {
+ return (EReference)dataRequirementsEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getAvailableInformation() {
+ return availableInformationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getAvailableInformation_Base_Package() {
+ return (EReference)availableInformationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getAvailableInformation_Concerns() {
+ return (EReference)availableInformationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getPersonalInformation() {
+ return personalInformationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getPersonalInformation_Base_Package() {
+ return (EReference)personalInformationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getPersonalInformation_Concerns() {
+ return (EReference)personalInformationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getAvailableInformationContainer() {
+ return availableInformationContainerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getAvailableInformationContainer_Base_Package() {
+ return (EReference)availableInformationContainerEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getPersonalInformationContainer() {
+ return personalInformationContainerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getPersonalInformationContainer_Base_Package() {
+ return (EReference)personalInformationContainerEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getUnlinkabilityRequirement() {
+ return unlinkabilityRequirementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EAttribute getUnlinkabilityRequirement_Linkability() {
+ return (EAttribute)unlinkabilityRequirementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getPrivacyRequirement() {
+ return privacyRequirementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getPrivacyRequirement_Base_NamedElement() {
+ return (EReference)privacyRequirementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getPrivacyRequirement_DataSubject() {
+ return (EReference)privacyRequirementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getPrivacyRequirement_Counterstakeholders() {
+ return (EReference)privacyRequirementEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getPrivacyRequirement_PersonalData() {
+ return (EReference)privacyRequirementEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getDataUnlinkabilityRequirement() {
+ return dataUnlinkabilityRequirementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getDataUnlinkabilityRequirement_Links() {
+ return (EReference)dataUnlinkabilityRequirementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getControlers() {
+ return controlersEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getControlers_Base_Package() {
+ return (EReference)controlersEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getLink() {
+ return linkEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getLink_Base_NamedElement() {
+ return (EReference)linkEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EAttribute getLink_Linkability() {
+ return (EAttribute)linkEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getUndectabilityRequirement() {
+ return undectabilityRequirementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getPseudonimityRequirement() {
+ return pseudonimityRequirementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EAttribute getPseudonimityRequirement_Kind() {
+ return (EAttribute)pseudonimityRequirementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getAnanomityRequirement() {
+ return ananomityRequirementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getDataRecordRequirement() {
+ return dataRecordRequirementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getDataRecordRequirement_Base_DataStoreNode() {
+ return (EReference)dataRecordRequirementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getDataRecordRequirement_DataList() {
+ return (EReference)dataRecordRequirementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getFunctionalRequirements() {
+ return functionalRequirementsEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getFunctionalRequirements_Base_Package() {
+ return (EReference)functionalRequirementsEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getNonFunctionalRequirements() {
+ return nonFunctionalRequirementsEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getNonFunctionalRequirements_Base_Package() {
+ return (EReference)nonFunctionalRequirementsEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getLawfulByConsent() {
+ return lawfulByConsentEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getLawfulByConsent_Consent() {
+ return (EReference)lawfulByConsentEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getLawfulByContract() {
+ return lawfulByContractEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getLawfulByContract_Contract() {
+ return (EReference)lawfulByContractEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getLawfulByPublicInterest() {
+ return lawfulByPublicInterestEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getLawfulByPublicInterest_PublicInterest() {
+ return (EReference)lawfulByPublicInterestEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getLawfulByLegitimateInterest() {
+ return lawfulByLegitimateInterestEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getLawfulByLegitimateInterest_LegitimateInterest() {
+ return (EReference)lawfulByLegitimateInterestEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getLawfulByLegalObligation() {
+ return lawfulByLegalObligationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getLawfulByLegalObligation_LegalObligation() {
+ return (EReference)lawfulByLegalObligationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getLawfulByVitalInterest() {
+ return lawfulByVitalInterestEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getLawfulByVitalInterest_VitalInterest() {
+ return (EReference)lawfulByVitalInterestEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EEnum getLinkability() {
+ return linkabilityEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EEnum getCollectionMethod() {
+ return collectionMethodEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EEnum getDuration() {
+ return durationEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EEnum getPseudonymKind() {
+ return pseudonymKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public pdp4engReqGDPRFactory getpdp4engReqGDPRFactory() {
+ return (pdp4engReqGDPRFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ processRequirementEClass = createEClass(PROCESS_REQUIREMENT);
+ createEReference(processRequirementEClass, PROCESS_REQUIREMENT__REQUESTER);
+
+ stakeholderEClass = createEClass(STAKEHOLDER);
+ createEReference(stakeholderEClass, STAKEHOLDER__BASE_NAMED_ELEMENT);
+
+ personalDataRequirementEClass = createEClass(PERSONAL_DATA_REQUIREMENT);
+ createEReference(personalDataRequirementEClass, PERSONAL_DATA_REQUIREMENT__SOURCE);
+
+ gdprPrincipleEClass = createEClass(GDPR_PRINCIPLE);
+ createEReference(gdprPrincipleEClass, GDPR_PRINCIPLE__BASE_NAMED_ELEMENT);
+
+ processPrincipleEClass = createEClass(PROCESS_PRINCIPLE);
+ createEReference(processPrincipleEClass, PROCESS_PRINCIPLE__PROCESS);
+ createEReference(processPrincipleEClass, PROCESS_PRINCIPLE__DATA_SUBJECT);
+ createEReference(processPrincipleEClass, PROCESS_PRINCIPLE__PERSONAL_DATA);
+
+ purposePersonalDataPrincipleEClass = createEClass(PURPOSE_PERSONAL_DATA_PRINCIPLE);
+ createEReference(purposePersonalDataPrincipleEClass, PURPOSE_PERSONAL_DATA_PRINCIPLE__PURPOSE);
+ createEReference(purposePersonalDataPrincipleEClass, PURPOSE_PERSONAL_DATA_PRINCIPLE__PERSONAL_DATA);
+
+ dataMinimisationEClass = createEClass(DATA_MINIMISATION);
+
+ purposeLimitationEClass = createEClass(PURPOSE_LIMITATION);
+
+ accuracyEClass = createEClass(ACCURACY);
+
+ storageLimitationEClass = createEClass(STORAGE_LIMITATION);
+
+ lawfulEClass = createEClass(LAWFUL);
+
+ fairlyEClass = createEClass(FAIRLY);
+
+ transparencyEClass = createEClass(TRANSPARENCY);
+
+ securitySafetyEClass = createEClass(SECURITY_SAFETY);
+
+ relatedToEClass = createEClass(RELATED_TO);
+ createEAttribute(relatedToEClass, RELATED_TO__SENSITIVE);
+ createEAttribute(relatedToEClass, RELATED_TO__LINKABILITY);
+ createEAttribute(relatedToEClass, RELATED_TO__COLLECTION);
+ createEReference(relatedToEClass, RELATED_TO__BASE_ELEMENT);
+
+ availableAtEClass = createEClass(AVAILABLE_AT);
+ createEAttribute(availableAtEClass, AVAILABLE_AT__DURATION);
+ createEReference(availableAtEClass, AVAILABLE_AT__BASE_ELEMENT);
+
+ derivedFromEClass = createEClass(DERIVED_FROM);
+ createEReference(derivedFromEClass, DERIVED_FROM__BASE_ELEMENT);
+
+ dataRequirementEClass = createEClass(DATA_REQUIREMENT);
+
+ linkableEClass = createEClass(LINKABLE);
+ createEAttribute(linkableEClass, LINKABLE__DURATION);
+ createEAttribute(linkableEClass, LINKABLE__LINKABILITY);
+ createEReference(linkableEClass, LINKABLE__BASE_ELEMENT);
+
+ generatedRequirementsEClass = createEClass(GENERATED_REQUIREMENTS);
+ createEReference(generatedRequirementsEClass, GENERATED_REQUIREMENTS__BASE_PACKAGE);
+
+ dataFlowRequirementEClass = createEClass(DATA_FLOW_REQUIREMENT);
+ createEReference(dataFlowRequirementEClass, DATA_FLOW_REQUIREMENT__BASE_ACTIVITY);
+
+ dataSubjectsEClass = createEClass(DATA_SUBJECTS);
+ createEReference(dataSubjectsEClass, DATA_SUBJECTS__BASE_PACKAGE);
+
+ dataRequirementsEClass = createEClass(DATA_REQUIREMENTS);
+ createEReference(dataRequirementsEClass, DATA_REQUIREMENTS__BASE_PACKAGE);
+
+ availableInformationEClass = createEClass(AVAILABLE_INFORMATION);
+ createEReference(availableInformationEClass, AVAILABLE_INFORMATION__BASE_PACKAGE);
+ createEReference(availableInformationEClass, AVAILABLE_INFORMATION__CONCERNS);
+
+ personalInformationEClass = createEClass(PERSONAL_INFORMATION);
+ createEReference(personalInformationEClass, PERSONAL_INFORMATION__BASE_PACKAGE);
+ createEReference(personalInformationEClass, PERSONAL_INFORMATION__CONCERNS);
+
+ availableInformationContainerEClass = createEClass(AVAILABLE_INFORMATION_CONTAINER);
+ createEReference(availableInformationContainerEClass, AVAILABLE_INFORMATION_CONTAINER__BASE_PACKAGE);
+
+ personalInformationContainerEClass = createEClass(PERSONAL_INFORMATION_CONTAINER);
+ createEReference(personalInformationContainerEClass, PERSONAL_INFORMATION_CONTAINER__BASE_PACKAGE);
+
+ unlinkabilityRequirementEClass = createEClass(UNLINKABILITY_REQUIREMENT);
+ createEAttribute(unlinkabilityRequirementEClass, UNLINKABILITY_REQUIREMENT__LINKABILITY);
+
+ privacyRequirementEClass = createEClass(PRIVACY_REQUIREMENT);
+ createEReference(privacyRequirementEClass, PRIVACY_REQUIREMENT__BASE_NAMED_ELEMENT);
+ createEReference(privacyRequirementEClass, PRIVACY_REQUIREMENT__DATA_SUBJECT);
+ createEReference(privacyRequirementEClass, PRIVACY_REQUIREMENT__COUNTERSTAKEHOLDERS);
+ createEReference(privacyRequirementEClass, PRIVACY_REQUIREMENT__PERSONAL_DATA);
+
+ dataUnlinkabilityRequirementEClass = createEClass(DATA_UNLINKABILITY_REQUIREMENT);
+ createEReference(dataUnlinkabilityRequirementEClass, DATA_UNLINKABILITY_REQUIREMENT__LINKS);
+
+ controlersEClass = createEClass(CONTROLERS);
+ createEReference(controlersEClass, CONTROLERS__BASE_PACKAGE);
+
+ linkEClass = createEClass(LINK);
+ createEReference(linkEClass, LINK__BASE_NAMED_ELEMENT);
+ createEAttribute(linkEClass, LINK__LINKABILITY);
+
+ undectabilityRequirementEClass = createEClass(UNDECTABILITY_REQUIREMENT);
+
+ pseudonimityRequirementEClass = createEClass(PSEUDONIMITY_REQUIREMENT);
+ createEAttribute(pseudonimityRequirementEClass, PSEUDONIMITY_REQUIREMENT__KIND);
+
+ ananomityRequirementEClass = createEClass(ANANOMITY_REQUIREMENT);
+
+ dataRecordRequirementEClass = createEClass(DATA_RECORD_REQUIREMENT);
+ createEReference(dataRecordRequirementEClass, DATA_RECORD_REQUIREMENT__BASE_DATA_STORE_NODE);
+ createEReference(dataRecordRequirementEClass, DATA_RECORD_REQUIREMENT__DATA_LIST);
+
+ functionalRequirementsEClass = createEClass(FUNCTIONAL_REQUIREMENTS);
+ createEReference(functionalRequirementsEClass, FUNCTIONAL_REQUIREMENTS__BASE_PACKAGE);
+
+ nonFunctionalRequirementsEClass = createEClass(NON_FUNCTIONAL_REQUIREMENTS);
+ createEReference(nonFunctionalRequirementsEClass, NON_FUNCTIONAL_REQUIREMENTS__BASE_PACKAGE);
+
+ lawfulByConsentEClass = createEClass(LAWFUL_BY_CONSENT);
+ createEReference(lawfulByConsentEClass, LAWFUL_BY_CONSENT__CONSENT);
+
+ lawfulByContractEClass = createEClass(LAWFUL_BY_CONTRACT);
+ createEReference(lawfulByContractEClass, LAWFUL_BY_CONTRACT__CONTRACT);
+
+ lawfulByPublicInterestEClass = createEClass(LAWFUL_BY_PUBLIC_INTEREST);
+ createEReference(lawfulByPublicInterestEClass, LAWFUL_BY_PUBLIC_INTEREST__PUBLIC_INTEREST);
+
+ lawfulByLegitimateInterestEClass = createEClass(LAWFUL_BY_LEGITIMATE_INTEREST);
+ createEReference(lawfulByLegitimateInterestEClass, LAWFUL_BY_LEGITIMATE_INTEREST__LEGITIMATE_INTEREST);
+
+ lawfulByLegalObligationEClass = createEClass(LAWFUL_BY_LEGAL_OBLIGATION);
+ createEReference(lawfulByLegalObligationEClass, LAWFUL_BY_LEGAL_OBLIGATION__LEGAL_OBLIGATION);
+
+ lawfulByVitalInterestEClass = createEClass(LAWFUL_BY_VITAL_INTEREST);
+ createEReference(lawfulByVitalInterestEClass, LAWFUL_BY_VITAL_INTEREST__VITAL_INTEREST);
+
+ // Create enums
+ linkabilityEEnum = createEEnum(LINKABILITY);
+ collectionMethodEEnum = createEEnum(COLLECTION_METHOD);
+ durationEEnum = createEEnum(DURATION);
+ pseudonymKindEEnum = createEEnum(PSEUDONYM_KIND);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ Pdp4engCommonGDPRPackage thePdp4engCommonGDPRPackage = (Pdp4engCommonGDPRPackage)EPackage.Registry.INSTANCE.getEPackage(Pdp4engCommonGDPRPackage.eNS_URI);
+ UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+ TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ processRequirementEClass.getESuperTypes().add(thePdp4engCommonGDPRPackage.getProcess());
+ personalDataRequirementEClass.getESuperTypes().add(thePdp4engCommonGDPRPackage.getPersonalData());
+ processPrincipleEClass.getESuperTypes().add(this.getGDPRPrinciple());
+ purposePersonalDataPrincipleEClass.getESuperTypes().add(this.getGDPRPrinciple());
+ dataMinimisationEClass.getESuperTypes().add(this.getPurposePersonalDataPrinciple());
+ purposeLimitationEClass.getESuperTypes().add(this.getPurposePersonalDataPrinciple());
+ accuracyEClass.getESuperTypes().add(this.getPurposePersonalDataPrinciple());
+ storageLimitationEClass.getESuperTypes().add(this.getPurposePersonalDataPrinciple());
+ lawfulEClass.getESuperTypes().add(this.getProcessPrinciple());
+ fairlyEClass.getESuperTypes().add(this.getProcessPrinciple());
+ transparencyEClass.getESuperTypes().add(this.getProcessPrinciple());
+ securitySafetyEClass.getESuperTypes().add(this.getProcessPrinciple());
+ dataRequirementEClass.getESuperTypes().add(thePdp4engCommonGDPRPackage.getData());
+ unlinkabilityRequirementEClass.getESuperTypes().add(this.getPrivacyRequirement());
+ dataUnlinkabilityRequirementEClass.getESuperTypes().add(this.getUnlinkabilityRequirement());
+ undectabilityRequirementEClass.getESuperTypes().add(this.getPrivacyRequirement());
+ pseudonimityRequirementEClass.getESuperTypes().add(this.getPrivacyRequirement());
+ ananomityRequirementEClass.getESuperTypes().add(this.getUnlinkabilityRequirement());
+ lawfulByConsentEClass.getESuperTypes().add(this.getLawful());
+ lawfulByContractEClass.getESuperTypes().add(this.getLawful());
+ lawfulByPublicInterestEClass.getESuperTypes().add(this.getLawful());
+ lawfulByLegitimateInterestEClass.getESuperTypes().add(this.getLawful());
+ lawfulByLegalObligationEClass.getESuperTypes().add(this.getLawful());
+ lawfulByVitalInterestEClass.getESuperTypes().add(this.getLawful());
+
+ // Initialize classes, features, and operations; add parameters
+ initEClass(processRequirementEClass, ProcessRequirement.class, "ProcessRequirement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getProcessRequirement_Requester(), this.getStakeholder(), null, "requester", null, 0, -1, ProcessRequirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(stakeholderEClass, Stakeholder.class, "Stakeholder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getStakeholder_Base_NamedElement(), theUMLPackage.getNamedElement(), null, "base_NamedElement", null, 0, 1, Stakeholder.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(personalDataRequirementEClass, PersonalDataRequirement.class, "PersonalDataRequirement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPersonalDataRequirement_Source(), theUMLPackage.getElement(), null, "source", null, 1, 1, PersonalDataRequirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(gdprPrincipleEClass, GDPRPrinciple.class, "GDPRPrinciple", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getGDPRPrinciple_Base_NamedElement(), theUMLPackage.getNamedElement(), null, "base_NamedElement", null, 0, 1, GDPRPrinciple.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(processPrincipleEClass, ProcessPrinciple.class, "ProcessPrinciple", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getProcessPrinciple_Process(), this.getProcessRequirement(), null, "process", null, 1, 1, ProcessPrinciple.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getProcessPrinciple_DataSubject(), thePdp4engCommonGDPRPackage.getDataSubject(), null, "dataSubject", null, 1, 1, ProcessPrinciple.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getProcessPrinciple_PersonalData(), this.getPersonalDataRequirement(), null, "personalData", null, 1, -1, ProcessPrinciple.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(purposePersonalDataPrincipleEClass, PurposePersonalDataPrinciple.class, "PurposePersonalDataPrinciple", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPurposePersonalDataPrinciple_Purpose(), thePdp4engCommonGDPRPackage.getPurpose(), null, "purpose", null, 1, 1, PurposePersonalDataPrinciple.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getPurposePersonalDataPrinciple_PersonalData(), thePdp4engCommonGDPRPackage.getPersonalData(), null, "personalData", null, 1, 1, PurposePersonalDataPrinciple.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(dataMinimisationEClass, DataMinimisation.class, "DataMinimisation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(purposeLimitationEClass, PurposeLimitation.class, "PurposeLimitation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(accuracyEClass, Accuracy.class, "Accuracy", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(storageLimitationEClass, StorageLimitation.class, "StorageLimitation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(lawfulEClass, Lawful.class, "Lawful", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(fairlyEClass, Fairly.class, "Fairly", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(transparencyEClass, Transparency.class, "Transparency", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(securitySafetyEClass, SecuritySafety.class, "SecuritySafety", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(relatedToEClass, RelatedTo.class, "RelatedTo", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getRelatedTo_Sensitive(), theTypesPackage.getBoolean(), "sensitive", null, 1, 1, RelatedTo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getRelatedTo_Linkability(), this.getLinkability(), "linkability", null, 1, 1, RelatedTo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getRelatedTo_Collection(), this.getCollectionMethod(), "collection", null, 1, 1, RelatedTo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getRelatedTo_Base_Element(), theUMLPackage.getElement(), null, "base_Element", null, 0, 1, RelatedTo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(availableAtEClass, AvailableAt.class, "AvailableAt", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getAvailableAt_Duration(), this.getDuration(), "duration", null, 1, 1, AvailableAt.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getAvailableAt_Base_Element(), theUMLPackage.getElement(), null, "base_Element", null, 0, 1, AvailableAt.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(derivedFromEClass, DerivedFrom.class, "DerivedFrom", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getDerivedFrom_Base_Element(), theUMLPackage.getElement(), null, "base_Element", null, 0, 1, DerivedFrom.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(dataRequirementEClass, DataRequirement.class, "DataRequirement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(linkableEClass, Linkable.class, "Linkable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getLinkable_Duration(), this.getDuration(), "duration", null, 1, 1, Linkable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getLinkable_Linkability(), this.getLinkability(), "linkability", null, 1, 1, Linkable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getLinkable_Base_Element(), theUMLPackage.getElement(), null, "base_Element", null, 0, 1, Linkable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(generatedRequirementsEClass, GeneratedRequirements.class, "GeneratedRequirements", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getGeneratedRequirements_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 0, 1, GeneratedRequirements.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(dataFlowRequirementEClass, DataFlowRequirement.class, "DataFlowRequirement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getDataFlowRequirement_Base_Activity(), theUMLPackage.getActivity(), null, "base_Activity", null, 0, 1, DataFlowRequirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(dataSubjectsEClass, DataSubjects.class, "DataSubjects", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getDataSubjects_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 0, 1, DataSubjects.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(dataRequirementsEClass, DataRequirements.class, "DataRequirements", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getDataRequirements_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 0, 1, DataRequirements.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(availableInformationEClass, AvailableInformation.class, "AvailableInformation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getAvailableInformation_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 0, 1, AvailableInformation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getAvailableInformation_Concerns(), theUMLPackage.getNamedElement(), null, "concerns", null, 1, 1, AvailableInformation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(personalInformationEClass, PersonalInformation.class, "PersonalInformation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPersonalInformation_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 0, 1, PersonalInformation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getPersonalInformation_Concerns(), thePdp4engCommonGDPRPackage.getDataSubject(), null, "concerns", null, 1, 1, PersonalInformation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(availableInformationContainerEClass, AvailableInformationContainer.class, "AvailableInformationContainer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getAvailableInformationContainer_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 0, 1, AvailableInformationContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(personalInformationContainerEClass, PersonalInformationContainer.class, "PersonalInformationContainer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPersonalInformationContainer_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 0, 1, PersonalInformationContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(unlinkabilityRequirementEClass, UnlinkabilityRequirement.class, "UnlinkabilityRequirement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getUnlinkabilityRequirement_Linkability(), this.getLinkability(), "linkability", null, 1, 1, UnlinkabilityRequirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(privacyRequirementEClass, PrivacyRequirement.class, "PrivacyRequirement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPrivacyRequirement_Base_NamedElement(), theUMLPackage.getNamedElement(), null, "base_NamedElement", null, 0, 1, PrivacyRequirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getPrivacyRequirement_DataSubject(), thePdp4engCommonGDPRPackage.getDataSubject(), null, "dataSubject", null, 1, 1, PrivacyRequirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getPrivacyRequirement_Counterstakeholders(), theUMLPackage.getNamedElement(), null, "counterstakeholders", null, 0, -1, PrivacyRequirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getPrivacyRequirement_PersonalData(), thePdp4engCommonGDPRPackage.getPersonalData(), null, "personalData", null, 0, -1, PrivacyRequirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(dataUnlinkabilityRequirementEClass, DataUnlinkabilityRequirement.class, "DataUnlinkabilityRequirement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getDataUnlinkabilityRequirement_Links(), theUMLPackage.getNamedElement(), null, "links", null, 0, -1, DataUnlinkabilityRequirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(controlersEClass, Controlers.class, "Controlers", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getControlers_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 0, 1, Controlers.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(linkEClass, Link.class, "Link", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getLink_Base_NamedElement(), theUMLPackage.getNamedElement(), null, "base_NamedElement", null, 0, 1, Link.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getLink_Linkability(), this.getLinkability(), "linkability", null, 1, 1, Link.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(undectabilityRequirementEClass, UndectabilityRequirement.class, "UndectabilityRequirement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(pseudonimityRequirementEClass, PseudonimityRequirement.class, "PseudonimityRequirement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getPseudonimityRequirement_Kind(), this.getPseudonymKind(), "kind", null, 1, 1, PseudonimityRequirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(ananomityRequirementEClass, AnanomityRequirement.class, "AnanomityRequirement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(dataRecordRequirementEClass, DataRecordRequirement.class, "DataRecordRequirement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getDataRecordRequirement_Base_DataStoreNode(), theUMLPackage.getDataStoreNode(), null, "base_DataStoreNode", null, 0, 1, DataRecordRequirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getDataRecordRequirement_DataList(), thePdp4engCommonGDPRPackage.getData(), null, "dataList", null, 0, -1, DataRecordRequirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(functionalRequirementsEClass, FunctionalRequirements.class, "FunctionalRequirements", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getFunctionalRequirements_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 0, 1, FunctionalRequirements.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(nonFunctionalRequirementsEClass, NonFunctionalRequirements.class, "NonFunctionalRequirements", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getNonFunctionalRequirements_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 0, 1, NonFunctionalRequirements.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(lawfulByConsentEClass, LawfulByConsent.class, "LawfulByConsent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getLawfulByConsent_Consent(), thePdp4engCommonGDPRPackage.getConsent(), null, "consent", null, 1, 1, LawfulByConsent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(lawfulByContractEClass, LawfulByContract.class, "LawfulByContract", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getLawfulByContract_Contract(), thePdp4engCommonGDPRPackage.getContract(), null, "contract", null, 1, 1, LawfulByContract.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(lawfulByPublicInterestEClass, LawfulByPublicInterest.class, "LawfulByPublicInterest", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getLawfulByPublicInterest_PublicInterest(), thePdp4engCommonGDPRPackage.getPublicInterest(), null, "publicInterest", null, 1, 1, LawfulByPublicInterest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(lawfulByLegitimateInterestEClass, LawfulByLegitimateInterest.class, "LawfulByLegitimateInterest", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getLawfulByLegitimateInterest_LegitimateInterest(), thePdp4engCommonGDPRPackage.getLegitimateInterest(), null, "legitimateInterest", null, 1, 1, LawfulByLegitimateInterest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(lawfulByLegalObligationEClass, LawfulByLegalObligation.class, "LawfulByLegalObligation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getLawfulByLegalObligation_LegalObligation(), thePdp4engCommonGDPRPackage.getLegalObligation(), null, "legalObligation", null, 1, 1, LawfulByLegalObligation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(lawfulByVitalInterestEClass, LawfulByVitalInterest.class, "LawfulByVitalInterest", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getLawfulByVitalInterest_VitalInterest(), thePdp4engCommonGDPRPackage.getVitalInterest(), null, "vitalInterest", null, 1, 1, LawfulByVitalInterest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ // Initialize enums and add enum literals
+ initEEnum(linkabilityEEnum, Linkability.class, "Linkability");
+ addEEnumLiteral(linkabilityEEnum, Linkability.SINGLE);
+ addEEnumLiteral(linkabilityEEnum, Linkability.NOT_KNOWN);
+ addEEnumLiteral(linkabilityEEnum, Linkability.SUBGROUP);
+ addEEnumLiteral(linkabilityEEnum, Linkability.ANONYMOUS);
+
+ initEEnum(collectionMethodEEnum, CollectionMethod.class, "CollectionMethod");
+ addEEnumLiteral(collectionMethodEEnum, CollectionMethod.DIRECT);
+ addEEnumLiteral(collectionMethodEEnum, CollectionMethod.INDIRECT);
+ addEEnumLiteral(collectionMethodEEnum, CollectionMethod.REUSED);
+ addEEnumLiteral(collectionMethodEEnum, CollectionMethod.EXTERNAL);
+
+ initEEnum(durationEEnum, Duration.class, "Duration");
+ addEEnumLiteral(durationEEnum, Duration.FOR_ACTION);
+ addEEnumLiteral(durationEEnum, Duration.UNTIL_DELETED);
+ addEEnumLiteral(durationEEnum, Duration.UNLIMITED);
+
+ initEEnum(pseudonymKindEEnum, PseudonymKind.class, "PseudonymKind");
+ addEEnumLiteral(pseudonymKindEEnum, PseudonymKind.PERSON);
+ addEEnumLiteral(pseudonymKindEEnum, PseudonymKind.ROLE);
+ addEEnumLiteral(pseudonymKindEEnum, PseudonymKind.RELATION_SHIP);
+ addEEnumLiteral(pseudonymKindEEnum, PseudonymKind.ROLE_RELATION_SHIP);
+ addEEnumLiteral(pseudonymKindEEnum, PseudonymKind.TRANSACTION);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //pdp4engReqGDPRPackageImpl
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/pdp4engReqGDPRFactory.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/pdp4engReqGDPRFactory.java
new file mode 100644
index 0000000..99f3336
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/pdp4engReqGDPRFactory.java
@@ -0,0 +1,443 @@
+/**
+ * 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.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage
+ * @generated
+ */
+public interface pdp4engReqGDPRFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ pdp4engReqGDPRFactory eINSTANCE = org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Process Requirement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Process Requirement</em>'.
+ * @generated
+ */
+ ProcessRequirement createProcessRequirement();
+
+ /**
+ * Returns a new object of class '<em>Stakeholder</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Stakeholder</em>'.
+ * @generated
+ */
+ Stakeholder createStakeholder();
+
+ /**
+ * Returns a new object of class '<em>Personal Data Requirement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Personal Data Requirement</em>'.
+ * @generated
+ */
+ PersonalDataRequirement createPersonalDataRequirement();
+
+ /**
+ * Returns a new object of class '<em>GDPR Principle</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>GDPR Principle</em>'.
+ * @generated
+ */
+ GDPRPrinciple createGDPRPrinciple();
+
+ /**
+ * Returns a new object of class '<em>Process Principle</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Process Principle</em>'.
+ * @generated
+ */
+ ProcessPrinciple createProcessPrinciple();
+
+ /**
+ * Returns a new object of class '<em>Purpose Personal Data Principle</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Purpose Personal Data Principle</em>'.
+ * @generated
+ */
+ PurposePersonalDataPrinciple createPurposePersonalDataPrinciple();
+
+ /**
+ * Returns a new object of class '<em>Data Minimisation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Data Minimisation</em>'.
+ * @generated
+ */
+ DataMinimisation createDataMinimisation();
+
+ /**
+ * Returns a new object of class '<em>Purpose Limitation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Purpose Limitation</em>'.
+ * @generated
+ */
+ PurposeLimitation createPurposeLimitation();
+
+ /**
+ * Returns a new object of class '<em>Accuracy</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Accuracy</em>'.
+ * @generated
+ */
+ Accuracy createAccuracy();
+
+ /**
+ * Returns a new object of class '<em>Storage Limitation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Storage Limitation</em>'.
+ * @generated
+ */
+ StorageLimitation createStorageLimitation();
+
+ /**
+ * Returns a new object of class '<em>Lawful</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Lawful</em>'.
+ * @generated
+ */
+ Lawful createLawful();
+
+ /**
+ * Returns a new object of class '<em>Fairly</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Fairly</em>'.
+ * @generated
+ */
+ Fairly createFairly();
+
+ /**
+ * Returns a new object of class '<em>Transparency</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Transparency</em>'.
+ * @generated
+ */
+ Transparency createTransparency();
+
+ /**
+ * Returns a new object of class '<em>Security Safety</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Security Safety</em>'.
+ * @generated
+ */
+ SecuritySafety createSecuritySafety();
+
+ /**
+ * Returns a new object of class '<em>Related To</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Related To</em>'.
+ * @generated
+ */
+ RelatedTo createRelatedTo();
+
+ /**
+ * Returns a new object of class '<em>Available At</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Available At</em>'.
+ * @generated
+ */
+ AvailableAt createAvailableAt();
+
+ /**
+ * Returns a new object of class '<em>Derived From</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Derived From</em>'.
+ * @generated
+ */
+ DerivedFrom createDerivedFrom();
+
+ /**
+ * Returns a new object of class '<em>Data Requirement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Data Requirement</em>'.
+ * @generated
+ */
+ DataRequirement createDataRequirement();
+
+ /**
+ * Returns a new object of class '<em>Linkable</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Linkable</em>'.
+ * @generated
+ */
+ Linkable createLinkable();
+
+ /**
+ * Returns a new object of class '<em>Generated Requirements</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Generated Requirements</em>'.
+ * @generated
+ */
+ GeneratedRequirements createGeneratedRequirements();
+
+ /**
+ * Returns a new object of class '<em>Data Flow Requirement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Data Flow Requirement</em>'.
+ * @generated
+ */
+ DataFlowRequirement createDataFlowRequirement();
+
+ /**
+ * Returns a new object of class '<em>Data Subjects</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Data Subjects</em>'.
+ * @generated
+ */
+ DataSubjects createDataSubjects();
+
+ /**
+ * Returns a new object of class '<em>Data Requirements</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Data Requirements</em>'.
+ * @generated
+ */
+ DataRequirements createDataRequirements();
+
+ /**
+ * Returns a new object of class '<em>Available Information</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Available Information</em>'.
+ * @generated
+ */
+ AvailableInformation createAvailableInformation();
+
+ /**
+ * Returns a new object of class '<em>Personal Information</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Personal Information</em>'.
+ * @generated
+ */
+ PersonalInformation createPersonalInformation();
+
+ /**
+ * Returns a new object of class '<em>Available Information Container</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Available Information Container</em>'.
+ * @generated
+ */
+ AvailableInformationContainer createAvailableInformationContainer();
+
+ /**
+ * Returns a new object of class '<em>Personal Information Container</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Personal Information Container</em>'.
+ * @generated
+ */
+ PersonalInformationContainer createPersonalInformationContainer();
+
+ /**
+ * Returns a new object of class '<em>Unlinkability Requirement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Unlinkability Requirement</em>'.
+ * @generated
+ */
+ UnlinkabilityRequirement createUnlinkabilityRequirement();
+
+ /**
+ * Returns a new object of class '<em>Privacy Requirement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Privacy Requirement</em>'.
+ * @generated
+ */
+ PrivacyRequirement createPrivacyRequirement();
+
+ /**
+ * Returns a new object of class '<em>Data Unlinkability Requirement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Data Unlinkability Requirement</em>'.
+ * @generated
+ */
+ DataUnlinkabilityRequirement createDataUnlinkabilityRequirement();
+
+ /**
+ * Returns a new object of class '<em>Controlers</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Controlers</em>'.
+ * @generated
+ */
+ Controlers createControlers();
+
+ /**
+ * Returns a new object of class '<em>Link</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Link</em>'.
+ * @generated
+ */
+ Link createLink();
+
+ /**
+ * Returns a new object of class '<em>Undectability Requirement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Undectability Requirement</em>'.
+ * @generated
+ */
+ UndectabilityRequirement createUndectabilityRequirement();
+
+ /**
+ * Returns a new object of class '<em>Pseudonimity Requirement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Pseudonimity Requirement</em>'.
+ * @generated
+ */
+ PseudonimityRequirement createPseudonimityRequirement();
+
+ /**
+ * Returns a new object of class '<em>Ananomity Requirement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Ananomity Requirement</em>'.
+ * @generated
+ */
+ AnanomityRequirement createAnanomityRequirement();
+
+ /**
+ * Returns a new object of class '<em>Data Record Requirement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Data Record Requirement</em>'.
+ * @generated
+ */
+ DataRecordRequirement createDataRecordRequirement();
+
+ /**
+ * Returns a new object of class '<em>Functional Requirements</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Functional Requirements</em>'.
+ * @generated
+ */
+ FunctionalRequirements createFunctionalRequirements();
+
+ /**
+ * Returns a new object of class '<em>Non Functional Requirements</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Non Functional Requirements</em>'.
+ * @generated
+ */
+ NonFunctionalRequirements createNonFunctionalRequirements();
+
+ /**
+ * Returns a new object of class '<em>Lawful By Consent</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Lawful By Consent</em>'.
+ * @generated
+ */
+ LawfulByConsent createLawfulByConsent();
+
+ /**
+ * Returns a new object of class '<em>Lawful By Contract</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Lawful By Contract</em>'.
+ * @generated
+ */
+ LawfulByContract createLawfulByContract();
+
+ /**
+ * Returns a new object of class '<em>Lawful By Public Interest</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Lawful By Public Interest</em>'.
+ * @generated
+ */
+ LawfulByPublicInterest createLawfulByPublicInterest();
+
+ /**
+ * Returns a new object of class '<em>Lawful By Legitimate Interest</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Lawful By Legitimate Interest</em>'.
+ * @generated
+ */
+ LawfulByLegitimateInterest createLawfulByLegitimateInterest();
+
+ /**
+ * Returns a new object of class '<em>Lawful By Legal Obligation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Lawful By Legal Obligation</em>'.
+ * @generated
+ */
+ LawfulByLegalObligation createLawfulByLegalObligation();
+
+ /**
+ * Returns a new object of class '<em>Lawful By Vital Interest</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Lawful By Vital Interest</em>'.
+ * @generated
+ */
+ LawfulByVitalInterest createLawfulByVitalInterest();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ pdp4engReqGDPRPackage getpdp4engReqGDPRPackage();
+
+} //pdp4engReqGDPRFactory
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/pdp4engReqGDPRPackage.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/pdp4engReqGDPRPackage.java
new file mode 100644
index 0000000..7bfc69d
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/pdp4engReqGDPRPackage.java
@@ -0,0 +1,4516 @@
+/**
+ * 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.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Pdp4engCommonGDPRPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface pdp4engReqGDPRPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "pdp4engReqGDPR";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://org.eclipse.papyrus.pdp4eng.req.profile";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "pdp4engReqGDPR";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ pdp4engReqGDPRPackage eINSTANCE = org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.ProcessRequirementImpl <em>Process Requirement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.ProcessRequirementImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getProcessRequirement()
+ * @generated
+ */
+ int PROCESS_REQUIREMENT = 0;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROCESS_REQUIREMENT__BASE_NAMED_ELEMENT = Pdp4engCommonGDPRPackage.PROCESS__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Personaldata</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROCESS_REQUIREMENT__PERSONALDATA = Pdp4engCommonGDPRPackage.PROCESS__PERSONALDATA;
+
+ /**
+ * The feature id for the '<em><b>Contributed To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROCESS_REQUIREMENT__CONTRIBUTED_TO = Pdp4engCommonGDPRPackage.PROCESS__CONTRIBUTED_TO;
+
+ /**
+ * The feature id for the '<em><b>Perform AContract</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROCESS_REQUIREMENT__PERFORM_ACONTRACT = Pdp4engCommonGDPRPackage.PROCESS__PERFORM_ACONTRACT;
+
+ /**
+ * The feature id for the '<em><b>Data</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROCESS_REQUIREMENT__DATA = Pdp4engCommonGDPRPackage.PROCESS__DATA;
+
+ /**
+ * The feature id for the '<em><b>Needed For Public Interest</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROCESS_REQUIREMENT__NEEDED_FOR_PUBLIC_INTEREST = Pdp4engCommonGDPRPackage.PROCESS__NEEDED_FOR_PUBLIC_INTEREST;
+
+ /**
+ * The feature id for the '<em><b>Needed For Legimate Interest</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROCESS_REQUIREMENT__NEEDED_FOR_LEGIMATE_INTEREST = Pdp4engCommonGDPRPackage.PROCESS__NEEDED_FOR_LEGIMATE_INTEREST;
+
+ /**
+ * The feature id for the '<em><b>Needed For Legal Obligation</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROCESS_REQUIREMENT__NEEDED_FOR_LEGAL_OBLIGATION = Pdp4engCommonGDPRPackage.PROCESS__NEEDED_FOR_LEGAL_OBLIGATION;
+
+ /**
+ * The feature id for the '<em><b>Needed For Vital Interest</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROCESS_REQUIREMENT__NEEDED_FOR_VITAL_INTEREST = Pdp4engCommonGDPRPackage.PROCESS__NEEDED_FOR_VITAL_INTEREST;
+
+ /**
+ * The feature id for the '<em><b>Requester</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROCESS_REQUIREMENT__REQUESTER = Pdp4engCommonGDPRPackage.PROCESS_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Process Requirement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROCESS_REQUIREMENT_FEATURE_COUNT = Pdp4engCommonGDPRPackage.PROCESS_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Process Requirement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROCESS_REQUIREMENT_OPERATION_COUNT = Pdp4engCommonGDPRPackage.PROCESS_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.StakeholderImpl <em>Stakeholder</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.StakeholderImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getStakeholder()
+ * @generated
+ */
+ int STAKEHOLDER = 1;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STAKEHOLDER__BASE_NAMED_ELEMENT = 0;
+
+ /**
+ * The number of structural features of the '<em>Stakeholder</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STAKEHOLDER_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the '<em>Stakeholder</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STAKEHOLDER_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.PersonalDataRequirementImpl <em>Personal Data Requirement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.PersonalDataRequirementImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getPersonalDataRequirement()
+ * @generated
+ */
+ int PERSONAL_DATA_REQUIREMENT = 2;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERSONAL_DATA_REQUIREMENT__BASE_NAMED_ELEMENT = Pdp4engCommonGDPRPackage.PERSONAL_DATA__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Related To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERSONAL_DATA_REQUIREMENT__RELATED_TO = Pdp4engCommonGDPRPackage.PERSONAL_DATA__RELATED_TO;
+
+ /**
+ * The feature id for the '<em><b>Responsible</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERSONAL_DATA_REQUIREMENT__RESPONSIBLE = Pdp4engCommonGDPRPackage.PERSONAL_DATA__RESPONSIBLE;
+
+ /**
+ * The feature id for the '<em><b>Processed By</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERSONAL_DATA_REQUIREMENT__PROCESSED_BY = Pdp4engCommonGDPRPackage.PERSONAL_DATA__PROCESSED_BY;
+
+ /**
+ * The feature id for the '<em><b>Source</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERSONAL_DATA_REQUIREMENT__SOURCE = Pdp4engCommonGDPRPackage.PERSONAL_DATA_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Personal Data Requirement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERSONAL_DATA_REQUIREMENT_FEATURE_COUNT = Pdp4engCommonGDPRPackage.PERSONAL_DATA_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Personal Data Requirement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERSONAL_DATA_REQUIREMENT_OPERATION_COUNT = Pdp4engCommonGDPRPackage.PERSONAL_DATA_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.GDPRPrincipleImpl <em>GDPR Principle</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.GDPRPrincipleImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getGDPRPrinciple()
+ * @generated
+ */
+ int GDPR_PRINCIPLE = 3;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GDPR_PRINCIPLE__BASE_NAMED_ELEMENT = 0;
+
+ /**
+ * The number of structural features of the '<em>GDPR Principle</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GDPR_PRINCIPLE_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the '<em>GDPR Principle</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GDPR_PRINCIPLE_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.ProcessPrincipleImpl <em>Process Principle</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.ProcessPrincipleImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getProcessPrinciple()
+ * @generated
+ */
+ int PROCESS_PRINCIPLE = 4;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROCESS_PRINCIPLE__BASE_NAMED_ELEMENT = GDPR_PRINCIPLE__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Process</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROCESS_PRINCIPLE__PROCESS = GDPR_PRINCIPLE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Data Subject</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROCESS_PRINCIPLE__DATA_SUBJECT = GDPR_PRINCIPLE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Personal Data</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROCESS_PRINCIPLE__PERSONAL_DATA = GDPR_PRINCIPLE_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Process Principle</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROCESS_PRINCIPLE_FEATURE_COUNT = GDPR_PRINCIPLE_FEATURE_COUNT + 3;
+
+ /**
+ * The number of operations of the '<em>Process Principle</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROCESS_PRINCIPLE_OPERATION_COUNT = GDPR_PRINCIPLE_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.PurposePersonalDataPrincipleImpl <em>Purpose Personal Data Principle</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.PurposePersonalDataPrincipleImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getPurposePersonalDataPrinciple()
+ * @generated
+ */
+ int PURPOSE_PERSONAL_DATA_PRINCIPLE = 5;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PURPOSE_PERSONAL_DATA_PRINCIPLE__BASE_NAMED_ELEMENT = GDPR_PRINCIPLE__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Purpose</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PURPOSE_PERSONAL_DATA_PRINCIPLE__PURPOSE = GDPR_PRINCIPLE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Personal Data</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PURPOSE_PERSONAL_DATA_PRINCIPLE__PERSONAL_DATA = GDPR_PRINCIPLE_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Purpose Personal Data Principle</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PURPOSE_PERSONAL_DATA_PRINCIPLE_FEATURE_COUNT = GDPR_PRINCIPLE_FEATURE_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Purpose Personal Data Principle</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PURPOSE_PERSONAL_DATA_PRINCIPLE_OPERATION_COUNT = GDPR_PRINCIPLE_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.DataMinimisationImpl <em>Data Minimisation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.DataMinimisationImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getDataMinimisation()
+ * @generated
+ */
+ int DATA_MINIMISATION = 6;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_MINIMISATION__BASE_NAMED_ELEMENT = PURPOSE_PERSONAL_DATA_PRINCIPLE__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Purpose</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_MINIMISATION__PURPOSE = PURPOSE_PERSONAL_DATA_PRINCIPLE__PURPOSE;
+
+ /**
+ * The feature id for the '<em><b>Personal Data</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_MINIMISATION__PERSONAL_DATA = PURPOSE_PERSONAL_DATA_PRINCIPLE__PERSONAL_DATA;
+
+ /**
+ * The number of structural features of the '<em>Data Minimisation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_MINIMISATION_FEATURE_COUNT = PURPOSE_PERSONAL_DATA_PRINCIPLE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Data Minimisation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_MINIMISATION_OPERATION_COUNT = PURPOSE_PERSONAL_DATA_PRINCIPLE_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.PurposeLimitationImpl <em>Purpose Limitation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.PurposeLimitationImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getPurposeLimitation()
+ * @generated
+ */
+ int PURPOSE_LIMITATION = 7;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PURPOSE_LIMITATION__BASE_NAMED_ELEMENT = PURPOSE_PERSONAL_DATA_PRINCIPLE__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Purpose</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PURPOSE_LIMITATION__PURPOSE = PURPOSE_PERSONAL_DATA_PRINCIPLE__PURPOSE;
+
+ /**
+ * The feature id for the '<em><b>Personal Data</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PURPOSE_LIMITATION__PERSONAL_DATA = PURPOSE_PERSONAL_DATA_PRINCIPLE__PERSONAL_DATA;
+
+ /**
+ * The number of structural features of the '<em>Purpose Limitation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PURPOSE_LIMITATION_FEATURE_COUNT = PURPOSE_PERSONAL_DATA_PRINCIPLE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Purpose Limitation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PURPOSE_LIMITATION_OPERATION_COUNT = PURPOSE_PERSONAL_DATA_PRINCIPLE_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.AccuracyImpl <em>Accuracy</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.AccuracyImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getAccuracy()
+ * @generated
+ */
+ int ACCURACY = 8;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACCURACY__BASE_NAMED_ELEMENT = PURPOSE_PERSONAL_DATA_PRINCIPLE__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Purpose</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACCURACY__PURPOSE = PURPOSE_PERSONAL_DATA_PRINCIPLE__PURPOSE;
+
+ /**
+ * The feature id for the '<em><b>Personal Data</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACCURACY__PERSONAL_DATA = PURPOSE_PERSONAL_DATA_PRINCIPLE__PERSONAL_DATA;
+
+ /**
+ * The number of structural features of the '<em>Accuracy</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACCURACY_FEATURE_COUNT = PURPOSE_PERSONAL_DATA_PRINCIPLE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Accuracy</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACCURACY_OPERATION_COUNT = PURPOSE_PERSONAL_DATA_PRINCIPLE_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.StorageLimitationImpl <em>Storage Limitation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.StorageLimitationImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getStorageLimitation()
+ * @generated
+ */
+ int STORAGE_LIMITATION = 9;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STORAGE_LIMITATION__BASE_NAMED_ELEMENT = PURPOSE_PERSONAL_DATA_PRINCIPLE__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Purpose</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STORAGE_LIMITATION__PURPOSE = PURPOSE_PERSONAL_DATA_PRINCIPLE__PURPOSE;
+
+ /**
+ * The feature id for the '<em><b>Personal Data</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STORAGE_LIMITATION__PERSONAL_DATA = PURPOSE_PERSONAL_DATA_PRINCIPLE__PERSONAL_DATA;
+
+ /**
+ * The number of structural features of the '<em>Storage Limitation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STORAGE_LIMITATION_FEATURE_COUNT = PURPOSE_PERSONAL_DATA_PRINCIPLE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Storage Limitation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STORAGE_LIMITATION_OPERATION_COUNT = PURPOSE_PERSONAL_DATA_PRINCIPLE_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LawfulImpl <em>Lawful</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LawfulImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getLawful()
+ * @generated
+ */
+ int LAWFUL = 10;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL__BASE_NAMED_ELEMENT = PROCESS_PRINCIPLE__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Process</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL__PROCESS = PROCESS_PRINCIPLE__PROCESS;
+
+ /**
+ * The feature id for the '<em><b>Data Subject</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL__DATA_SUBJECT = PROCESS_PRINCIPLE__DATA_SUBJECT;
+
+ /**
+ * The feature id for the '<em><b>Personal Data</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL__PERSONAL_DATA = PROCESS_PRINCIPLE__PERSONAL_DATA;
+
+ /**
+ * The number of structural features of the '<em>Lawful</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_FEATURE_COUNT = PROCESS_PRINCIPLE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Lawful</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_OPERATION_COUNT = PROCESS_PRINCIPLE_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.FairlyImpl <em>Fairly</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.FairlyImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getFairly()
+ * @generated
+ */
+ int FAIRLY = 11;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAIRLY__BASE_NAMED_ELEMENT = PROCESS_PRINCIPLE__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Process</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAIRLY__PROCESS = PROCESS_PRINCIPLE__PROCESS;
+
+ /**
+ * The feature id for the '<em><b>Data Subject</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAIRLY__DATA_SUBJECT = PROCESS_PRINCIPLE__DATA_SUBJECT;
+
+ /**
+ * The feature id for the '<em><b>Personal Data</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAIRLY__PERSONAL_DATA = PROCESS_PRINCIPLE__PERSONAL_DATA;
+
+ /**
+ * The number of structural features of the '<em>Fairly</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAIRLY_FEATURE_COUNT = PROCESS_PRINCIPLE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Fairly</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAIRLY_OPERATION_COUNT = PROCESS_PRINCIPLE_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.TransparencyImpl <em>Transparency</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.TransparencyImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getTransparency()
+ * @generated
+ */
+ int TRANSPARENCY = 12;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSPARENCY__BASE_NAMED_ELEMENT = PROCESS_PRINCIPLE__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Process</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSPARENCY__PROCESS = PROCESS_PRINCIPLE__PROCESS;
+
+ /**
+ * The feature id for the '<em><b>Data Subject</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSPARENCY__DATA_SUBJECT = PROCESS_PRINCIPLE__DATA_SUBJECT;
+
+ /**
+ * The feature id for the '<em><b>Personal Data</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSPARENCY__PERSONAL_DATA = PROCESS_PRINCIPLE__PERSONAL_DATA;
+
+ /**
+ * The number of structural features of the '<em>Transparency</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSPARENCY_FEATURE_COUNT = PROCESS_PRINCIPLE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Transparency</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSPARENCY_OPERATION_COUNT = PROCESS_PRINCIPLE_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.SecuritySafetyImpl <em>Security Safety</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.SecuritySafetyImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getSecuritySafety()
+ * @generated
+ */
+ int SECURITY_SAFETY = 13;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_SAFETY__BASE_NAMED_ELEMENT = PROCESS_PRINCIPLE__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Process</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_SAFETY__PROCESS = PROCESS_PRINCIPLE__PROCESS;
+
+ /**
+ * The feature id for the '<em><b>Data Subject</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_SAFETY__DATA_SUBJECT = PROCESS_PRINCIPLE__DATA_SUBJECT;
+
+ /**
+ * The feature id for the '<em><b>Personal Data</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_SAFETY__PERSONAL_DATA = PROCESS_PRINCIPLE__PERSONAL_DATA;
+
+ /**
+ * The number of structural features of the '<em>Security Safety</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_SAFETY_FEATURE_COUNT = PROCESS_PRINCIPLE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Security Safety</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECURITY_SAFETY_OPERATION_COUNT = PROCESS_PRINCIPLE_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.RelatedToImpl <em>Related To</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.RelatedToImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getRelatedTo()
+ * @generated
+ */
+ int RELATED_TO = 14;
+
+ /**
+ * The feature id for the '<em><b>Sensitive</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELATED_TO__SENSITIVE = 0;
+
+ /**
+ * The feature id for the '<em><b>Linkability</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELATED_TO__LINKABILITY = 1;
+
+ /**
+ * The feature id for the '<em><b>Collection</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELATED_TO__COLLECTION = 2;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELATED_TO__BASE_ELEMENT = 3;
+
+ /**
+ * The number of structural features of the '<em>Related To</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELATED_TO_FEATURE_COUNT = 4;
+
+ /**
+ * The number of operations of the '<em>Related To</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELATED_TO_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.AvailableAtImpl <em>Available At</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.AvailableAtImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getAvailableAt()
+ * @generated
+ */
+ int AVAILABLE_AT = 15;
+
+ /**
+ * The feature id for the '<em><b>Duration</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AVAILABLE_AT__DURATION = 0;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AVAILABLE_AT__BASE_ELEMENT = 1;
+
+ /**
+ * The number of structural features of the '<em>Available At</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AVAILABLE_AT_FEATURE_COUNT = 2;
+
+ /**
+ * The number of operations of the '<em>Available At</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AVAILABLE_AT_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.DerivedFromImpl <em>Derived From</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.DerivedFromImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getDerivedFrom()
+ * @generated
+ */
+ int DERIVED_FROM = 16;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DERIVED_FROM__BASE_ELEMENT = 0;
+
+ /**
+ * The number of structural features of the '<em>Derived From</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DERIVED_FROM_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the '<em>Derived From</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DERIVED_FROM_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.DataRequirementImpl <em>Data Requirement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.DataRequirementImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getDataRequirement()
+ * @generated
+ */
+ int DATA_REQUIREMENT = 17;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_REQUIREMENT__BASE_NAMED_ELEMENT = Pdp4engCommonGDPRPackage.DATA__BASE_NAMED_ELEMENT;
+
+ /**
+ * The number of structural features of the '<em>Data Requirement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_REQUIREMENT_FEATURE_COUNT = Pdp4engCommonGDPRPackage.DATA_FEATURE_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Data Requirement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_REQUIREMENT_OPERATION_COUNT = Pdp4engCommonGDPRPackage.DATA_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LinkableImpl <em>Linkable</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LinkableImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getLinkable()
+ * @generated
+ */
+ int LINKABLE = 18;
+
+ /**
+ * The feature id for the '<em><b>Duration</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINKABLE__DURATION = 0;
+
+ /**
+ * The feature id for the '<em><b>Linkability</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINKABLE__LINKABILITY = 1;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINKABLE__BASE_ELEMENT = 2;
+
+ /**
+ * The number of structural features of the '<em>Linkable</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINKABLE_FEATURE_COUNT = 3;
+
+ /**
+ * The number of operations of the '<em>Linkable</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINKABLE_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.GeneratedRequirementsImpl <em>Generated Requirements</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.GeneratedRequirementsImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getGeneratedRequirements()
+ * @generated
+ */
+ int GENERATED_REQUIREMENTS = 19;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERATED_REQUIREMENTS__BASE_PACKAGE = 0;
+
+ /**
+ * The number of structural features of the '<em>Generated Requirements</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERATED_REQUIREMENTS_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the '<em>Generated Requirements</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERATED_REQUIREMENTS_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.DataFlowRequirementImpl <em>Data Flow Requirement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.DataFlowRequirementImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getDataFlowRequirement()
+ * @generated
+ */
+ int DATA_FLOW_REQUIREMENT = 20;
+
+ /**
+ * The feature id for the '<em><b>Base Activity</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_FLOW_REQUIREMENT__BASE_ACTIVITY = 0;
+
+ /**
+ * The number of structural features of the '<em>Data Flow Requirement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_FLOW_REQUIREMENT_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the '<em>Data Flow Requirement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_FLOW_REQUIREMENT_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.DataSubjectsImpl <em>Data Subjects</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.DataSubjectsImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getDataSubjects()
+ * @generated
+ */
+ int DATA_SUBJECTS = 21;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_SUBJECTS__BASE_PACKAGE = 0;
+
+ /**
+ * The number of structural features of the '<em>Data Subjects</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_SUBJECTS_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the '<em>Data Subjects</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_SUBJECTS_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.DataRequirementsImpl <em>Data Requirements</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.DataRequirementsImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getDataRequirements()
+ * @generated
+ */
+ int DATA_REQUIREMENTS = 22;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_REQUIREMENTS__BASE_PACKAGE = 0;
+
+ /**
+ * The number of structural features of the '<em>Data Requirements</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_REQUIREMENTS_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the '<em>Data Requirements</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_REQUIREMENTS_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.AvailableInformationImpl <em>Available Information</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.AvailableInformationImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getAvailableInformation()
+ * @generated
+ */
+ int AVAILABLE_INFORMATION = 23;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AVAILABLE_INFORMATION__BASE_PACKAGE = 0;
+
+ /**
+ * The feature id for the '<em><b>Concerns</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AVAILABLE_INFORMATION__CONCERNS = 1;
+
+ /**
+ * The number of structural features of the '<em>Available Information</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AVAILABLE_INFORMATION_FEATURE_COUNT = 2;
+
+ /**
+ * The number of operations of the '<em>Available Information</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AVAILABLE_INFORMATION_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.PersonalInformationImpl <em>Personal Information</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.PersonalInformationImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getPersonalInformation()
+ * @generated
+ */
+ int PERSONAL_INFORMATION = 24;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERSONAL_INFORMATION__BASE_PACKAGE = 0;
+
+ /**
+ * The feature id for the '<em><b>Concerns</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERSONAL_INFORMATION__CONCERNS = 1;
+
+ /**
+ * The number of structural features of the '<em>Personal Information</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERSONAL_INFORMATION_FEATURE_COUNT = 2;
+
+ /**
+ * The number of operations of the '<em>Personal Information</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERSONAL_INFORMATION_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.AvailableInformationContainerImpl <em>Available Information Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.AvailableInformationContainerImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getAvailableInformationContainer()
+ * @generated
+ */
+ int AVAILABLE_INFORMATION_CONTAINER = 25;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AVAILABLE_INFORMATION_CONTAINER__BASE_PACKAGE = 0;
+
+ /**
+ * The number of structural features of the '<em>Available Information Container</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AVAILABLE_INFORMATION_CONTAINER_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the '<em>Available Information Container</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AVAILABLE_INFORMATION_CONTAINER_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.PersonalInformationContainerImpl <em>Personal Information Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.PersonalInformationContainerImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getPersonalInformationContainer()
+ * @generated
+ */
+ int PERSONAL_INFORMATION_CONTAINER = 26;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERSONAL_INFORMATION_CONTAINER__BASE_PACKAGE = 0;
+
+ /**
+ * The number of structural features of the '<em>Personal Information Container</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERSONAL_INFORMATION_CONTAINER_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the '<em>Personal Information Container</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERSONAL_INFORMATION_CONTAINER_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.PrivacyRequirementImpl <em>Privacy Requirement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.PrivacyRequirementImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getPrivacyRequirement()
+ * @generated
+ */
+ int PRIVACY_REQUIREMENT = 28;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRIVACY_REQUIREMENT__BASE_NAMED_ELEMENT = 0;
+
+ /**
+ * The feature id for the '<em><b>Data Subject</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRIVACY_REQUIREMENT__DATA_SUBJECT = 1;
+
+ /**
+ * The feature id for the '<em><b>Counterstakeholders</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRIVACY_REQUIREMENT__COUNTERSTAKEHOLDERS = 2;
+
+ /**
+ * The feature id for the '<em><b>Personal Data</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRIVACY_REQUIREMENT__PERSONAL_DATA = 3;
+
+ /**
+ * The number of structural features of the '<em>Privacy Requirement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRIVACY_REQUIREMENT_FEATURE_COUNT = 4;
+
+ /**
+ * The number of operations of the '<em>Privacy Requirement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRIVACY_REQUIREMENT_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.UnlinkabilityRequirementImpl <em>Unlinkability Requirement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.UnlinkabilityRequirementImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getUnlinkabilityRequirement()
+ * @generated
+ */
+ int UNLINKABILITY_REQUIREMENT = 27;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UNLINKABILITY_REQUIREMENT__BASE_NAMED_ELEMENT = PRIVACY_REQUIREMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Data Subject</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UNLINKABILITY_REQUIREMENT__DATA_SUBJECT = PRIVACY_REQUIREMENT__DATA_SUBJECT;
+
+ /**
+ * The feature id for the '<em><b>Counterstakeholders</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UNLINKABILITY_REQUIREMENT__COUNTERSTAKEHOLDERS = PRIVACY_REQUIREMENT__COUNTERSTAKEHOLDERS;
+
+ /**
+ * The feature id for the '<em><b>Personal Data</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UNLINKABILITY_REQUIREMENT__PERSONAL_DATA = PRIVACY_REQUIREMENT__PERSONAL_DATA;
+
+ /**
+ * The feature id for the '<em><b>Linkability</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UNLINKABILITY_REQUIREMENT__LINKABILITY = PRIVACY_REQUIREMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Unlinkability Requirement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UNLINKABILITY_REQUIREMENT_FEATURE_COUNT = PRIVACY_REQUIREMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Unlinkability Requirement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UNLINKABILITY_REQUIREMENT_OPERATION_COUNT = PRIVACY_REQUIREMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.DataUnlinkabilityRequirementImpl <em>Data Unlinkability Requirement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.DataUnlinkabilityRequirementImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getDataUnlinkabilityRequirement()
+ * @generated
+ */
+ int DATA_UNLINKABILITY_REQUIREMENT = 29;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_UNLINKABILITY_REQUIREMENT__BASE_NAMED_ELEMENT = UNLINKABILITY_REQUIREMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Data Subject</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_UNLINKABILITY_REQUIREMENT__DATA_SUBJECT = UNLINKABILITY_REQUIREMENT__DATA_SUBJECT;
+
+ /**
+ * The feature id for the '<em><b>Counterstakeholders</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_UNLINKABILITY_REQUIREMENT__COUNTERSTAKEHOLDERS = UNLINKABILITY_REQUIREMENT__COUNTERSTAKEHOLDERS;
+
+ /**
+ * The feature id for the '<em><b>Personal Data</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_UNLINKABILITY_REQUIREMENT__PERSONAL_DATA = UNLINKABILITY_REQUIREMENT__PERSONAL_DATA;
+
+ /**
+ * The feature id for the '<em><b>Linkability</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_UNLINKABILITY_REQUIREMENT__LINKABILITY = UNLINKABILITY_REQUIREMENT__LINKABILITY;
+
+ /**
+ * The feature id for the '<em><b>Links</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_UNLINKABILITY_REQUIREMENT__LINKS = UNLINKABILITY_REQUIREMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Data Unlinkability Requirement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_UNLINKABILITY_REQUIREMENT_FEATURE_COUNT = UNLINKABILITY_REQUIREMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Data Unlinkability Requirement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_UNLINKABILITY_REQUIREMENT_OPERATION_COUNT = UNLINKABILITY_REQUIREMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.ControlersImpl <em>Controlers</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.ControlersImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getControlers()
+ * @generated
+ */
+ int CONTROLERS = 30;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTROLERS__BASE_PACKAGE = 0;
+
+ /**
+ * The number of structural features of the '<em>Controlers</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTROLERS_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the '<em>Controlers</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTROLERS_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LinkImpl <em>Link</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LinkImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getLink()
+ * @generated
+ */
+ int LINK = 31;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINK__BASE_NAMED_ELEMENT = 0;
+
+ /**
+ * The feature id for the '<em><b>Linkability</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINK__LINKABILITY = 1;
+
+ /**
+ * The number of structural features of the '<em>Link</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINK_FEATURE_COUNT = 2;
+
+ /**
+ * The number of operations of the '<em>Link</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.UndectabilityRequirementImpl <em>Undectability Requirement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.UndectabilityRequirementImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getUndectabilityRequirement()
+ * @generated
+ */
+ int UNDECTABILITY_REQUIREMENT = 32;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UNDECTABILITY_REQUIREMENT__BASE_NAMED_ELEMENT = PRIVACY_REQUIREMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Data Subject</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UNDECTABILITY_REQUIREMENT__DATA_SUBJECT = PRIVACY_REQUIREMENT__DATA_SUBJECT;
+
+ /**
+ * The feature id for the '<em><b>Counterstakeholders</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UNDECTABILITY_REQUIREMENT__COUNTERSTAKEHOLDERS = PRIVACY_REQUIREMENT__COUNTERSTAKEHOLDERS;
+
+ /**
+ * The feature id for the '<em><b>Personal Data</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UNDECTABILITY_REQUIREMENT__PERSONAL_DATA = PRIVACY_REQUIREMENT__PERSONAL_DATA;
+
+ /**
+ * The number of structural features of the '<em>Undectability Requirement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UNDECTABILITY_REQUIREMENT_FEATURE_COUNT = PRIVACY_REQUIREMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Undectability Requirement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UNDECTABILITY_REQUIREMENT_OPERATION_COUNT = PRIVACY_REQUIREMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.PseudonimityRequirementImpl <em>Pseudonimity Requirement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.PseudonimityRequirementImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getPseudonimityRequirement()
+ * @generated
+ */
+ int PSEUDONIMITY_REQUIREMENT = 33;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PSEUDONIMITY_REQUIREMENT__BASE_NAMED_ELEMENT = PRIVACY_REQUIREMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Data Subject</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PSEUDONIMITY_REQUIREMENT__DATA_SUBJECT = PRIVACY_REQUIREMENT__DATA_SUBJECT;
+
+ /**
+ * The feature id for the '<em><b>Counterstakeholders</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PSEUDONIMITY_REQUIREMENT__COUNTERSTAKEHOLDERS = PRIVACY_REQUIREMENT__COUNTERSTAKEHOLDERS;
+
+ /**
+ * The feature id for the '<em><b>Personal Data</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PSEUDONIMITY_REQUIREMENT__PERSONAL_DATA = PRIVACY_REQUIREMENT__PERSONAL_DATA;
+
+ /**
+ * The feature id for the '<em><b>Kind</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PSEUDONIMITY_REQUIREMENT__KIND = PRIVACY_REQUIREMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Pseudonimity Requirement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PSEUDONIMITY_REQUIREMENT_FEATURE_COUNT = PRIVACY_REQUIREMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Pseudonimity Requirement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PSEUDONIMITY_REQUIREMENT_OPERATION_COUNT = PRIVACY_REQUIREMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.AnanomityRequirementImpl <em>Ananomity Requirement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.AnanomityRequirementImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getAnanomityRequirement()
+ * @generated
+ */
+ int ANANOMITY_REQUIREMENT = 34;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANANOMITY_REQUIREMENT__BASE_NAMED_ELEMENT = UNLINKABILITY_REQUIREMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Data Subject</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANANOMITY_REQUIREMENT__DATA_SUBJECT = UNLINKABILITY_REQUIREMENT__DATA_SUBJECT;
+
+ /**
+ * The feature id for the '<em><b>Counterstakeholders</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANANOMITY_REQUIREMENT__COUNTERSTAKEHOLDERS = UNLINKABILITY_REQUIREMENT__COUNTERSTAKEHOLDERS;
+
+ /**
+ * The feature id for the '<em><b>Personal Data</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANANOMITY_REQUIREMENT__PERSONAL_DATA = UNLINKABILITY_REQUIREMENT__PERSONAL_DATA;
+
+ /**
+ * The feature id for the '<em><b>Linkability</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANANOMITY_REQUIREMENT__LINKABILITY = UNLINKABILITY_REQUIREMENT__LINKABILITY;
+
+ /**
+ * The number of structural features of the '<em>Ananomity Requirement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANANOMITY_REQUIREMENT_FEATURE_COUNT = UNLINKABILITY_REQUIREMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Ananomity Requirement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANANOMITY_REQUIREMENT_OPERATION_COUNT = UNLINKABILITY_REQUIREMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.DataRecordRequirementImpl <em>Data Record Requirement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.DataRecordRequirementImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getDataRecordRequirement()
+ * @generated
+ */
+ int DATA_RECORD_REQUIREMENT = 35;
+
+ /**
+ * The feature id for the '<em><b>Base Data Store Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_RECORD_REQUIREMENT__BASE_DATA_STORE_NODE = 0;
+
+ /**
+ * The feature id for the '<em><b>Data List</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_RECORD_REQUIREMENT__DATA_LIST = 1;
+
+ /**
+ * The number of structural features of the '<em>Data Record Requirement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_RECORD_REQUIREMENT_FEATURE_COUNT = 2;
+
+ /**
+ * The number of operations of the '<em>Data Record Requirement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_RECORD_REQUIREMENT_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.FunctionalRequirementsImpl <em>Functional Requirements</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.FunctionalRequirementsImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getFunctionalRequirements()
+ * @generated
+ */
+ int FUNCTIONAL_REQUIREMENTS = 36;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTIONAL_REQUIREMENTS__BASE_PACKAGE = 0;
+
+ /**
+ * The number of structural features of the '<em>Functional Requirements</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTIONAL_REQUIREMENTS_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the '<em>Functional Requirements</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTIONAL_REQUIREMENTS_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.NonFunctionalRequirementsImpl <em>Non Functional Requirements</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.NonFunctionalRequirementsImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getNonFunctionalRequirements()
+ * @generated
+ */
+ int NON_FUNCTIONAL_REQUIREMENTS = 37;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NON_FUNCTIONAL_REQUIREMENTS__BASE_PACKAGE = 0;
+
+ /**
+ * The number of structural features of the '<em>Non Functional Requirements</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NON_FUNCTIONAL_REQUIREMENTS_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the '<em>Non Functional Requirements</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NON_FUNCTIONAL_REQUIREMENTS_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LawfulByConsentImpl <em>Lawful By Consent</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LawfulByConsentImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getLawfulByConsent()
+ * @generated
+ */
+ int LAWFUL_BY_CONSENT = 38;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_CONSENT__BASE_NAMED_ELEMENT = LAWFUL__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Process</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_CONSENT__PROCESS = LAWFUL__PROCESS;
+
+ /**
+ * The feature id for the '<em><b>Data Subject</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_CONSENT__DATA_SUBJECT = LAWFUL__DATA_SUBJECT;
+
+ /**
+ * The feature id for the '<em><b>Personal Data</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_CONSENT__PERSONAL_DATA = LAWFUL__PERSONAL_DATA;
+
+ /**
+ * The feature id for the '<em><b>Consent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_CONSENT__CONSENT = LAWFUL_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Lawful By Consent</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_CONSENT_FEATURE_COUNT = LAWFUL_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Lawful By Consent</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_CONSENT_OPERATION_COUNT = LAWFUL_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LawfulByContractImpl <em>Lawful By Contract</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LawfulByContractImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getLawfulByContract()
+ * @generated
+ */
+ int LAWFUL_BY_CONTRACT = 39;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_CONTRACT__BASE_NAMED_ELEMENT = LAWFUL__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Process</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_CONTRACT__PROCESS = LAWFUL__PROCESS;
+
+ /**
+ * The feature id for the '<em><b>Data Subject</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_CONTRACT__DATA_SUBJECT = LAWFUL__DATA_SUBJECT;
+
+ /**
+ * The feature id for the '<em><b>Personal Data</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_CONTRACT__PERSONAL_DATA = LAWFUL__PERSONAL_DATA;
+
+ /**
+ * The feature id for the '<em><b>Contract</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_CONTRACT__CONTRACT = LAWFUL_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Lawful By Contract</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_CONTRACT_FEATURE_COUNT = LAWFUL_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Lawful By Contract</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_CONTRACT_OPERATION_COUNT = LAWFUL_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LawfulByPublicInterestImpl <em>Lawful By Public Interest</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LawfulByPublicInterestImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getLawfulByPublicInterest()
+ * @generated
+ */
+ int LAWFUL_BY_PUBLIC_INTEREST = 40;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_PUBLIC_INTEREST__BASE_NAMED_ELEMENT = LAWFUL__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Process</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_PUBLIC_INTEREST__PROCESS = LAWFUL__PROCESS;
+
+ /**
+ * The feature id for the '<em><b>Data Subject</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_PUBLIC_INTEREST__DATA_SUBJECT = LAWFUL__DATA_SUBJECT;
+
+ /**
+ * The feature id for the '<em><b>Personal Data</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_PUBLIC_INTEREST__PERSONAL_DATA = LAWFUL__PERSONAL_DATA;
+
+ /**
+ * The feature id for the '<em><b>Public Interest</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_PUBLIC_INTEREST__PUBLIC_INTEREST = LAWFUL_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Lawful By Public Interest</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_PUBLIC_INTEREST_FEATURE_COUNT = LAWFUL_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Lawful By Public Interest</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_PUBLIC_INTEREST_OPERATION_COUNT = LAWFUL_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LawfulByLegitimateInterestImpl <em>Lawful By Legitimate Interest</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LawfulByLegitimateInterestImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getLawfulByLegitimateInterest()
+ * @generated
+ */
+ int LAWFUL_BY_LEGITIMATE_INTEREST = 41;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_LEGITIMATE_INTEREST__BASE_NAMED_ELEMENT = LAWFUL__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Process</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_LEGITIMATE_INTEREST__PROCESS = LAWFUL__PROCESS;
+
+ /**
+ * The feature id for the '<em><b>Data Subject</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_LEGITIMATE_INTEREST__DATA_SUBJECT = LAWFUL__DATA_SUBJECT;
+
+ /**
+ * The feature id for the '<em><b>Personal Data</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_LEGITIMATE_INTEREST__PERSONAL_DATA = LAWFUL__PERSONAL_DATA;
+
+ /**
+ * The feature id for the '<em><b>Legitimate Interest</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_LEGITIMATE_INTEREST__LEGITIMATE_INTEREST = LAWFUL_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Lawful By Legitimate Interest</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_LEGITIMATE_INTEREST_FEATURE_COUNT = LAWFUL_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Lawful By Legitimate Interest</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_LEGITIMATE_INTEREST_OPERATION_COUNT = LAWFUL_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LawfulByLegalObligationImpl <em>Lawful By Legal Obligation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LawfulByLegalObligationImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getLawfulByLegalObligation()
+ * @generated
+ */
+ int LAWFUL_BY_LEGAL_OBLIGATION = 42;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_LEGAL_OBLIGATION__BASE_NAMED_ELEMENT = LAWFUL__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Process</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_LEGAL_OBLIGATION__PROCESS = LAWFUL__PROCESS;
+
+ /**
+ * The feature id for the '<em><b>Data Subject</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_LEGAL_OBLIGATION__DATA_SUBJECT = LAWFUL__DATA_SUBJECT;
+
+ /**
+ * The feature id for the '<em><b>Personal Data</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_LEGAL_OBLIGATION__PERSONAL_DATA = LAWFUL__PERSONAL_DATA;
+
+ /**
+ * The feature id for the '<em><b>Legal Obligation</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_LEGAL_OBLIGATION__LEGAL_OBLIGATION = LAWFUL_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Lawful By Legal Obligation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_LEGAL_OBLIGATION_FEATURE_COUNT = LAWFUL_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Lawful By Legal Obligation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_LEGAL_OBLIGATION_OPERATION_COUNT = LAWFUL_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LawfulByVitalInterestImpl <em>Lawful By Vital Interest</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LawfulByVitalInterestImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getLawfulByVitalInterest()
+ * @generated
+ */
+ int LAWFUL_BY_VITAL_INTEREST = 43;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_VITAL_INTEREST__BASE_NAMED_ELEMENT = LAWFUL__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Process</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_VITAL_INTEREST__PROCESS = LAWFUL__PROCESS;
+
+ /**
+ * The feature id for the '<em><b>Data Subject</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_VITAL_INTEREST__DATA_SUBJECT = LAWFUL__DATA_SUBJECT;
+
+ /**
+ * The feature id for the '<em><b>Personal Data</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_VITAL_INTEREST__PERSONAL_DATA = LAWFUL__PERSONAL_DATA;
+
+ /**
+ * The feature id for the '<em><b>Vital Interest</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_VITAL_INTEREST__VITAL_INTEREST = LAWFUL_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Lawful By Vital Interest</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_VITAL_INTEREST_FEATURE_COUNT = LAWFUL_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Lawful By Vital Interest</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAWFUL_BY_VITAL_INTEREST_OPERATION_COUNT = LAWFUL_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkability <em>Linkability</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkability
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getLinkability()
+ * @generated
+ */
+ int LINKABILITY = 44;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.CollectionMethod <em>Collection Method</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.CollectionMethod
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getCollectionMethod()
+ * @generated
+ */
+ int COLLECTION_METHOD = 45;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Duration <em>Duration</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Duration
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getDuration()
+ * @generated
+ */
+ int DURATION = 46;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PseudonymKind <em>Pseudonym Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PseudonymKind
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getPseudonymKind()
+ * @generated
+ */
+ int PSEUDONYM_KIND = 47;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.ProcessRequirement <em>Process Requirement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Process Requirement</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.ProcessRequirement
+ * @generated
+ */
+ EClass getProcessRequirement();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.ProcessRequirement#getRequester <em>Requester</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Requester</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.ProcessRequirement#getRequester()
+ * @see #getProcessRequirement()
+ * @generated
+ */
+ EReference getProcessRequirement_Requester();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Stakeholder <em>Stakeholder</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Stakeholder</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Stakeholder
+ * @generated
+ */
+ EClass getStakeholder();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Stakeholder#getBase_NamedElement <em>Base Named Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Named Element</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Stakeholder#getBase_NamedElement()
+ * @see #getStakeholder()
+ * @generated
+ */
+ EReference getStakeholder_Base_NamedElement();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalDataRequirement <em>Personal Data Requirement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Personal Data Requirement</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalDataRequirement
+ * @generated
+ */
+ EClass getPersonalDataRequirement();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalDataRequirement#getSource <em>Source</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Source</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalDataRequirement#getSource()
+ * @see #getPersonalDataRequirement()
+ * @generated
+ */
+ EReference getPersonalDataRequirement_Source();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.GDPRPrinciple <em>GDPR Principle</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>GDPR Principle</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.GDPRPrinciple
+ * @generated
+ */
+ EClass getGDPRPrinciple();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.GDPRPrinciple#getBase_NamedElement <em>Base Named Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Named Element</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.GDPRPrinciple#getBase_NamedElement()
+ * @see #getGDPRPrinciple()
+ * @generated
+ */
+ EReference getGDPRPrinciple_Base_NamedElement();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.ProcessPrinciple <em>Process Principle</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Process Principle</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.ProcessPrinciple
+ * @generated
+ */
+ EClass getProcessPrinciple();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.ProcessPrinciple#getProcess <em>Process</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Process</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.ProcessPrinciple#getProcess()
+ * @see #getProcessPrinciple()
+ * @generated
+ */
+ EReference getProcessPrinciple_Process();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.ProcessPrinciple#getDataSubject <em>Data Subject</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Data Subject</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.ProcessPrinciple#getDataSubject()
+ * @see #getProcessPrinciple()
+ * @generated
+ */
+ EReference getProcessPrinciple_DataSubject();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.ProcessPrinciple#getPersonalData <em>Personal Data</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Personal Data</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.ProcessPrinciple#getPersonalData()
+ * @see #getProcessPrinciple()
+ * @generated
+ */
+ EReference getProcessPrinciple_PersonalData();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PurposePersonalDataPrinciple <em>Purpose Personal Data Principle</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Purpose Personal Data Principle</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PurposePersonalDataPrinciple
+ * @generated
+ */
+ EClass getPurposePersonalDataPrinciple();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PurposePersonalDataPrinciple#getPurpose <em>Purpose</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Purpose</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PurposePersonalDataPrinciple#getPurpose()
+ * @see #getPurposePersonalDataPrinciple()
+ * @generated
+ */
+ EReference getPurposePersonalDataPrinciple_Purpose();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PurposePersonalDataPrinciple#getPersonalData <em>Personal Data</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Personal Data</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PurposePersonalDataPrinciple#getPersonalData()
+ * @see #getPurposePersonalDataPrinciple()
+ * @generated
+ */
+ EReference getPurposePersonalDataPrinciple_PersonalData();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataMinimisation <em>Data Minimisation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Data Minimisation</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataMinimisation
+ * @generated
+ */
+ EClass getDataMinimisation();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PurposeLimitation <em>Purpose Limitation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Purpose Limitation</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PurposeLimitation
+ * @generated
+ */
+ EClass getPurposeLimitation();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Accuracy <em>Accuracy</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Accuracy</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Accuracy
+ * @generated
+ */
+ EClass getAccuracy();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.StorageLimitation <em>Storage Limitation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Storage Limitation</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.StorageLimitation
+ * @generated
+ */
+ EClass getStorageLimitation();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Lawful <em>Lawful</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Lawful</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Lawful
+ * @generated
+ */
+ EClass getLawful();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Fairly <em>Fairly</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Fairly</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Fairly
+ * @generated
+ */
+ EClass getFairly();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Transparency <em>Transparency</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Transparency</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Transparency
+ * @generated
+ */
+ EClass getTransparency();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.SecuritySafety <em>Security Safety</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Security Safety</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.SecuritySafety
+ * @generated
+ */
+ EClass getSecuritySafety();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.RelatedTo <em>Related To</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Related To</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.RelatedTo
+ * @generated
+ */
+ EClass getRelatedTo();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.RelatedTo#isSensitive <em>Sensitive</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Sensitive</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.RelatedTo#isSensitive()
+ * @see #getRelatedTo()
+ * @generated
+ */
+ EAttribute getRelatedTo_Sensitive();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.RelatedTo#getLinkability <em>Linkability</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Linkability</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.RelatedTo#getLinkability()
+ * @see #getRelatedTo()
+ * @generated
+ */
+ EAttribute getRelatedTo_Linkability();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.RelatedTo#getCollection <em>Collection</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Collection</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.RelatedTo#getCollection()
+ * @see #getRelatedTo()
+ * @generated
+ */
+ EAttribute getRelatedTo_Collection();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.RelatedTo#getBase_Element <em>Base Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Element</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.RelatedTo#getBase_Element()
+ * @see #getRelatedTo()
+ * @generated
+ */
+ EReference getRelatedTo_Base_Element();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AvailableAt <em>Available At</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Available At</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AvailableAt
+ * @generated
+ */
+ EClass getAvailableAt();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AvailableAt#getDuration <em>Duration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Duration</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AvailableAt#getDuration()
+ * @see #getAvailableAt()
+ * @generated
+ */
+ EAttribute getAvailableAt_Duration();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AvailableAt#getBase_Element <em>Base Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Element</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AvailableAt#getBase_Element()
+ * @see #getAvailableAt()
+ * @generated
+ */
+ EReference getAvailableAt_Base_Element();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DerivedFrom <em>Derived From</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Derived From</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DerivedFrom
+ * @generated
+ */
+ EClass getDerivedFrom();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DerivedFrom#getBase_Element <em>Base Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Element</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DerivedFrom#getBase_Element()
+ * @see #getDerivedFrom()
+ * @generated
+ */
+ EReference getDerivedFrom_Base_Element();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataRequirement <em>Data Requirement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Data Requirement</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataRequirement
+ * @generated
+ */
+ EClass getDataRequirement();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkable <em>Linkable</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Linkable</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkable
+ * @generated
+ */
+ EClass getLinkable();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkable#getDuration <em>Duration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Duration</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkable#getDuration()
+ * @see #getLinkable()
+ * @generated
+ */
+ EAttribute getLinkable_Duration();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkable#getLinkability <em>Linkability</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Linkability</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkable#getLinkability()
+ * @see #getLinkable()
+ * @generated
+ */
+ EAttribute getLinkable_Linkability();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkable#getBase_Element <em>Base Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Element</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkable#getBase_Element()
+ * @see #getLinkable()
+ * @generated
+ */
+ EReference getLinkable_Base_Element();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.GeneratedRequirements <em>Generated Requirements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Generated Requirements</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.GeneratedRequirements
+ * @generated
+ */
+ EClass getGeneratedRequirements();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.GeneratedRequirements#getBase_Package <em>Base Package</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Package</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.GeneratedRequirements#getBase_Package()
+ * @see #getGeneratedRequirements()
+ * @generated
+ */
+ EReference getGeneratedRequirements_Base_Package();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataFlowRequirement <em>Data Flow Requirement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Data Flow Requirement</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataFlowRequirement
+ * @generated
+ */
+ EClass getDataFlowRequirement();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataFlowRequirement#getBase_Activity <em>Base Activity</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Activity</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataFlowRequirement#getBase_Activity()
+ * @see #getDataFlowRequirement()
+ * @generated
+ */
+ EReference getDataFlowRequirement_Base_Activity();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataSubjects <em>Data Subjects</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Data Subjects</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataSubjects
+ * @generated
+ */
+ EClass getDataSubjects();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataSubjects#getBase_Package <em>Base Package</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Package</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataSubjects#getBase_Package()
+ * @see #getDataSubjects()
+ * @generated
+ */
+ EReference getDataSubjects_Base_Package();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataRequirements <em>Data Requirements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Data Requirements</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataRequirements
+ * @generated
+ */
+ EClass getDataRequirements();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataRequirements#getBase_Package <em>Base Package</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Package</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataRequirements#getBase_Package()
+ * @see #getDataRequirements()
+ * @generated
+ */
+ EReference getDataRequirements_Base_Package();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AvailableInformation <em>Available Information</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Available Information</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AvailableInformation
+ * @generated
+ */
+ EClass getAvailableInformation();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AvailableInformation#getBase_Package <em>Base Package</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Package</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AvailableInformation#getBase_Package()
+ * @see #getAvailableInformation()
+ * @generated
+ */
+ EReference getAvailableInformation_Base_Package();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AvailableInformation#getConcerns <em>Concerns</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Concerns</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AvailableInformation#getConcerns()
+ * @see #getAvailableInformation()
+ * @generated
+ */
+ EReference getAvailableInformation_Concerns();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalInformation <em>Personal Information</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Personal Information</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalInformation
+ * @generated
+ */
+ EClass getPersonalInformation();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalInformation#getBase_Package <em>Base Package</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Package</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalInformation#getBase_Package()
+ * @see #getPersonalInformation()
+ * @generated
+ */
+ EReference getPersonalInformation_Base_Package();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalInformation#getConcerns <em>Concerns</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Concerns</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalInformation#getConcerns()
+ * @see #getPersonalInformation()
+ * @generated
+ */
+ EReference getPersonalInformation_Concerns();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AvailableInformationContainer <em>Available Information Container</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Available Information Container</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AvailableInformationContainer
+ * @generated
+ */
+ EClass getAvailableInformationContainer();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AvailableInformationContainer#getBase_Package <em>Base Package</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Package</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AvailableInformationContainer#getBase_Package()
+ * @see #getAvailableInformationContainer()
+ * @generated
+ */
+ EReference getAvailableInformationContainer_Base_Package();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalInformationContainer <em>Personal Information Container</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Personal Information Container</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalInformationContainer
+ * @generated
+ */
+ EClass getPersonalInformationContainer();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalInformationContainer#getBase_Package <em>Base Package</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Package</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalInformationContainer#getBase_Package()
+ * @see #getPersonalInformationContainer()
+ * @generated
+ */
+ EReference getPersonalInformationContainer_Base_Package();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.UnlinkabilityRequirement <em>Unlinkability Requirement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Unlinkability Requirement</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.UnlinkabilityRequirement
+ * @generated
+ */
+ EClass getUnlinkabilityRequirement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.UnlinkabilityRequirement#getLinkability <em>Linkability</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Linkability</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.UnlinkabilityRequirement#getLinkability()
+ * @see #getUnlinkabilityRequirement()
+ * @generated
+ */
+ EAttribute getUnlinkabilityRequirement_Linkability();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PrivacyRequirement <em>Privacy Requirement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Privacy Requirement</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PrivacyRequirement
+ * @generated
+ */
+ EClass getPrivacyRequirement();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PrivacyRequirement#getBase_NamedElement <em>Base Named Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Named Element</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PrivacyRequirement#getBase_NamedElement()
+ * @see #getPrivacyRequirement()
+ * @generated
+ */
+ EReference getPrivacyRequirement_Base_NamedElement();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PrivacyRequirement#getDataSubject <em>Data Subject</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Data Subject</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PrivacyRequirement#getDataSubject()
+ * @see #getPrivacyRequirement()
+ * @generated
+ */
+ EReference getPrivacyRequirement_DataSubject();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PrivacyRequirement#getCounterstakeholders <em>Counterstakeholders</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Counterstakeholders</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PrivacyRequirement#getCounterstakeholders()
+ * @see #getPrivacyRequirement()
+ * @generated
+ */
+ EReference getPrivacyRequirement_Counterstakeholders();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PrivacyRequirement#getPersonalData <em>Personal Data</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Personal Data</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PrivacyRequirement#getPersonalData()
+ * @see #getPrivacyRequirement()
+ * @generated
+ */
+ EReference getPrivacyRequirement_PersonalData();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataUnlinkabilityRequirement <em>Data Unlinkability Requirement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Data Unlinkability Requirement</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataUnlinkabilityRequirement
+ * @generated
+ */
+ EClass getDataUnlinkabilityRequirement();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataUnlinkabilityRequirement#getLinks <em>Links</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Links</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataUnlinkabilityRequirement#getLinks()
+ * @see #getDataUnlinkabilityRequirement()
+ * @generated
+ */
+ EReference getDataUnlinkabilityRequirement_Links();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Controlers <em>Controlers</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Controlers</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Controlers
+ * @generated
+ */
+ EClass getControlers();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Controlers#getBase_Package <em>Base Package</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Package</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Controlers#getBase_Package()
+ * @see #getControlers()
+ * @generated
+ */
+ EReference getControlers_Base_Package();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Link <em>Link</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Link</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Link
+ * @generated
+ */
+ EClass getLink();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Link#getBase_NamedElement <em>Base Named Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Named Element</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Link#getBase_NamedElement()
+ * @see #getLink()
+ * @generated
+ */
+ EReference getLink_Base_NamedElement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Link#getLinkability <em>Linkability</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Linkability</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Link#getLinkability()
+ * @see #getLink()
+ * @generated
+ */
+ EAttribute getLink_Linkability();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.UndectabilityRequirement <em>Undectability Requirement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Undectability Requirement</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.UndectabilityRequirement
+ * @generated
+ */
+ EClass getUndectabilityRequirement();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PseudonimityRequirement <em>Pseudonimity Requirement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Pseudonimity Requirement</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PseudonimityRequirement
+ * @generated
+ */
+ EClass getPseudonimityRequirement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PseudonimityRequirement#getKind <em>Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Kind</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PseudonimityRequirement#getKind()
+ * @see #getPseudonimityRequirement()
+ * @generated
+ */
+ EAttribute getPseudonimityRequirement_Kind();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AnanomityRequirement <em>Ananomity Requirement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Ananomity Requirement</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AnanomityRequirement
+ * @generated
+ */
+ EClass getAnanomityRequirement();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataRecordRequirement <em>Data Record Requirement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Data Record Requirement</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataRecordRequirement
+ * @generated
+ */
+ EClass getDataRecordRequirement();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataRecordRequirement#getBase_DataStoreNode <em>Base Data Store Node</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Data Store Node</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataRecordRequirement#getBase_DataStoreNode()
+ * @see #getDataRecordRequirement()
+ * @generated
+ */
+ EReference getDataRecordRequirement_Base_DataStoreNode();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataRecordRequirement#getDataList <em>Data List</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Data List</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataRecordRequirement#getDataList()
+ * @see #getDataRecordRequirement()
+ * @generated
+ */
+ EReference getDataRecordRequirement_DataList();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.FunctionalRequirements <em>Functional Requirements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Functional Requirements</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.FunctionalRequirements
+ * @generated
+ */
+ EClass getFunctionalRequirements();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.FunctionalRequirements#getBase_Package <em>Base Package</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Package</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.FunctionalRequirements#getBase_Package()
+ * @see #getFunctionalRequirements()
+ * @generated
+ */
+ EReference getFunctionalRequirements_Base_Package();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.NonFunctionalRequirements <em>Non Functional Requirements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Non Functional Requirements</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.NonFunctionalRequirements
+ * @generated
+ */
+ EClass getNonFunctionalRequirements();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.NonFunctionalRequirements#getBase_Package <em>Base Package</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Package</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.NonFunctionalRequirements#getBase_Package()
+ * @see #getNonFunctionalRequirements()
+ * @generated
+ */
+ EReference getNonFunctionalRequirements_Base_Package();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByConsent <em>Lawful By Consent</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Lawful By Consent</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByConsent
+ * @generated
+ */
+ EClass getLawfulByConsent();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByConsent#getConsent <em>Consent</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Consent</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByConsent#getConsent()
+ * @see #getLawfulByConsent()
+ * @generated
+ */
+ EReference getLawfulByConsent_Consent();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByContract <em>Lawful By Contract</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Lawful By Contract</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByContract
+ * @generated
+ */
+ EClass getLawfulByContract();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByContract#getContract <em>Contract</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Contract</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByContract#getContract()
+ * @see #getLawfulByContract()
+ * @generated
+ */
+ EReference getLawfulByContract_Contract();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByPublicInterest <em>Lawful By Public Interest</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Lawful By Public Interest</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByPublicInterest
+ * @generated
+ */
+ EClass getLawfulByPublicInterest();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByPublicInterest#getPublicInterest <em>Public Interest</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Public Interest</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByPublicInterest#getPublicInterest()
+ * @see #getLawfulByPublicInterest()
+ * @generated
+ */
+ EReference getLawfulByPublicInterest_PublicInterest();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByLegitimateInterest <em>Lawful By Legitimate Interest</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Lawful By Legitimate Interest</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByLegitimateInterest
+ * @generated
+ */
+ EClass getLawfulByLegitimateInterest();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByLegitimateInterest#getLegitimateInterest <em>Legitimate Interest</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Legitimate Interest</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByLegitimateInterest#getLegitimateInterest()
+ * @see #getLawfulByLegitimateInterest()
+ * @generated
+ */
+ EReference getLawfulByLegitimateInterest_LegitimateInterest();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByLegalObligation <em>Lawful By Legal Obligation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Lawful By Legal Obligation</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByLegalObligation
+ * @generated
+ */
+ EClass getLawfulByLegalObligation();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByLegalObligation#getLegalObligation <em>Legal Obligation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Legal Obligation</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByLegalObligation#getLegalObligation()
+ * @see #getLawfulByLegalObligation()
+ * @generated
+ */
+ EReference getLawfulByLegalObligation_LegalObligation();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByVitalInterest <em>Lawful By Vital Interest</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Lawful By Vital Interest</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByVitalInterest
+ * @generated
+ */
+ EClass getLawfulByVitalInterest();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByVitalInterest#getVitalInterest <em>Vital Interest</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Vital Interest</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByVitalInterest#getVitalInterest()
+ * @see #getLawfulByVitalInterest()
+ * @generated
+ */
+ EReference getLawfulByVitalInterest_VitalInterest();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkability <em>Linkability</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Linkability</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkability
+ * @generated
+ */
+ EEnum getLinkability();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.CollectionMethod <em>Collection Method</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Collection Method</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.CollectionMethod
+ * @generated
+ */
+ EEnum getCollectionMethod();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Duration <em>Duration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Duration</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Duration
+ * @generated
+ */
+ EEnum getDuration();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PseudonymKind <em>Pseudonym Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Pseudonym Kind</em>'.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PseudonymKind
+ * @generated
+ */
+ EEnum getPseudonymKind();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ pdp4engReqGDPRFactory getpdp4engReqGDPRFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.ProcessRequirementImpl <em>Process Requirement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.ProcessRequirementImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getProcessRequirement()
+ * @generated
+ */
+ EClass PROCESS_REQUIREMENT = eINSTANCE.getProcessRequirement();
+
+ /**
+ * The meta object literal for the '<em><b>Requester</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PROCESS_REQUIREMENT__REQUESTER = eINSTANCE.getProcessRequirement_Requester();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.StakeholderImpl <em>Stakeholder</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.StakeholderImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getStakeholder()
+ * @generated
+ */
+ EClass STAKEHOLDER = eINSTANCE.getStakeholder();
+
+ /**
+ * The meta object literal for the '<em><b>Base Named Element</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference STAKEHOLDER__BASE_NAMED_ELEMENT = eINSTANCE.getStakeholder_Base_NamedElement();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.PersonalDataRequirementImpl <em>Personal Data Requirement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.PersonalDataRequirementImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getPersonalDataRequirement()
+ * @generated
+ */
+ EClass PERSONAL_DATA_REQUIREMENT = eINSTANCE.getPersonalDataRequirement();
+
+ /**
+ * The meta object literal for the '<em><b>Source</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PERSONAL_DATA_REQUIREMENT__SOURCE = eINSTANCE.getPersonalDataRequirement_Source();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.GDPRPrincipleImpl <em>GDPR Principle</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.GDPRPrincipleImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getGDPRPrinciple()
+ * @generated
+ */
+ EClass GDPR_PRINCIPLE = eINSTANCE.getGDPRPrinciple();
+
+ /**
+ * The meta object literal for the '<em><b>Base Named Element</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference GDPR_PRINCIPLE__BASE_NAMED_ELEMENT = eINSTANCE.getGDPRPrinciple_Base_NamedElement();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.ProcessPrincipleImpl <em>Process Principle</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.ProcessPrincipleImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getProcessPrinciple()
+ * @generated
+ */
+ EClass PROCESS_PRINCIPLE = eINSTANCE.getProcessPrinciple();
+
+ /**
+ * The meta object literal for the '<em><b>Process</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PROCESS_PRINCIPLE__PROCESS = eINSTANCE.getProcessPrinciple_Process();
+
+ /**
+ * The meta object literal for the '<em><b>Data Subject</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PROCESS_PRINCIPLE__DATA_SUBJECT = eINSTANCE.getProcessPrinciple_DataSubject();
+
+ /**
+ * The meta object literal for the '<em><b>Personal Data</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PROCESS_PRINCIPLE__PERSONAL_DATA = eINSTANCE.getProcessPrinciple_PersonalData();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.PurposePersonalDataPrincipleImpl <em>Purpose Personal Data Principle</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.PurposePersonalDataPrincipleImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getPurposePersonalDataPrinciple()
+ * @generated
+ */
+ EClass PURPOSE_PERSONAL_DATA_PRINCIPLE = eINSTANCE.getPurposePersonalDataPrinciple();
+
+ /**
+ * The meta object literal for the '<em><b>Purpose</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PURPOSE_PERSONAL_DATA_PRINCIPLE__PURPOSE = eINSTANCE.getPurposePersonalDataPrinciple_Purpose();
+
+ /**
+ * The meta object literal for the '<em><b>Personal Data</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PURPOSE_PERSONAL_DATA_PRINCIPLE__PERSONAL_DATA = eINSTANCE.getPurposePersonalDataPrinciple_PersonalData();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.DataMinimisationImpl <em>Data Minimisation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.DataMinimisationImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getDataMinimisation()
+ * @generated
+ */
+ EClass DATA_MINIMISATION = eINSTANCE.getDataMinimisation();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.PurposeLimitationImpl <em>Purpose Limitation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.PurposeLimitationImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getPurposeLimitation()
+ * @generated
+ */
+ EClass PURPOSE_LIMITATION = eINSTANCE.getPurposeLimitation();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.AccuracyImpl <em>Accuracy</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.AccuracyImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getAccuracy()
+ * @generated
+ */
+ EClass ACCURACY = eINSTANCE.getAccuracy();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.StorageLimitationImpl <em>Storage Limitation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.StorageLimitationImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getStorageLimitation()
+ * @generated
+ */
+ EClass STORAGE_LIMITATION = eINSTANCE.getStorageLimitation();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LawfulImpl <em>Lawful</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LawfulImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getLawful()
+ * @generated
+ */
+ EClass LAWFUL = eINSTANCE.getLawful();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.FairlyImpl <em>Fairly</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.FairlyImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getFairly()
+ * @generated
+ */
+ EClass FAIRLY = eINSTANCE.getFairly();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.TransparencyImpl <em>Transparency</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.TransparencyImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getTransparency()
+ * @generated
+ */
+ EClass TRANSPARENCY = eINSTANCE.getTransparency();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.SecuritySafetyImpl <em>Security Safety</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.SecuritySafetyImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getSecuritySafety()
+ * @generated
+ */
+ EClass SECURITY_SAFETY = eINSTANCE.getSecuritySafety();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.RelatedToImpl <em>Related To</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.RelatedToImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getRelatedTo()
+ * @generated
+ */
+ EClass RELATED_TO = eINSTANCE.getRelatedTo();
+
+ /**
+ * The meta object literal for the '<em><b>Sensitive</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute RELATED_TO__SENSITIVE = eINSTANCE.getRelatedTo_Sensitive();
+
+ /**
+ * The meta object literal for the '<em><b>Linkability</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute RELATED_TO__LINKABILITY = eINSTANCE.getRelatedTo_Linkability();
+
+ /**
+ * The meta object literal for the '<em><b>Collection</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute RELATED_TO__COLLECTION = eINSTANCE.getRelatedTo_Collection();
+
+ /**
+ * The meta object literal for the '<em><b>Base Element</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RELATED_TO__BASE_ELEMENT = eINSTANCE.getRelatedTo_Base_Element();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.AvailableAtImpl <em>Available At</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.AvailableAtImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getAvailableAt()
+ * @generated
+ */
+ EClass AVAILABLE_AT = eINSTANCE.getAvailableAt();
+
+ /**
+ * The meta object literal for the '<em><b>Duration</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute AVAILABLE_AT__DURATION = eINSTANCE.getAvailableAt_Duration();
+
+ /**
+ * The meta object literal for the '<em><b>Base Element</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference AVAILABLE_AT__BASE_ELEMENT = eINSTANCE.getAvailableAt_Base_Element();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.DerivedFromImpl <em>Derived From</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.DerivedFromImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getDerivedFrom()
+ * @generated
+ */
+ EClass DERIVED_FROM = eINSTANCE.getDerivedFrom();
+
+ /**
+ * The meta object literal for the '<em><b>Base Element</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DERIVED_FROM__BASE_ELEMENT = eINSTANCE.getDerivedFrom_Base_Element();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.DataRequirementImpl <em>Data Requirement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.DataRequirementImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getDataRequirement()
+ * @generated
+ */
+ EClass DATA_REQUIREMENT = eINSTANCE.getDataRequirement();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LinkableImpl <em>Linkable</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LinkableImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getLinkable()
+ * @generated
+ */
+ EClass LINKABLE = eINSTANCE.getLinkable();
+
+ /**
+ * The meta object literal for the '<em><b>Duration</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LINKABLE__DURATION = eINSTANCE.getLinkable_Duration();
+
+ /**
+ * The meta object literal for the '<em><b>Linkability</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LINKABLE__LINKABILITY = eINSTANCE.getLinkable_Linkability();
+
+ /**
+ * The meta object literal for the '<em><b>Base Element</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference LINKABLE__BASE_ELEMENT = eINSTANCE.getLinkable_Base_Element();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.GeneratedRequirementsImpl <em>Generated Requirements</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.GeneratedRequirementsImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getGeneratedRequirements()
+ * @generated
+ */
+ EClass GENERATED_REQUIREMENTS = eINSTANCE.getGeneratedRequirements();
+
+ /**
+ * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference GENERATED_REQUIREMENTS__BASE_PACKAGE = eINSTANCE.getGeneratedRequirements_Base_Package();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.DataFlowRequirementImpl <em>Data Flow Requirement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.DataFlowRequirementImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getDataFlowRequirement()
+ * @generated
+ */
+ EClass DATA_FLOW_REQUIREMENT = eINSTANCE.getDataFlowRequirement();
+
+ /**
+ * The meta object literal for the '<em><b>Base Activity</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DATA_FLOW_REQUIREMENT__BASE_ACTIVITY = eINSTANCE.getDataFlowRequirement_Base_Activity();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.DataSubjectsImpl <em>Data Subjects</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.DataSubjectsImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getDataSubjects()
+ * @generated
+ */
+ EClass DATA_SUBJECTS = eINSTANCE.getDataSubjects();
+
+ /**
+ * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DATA_SUBJECTS__BASE_PACKAGE = eINSTANCE.getDataSubjects_Base_Package();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.DataRequirementsImpl <em>Data Requirements</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.DataRequirementsImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getDataRequirements()
+ * @generated
+ */
+ EClass DATA_REQUIREMENTS = eINSTANCE.getDataRequirements();
+
+ /**
+ * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DATA_REQUIREMENTS__BASE_PACKAGE = eINSTANCE.getDataRequirements_Base_Package();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.AvailableInformationImpl <em>Available Information</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.AvailableInformationImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getAvailableInformation()
+ * @generated
+ */
+ EClass AVAILABLE_INFORMATION = eINSTANCE.getAvailableInformation();
+
+ /**
+ * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference AVAILABLE_INFORMATION__BASE_PACKAGE = eINSTANCE.getAvailableInformation_Base_Package();
+
+ /**
+ * The meta object literal for the '<em><b>Concerns</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference AVAILABLE_INFORMATION__CONCERNS = eINSTANCE.getAvailableInformation_Concerns();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.PersonalInformationImpl <em>Personal Information</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.PersonalInformationImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getPersonalInformation()
+ * @generated
+ */
+ EClass PERSONAL_INFORMATION = eINSTANCE.getPersonalInformation();
+
+ /**
+ * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PERSONAL_INFORMATION__BASE_PACKAGE = eINSTANCE.getPersonalInformation_Base_Package();
+
+ /**
+ * The meta object literal for the '<em><b>Concerns</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PERSONAL_INFORMATION__CONCERNS = eINSTANCE.getPersonalInformation_Concerns();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.AvailableInformationContainerImpl <em>Available Information Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.AvailableInformationContainerImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getAvailableInformationContainer()
+ * @generated
+ */
+ EClass AVAILABLE_INFORMATION_CONTAINER = eINSTANCE.getAvailableInformationContainer();
+
+ /**
+ * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference AVAILABLE_INFORMATION_CONTAINER__BASE_PACKAGE = eINSTANCE.getAvailableInformationContainer_Base_Package();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.PersonalInformationContainerImpl <em>Personal Information Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.PersonalInformationContainerImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getPersonalInformationContainer()
+ * @generated
+ */
+ EClass PERSONAL_INFORMATION_CONTAINER = eINSTANCE.getPersonalInformationContainer();
+
+ /**
+ * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PERSONAL_INFORMATION_CONTAINER__BASE_PACKAGE = eINSTANCE.getPersonalInformationContainer_Base_Package();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.UnlinkabilityRequirementImpl <em>Unlinkability Requirement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.UnlinkabilityRequirementImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getUnlinkabilityRequirement()
+ * @generated
+ */
+ EClass UNLINKABILITY_REQUIREMENT = eINSTANCE.getUnlinkabilityRequirement();
+
+ /**
+ * The meta object literal for the '<em><b>Linkability</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute UNLINKABILITY_REQUIREMENT__LINKABILITY = eINSTANCE.getUnlinkabilityRequirement_Linkability();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.PrivacyRequirementImpl <em>Privacy Requirement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.PrivacyRequirementImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getPrivacyRequirement()
+ * @generated
+ */
+ EClass PRIVACY_REQUIREMENT = eINSTANCE.getPrivacyRequirement();
+
+ /**
+ * The meta object literal for the '<em><b>Base Named Element</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PRIVACY_REQUIREMENT__BASE_NAMED_ELEMENT = eINSTANCE.getPrivacyRequirement_Base_NamedElement();
+
+ /**
+ * The meta object literal for the '<em><b>Data Subject</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PRIVACY_REQUIREMENT__DATA_SUBJECT = eINSTANCE.getPrivacyRequirement_DataSubject();
+
+ /**
+ * The meta object literal for the '<em><b>Counterstakeholders</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PRIVACY_REQUIREMENT__COUNTERSTAKEHOLDERS = eINSTANCE.getPrivacyRequirement_Counterstakeholders();
+
+ /**
+ * The meta object literal for the '<em><b>Personal Data</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PRIVACY_REQUIREMENT__PERSONAL_DATA = eINSTANCE.getPrivacyRequirement_PersonalData();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.DataUnlinkabilityRequirementImpl <em>Data Unlinkability Requirement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.DataUnlinkabilityRequirementImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getDataUnlinkabilityRequirement()
+ * @generated
+ */
+ EClass DATA_UNLINKABILITY_REQUIREMENT = eINSTANCE.getDataUnlinkabilityRequirement();
+
+ /**
+ * The meta object literal for the '<em><b>Links</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DATA_UNLINKABILITY_REQUIREMENT__LINKS = eINSTANCE.getDataUnlinkabilityRequirement_Links();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.ControlersImpl <em>Controlers</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.ControlersImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getControlers()
+ * @generated
+ */
+ EClass CONTROLERS = eINSTANCE.getControlers();
+
+ /**
+ * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CONTROLERS__BASE_PACKAGE = eINSTANCE.getControlers_Base_Package();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LinkImpl <em>Link</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LinkImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getLink()
+ * @generated
+ */
+ EClass LINK = eINSTANCE.getLink();
+
+ /**
+ * The meta object literal for the '<em><b>Base Named Element</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference LINK__BASE_NAMED_ELEMENT = eINSTANCE.getLink_Base_NamedElement();
+
+ /**
+ * The meta object literal for the '<em><b>Linkability</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LINK__LINKABILITY = eINSTANCE.getLink_Linkability();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.UndectabilityRequirementImpl <em>Undectability Requirement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.UndectabilityRequirementImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getUndectabilityRequirement()
+ * @generated
+ */
+ EClass UNDECTABILITY_REQUIREMENT = eINSTANCE.getUndectabilityRequirement();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.PseudonimityRequirementImpl <em>Pseudonimity Requirement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.PseudonimityRequirementImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getPseudonimityRequirement()
+ * @generated
+ */
+ EClass PSEUDONIMITY_REQUIREMENT = eINSTANCE.getPseudonimityRequirement();
+
+ /**
+ * The meta object literal for the '<em><b>Kind</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PSEUDONIMITY_REQUIREMENT__KIND = eINSTANCE.getPseudonimityRequirement_Kind();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.AnanomityRequirementImpl <em>Ananomity Requirement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.AnanomityRequirementImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getAnanomityRequirement()
+ * @generated
+ */
+ EClass ANANOMITY_REQUIREMENT = eINSTANCE.getAnanomityRequirement();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.DataRecordRequirementImpl <em>Data Record Requirement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.DataRecordRequirementImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getDataRecordRequirement()
+ * @generated
+ */
+ EClass DATA_RECORD_REQUIREMENT = eINSTANCE.getDataRecordRequirement();
+
+ /**
+ * The meta object literal for the '<em><b>Base Data Store Node</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DATA_RECORD_REQUIREMENT__BASE_DATA_STORE_NODE = eINSTANCE.getDataRecordRequirement_Base_DataStoreNode();
+
+ /**
+ * The meta object literal for the '<em><b>Data List</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DATA_RECORD_REQUIREMENT__DATA_LIST = eINSTANCE.getDataRecordRequirement_DataList();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.FunctionalRequirementsImpl <em>Functional Requirements</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.FunctionalRequirementsImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getFunctionalRequirements()
+ * @generated
+ */
+ EClass FUNCTIONAL_REQUIREMENTS = eINSTANCE.getFunctionalRequirements();
+
+ /**
+ * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FUNCTIONAL_REQUIREMENTS__BASE_PACKAGE = eINSTANCE.getFunctionalRequirements_Base_Package();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.NonFunctionalRequirementsImpl <em>Non Functional Requirements</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.NonFunctionalRequirementsImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getNonFunctionalRequirements()
+ * @generated
+ */
+ EClass NON_FUNCTIONAL_REQUIREMENTS = eINSTANCE.getNonFunctionalRequirements();
+
+ /**
+ * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference NON_FUNCTIONAL_REQUIREMENTS__BASE_PACKAGE = eINSTANCE.getNonFunctionalRequirements_Base_Package();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LawfulByConsentImpl <em>Lawful By Consent</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LawfulByConsentImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getLawfulByConsent()
+ * @generated
+ */
+ EClass LAWFUL_BY_CONSENT = eINSTANCE.getLawfulByConsent();
+
+ /**
+ * The meta object literal for the '<em><b>Consent</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference LAWFUL_BY_CONSENT__CONSENT = eINSTANCE.getLawfulByConsent_Consent();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LawfulByContractImpl <em>Lawful By Contract</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LawfulByContractImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getLawfulByContract()
+ * @generated
+ */
+ EClass LAWFUL_BY_CONTRACT = eINSTANCE.getLawfulByContract();
+
+ /**
+ * The meta object literal for the '<em><b>Contract</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference LAWFUL_BY_CONTRACT__CONTRACT = eINSTANCE.getLawfulByContract_Contract();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LawfulByPublicInterestImpl <em>Lawful By Public Interest</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LawfulByPublicInterestImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getLawfulByPublicInterest()
+ * @generated
+ */
+ EClass LAWFUL_BY_PUBLIC_INTEREST = eINSTANCE.getLawfulByPublicInterest();
+
+ /**
+ * The meta object literal for the '<em><b>Public Interest</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference LAWFUL_BY_PUBLIC_INTEREST__PUBLIC_INTEREST = eINSTANCE.getLawfulByPublicInterest_PublicInterest();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LawfulByLegitimateInterestImpl <em>Lawful By Legitimate Interest</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LawfulByLegitimateInterestImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getLawfulByLegitimateInterest()
+ * @generated
+ */
+ EClass LAWFUL_BY_LEGITIMATE_INTEREST = eINSTANCE.getLawfulByLegitimateInterest();
+
+ /**
+ * The meta object literal for the '<em><b>Legitimate Interest</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference LAWFUL_BY_LEGITIMATE_INTEREST__LEGITIMATE_INTEREST = eINSTANCE.getLawfulByLegitimateInterest_LegitimateInterest();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LawfulByLegalObligationImpl <em>Lawful By Legal Obligation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LawfulByLegalObligationImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getLawfulByLegalObligation()
+ * @generated
+ */
+ EClass LAWFUL_BY_LEGAL_OBLIGATION = eINSTANCE.getLawfulByLegalObligation();
+
+ /**
+ * The meta object literal for the '<em><b>Legal Obligation</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference LAWFUL_BY_LEGAL_OBLIGATION__LEGAL_OBLIGATION = eINSTANCE.getLawfulByLegalObligation_LegalObligation();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LawfulByVitalInterestImpl <em>Lawful By Vital Interest</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.LawfulByVitalInterestImpl
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getLawfulByVitalInterest()
+ * @generated
+ */
+ EClass LAWFUL_BY_VITAL_INTEREST = eINSTANCE.getLawfulByVitalInterest();
+
+ /**
+ * The meta object literal for the '<em><b>Vital Interest</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference LAWFUL_BY_VITAL_INTEREST__VITAL_INTEREST = eINSTANCE.getLawfulByVitalInterest_VitalInterest();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkability <em>Linkability</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkability
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getLinkability()
+ * @generated
+ */
+ EEnum LINKABILITY = eINSTANCE.getLinkability();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.CollectionMethod <em>Collection Method</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.CollectionMethod
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getCollectionMethod()
+ * @generated
+ */
+ EEnum COLLECTION_METHOD = eINSTANCE.getCollectionMethod();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Duration <em>Duration</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Duration
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getDuration()
+ * @generated
+ */
+ EEnum DURATION = eINSTANCE.getDuration();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PseudonymKind <em>Pseudonym Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PseudonymKind
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.impl.pdp4engReqGDPRPackageImpl#getPseudonymKind()
+ * @generated
+ */
+ EEnum PSEUDONYM_KIND = eINSTANCE.getPseudonymKind();
+
+ }
+
+} //pdp4engReqGDPRPackage
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/util/pdp4engReqGDPRAdapterFactory.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/util/pdp4engReqGDPRAdapterFactory.java
new file mode 100644
index 0000000..ce835f8
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/util/pdp4engReqGDPRAdapterFactory.java
@@ -0,0 +1,965 @@
+/**
+ * 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.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Data;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData;
+
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage
+ * @generated
+ */
+public class pdp4engReqGDPRAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static pdp4engReqGDPRPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public pdp4engReqGDPRAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = pdp4engReqGDPRPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected pdp4engReqGDPRSwitch<Adapter> modelSwitch =
+ new pdp4engReqGDPRSwitch<Adapter>() {
+ @Override
+ public Adapter caseProcessRequirement(ProcessRequirement object) {
+ return createProcessRequirementAdapter();
+ }
+ @Override
+ public Adapter caseStakeholder(Stakeholder object) {
+ return createStakeholderAdapter();
+ }
+ @Override
+ public Adapter casePersonalDataRequirement(PersonalDataRequirement object) {
+ return createPersonalDataRequirementAdapter();
+ }
+ @Override
+ public Adapter caseGDPRPrinciple(GDPRPrinciple object) {
+ return createGDPRPrincipleAdapter();
+ }
+ @Override
+ public Adapter caseProcessPrinciple(ProcessPrinciple object) {
+ return createProcessPrincipleAdapter();
+ }
+ @Override
+ public Adapter casePurposePersonalDataPrinciple(PurposePersonalDataPrinciple object) {
+ return createPurposePersonalDataPrincipleAdapter();
+ }
+ @Override
+ public Adapter caseDataMinimisation(DataMinimisation object) {
+ return createDataMinimisationAdapter();
+ }
+ @Override
+ public Adapter casePurposeLimitation(PurposeLimitation object) {
+ return createPurposeLimitationAdapter();
+ }
+ @Override
+ public Adapter caseAccuracy(Accuracy object) {
+ return createAccuracyAdapter();
+ }
+ @Override
+ public Adapter caseStorageLimitation(StorageLimitation object) {
+ return createStorageLimitationAdapter();
+ }
+ @Override
+ public Adapter caseLawful(Lawful object) {
+ return createLawfulAdapter();
+ }
+ @Override
+ public Adapter caseFairly(Fairly object) {
+ return createFairlyAdapter();
+ }
+ @Override
+ public Adapter caseTransparency(Transparency object) {
+ return createTransparencyAdapter();
+ }
+ @Override
+ public Adapter caseSecuritySafety(SecuritySafety object) {
+ return createSecuritySafetyAdapter();
+ }
+ @Override
+ public Adapter caseRelatedTo(RelatedTo object) {
+ return createRelatedToAdapter();
+ }
+ @Override
+ public Adapter caseAvailableAt(AvailableAt object) {
+ return createAvailableAtAdapter();
+ }
+ @Override
+ public Adapter caseDerivedFrom(DerivedFrom object) {
+ return createDerivedFromAdapter();
+ }
+ @Override
+ public Adapter caseDataRequirement(DataRequirement object) {
+ return createDataRequirementAdapter();
+ }
+ @Override
+ public Adapter caseLinkable(Linkable object) {
+ return createLinkableAdapter();
+ }
+ @Override
+ public Adapter caseGeneratedRequirements(GeneratedRequirements object) {
+ return createGeneratedRequirementsAdapter();
+ }
+ @Override
+ public Adapter caseDataFlowRequirement(DataFlowRequirement object) {
+ return createDataFlowRequirementAdapter();
+ }
+ @Override
+ public Adapter caseDataSubjects(DataSubjects object) {
+ return createDataSubjectsAdapter();
+ }
+ @Override
+ public Adapter caseDataRequirements(DataRequirements object) {
+ return createDataRequirementsAdapter();
+ }
+ @Override
+ public Adapter caseAvailableInformation(AvailableInformation object) {
+ return createAvailableInformationAdapter();
+ }
+ @Override
+ public Adapter casePersonalInformation(PersonalInformation object) {
+ return createPersonalInformationAdapter();
+ }
+ @Override
+ public Adapter caseAvailableInformationContainer(AvailableInformationContainer object) {
+ return createAvailableInformationContainerAdapter();
+ }
+ @Override
+ public Adapter casePersonalInformationContainer(PersonalInformationContainer object) {
+ return createPersonalInformationContainerAdapter();
+ }
+ @Override
+ public Adapter caseUnlinkabilityRequirement(UnlinkabilityRequirement object) {
+ return createUnlinkabilityRequirementAdapter();
+ }
+ @Override
+ public Adapter casePrivacyRequirement(PrivacyRequirement object) {
+ return createPrivacyRequirementAdapter();
+ }
+ @Override
+ public Adapter caseDataUnlinkabilityRequirement(DataUnlinkabilityRequirement object) {
+ return createDataUnlinkabilityRequirementAdapter();
+ }
+ @Override
+ public Adapter caseControlers(Controlers object) {
+ return createControlersAdapter();
+ }
+ @Override
+ public Adapter caseLink(Link object) {
+ return createLinkAdapter();
+ }
+ @Override
+ public Adapter caseUndectabilityRequirement(UndectabilityRequirement object) {
+ return createUndectabilityRequirementAdapter();
+ }
+ @Override
+ public Adapter casePseudonimityRequirement(PseudonimityRequirement object) {
+ return createPseudonimityRequirementAdapter();
+ }
+ @Override
+ public Adapter caseAnanomityRequirement(AnanomityRequirement object) {
+ return createAnanomityRequirementAdapter();
+ }
+ @Override
+ public Adapter caseDataRecordRequirement(DataRecordRequirement object) {
+ return createDataRecordRequirementAdapter();
+ }
+ @Override
+ public Adapter caseFunctionalRequirements(FunctionalRequirements object) {
+ return createFunctionalRequirementsAdapter();
+ }
+ @Override
+ public Adapter caseNonFunctionalRequirements(NonFunctionalRequirements object) {
+ return createNonFunctionalRequirementsAdapter();
+ }
+ @Override
+ public Adapter caseLawfulByConsent(LawfulByConsent object) {
+ return createLawfulByConsentAdapter();
+ }
+ @Override
+ public Adapter caseLawfulByContract(LawfulByContract object) {
+ return createLawfulByContractAdapter();
+ }
+ @Override
+ public Adapter caseLawfulByPublicInterest(LawfulByPublicInterest object) {
+ return createLawfulByPublicInterestAdapter();
+ }
+ @Override
+ public Adapter caseLawfulByLegitimateInterest(LawfulByLegitimateInterest object) {
+ return createLawfulByLegitimateInterestAdapter();
+ }
+ @Override
+ public Adapter caseLawfulByLegalObligation(LawfulByLegalObligation object) {
+ return createLawfulByLegalObligationAdapter();
+ }
+ @Override
+ public Adapter caseLawfulByVitalInterest(LawfulByVitalInterest object) {
+ return createLawfulByVitalInterestAdapter();
+ }
+ @Override
+ public Adapter caseProcess(org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process object) {
+ return createProcessAdapter();
+ }
+ @Override
+ public Adapter caseData(Data object) {
+ return createDataAdapter();
+ }
+ @Override
+ public Adapter casePersonalData(PersonalData object) {
+ return createPersonalDataAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.ProcessRequirement <em>Process Requirement</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.ProcessRequirement
+ * @generated
+ */
+ public Adapter createProcessRequirementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Stakeholder <em>Stakeholder</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Stakeholder
+ * @generated
+ */
+ public Adapter createStakeholderAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalDataRequirement <em>Personal Data Requirement</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalDataRequirement
+ * @generated
+ */
+ public Adapter createPersonalDataRequirementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.GDPRPrinciple <em>GDPR Principle</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.GDPRPrinciple
+ * @generated
+ */
+ public Adapter createGDPRPrincipleAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.ProcessPrinciple <em>Process Principle</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.ProcessPrinciple
+ * @generated
+ */
+ public Adapter createProcessPrincipleAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PurposePersonalDataPrinciple <em>Purpose Personal Data Principle</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PurposePersonalDataPrinciple
+ * @generated
+ */
+ public Adapter createPurposePersonalDataPrincipleAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataMinimisation <em>Data Minimisation</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataMinimisation
+ * @generated
+ */
+ public Adapter createDataMinimisationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PurposeLimitation <em>Purpose Limitation</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PurposeLimitation
+ * @generated
+ */
+ public Adapter createPurposeLimitationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Accuracy <em>Accuracy</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Accuracy
+ * @generated
+ */
+ public Adapter createAccuracyAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.StorageLimitation <em>Storage Limitation</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.StorageLimitation
+ * @generated
+ */
+ public Adapter createStorageLimitationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Lawful <em>Lawful</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Lawful
+ * @generated
+ */
+ public Adapter createLawfulAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Fairly <em>Fairly</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Fairly
+ * @generated
+ */
+ public Adapter createFairlyAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Transparency <em>Transparency</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Transparency
+ * @generated
+ */
+ public Adapter createTransparencyAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.SecuritySafety <em>Security Safety</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.SecuritySafety
+ * @generated
+ */
+ public Adapter createSecuritySafetyAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.RelatedTo <em>Related To</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.RelatedTo
+ * @generated
+ */
+ public Adapter createRelatedToAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AvailableAt <em>Available At</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AvailableAt
+ * @generated
+ */
+ public Adapter createAvailableAtAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DerivedFrom <em>Derived From</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DerivedFrom
+ * @generated
+ */
+ public Adapter createDerivedFromAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataRequirement <em>Data Requirement</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataRequirement
+ * @generated
+ */
+ public Adapter createDataRequirementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkable <em>Linkable</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Linkable
+ * @generated
+ */
+ public Adapter createLinkableAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.GeneratedRequirements <em>Generated Requirements</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.GeneratedRequirements
+ * @generated
+ */
+ public Adapter createGeneratedRequirementsAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataFlowRequirement <em>Data Flow Requirement</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataFlowRequirement
+ * @generated
+ */
+ public Adapter createDataFlowRequirementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataSubjects <em>Data Subjects</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataSubjects
+ * @generated
+ */
+ public Adapter createDataSubjectsAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataRequirements <em>Data Requirements</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataRequirements
+ * @generated
+ */
+ public Adapter createDataRequirementsAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AvailableInformation <em>Available Information</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AvailableInformation
+ * @generated
+ */
+ public Adapter createAvailableInformationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalInformation <em>Personal Information</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalInformation
+ * @generated
+ */
+ public Adapter createPersonalInformationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AvailableInformationContainer <em>Available Information Container</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AvailableInformationContainer
+ * @generated
+ */
+ public Adapter createAvailableInformationContainerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalInformationContainer <em>Personal Information Container</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PersonalInformationContainer
+ * @generated
+ */
+ public Adapter createPersonalInformationContainerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.UnlinkabilityRequirement <em>Unlinkability Requirement</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.UnlinkabilityRequirement
+ * @generated
+ */
+ public Adapter createUnlinkabilityRequirementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PrivacyRequirement <em>Privacy Requirement</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PrivacyRequirement
+ * @generated
+ */
+ public Adapter createPrivacyRequirementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataUnlinkabilityRequirement <em>Data Unlinkability Requirement</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataUnlinkabilityRequirement
+ * @generated
+ */
+ public Adapter createDataUnlinkabilityRequirementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Controlers <em>Controlers</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Controlers
+ * @generated
+ */
+ public Adapter createControlersAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Link <em>Link</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.Link
+ * @generated
+ */
+ public Adapter createLinkAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.UndectabilityRequirement <em>Undectability Requirement</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.UndectabilityRequirement
+ * @generated
+ */
+ public Adapter createUndectabilityRequirementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PseudonimityRequirement <em>Pseudonimity Requirement</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.PseudonimityRequirement
+ * @generated
+ */
+ public Adapter createPseudonimityRequirementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AnanomityRequirement <em>Ananomity Requirement</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.AnanomityRequirement
+ * @generated
+ */
+ public Adapter createAnanomityRequirementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataRecordRequirement <em>Data Record Requirement</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.DataRecordRequirement
+ * @generated
+ */
+ public Adapter createDataRecordRequirementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.FunctionalRequirements <em>Functional Requirements</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.FunctionalRequirements
+ * @generated
+ */
+ public Adapter createFunctionalRequirementsAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.NonFunctionalRequirements <em>Non Functional Requirements</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.NonFunctionalRequirements
+ * @generated
+ */
+ public Adapter createNonFunctionalRequirementsAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByConsent <em>Lawful By Consent</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByConsent
+ * @generated
+ */
+ public Adapter createLawfulByConsentAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByContract <em>Lawful By Contract</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByContract
+ * @generated
+ */
+ public Adapter createLawfulByContractAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByPublicInterest <em>Lawful By Public Interest</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByPublicInterest
+ * @generated
+ */
+ public Adapter createLawfulByPublicInterestAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByLegitimateInterest <em>Lawful By Legitimate Interest</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByLegitimateInterest
+ * @generated
+ */
+ public Adapter createLawfulByLegitimateInterestAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByLegalObligation <em>Lawful By Legal Obligation</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByLegalObligation
+ * @generated
+ */
+ public Adapter createLawfulByLegalObligationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByVitalInterest <em>Lawful By Vital Interest</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.LawfulByVitalInterest
+ * @generated
+ */
+ public Adapter createLawfulByVitalInterestAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process <em>Process</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process
+ * @generated
+ */
+ public Adapter createProcessAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Data <em>Data</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Data
+ * @generated
+ */
+ public Adapter createDataAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData <em>Personal Data</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData
+ * @generated
+ */
+ public Adapter createPersonalDataAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //pdp4engReqGDPRAdapterFactory
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/util/pdp4engReqGDPRSwitch.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/util/pdp4engReqGDPRSwitch.java
new file mode 100644
index 0000000..c272dde
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.profile/src/org/eclipse/papyrus/pdp4eng/req/profile/pdp4engReqGDPR/util/pdp4engReqGDPRSwitch.java
@@ -0,0 +1,1122 @@
+/**
+ * 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.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Data;
+import org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.PersonalData;
+
+import org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.pdp4eng.req.profile.pdp4engReqGDPR.pdp4engReqGDPRPackage
+ * @generated
+ */
+public class pdp4engReqGDPRSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static pdp4engReqGDPRPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public pdp4engReqGDPRSwitch() {
+ if (modelPackage == null) {
+ modelPackage = pdp4engReqGDPRPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case pdp4engReqGDPRPackage.PROCESS_REQUIREMENT: {
+ ProcessRequirement processRequirement = (ProcessRequirement)theEObject;
+ T result = caseProcessRequirement(processRequirement);
+ if (result == null) result = caseProcess(processRequirement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.STAKEHOLDER: {
+ Stakeholder stakeholder = (Stakeholder)theEObject;
+ T result = caseStakeholder(stakeholder);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.PERSONAL_DATA_REQUIREMENT: {
+ PersonalDataRequirement personalDataRequirement = (PersonalDataRequirement)theEObject;
+ T result = casePersonalDataRequirement(personalDataRequirement);
+ if (result == null) result = casePersonalData(personalDataRequirement);
+ if (result == null) result = caseData(personalDataRequirement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.GDPR_PRINCIPLE: {
+ GDPRPrinciple gdprPrinciple = (GDPRPrinciple)theEObject;
+ T result = caseGDPRPrinciple(gdprPrinciple);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.PROCESS_PRINCIPLE: {
+ ProcessPrinciple processPrinciple = (ProcessPrinciple)theEObject;
+ T result = caseProcessPrinciple(processPrinciple);
+ if (result == null) result = caseGDPRPrinciple(processPrinciple);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.PURPOSE_PERSONAL_DATA_PRINCIPLE: {
+ PurposePersonalDataPrinciple purposePersonalDataPrinciple = (PurposePersonalDataPrinciple)theEObject;
+ T result = casePurposePersonalDataPrinciple(purposePersonalDataPrinciple);
+ if (result == null) result = caseGDPRPrinciple(purposePersonalDataPrinciple);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.DATA_MINIMISATION: {
+ DataMinimisation dataMinimisation = (DataMinimisation)theEObject;
+ T result = caseDataMinimisation(dataMinimisation);
+ if (result == null) result = casePurposePersonalDataPrinciple(dataMinimisation);
+ if (result == null) result = caseGDPRPrinciple(dataMinimisation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.PURPOSE_LIMITATION: {
+ PurposeLimitation purposeLimitation = (PurposeLimitation)theEObject;
+ T result = casePurposeLimitation(purposeLimitation);
+ if (result == null) result = casePurposePersonalDataPrinciple(purposeLimitation);
+ if (result == null) result = caseGDPRPrinciple(purposeLimitation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.ACCURACY: {
+ Accuracy accuracy = (Accuracy)theEObject;
+ T result = caseAccuracy(accuracy);
+ if (result == null) result = casePurposePersonalDataPrinciple(accuracy);
+ if (result == null) result = caseGDPRPrinciple(accuracy);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.STORAGE_LIMITATION: {
+ StorageLimitation storageLimitation = (StorageLimitation)theEObject;
+ T result = caseStorageLimitation(storageLimitation);
+ if (result == null) result = casePurposePersonalDataPrinciple(storageLimitation);
+ if (result == null) result = caseGDPRPrinciple(storageLimitation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.LAWFUL: {
+ Lawful lawful = (Lawful)theEObject;
+ T result = caseLawful(lawful);
+ if (result == null) result = caseProcessPrinciple(lawful);
+ if (result == null) result = caseGDPRPrinciple(lawful);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.FAIRLY: {
+ Fairly fairly = (Fairly)theEObject;
+ T result = caseFairly(fairly);
+ if (result == null) result = caseProcessPrinciple(fairly);
+ if (result == null) result = caseGDPRPrinciple(fairly);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.TRANSPARENCY: {
+ Transparency transparency = (Transparency)theEObject;
+ T result = caseTransparency(transparency);
+ if (result == null) result = caseProcessPrinciple(transparency);
+ if (result == null) result = caseGDPRPrinciple(transparency);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.SECURITY_SAFETY: {
+ SecuritySafety securitySafety = (SecuritySafety)theEObject;
+ T result = caseSecuritySafety(securitySafety);
+ if (result == null) result = caseProcessPrinciple(securitySafety);
+ if (result == null) result = caseGDPRPrinciple(securitySafety);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.RELATED_TO: {
+ RelatedTo relatedTo = (RelatedTo)theEObject;
+ T result = caseRelatedTo(relatedTo);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.AVAILABLE_AT: {
+ AvailableAt availableAt = (AvailableAt)theEObject;
+ T result = caseAvailableAt(availableAt);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.DERIVED_FROM: {
+ DerivedFrom derivedFrom = (DerivedFrom)theEObject;
+ T result = caseDerivedFrom(derivedFrom);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.DATA_REQUIREMENT: {
+ DataRequirement dataRequirement = (DataRequirement)theEObject;
+ T result = caseDataRequirement(dataRequirement);
+ if (result == null) result = caseData(dataRequirement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.LINKABLE: {
+ Linkable linkable = (Linkable)theEObject;
+ T result = caseLinkable(linkable);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.GENERATED_REQUIREMENTS: {
+ GeneratedRequirements generatedRequirements = (GeneratedRequirements)theEObject;
+ T result = caseGeneratedRequirements(generatedRequirements);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.DATA_FLOW_REQUIREMENT: {
+ DataFlowRequirement dataFlowRequirement = (DataFlowRequirement)theEObject;
+ T result = caseDataFlowRequirement(dataFlowRequirement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.DATA_SUBJECTS: {
+ DataSubjects dataSubjects = (DataSubjects)theEObject;
+ T result = caseDataSubjects(dataSubjects);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.DATA_REQUIREMENTS: {
+ DataRequirements dataRequirements = (DataRequirements)theEObject;
+ T result = caseDataRequirements(dataRequirements);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.AVAILABLE_INFORMATION: {
+ AvailableInformation availableInformation = (AvailableInformation)theEObject;
+ T result = caseAvailableInformation(availableInformation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.PERSONAL_INFORMATION: {
+ PersonalInformation personalInformation = (PersonalInformation)theEObject;
+ T result = casePersonalInformation(personalInformation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.AVAILABLE_INFORMATION_CONTAINER: {
+ AvailableInformationContainer availableInformationContainer = (AvailableInformationContainer)theEObject;
+ T result = caseAvailableInformationContainer(availableInformationContainer);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.PERSONAL_INFORMATION_CONTAINER: {
+ PersonalInformationContainer personalInformationContainer = (PersonalInformationContainer)theEObject;
+ T result = casePersonalInformationContainer(personalInformationContainer);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.UNLINKABILITY_REQUIREMENT: {
+ UnlinkabilityRequirement unlinkabilityRequirement = (UnlinkabilityRequirement)theEObject;
+ T result = caseUnlinkabilityRequirement(unlinkabilityRequirement);
+ if (result == null) result = casePrivacyRequirement(unlinkabilityRequirement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.PRIVACY_REQUIREMENT: {
+ PrivacyRequirement privacyRequirement = (PrivacyRequirement)theEObject;
+ T result = casePrivacyRequirement(privacyRequirement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.DATA_UNLINKABILITY_REQUIREMENT: {
+ DataUnlinkabilityRequirement dataUnlinkabilityRequirement = (DataUnlinkabilityRequirement)theEObject;
+ T result = caseDataUnlinkabilityRequirement(dataUnlinkabilityRequirement);
+ if (result == null) result = caseUnlinkabilityRequirement(dataUnlinkabilityRequirement);
+ if (result == null) result = casePrivacyRequirement(dataUnlinkabilityRequirement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.CONTROLERS: {
+ Controlers controlers = (Controlers)theEObject;
+ T result = caseControlers(controlers);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.LINK: {
+ Link link = (Link)theEObject;
+ T result = caseLink(link);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.UNDECTABILITY_REQUIREMENT: {
+ UndectabilityRequirement undectabilityRequirement = (UndectabilityRequirement)theEObject;
+ T result = caseUndectabilityRequirement(undectabilityRequirement);
+ if (result == null) result = casePrivacyRequirement(undectabilityRequirement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.PSEUDONIMITY_REQUIREMENT: {
+ PseudonimityRequirement pseudonimityRequirement = (PseudonimityRequirement)theEObject;
+ T result = casePseudonimityRequirement(pseudonimityRequirement);
+ if (result == null) result = casePrivacyRequirement(pseudonimityRequirement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.ANANOMITY_REQUIREMENT: {
+ AnanomityRequirement ananomityRequirement = (AnanomityRequirement)theEObject;
+ T result = caseAnanomityRequirement(ananomityRequirement);
+ if (result == null) result = caseUnlinkabilityRequirement(ananomityRequirement);
+ if (result == null) result = casePrivacyRequirement(ananomityRequirement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.DATA_RECORD_REQUIREMENT: {
+ DataRecordRequirement dataRecordRequirement = (DataRecordRequirement)theEObject;
+ T result = caseDataRecordRequirement(dataRecordRequirement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.FUNCTIONAL_REQUIREMENTS: {
+ FunctionalRequirements functionalRequirements = (FunctionalRequirements)theEObject;
+ T result = caseFunctionalRequirements(functionalRequirements);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.NON_FUNCTIONAL_REQUIREMENTS: {
+ NonFunctionalRequirements nonFunctionalRequirements = (NonFunctionalRequirements)theEObject;
+ T result = caseNonFunctionalRequirements(nonFunctionalRequirements);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.LAWFUL_BY_CONSENT: {
+ LawfulByConsent lawfulByConsent = (LawfulByConsent)theEObject;
+ T result = caseLawfulByConsent(lawfulByConsent);
+ if (result == null) result = caseLawful(lawfulByConsent);
+ if (result == null) result = caseProcessPrinciple(lawfulByConsent);
+ if (result == null) result = caseGDPRPrinciple(lawfulByConsent);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.LAWFUL_BY_CONTRACT: {
+ LawfulByContract lawfulByContract = (LawfulByContract)theEObject;
+ T result = caseLawfulByContract(lawfulByContract);
+ if (result == null) result = caseLawful(lawfulByContract);
+ if (result == null) result = caseProcessPrinciple(lawfulByContract);
+ if (result == null) result = caseGDPRPrinciple(lawfulByContract);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.LAWFUL_BY_PUBLIC_INTEREST: {
+ LawfulByPublicInterest lawfulByPublicInterest = (LawfulByPublicInterest)theEObject;
+ T result = caseLawfulByPublicInterest(lawfulByPublicInterest);
+ if (result == null) result = caseLawful(lawfulByPublicInterest);
+ if (result == null) result = caseProcessPrinciple(lawfulByPublicInterest);
+ if (result == null) result = caseGDPRPrinciple(lawfulByPublicInterest);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.LAWFUL_BY_LEGITIMATE_INTEREST: {
+ LawfulByLegitimateInterest lawfulByLegitimateInterest = (LawfulByLegitimateInterest)theEObject;
+ T result = caseLawfulByLegitimateInterest(lawfulByLegitimateInterest);
+ if (result == null) result = caseLawful(lawfulByLegitimateInterest);
+ if (result == null) result = caseProcessPrinciple(lawfulByLegitimateInterest);
+ if (result == null) result = caseGDPRPrinciple(lawfulByLegitimateInterest);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.LAWFUL_BY_LEGAL_OBLIGATION: {
+ LawfulByLegalObligation lawfulByLegalObligation = (LawfulByLegalObligation)theEObject;
+ T result = caseLawfulByLegalObligation(lawfulByLegalObligation);
+ if (result == null) result = caseLawful(lawfulByLegalObligation);
+ if (result == null) result = caseProcessPrinciple(lawfulByLegalObligation);
+ if (result == null) result = caseGDPRPrinciple(lawfulByLegalObligation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case pdp4engReqGDPRPackage.LAWFUL_BY_VITAL_INTEREST: {
+ LawfulByVitalInterest lawfulByVitalInterest = (LawfulByVitalInterest)theEObject;
+ T result = caseLawfulByVitalInterest(lawfulByVitalInterest);
+ if (result == null) result = caseLawful(lawfulByVitalInterest);
+ if (result == null) result = caseProcessPrinciple(lawfulByVitalInterest);
+ if (result == null) result = caseGDPRPrinciple(lawfulByVitalInterest);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Process Requirement</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Process Requirement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseProcessRequirement(ProcessRequirement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Stakeholder</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Stakeholder</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStakeholder(Stakeholder object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Personal Data Requirement</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Personal Data Requirement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePersonalDataRequirement(PersonalDataRequirement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>GDPR Principle</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>GDPR Principle</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseGDPRPrinciple(GDPRPrinciple object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Process Principle</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Process Principle</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseProcessPrinciple(ProcessPrinciple object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Purpose Personal Data Principle</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Purpose Personal Data Principle</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePurposePersonalDataPrinciple(PurposePersonalDataPrinciple object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Data Minimisation</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Data Minimisation</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDataMinimisation(DataMinimisation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Purpose Limitation</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Purpose Limitation</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePurposeLimitation(PurposeLimitation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Accuracy</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Accuracy</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAccuracy(Accuracy object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Storage Limitation</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Storage Limitation</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStorageLimitation(StorageLimitation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Lawful</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Lawful</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLawful(Lawful object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Fairly</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Fairly</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFairly(Fairly object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Transparency</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Transparency</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTransparency(Transparency object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Security Safety</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Security Safety</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSecuritySafety(SecuritySafety object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Related To</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Related To</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRelatedTo(RelatedTo object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Available At</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Available At</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAvailableAt(AvailableAt object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Derived From</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Derived From</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDerivedFrom(DerivedFrom object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Data Requirement</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Data Requirement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDataRequirement(DataRequirement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Linkable</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Linkable</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLinkable(Linkable object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Generated Requirements</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Generated Requirements</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseGeneratedRequirements(GeneratedRequirements object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Data Flow Requirement</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Data Flow Requirement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDataFlowRequirement(DataFlowRequirement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Data Subjects</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Data Subjects</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDataSubjects(DataSubjects object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Data Requirements</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Data Requirements</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDataRequirements(DataRequirements object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Available Information</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Available Information</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAvailableInformation(AvailableInformation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Personal Information</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Personal Information</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePersonalInformation(PersonalInformation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Available Information Container</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Available Information Container</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAvailableInformationContainer(AvailableInformationContainer object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Personal Information Container</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Personal Information Container</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePersonalInformationContainer(PersonalInformationContainer object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Unlinkability Requirement</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Unlinkability Requirement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseUnlinkabilityRequirement(UnlinkabilityRequirement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Privacy Requirement</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Privacy Requirement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePrivacyRequirement(PrivacyRequirement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Data Unlinkability Requirement</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Data Unlinkability Requirement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDataUnlinkabilityRequirement(DataUnlinkabilityRequirement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Controlers</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Controlers</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseControlers(Controlers object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Link</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Link</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLink(Link object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Undectability Requirement</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Undectability Requirement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseUndectabilityRequirement(UndectabilityRequirement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Pseudonimity Requirement</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Pseudonimity Requirement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePseudonimityRequirement(PseudonimityRequirement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Ananomity Requirement</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Ananomity Requirement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAnanomityRequirement(AnanomityRequirement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Data Record Requirement</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Data Record Requirement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDataRecordRequirement(DataRecordRequirement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Functional Requirements</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Functional Requirements</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFunctionalRequirements(FunctionalRequirements object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Non Functional Requirements</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Non Functional Requirements</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNonFunctionalRequirements(NonFunctionalRequirements object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Lawful By Consent</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Lawful By Consent</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLawfulByConsent(LawfulByConsent object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Lawful By Contract</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Lawful By Contract</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLawfulByContract(LawfulByContract object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Lawful By Public Interest</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Lawful By Public Interest</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLawfulByPublicInterest(LawfulByPublicInterest object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Lawful By Legitimate Interest</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Lawful By Legitimate Interest</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLawfulByLegitimateInterest(LawfulByLegitimateInterest object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Lawful By Legal Obligation</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Lawful By Legal Obligation</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLawfulByLegalObligation(LawfulByLegalObligation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Lawful By Vital Interest</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Lawful By Vital Interest</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLawfulByVitalInterest(LawfulByVitalInterest object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Process</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Process</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseProcess(org.eclipse.papyrus.pdp4eng.common.profile.pdp4engCommonGDPR.Process object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Data</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Data</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseData(Data object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Personal Data</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Personal Data</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePersonalData(PersonalData object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //pdp4engReqGDPRSwitch
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/.classpath b/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/.classpath
new file mode 100644
index 0000000..eca7bdb
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/.project b/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/.project
new file mode 100644
index 0000000..c9d989a
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.pdp4eng.req.ui</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0c68a61
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/META-INF/MANIFEST.MF b/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..cced042
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,20 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.pdp4eng.req.ui;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Vendor: %providerName
+Automatic-Module-Name: org.eclipse.papyrus.pdp4eng.req.ui
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.eclipse.papyrus.requirements.sysml14.common;bundle-version="[0.7.0,1.0.0)",
+ org.eclipse.uml2.uml;bundle-version="[5.5.0,6.0.0)",
+ org.eclipse.papyrus.requirements.sysml14.assistant.commands;bundle-version="[0.8.0,1.0.0)",
+ org.eclipse.core.commands;bundle-version="[3.9.700,4.0.0)",
+ org.eclipse.emf.transaction;bundle-version="[1.9.1,2.0.0)",
+ org.eclipse.papyrus.pdp4eng.req.gdprananalysis;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.ui.workbench;bundle-version="[3.119.0,4.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.css;bundle-version="[2.4.0,3.0.0)"
+Bundle-ActivationPolicy: lazy
+Export-Package: org.eclipse.papyrus.pdp4eng.req.ui
+Bundle-Activator: org.eclipse.papyrus.pdp4eng.req.ui.Activator
+Bundle-Localization: plugin
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/about.html b/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/about.html
new file mode 100644
index 0000000..3e183aa
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>November 30, 2017</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in ("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.ui/build.properties b/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/build.properties
new file mode 100644
index 0000000..36f7a94
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/build.properties
@@ -0,0 +1,8 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml,\
+ icons/,\
+ build.properties,\
+ styles/
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/icons/PDP-16x16.png b/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/icons/PDP-16x16.png
new file mode 100644
index 0000000..3885ad5
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/icons/PDP-16x16.png
Binary files differ
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/icons/working.png b/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/icons/working.png
new file mode 100644
index 0000000..413dfc8
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/icons/working.png
Binary files differ
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/plugin.properties b/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/plugin.properties
new file mode 100644
index 0000000..ca41e6b
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/plugin.properties
@@ -0,0 +1,16 @@
+#################################################################################
+# Copyright (c) 2020 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/
+#
+# SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+# Patrick Tessier - initial API and implementation
+# Gabriel Pedroza - initial API and implementation
+##################################################################################
+
+pluginName = pdp4eng Req UI
+providerName = Eclipse Modeling Project
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/plugin.xml b/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/plugin.xml
new file mode 100644
index 0000000..0795287
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/plugin.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+ <extension
+ point="org.eclipse.papyrus.uml.extensionpoints.UMLProfile">
+ <profile
+ description="Profile to specify GDPR requirement"
+ iconpath="icons/PDP-16x16.png"
+ name="GDPR Requirement"
+ path="pathmap://PDP4ENG-REQ/pdp4engReqGDPR.profile.uml"
+ provider="CEA LIST">
+ </profile>
+ </extension>
+
+ <extension
+ point="org.eclipse.ui.menus">
+ <menuContribution
+ allPopups="false"
+ locationURI="popup:org.eclipse.gmf.runtime.diagram.ui.DiagramEditorContextMenu?after=filtersMenu">
+ <menu
+ icon="icons/PDP-16x16.png"
+ id="org.eclipse.papyrus.pdp4eng.req.menu"
+ label="PDP4Eng Req"
+ tooltip="PDP4Eng Req">
+ <visibleWhen>
+ <with
+ variable="activeEditorId">
+ <equals
+ value="org.eclipse.papyrus.infra.core.papyrusEditor">
+ </equals>
+ </with>
+ </visibleWhen>
+ </menu>
+ </menuContribution>
+ <menuContribution
+ allPopups="false"
+ locationURI="popup:org.eclipse.papyrus.views.modelexplorer.modelexplorer.popup">
+ <menu
+ icon="icons/PDP-16x16.png"
+ id="org.eclipse.papyrus.pdp4eng.req.menu"
+ label="PDP4Eng Req"
+ tooltip="PDP4Eng Req">
+ </menu>
+ </menuContribution>
+ </extension>
+
+
+
+ <extension
+ point="org.eclipse.ui.menus">
+ <menuContribution
+ allPopups="false"
+ locationURI="popup:org.eclipse.papyrus.pdp4eng.req.menu">
+ <command
+ commandId="org.eclipse.papyrus.pdp4eng.req.ui.GenerateGDPRRequirementHandler.command"
+ icon="icons/working.png"
+ id="testReq.popup"
+ label="Generate GDPR Requirements"
+ style="push"
+ tooltip="Generate GDPR Requirements">
+ <visibleWhen
+ checkEnabled="true">
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <extension
+ point="org.eclipse.ui.commands">
+ <command
+ categoryId="org.eclipse.papyrus.editor.category"
+ defaultHandler="org.eclipse.papyrus.pdp4eng.req.ui.GenerateGDPRRequirementHandler"
+ id="org.eclipse.papyrus.pdp4eng.req.ui.GenerateGDPRRequirementHandler.command"
+ name="generate Req">
+ </command>
+ </extension>
+ <extension
+ point="org.eclipse.ui.startup">
+ <startup
+ class="org.eclipse.papyrus.pdp4eng.req.ui.Activator"></startup>
+ </extension>
+ <extension
+ point="org.eclipse.papyrus.infra.gmfdiag.css.userAgentStyleSheet">
+ <stylesheet
+ stylesheetPath="styles/RequirementsModel.css">
+ </stylesheet>
+ </extension>
+
+</plugin>
+
+
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/pom.xml b/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/pom.xml
new file mode 100644
index 0000000..dc06c56
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/pom.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.papyrus.pdp4eng</groupId>
+ <artifactId>org.eclipse.papyrus.pdp4eng.plugins.req.artifact</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>org.eclipse.papyrus.pdp4eng.req.ui</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+
+</project>
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/src/org/eclipse/papyrus/pdp4eng/req/ui/Activator.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/src/org/eclipse/papyrus/pdp4eng/req/ui/Activator.java
new file mode 100644
index 0000000..fa0accb
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/src/org/eclipse/papyrus/pdp4eng/req/ui/Activator.java
@@ -0,0 +1,60 @@
+/**
+ * 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.ui;
+
+import org.eclipse.ui.IStartup;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+
+
+
+public class Activator extends AbstractUIPlugin implements IStartup{
+ // The plug-in ID
+ public static final String pluginId = "org.eclipse.papyrus.pdp4eng.req.ui";
+ // The shared instance
+ private static Activator plugin;
+
+ @Override
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ Activator.plugin = this;
+
+ }
+
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ Activator.plugin = null;
+ super.stop(context);
+
+ }
+
+ @Override
+ public void earlyStartup() {
+ // TODO Auto-generated method stub
+
+ }
+ /**
+ * Returns the shared instance
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault() {
+ return Activator.plugin;
+ }
+
+}
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/src/org/eclipse/papyrus/pdp4eng/req/ui/GenerateGDPRRequirementHandler.java b/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/src/org/eclipse/papyrus/pdp4eng/req/ui/GenerateGDPRRequirementHandler.java
new file mode 100644
index 0000000..ac350fb
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/src/org/eclipse/papyrus/pdp4eng/req/ui/GenerateGDPRRequirementHandler.java
@@ -0,0 +1,63 @@
+/**
+ * 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.ui;
+
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.papyrus.pdp4eng.req.gdprananalysis.api.IRequirementGenerator;
+import org.eclipse.papyrus.pdp4eng.req.gdprananalysis.api.RequirementGenerator;
+import org.eclipse.papyrus.requirements.sysml14.common.PapyrusAbstractHandler;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Package;
+/**
+ * Executes the creation of a new SysML requirement based on the Papyrus Req
+ * preferences page.
+ *
+ */
+public class GenerateGDPRRequirementHandler extends PapyrusAbstractHandler {
+ public Object execute(ExecutionEvent event) throws ExecutionException {
+ super.execute(event);
+ Element selectedElement = getSelection();
+ if (selectedElement != null) {
+ IRequirementGenerator generator= new RequirementGenerator();
+ transactionalEditingDomain.getCommandStack().execute(generator.generateArticle51a(transactionalEditingDomain, (Package)selectedElement));
+ transactionalEditingDomain.getCommandStack().execute(generator.generateArticle51b(transactionalEditingDomain, (Package)selectedElement));
+ transactionalEditingDomain.getCommandStack().execute(generator.generateArticle51c(transactionalEditingDomain, (Package)selectedElement));
+ transactionalEditingDomain.getCommandStack().execute(generator.generateArticle51d(transactionalEditingDomain, (Package)selectedElement));
+ transactionalEditingDomain.getCommandStack().execute(generator.generateArticle51e(transactionalEditingDomain, (Package)selectedElement));
+ transactionalEditingDomain.getCommandStack().execute(generator.generateArticle51f(transactionalEditingDomain, (Package)selectedElement));
+
+ }
+ return null;
+ }
+
+ /**
+ *
+ * @see org.eclipse.core.commands.AbstractHandler#isEnabled()
+ *
+ * @return true if the handler is possible
+ */
+ @Override
+ public boolean isEnabled() {
+ Element selectedElement = getSelection();
+ if (selectedElement instanceof Package) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+}
diff --git a/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/styles/RequirementsModel.css b/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/styles/RequirementsModel.css
new file mode 100644
index 0000000..7bdeb9a
--- /dev/null
+++ b/plugins/req/org.eclipse.papyrus.pdp4eng.req.ui/styles/RequirementsModel.css
@@ -0,0 +1,51 @@
+ObjectFlow{
+ routing:Rectilinear;
+}
+
+DataStoreNode{
+ bold:true;
+ fillColor: #91FF96;
+
+}
+ [appliedStereotypes~="ProcessRequirement"]{
+ bold:true;
+ fillcolor:#72FF98;
+ lineWidth:3;
+ linecolor:#00AF2B;
+}
+
+ [appliedStereotypes~="DataRecordRequirement"]{
+ bold:true;
+ fillcolor:#EE8EFF;
+ lineWidth:3;
+ linecolor:#E207FF;
+}
+
+OutputPin{
+ bold:true;
+ fillcolor:white;
+ lineWidth:3;
+}
+
+InputPin{
+ bold:true;
+ fillcolor:#FFFCED;
+ lineWidth:3;
+}
+
+Label[type=StereotypeLabel]{
+ visible: true;
+}
+
+ControlFlow{
+ lineWidth:3;
+}
+
+ [appliedStereotypes~="PersonalDataRequirement"]{
+ bold:true;
+ fillcolor:yellow;
+ lineWidth:3;
+ radiusWidth:10;
+ radiusHeight :10;
+
+}
\ No newline at end of file
diff --git a/plugins/req/pom.xml b/plugins/req/pom.xml
new file mode 100644
index 0000000..22a455c
--- /dev/null
+++ b/plugins/req/pom.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.papyrus.pdp4eng</groupId>
+ <artifactId>org.eclipse.papyrus.pdp4eng.plugins.artifact</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>org.eclipse.papyrus.pdp4eng.plugins.req.artifact</artifactId>
+ <packaging>pom</packaging>
+
+
+ <name>pdp4eng req directory</name>
+ <description>pdp4eng req directory</description>
+
+ <modules>
+ <module>org.eclipse.papyrus.pdp4eng.req.profile</module>
+ <module>org.eclipse.papyrus.pdp4eng.req.ui</module>
+ <module>org.eclipse.papyrus.pdp4eng.req.metareq</module>
+ <module>org.eclipse.papyrus.pdp4eng.req.gdprananalysis</module>
+ </modules>
+
+</project>
diff --git a/releng/org.eclipse.papyrus.pdp4eng.p2/category.xml b/releng/org.eclipse.papyrus.pdp4eng.p2/category.xml
index 9bce367..1b402b4 100644
--- a/releng/org.eclipse.papyrus.pdp4eng.p2/category.xml
+++ b/releng/org.eclipse.papyrus.pdp4eng.p2/category.xml
@@ -1,13 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<site>
- <!--feature id="org.eclipse.papyrus.pdp4eng.common.feature">
+ <feature id="org.eclipse.papyrus.pdp4eng.common.feature">
<category name="org.eclipse.papyrus.pdp4eng.requirements.category"/>
<category name="org.eclipse.papyrus.pdp4eng.designer.category"/>
</feature>
<feature id="org.eclipse.papyrus.pdp4eng.req.feature">
<category name="org.eclipse.papyrus.pdp4eng.requirements.category"/>
</feature>
- <feature id="org.eclipse.papyrus.pdp4eng.designer.feature">
+ <!--feature id="org.eclipse.papyrus.pdp4eng.designer.feature">
<category name="org.eclipse.papyrus.pdp4eng.designer.category"/>
</feature>
<category-def name="org.eclipse.papyrus.pdp4eng.category" label="papyrus-privacydesigner">
@@ -21,7 +21,7 @@
Privacy and Data Drotection for requirements
</description>
</category-def>
- <category-def name="org.eclipse.papyrus.pdp4eng.designer.category" label="Privacy Design">
+ <!--category-def name="org.eclipse.papyrus.pdp4eng.designer.category" label="Privacy Design">
<category name="org.eclipse.papyrus.pdp4eng.category"/>
<description>
Privacy and Data Protection for Design