Bug 579656 - Removing port attribute from Endpoint

https://bugs.eclipse.org/bugs/show_bug.cgi?id=579656

Removing Port attribute from endpoint
Renaming Refereable -> Referable
Adding AASEndpoint DataType

- Class added - AASEndpoint.java
- AssetAdministrationShell.java updated.
- getEndPoint(), setEndpoint(...) updated with getAASEndPoint(),
setAASEndpoint(...). AssetAdministrationShell.java accepts Endpoint
attribute only of type: AASEndpoint
- DataHandlerCreator.java updated.
- propertiesFile() updated - generation process of Endpoints for assets
updated.
- Endpoint.java updated - Accepts the entire server address and no more
address and port name separately. Address attribute validated with
UrlValidators.java.
- Project.java updated - createReadMe()changed due to the change in API.
- Test.java updated - for testing purposes.

Change-Id: Id19bbe8416dff52c17d315cf2b7aecc98112fae4
Signed-off-by: Asma Smaoui <asma.smaoui@cea.fr>
Signed-off-by: Tapanta Bhanja <tapanta.bhanja@dfki.de>
Signed-off-by: Saadia Dhouib <saadia.dhouib@cea.fr>
diff --git a/plugins/bpmn/org.eclipse.papyrus.bpmn.architecture/.settings/org.eclipse.jdt.core.prefs b/plugins/bpmn/org.eclipse.papyrus.bpmn.architecture/.settings/org.eclipse.jdt.core.prefs
index 0c68a61..9f6ece8 100644
--- a/plugins/bpmn/org.eclipse.papyrus.bpmn.architecture/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/bpmn/org.eclipse.papyrus.bpmn.architecture/.settings/org.eclipse.jdt.core.prefs
@@ -4,4 +4,5 @@
 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.release=disabled
 org.eclipse.jdt.core.compiler.source=1.8
diff --git a/plugins/codegen/org.eclipse.aas.basyx.codegen/src/org/eclipse/aas/basyx/codegen/Test.java b/plugins/codegen/org.eclipse.aas.basyx.codegen/src/org/eclipse/aas/basyx/codegen/Test.java
index 4239d6e..0150c38 100644
--- a/plugins/codegen/org.eclipse.aas.basyx.codegen/src/org/eclipse/aas/basyx/codegen/Test.java
+++ b/plugins/codegen/org.eclipse.aas.basyx.codegen/src/org/eclipse/aas/basyx/codegen/Test.java
@@ -20,6 +20,7 @@
 import org.eclipse.aas.api.aas.AssetAdministrationShell;
 import org.eclipse.aas.api.aas.parts.ConceptDictionary;
 import org.eclipse.aas.api.asset.Asset;
+import org.eclipse.aas.api.communications.AASEndpoint;
 import org.eclipse.aas.api.communications.Endpoint;
 import org.eclipse.aas.api.communications.ProtocolKind;
 import org.eclipse.aas.api.reference.Key;
@@ -67,10 +68,10 @@
     public static void test1() {
     	
         Endpoint assetEndpoint1 = new Endpoint("CalculatorServer", 
-				ProtocolKind.OPCUA, "127.0.0.1", 4840);
+				ProtocolKind.OPCUA, "opc.tcp://127.0.0.1:4840/");
 
         Endpoint assetEndpoint2 = new Endpoint("MinimalServer", 
-				ProtocolKind.OPCUA, "127.0.0.1", 4841);
+				ProtocolKind.OPCUA, "opc.tcp://127.0.0.1:4841/");
 
     	
     	// Declaring the 3 Submodels.
@@ -267,8 +268,7 @@
         calculatorAsset.setIdentification(idAsset);
         
         
-        Endpoint aasEndpoint = new Endpoint("AASServer", ProtocolKind.HTTP,
-        						"localhost", 2000);
+        AASEndpoint aasEndpoint = new AASEndpoint("localhost", 2000);
         
         // Creating AssetAdministrationShell.
         AssetAdministrationShell Papyrus4Manufacturing = new AssetAdministrationShell("Papyrus4Manufacturing",
@@ -295,12 +295,12 @@
     }
     
     public static void test2() {
+    	
         Endpoint assetEndpoint1 = new Endpoint("CalculatorServer", 
- 				ProtocolKind.OPCUA, "127.0.0.1", 4840);
+				ProtocolKind.OPCUA, "opc.tcp://127.0.0.1:4840/");
 
-         Endpoint assetEndpoint2 = new Endpoint("MinimalServer", 
- 				ProtocolKind.OPCUA, "127.0.0.1", 4841);
-
+        Endpoint assetEndpoint2 = new Endpoint("MinimalServer", 
+				ProtocolKind.OPCUA, "opc.tcp://127.0.0.1:4841/");
      	
      	// Declaring the 3 Submodels.
      	SubModel documentation = new SubModel("Documentation");
@@ -524,8 +524,7 @@
          calculatorAsset.setIdentification(idAsset);
          
          
-         Endpoint aasEndpoint = new Endpoint("AASServer", ProtocolKind.HTTP,
-         						"localhost", 2000);
+         AASEndpoint aasEndpoint = new AASEndpoint("localhost", 2000);
          
          // Creating AssetAdministrationShell.
          AssetAdministrationShell Papyrus4Manufacturing = new AssetAdministrationShell("Papyrus4Manufacturing",
@@ -555,10 +554,10 @@
     public static void test3() {
     	
         Endpoint assetEndpoint1 = new Endpoint("CalculatorServer", 
- 				ProtocolKind.OPCUA, "127.0.0.1", 4840);
+				ProtocolKind.OPCUA, "opc.tcp://127.0.0.1:4840/");
 
-         Endpoint assetEndpoint2 = new Endpoint("MinimalServer", 
- 				ProtocolKind.OPCUA, "127.0.0.1", 4841);
+        Endpoint assetEndpoint2 = new Endpoint("MinimalServer", 
+				ProtocolKind.OPCUA, "opc.tcp://127.0.0.1:4841/");
          
          // Initializing ConceptDictionary
          ConceptDictionary conceptDict = new ConceptDictionary();
@@ -828,8 +827,7 @@
          calculatorAsset.setIdentification(idAsset);
          
          
-         Endpoint aasEndpoint = new Endpoint("AASServer", ProtocolKind.HTTP,
-         						"localhost", 2000);
+         AASEndpoint aasEndpoint = new AASEndpoint("localhost", 2000);
          
          // Creating AssetAdministrationShell.
          AssetAdministrationShell Papyrus4Manufacturing = new AssetAdministrationShell("Papyrus4Manufacturing",
@@ -871,10 +869,10 @@
     public static void test4() {
     	
         Endpoint assetEndpoint1 = new Endpoint("CalculatorServer", 
- 				ProtocolKind.OPCUA, "127.0.0.1", 4840);
+				ProtocolKind.OPCUA, "opc.tcp://127.0.0.1:4840/");
 
-         Endpoint assetEndpoint2 = new Endpoint("MinimalServer", 
- 				ProtocolKind.OPCUA, "127.0.0.1", 4841);
+        Endpoint assetEndpoint2 = new Endpoint("MinimalServer", 
+				ProtocolKind.OPCUA, "opc.tcp://127.0.0.1:4841/");
          
          // Initializing ConceptDictionary
          ConceptDictionary conceptDict = new ConceptDictionary();
@@ -1211,8 +1209,7 @@
          calculatorAsset.setIdentification(idAsset);
          
          
-         Endpoint aasEndpoint = new Endpoint("AASServer", ProtocolKind.HTTP,
-         						"localhost", 2000);
+         AASEndpoint aasEndpoint = new AASEndpoint("localhost", 2000);
          
          // Creating AssetAdministrationShell.
          AssetAdministrationShell Papyrus4Manufacturing = new AssetAdministrationShell("Papyrus4Manufacturing",
@@ -1262,10 +1259,10 @@
     public static void test5() {
     	
         Endpoint assetEndpoint1 = new Endpoint("CalculatorServer", 
- 				ProtocolKind.OPCUA, "127.0.0.1", 4840);
+				ProtocolKind.OPCUA, "opc.tcp://127.0.0.1:4840/");
 
-         Endpoint assetEndpoint2 = new Endpoint("MinimalServer", 
- 				ProtocolKind.OPCUA, "127.0.0.1", 4841);
+        Endpoint assetEndpoint2 = new Endpoint("MinimalServer", 
+				ProtocolKind.OPCUA, "opc.tcp://127.0.0.1:4841/");
          
          // Initializing ConceptDictionary
          ConceptDictionary conceptDict = new ConceptDictionary();
@@ -1605,8 +1602,7 @@
          calculatorAsset.setIdentification(idAsset);
          
          
-         Endpoint aasEndpoint = new Endpoint("AASServer", ProtocolKind.HTTP,
-         						"localhost", 2000);
+         AASEndpoint aasEndpoint = new AASEndpoint("localhost", 2000);
          
          // Creating AssetAdministrationShell.
          AssetAdministrationShell Papyrus4Manufacturing = new AssetAdministrationShell("Papyrus4Manufacturing",
@@ -1642,10 +1638,10 @@
     public static void test6() {
     	
         Endpoint assetEndpoint1 = new Endpoint("CalculatorServer", 
- 				ProtocolKind.OPCUA, "127.0.0.1", 4840);
+				ProtocolKind.OPCUA, "opc.tcp://127.0.0.1:4840/");
 
-         Endpoint assetEndpoint2 = new Endpoint("MinimalServer", 
- 				ProtocolKind.OPCUA, "127.0.0.1", 4841);
+        Endpoint assetEndpoint2 = new Endpoint("MinimalServer", 
+				ProtocolKind.OPCUA, "opc.tcp://127.0.0.1:4841/");
          
          // Initializing ConceptDictionary
          ConceptDictionary conceptDict = new ConceptDictionary();
@@ -1989,14 +1985,14 @@
          SubModelElementCollection trialSEC = new SubModelElementCollection("DETrialCollection");
          trialSEC.setAllowDuplicates(false);
          trialSEC.setOrdered(true);
-         trialSEC.setDynamic(true);
+         trialSEC.setDynamic(false);
          trialSEC.setKind(ModelingKind.INSTANCE);
          calSEC.setSubModelElementCollection(trialSEC);
          
          SubModelElementCollection trialSEC1 = new SubModelElementCollection("DETrial1Collection");
          trialSEC1.setAllowDuplicates(false);
          trialSEC1.setOrdered(true);
-         trialSEC1.setDynamic(true);
+         trialSEC1.setDynamic(false);
          trialSEC1.setKind(ModelingKind.INSTANCE);
          trialSEC.setSubModelElementCollection(trialSEC1);
          
@@ -2010,8 +2006,7 @@
          calculatorAsset.setIdentification(idAsset);
          
          
-         Endpoint aasEndpoint = new Endpoint("AASServer", ProtocolKind.HTTP,
-         						"localhost", 2000);
+         AASEndpoint aasEndpoint = new AASEndpoint("localhost", 2000);
          
          // Creating AssetAdministrationShell.
          AssetAdministrationShell Papyrus4Manufacturing = new AssetAdministrationShell("Papyrus4Manufacturing",
@@ -2045,10 +2040,10 @@
     public static void test7() {
     	
         Endpoint assetEndpoint1 = new Endpoint("CalculatorServer", 
- 				ProtocolKind.OPCUA, "127.0.0.1", 4840);
+				ProtocolKind.OPCUA, "opc.tcp://127.0.0.1:4840/");
 
-         Endpoint assetEndpoint2 = new Endpoint("MinimalServer", 
- 				ProtocolKind.OPCUA, "127.0.0.1", 4841);
+        Endpoint assetEndpoint2 = new Endpoint("MinimalServer", 
+				ProtocolKind.OPCUA, "opc.tcp://127.0.0.1:4841/");
          
          // Initializing ConceptDictionary
          ConceptDictionary conceptDict = new ConceptDictionary();
@@ -2454,8 +2449,7 @@
          calculatorAsset.setIdentification(idAsset);
          
          
-         Endpoint aasEndpoint = new Endpoint("AASServer", ProtocolKind.HTTP,
-         						"localhost", 2000);
+         AASEndpoint aasEndpoint = new AASEndpoint("localhost", 2000);
          
          // Creating AssetAdministrationShell.
          AssetAdministrationShell canvaas = new AssetAdministrationShell("CanvAAS",
@@ -2476,9 +2470,9 @@
          
          // Initializing the Generator.
          Project testAAS = new Project(canvaas);
-         testAAS.setProjectName("Test_Bug579868");
+         testAAS.setProjectName("Test1_Bug579656");
          testAAS.setNamespaceFromProjectName();
-         testAAS.setProjectFolder("/home/tapanta/Documents/eclipse-workspace/Test_Bug579868/");
+         testAAS.setProjectFolder("/home/tapanta/Documents/eclipse-workspace/Test1_Bug579656/");
          testAAS.createProject();
     }
 }
diff --git a/plugins/codegen/org.eclipse.aas.basyx.codegen/src/org/eclipse/aas/basyx/codegen/generator/Project.java b/plugins/codegen/org.eclipse.aas.basyx.codegen/src/org/eclipse/aas/basyx/codegen/generator/Project.java
index e08a1fb..0f9b0d4 100644
--- a/plugins/codegen/org.eclipse.aas.basyx.codegen/src/org/eclipse/aas/basyx/codegen/generator/Project.java
+++ b/plugins/codegen/org.eclipse.aas.basyx.codegen/src/org/eclipse/aas/basyx/codegen/generator/Project.java
@@ -18,6 +18,7 @@
 import java.util.List;
 
 import org.eclipse.aas.api.aas.AssetAdministrationShell;
+import org.eclipse.aas.api.communications.AASEndpoint;
 import org.eclipse.aas.api.communications.Endpoint;
 import org.eclipse.aas.api.submodel.SubModel;
 import org.eclipse.aas.basyx.codegen.generator.modulefiles.AASModuleCreator;
@@ -528,7 +529,7 @@
 	private void createReadMe() {
 
 		List<SubModel> submodels = aas.getSubModels();
-		Endpoint aasServer = aas.getEndpoint();
+		AASEndpoint aasServer = aas.getAASEndpoint();
 
 		String text = "# Welcome to " + projectName + "!\r\n"
 				+ "\r\n"
diff --git a/plugins/codegen/org.eclipse.aas.basyx.codegen/src/org/eclipse/aas/basyx/codegen/generator/modulefiles/DataHandlerCreator.java b/plugins/codegen/org.eclipse.aas.basyx.codegen/src/org/eclipse/aas/basyx/codegen/generator/modulefiles/DataHandlerCreator.java
index 4f4eb12..375751c 100644
--- a/plugins/codegen/org.eclipse.aas.basyx.codegen/src/org/eclipse/aas/basyx/codegen/generator/modulefiles/DataHandlerCreator.java
+++ b/plugins/codegen/org.eclipse.aas.basyx.codegen/src/org/eclipse/aas/basyx/codegen/generator/modulefiles/DataHandlerCreator.java
@@ -820,11 +820,11 @@
 		for (Endpoint endpoint : endpoints) {
 					
 			if (endpoint.getProtocol().toString() == "OPCUA") {
-				endpointsDeclaration += "asset.endpoint." + endpoint.getName() + " = " + "opc.tcp://" + endpoint.getAddress() + ":" + endpoint.getPort() + "/" + "\r\n";
+				endpointsDeclaration += "asset.endpoint." + endpoint.getName() + " = " + endpoint.getAddress() + "\r\n";
 			}
 					
 			else if (endpoint.getProtocol().toString() == "HTTP") {
-				endpointsDeclaration += "asset.endpoint." + endpoint.getName() + " = " + "http://" + endpoint.getAddress() + ":" + endpoint.getPort() + "/" + "\r\n";
+				endpointsDeclaration += "asset.endpoint." + endpoint.getName() + " = " + endpoint.getAddress() + "\r\n";
 			}
 					
 			else if (endpoint.getProtocol().toString() == "MQTT") {
@@ -888,8 +888,8 @@
 				+ "# properties.\r\n"
 				+ "aas.name = " + aas.getIdShort() + "\r\n"
 				+ "aas.uri = " + aas.getId() + "\r\n"
-				+ "aas.listening_port = " + aas.getEndpoint().getPort() + "\r\n"
-				+ "aas.hostname = " + aas.getEndpoint().getAddress() + "\r\n"
+				+ "aas.listening_port = " + aas.getAASEndpoint().getPort() + "\r\n"
+				+ "aas.hostname = " + aas.getAASEndpoint().getAddress() + "\r\n"
 				+ "asset.name = " + asset.getIdShort() + "\r\n"							// Have to think how to handle in case we model multiple Assets to an Asset Administration Shell. 
 				+ "asset.uri = " + asset.getId() + "\r\n"
 				+ endpointsDeclaration
diff --git a/plugins/codegen/org.eclipse.aas.basyx.lib/.classpath b/plugins/codegen/org.eclipse.aas.basyx.lib/.classpath
index e7fd3bf..96f2795 100644
--- a/plugins/codegen/org.eclipse.aas.basyx.lib/.classpath
+++ b/plugins/codegen/org.eclipse.aas.basyx.lib/.classpath
@@ -9,5 +9,6 @@
 	<classpathentry exported="true" kind="lib" path="model-1.1.1.jar"/>
 	<classpathentry exported="true" kind="lib" path="slf4j-api-1.6.1.jar"/>
 	<classpathentry exported="true" kind="lib" path="slf4j-simple-1.6.1.jar"/>
+	<classpathentry exported="true" kind="lib" path="commons-validator-1.7.jar"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/plugins/codegen/org.eclipse.aas.basyx.lib/META-INF/MANIFEST.MF b/plugins/codegen/org.eclipse.aas.basyx.lib/META-INF/MANIFEST.MF
index 6c01af6..4d68349 100644
--- a/plugins/codegen/org.eclipse.aas.basyx.lib/META-INF/MANIFEST.MF
+++ b/plugins/codegen/org.eclipse.aas.basyx.lib/META-INF/MANIFEST.MF
@@ -6,10 +6,12 @@
 Bundle-ClassPath: 
  model-1.1.1.jar,
  slf4j-api-1.6.1.jar,
- slf4j-simple-1.6.1.jar
-Export-Package: io.adminshell.aas.v3.model.impl,
- io.adminshell.aas.v3.model,
+ slf4j-simple-1.6.1.jar,
+ commons-validator-1.7.jar
+Export-Package: io.adminshell.aas.v3.model,
  io.adminshell.aas.v3.model.impl,
+ org.apache.commons.validator,
+ org.apache.commons.validator.routines,
  org.slf4j
 Bundle-RequiredExecutionEnvironment: JavaSE-11
 Automatic-Module-Name: org.eclipse.aas.basyx.lib
diff --git a/plugins/codegen/org.eclipse.aas.basyx.lib/build.properties b/plugins/codegen/org.eclipse.aas.basyx.lib/build.properties
index 6afe532..4860e43 100644
--- a/plugins/codegen/org.eclipse.aas.basyx.lib/build.properties
+++ b/plugins/codegen/org.eclipse.aas.basyx.lib/build.properties
@@ -1,7 +1,8 @@
 bin.includes = META-INF/,\
                model-1.1.1.jar,\
                slf4j-api-1.6.1.jar,\
-               slf4j-simple-1.6.1.jar
+               slf4j-simple-1.6.1.jar,\
+               commons-validator-1.7.jar
 jarProcessor.unsign=true
 signJars=false
 source.. = 
diff --git a/plugins/codegen/org.eclipse.aas.basyx.lib/commons-validator-1.7.jar b/plugins/codegen/org.eclipse.aas.basyx.lib/commons-validator-1.7.jar
new file mode 100644
index 0000000..f98c145
--- /dev/null
+++ b/plugins/codegen/org.eclipse.aas.basyx.lib/commons-validator-1.7.jar
Binary files differ
diff --git a/plugins/modeling/org.eclipse.aas.api/src/org/eclipse/aas/api/aas/AssetAdministrationShell.java b/plugins/modeling/org.eclipse.aas.api/src/org/eclipse/aas/api/aas/AssetAdministrationShell.java
index b00d39e..089dfc2 100644
--- a/plugins/modeling/org.eclipse.aas.api/src/org/eclipse/aas/api/aas/AssetAdministrationShell.java
+++ b/plugins/modeling/org.eclipse.aas.api/src/org/eclipse/aas/api/aas/AssetAdministrationShell.java
@@ -18,6 +18,7 @@
 
 import org.eclipse.aas.api.aas.parts.ConceptDictionary;
 import org.eclipse.aas.api.asset.Asset;
+import org.eclipse.aas.api.communications.AASEndpoint;
 import org.eclipse.aas.api.communications.Endpoint;
 import org.eclipse.aas.api.submodel.SubModel;
 
@@ -33,7 +34,7 @@
 	
 	private static final Logger logger = LoggerFactory.getLogger(AssetAdministrationShell.class);
 	private Asset asset;
-	private Endpoint endpoint;
+	private AASEndpoint aasEndpoint;
 	private List<SubModel> subModels = new ArrayList<SubModel>();
 	private ConceptDictionary conceptDictionary;
 	
@@ -51,6 +52,7 @@
 
 	}
 
+	
 	/**
 	 * Constructor of the {@code AssetAdministrationShell} with
 	 * {@code idShort} and {@code endpoint} as parameters. 
@@ -58,10 +60,10 @@
 	 * @param idShort
 	 * @param endpoint
 	 */
-	public AssetAdministrationShell(String idShort, Endpoint endpoint) {
+	public AssetAdministrationShell(String idShort, AASEndpoint aasEndpoint) {
 		super();
 		super.setIdShort(idShort);
-		this.endpoint = endpoint;
+		this.aasEndpoint = aasEndpoint;
 		logger.info("Asset Administration Shell Class initialised with just "
 				+ "idShort and an Endpoint.");
 	}
@@ -83,24 +85,24 @@
 	public void setAsset(Asset asset) {
 		this.asset = asset;
 	}
-
+	
 	/**
-	 * Returns the Endpoint the Asset Administration Shell is hosted on. 
+	 * Returns the AASEndpoint the Asset Administration Shell is hosted on. 
 	 * 
-	 * @return The Endpoint instance. 
+	 * @return The AASEndpoint instance. 
 	 */
-	public Endpoint getEndpoint() {
-		return this.endpoint;
+	public AASEndpoint getAASEndpoint() {
+		return this.aasEndpoint;
 	}
-
+	
 	/**
-	 * Sets an Endpoint to the Asset Administration Shell, on which
+	 * Sets an AASEndpoint to the Asset Administration Shell, on which
 	 * it is hosted. 
 	 * 
-	 * @param endpoint The Endpoint instance to be assigned
+	 * @param endpoint The AASEndpoint instance to be assigned
 	 */
-	public void setEndpoint(Endpoint endpoint) {
-		this.endpoint = endpoint;
+	public void setEndpoint(AASEndpoint aasEndpoint) {
+		this.aasEndpoint = aasEndpoint;
 	}
 
 	/**
diff --git a/plugins/modeling/org.eclipse.aas.api/src/org/eclipse/aas/api/communications/AASEndpoint.java b/plugins/modeling/org.eclipse.aas.api/src/org/eclipse/aas/api/communications/AASEndpoint.java
new file mode 100644
index 0000000..6d25547
--- /dev/null
+++ b/plugins/modeling/org.eclipse.aas.api/src/org/eclipse/aas/api/communications/AASEndpoint.java
@@ -0,0 +1,78 @@
+/*******************************************************************************
+ * Copyright (c) 2022 DFKI.
+ *
+ * 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:
+ *     DFKI - Tapanta Bhanja <tapanta.bhanja@dfki.de>
+ *******************************************************************************/
+package org.eclipse.aas.api.communications;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class AASEndpoint {
+	
+	private static final Logger logger = LoggerFactory.getLogger(AASEndpoint.class);
+	private String address;
+	private long port;
+	
+	/**
+	 * Constructor of {@code AASEndpoint} with the {@code address} of the aasEndpoint,
+	 * {@code port} of the aasEndpoint.
+	 * 
+	 * @param address: String	Host address of the {@code AASEndpoint}. 
+	 * @param port: Integer		Port number of the {@code AASEndpoint}.
+	 */
+	public AASEndpoint(String address, int port) {
+		
+		this.address = address;
+		this.port = port;
+		
+		logger.info("AASEndpoint initialised.");
+	}
+
+	/**
+	 * Gets the Address of the {@code AASEndpoint} in consideration. 
+	 * 
+	 * @return the address
+	 */
+	public String getAddress() {
+		return address;
+	}
+
+	/**
+	 * Sets the Address of the {@code AASEndpoint} in consideration. 
+	 * 
+	 * @param address the address to set
+	 */
+	public void setAddress(String address) {
+		this.address = address;
+	}
+
+	/**
+	 * Gets the Port of the {@code AASEndpoint} in consideration.
+	 * 
+	 * @return the port
+	 */
+	public long getPort() {
+		return port;
+	}
+
+	/**
+	 * Sets the Port of the {@code AASEndpoint} in consideration. 
+	 * 
+	 * @param port the port to set
+	 */
+	public void setPort(int port) {
+		this.port = port;
+	}
+	
+	
+
+}
diff --git a/plugins/modeling/org.eclipse.aas.api/src/org/eclipse/aas/api/communications/Endpoint.java b/plugins/modeling/org.eclipse.aas.api/src/org/eclipse/aas/api/communications/Endpoint.java
index 8bcf972..86fb11b 100644
--- a/plugins/modeling/org.eclipse.aas.api/src/org/eclipse/aas/api/communications/Endpoint.java
+++ b/plugins/modeling/org.eclipse.aas.api/src/org/eclipse/aas/api/communications/Endpoint.java
@@ -13,6 +13,7 @@
  *******************************************************************************/
 package org.eclipse.aas.api.communications;
 
+import org.apache.commons.validator.routines.UrlValidator;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -22,44 +23,30 @@
 	private String name;
 	private ProtocolKind protocol;
 	private String address;
-	private long port;
 	
 	/**
 	 * Constructor of {@code Endpoint} with the {@code name} of the endpoint, 
-	 * {@code ProtocolKind} of the endpoint, {@code address} of the endpoint and 
-	 * {@code port} of the endpoint. 
+	 * {@code ProtocolKind} of the endpoint, {@code address} of the endpoint.
 	 * 
 	 * @param address
 	 * @param protocol
 	 * @param name
-	 * @param port
 	 */
-	public Endpoint(String name, ProtocolKind protocol, String address, long port) {
+	public Endpoint(String name, ProtocolKind protocol, String address) {
 		this.name = name;
 		this.protocol = protocol;
-		this.address = address;
-		this.port = port;
 		
-		logger.info("Endpoint initialised.");
-	}
-
-	/**
-	 * Gets the long value of the port assigned to the Endpoint Address. 
-	 * 
-	 * @return the port
-	 */
-	public long getPort() {
-		return port;
-	}
-
-	/**
-	 * Sets the port as a long datatype to the address of the Endpoint in 
-	 * consideration.  
-	 * 
-	 * @param port the port to set
-	 */
-	public void setPort(long port) {
-		this.port = port;
+		String schemes[] = {"http", "https", "opc.tcp"};
+		UrlValidator urlValidator = new UrlValidator(schemes);
+		
+		if (urlValidator.isValid(address)) {
+			this.address = address;
+			logger.info("Endpoint initialised.");
+		}
+		
+		else {
+			System.err.println("Probable URL-Schema Error Detected. Please check!");
+		}
 	}
 
 	/**
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.aasx.import/src/org/eclipse/papyrus/aas/import2papyrus/transformations/AAS2UMLSwitch.java b/plugins/modeling/org.eclipse.papyrus.aas.aasx.import/src/org/eclipse/papyrus/aas/import2papyrus/transformations/AAS2UMLSwitch.java
index 4e7d204..692c02e 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.aasx.import/src/org/eclipse/papyrus/aas/import2papyrus/transformations/AAS2UMLSwitch.java
+++ b/plugins/modeling/org.eclipse.papyrus.aas.aasx.import/src/org/eclipse/papyrus/aas/import2papyrus/transformations/AAS2UMLSwitch.java
@@ -59,7 +59,7 @@
 import org.eclipse.papyrus.aas.LangEnum;
 import org.eclipse.papyrus.aas.LangString;
 import org.eclipse.papyrus.aas.ModelingKind;
-import org.eclipse.papyrus.aas.Refereable;
+import org.eclipse.papyrus.aas.Referable;
 import org.eclipse.papyrus.aas.Reference;
 import org.eclipse.papyrus.aas.aasx.import2papyrus.util.ElementUtils;
 import org.eclipse.papyrus.aas.aasx.import2papyrus.util.IAASElementTypes;
@@ -753,7 +753,7 @@
 		Object[] list = EcoreUtil.getObjectsByType(umlResource.getContents(), eclass).toArray();
 
 		for (Object referable : list) {
-			if (referable instanceof Refereable && ((Refereable) referable).getBase_Class().equals(targetObject)) {
+			if (referable instanceof Referable && ((Referable) referable).getBase_Class().equals(targetObject)) {
 				return (EObject) referable;
 			}
 		}
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.codegen.ui/src/org/eclipse/papyrus/aas/codegen/ui/handlers/GenerateAASCodeHelper.java b/plugins/modeling/org.eclipse.papyrus.aas.codegen.ui/src/org/eclipse/papyrus/aas/codegen/ui/handlers/GenerateAASCodeHelper.java
index 58e6c1e..3ad8966 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.codegen.ui/src/org/eclipse/papyrus/aas/codegen/ui/handlers/GenerateAASCodeHelper.java
+++ b/plugins/modeling/org.eclipse.papyrus.aas.codegen.ui/src/org/eclipse/papyrus/aas/codegen/ui/handlers/GenerateAASCodeHelper.java
@@ -34,6 +34,7 @@
 import org.eclipse.aas.api.submodel.submodelelement.dataelement.valuetypes.ValueType;
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.papyrus.aas.AASEndpoint;
 import org.eclipse.papyrus.aas.Asset;
 import org.eclipse.papyrus.aas.AssetAdministrationShell;
 import org.eclipse.papyrus.aas.ConceptDescription;
@@ -87,11 +88,11 @@
 					(aas.getIdShort() != null) ? aas.getIdShort() : "aas");
 
 			// setting the endpoint
-			org.eclipse.papyrus.aas.Endpoint endpoint = aas.getEndpoint();
-			Endpoint aasEndpoint = new Endpoint("AASServer", ProtocolKind.HTTP, "localhost", 2000);
+			AASEndpoint endpoint = aas.getEndpoint();
+			org.eclipse.aas.api.communications.AASEndpoint aasEndpoint = new org.eclipse.aas.api.communications.AASEndpoint("AASServer", 1503);
+			//Wait for Tapanta fix to create the AAS Endpoint
 			if (endpoint != null) {
-				aasEndpoint = new Endpoint(endpoint.getName(), convertProtocol(endpoint.getProtocol()),
-						endpoint.getAddress(), endpoint.getPort());
+				aasEndpoint = new org.eclipse.aas.api.communications.AASEndpoint(endpoint.getAddress(), endpoint.getPort());
 			}
 			basyxAAS.setEndpoint(aasEndpoint);
 
@@ -159,7 +160,7 @@
 
 					// to do: manage the port attribute
 					Endpoint assetEndpoint = new Endpoint(endpoint.getName(), convertProtocol(endpoint.getProtocol()),
-							endpoint.getAddress(), endpoint.getPort());
+							endpoint.getAddress());
 					endpoints.add(assetEndpoint);
 
 				}
@@ -200,7 +201,7 @@
 
 						// to do: manage the port attribute
 						Endpoint assetEndpoint = new Endpoint(endpoint.getName(),
-								convertProtocol(endpoint.getProtocol()), endpoint.getAddress(), endpoint.getPort());
+								convertProtocol(endpoint.getProtocol()), endpoint.getAddress());
 						basyxAsset.setEndpoint(assetEndpoint);
 
 					}
@@ -503,7 +504,8 @@
 					if (submodelElement.getDefaultValue() != null) {
 
 						String attValue = submodelElement.getDefaultValue().stringValue();
-						submodelProperty.setValue(submodelElement.getDefaultValue());
+						if(attValue!=null)
+						submodelProperty.setValue(attValue);
 
 					}
 
@@ -582,7 +584,7 @@
 			Boolean endpointGenerated = false;
 			if (endpoint != null) {
 				Endpoint propEndpoint = new Endpoint(endpoint.getName(), convertProtocol(endpoint.getProtocol()),
-						endpoint.getAddress(), endpoint.getPort());
+						endpoint.getAddress());
 				endpointGenerated = true;
 				submodelProperty.setEndpoint(propEndpoint);
 			}
@@ -666,7 +668,7 @@
 
 			if (endpoint != null) {
 				Endpoint propEndpoint = new Endpoint(endpoint.getName(), convertProtocol(endpoint.getProtocol()),
-						endpoint.getAddress(), endpoint.getPort());
+						endpoint.getAddress());
 
 				submodelFile.setEndpoint(propEndpoint);
 			}
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.profile/.settings/org.eclipse.jdt.core.prefs b/plugins/modeling/org.eclipse.papyrus.aas.profile/.settings/org.eclipse.jdt.core.prefs
index 56bf2aa..037f04a 100755
--- a/plugins/modeling/org.eclipse.papyrus.aas.profile/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/modeling/org.eclipse.papyrus.aas.profile/.settings/org.eclipse.jdt.core.prefs
@@ -1,9 +1,9 @@
 eclipse.preferences.version=1
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.compliance=11
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -11,8 +11,8 @@
 org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
 org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
-org.eclipse.jdt.core.compiler.release=disabled
-org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.profile/resources/aas.ecore b/plugins/modeling/org.eclipse.papyrus.aas.profile/resources/aas.ecore
index 0f9dd36..ef61fc4 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.profile/resources/aas.ecore
+++ b/plugins/modeling/org.eclipse.papyrus.aas.profile/resources/aas.ecore
@@ -14,7 +14,7 @@
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="AssetAdministrationShell" eSuperTypes="#//Identifiable #//HasDataSpecification">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A project in Basyx&#xD;&#xA;Basyx:&#xA;&#xA;identifierType: IRDI (urn:...), URI, custom &#xA;identifier (for submodel or operation) ->generated automatically&#xA;resource name&#xA;idshort: string -> generated automatically&#xA;category:string&#xA;description:string&#xA;parent: not used&#xA;administration: not used&#xA;&#xA;&#xA;&#xD;&#xA;Security is not implemented, but is an ongoing project&#xD;&#xA;0 &lt; port  &lt;= 65535&#xA;"/>
+      <details key="documentation" value="A project in Basyx&#xA;Basyx:&#xA;&#xA;identifierType: IRDI (urn:...), URI, custom &#xA;identifier (for submodel or operation) ->generated automatically&#xA;resource name&#xA;idshort: string -> generated automatically&#xA;category:string&#xA;description:string&#xA;parent: not used&#xA;administration: not used&#xA;&#xA;&#xA;&#xA;Security is not implemented, but is an ongoing project&#xA;0 &lt; port  &lt;= 65535&#xA;"/>
     </eAnnotations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="derivedFrom" ordered="false"
         eType="#//AssetAdministrationShell"/>
@@ -32,9 +32,9 @@
       </eAnnotations>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="endpoint" ordered="false"
-        eType="#//Endpoint" containment="true"/>
+        eType="#//AASEndpoint" containment="true"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Identifiable" abstract="true" eSuperTypes="#//Refereable">
+  <eClassifiers xsi:type="ecore:EClass" name="Identifiable" abstract="true" eSuperTypes="#//Referable">
     <eStructuralFeatures xsi:type="ecore:EReference" name="administration" ordered="false"
         eType="#//AdministrativeInformation" containment="true"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="identification" ordered="false"
@@ -42,7 +42,7 @@
     <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="Refereable" abstract="true">
+  <eClassifiers xsi:type="ecore:EClass" name="Referable" abstract="true">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="idShort" ordered="false"
         lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"
         changeable="false" volatile="true" transient="true" derived="true">
@@ -67,6 +67,13 @@
     <eLiterals name="fr" value="2"/>
     <eLiterals name="es" value="3"/>
     <eLiterals name="it" value="4"/>
+    <eLiterals name="nl" value="5"/>
+    <eLiterals name="pl" value="6"/>
+    <eLiterals name="sr" value="7"/>
+    <eLiterals name="ar" value="8"/>
+    <eLiterals name="zh" value="9"/>
+    <eLiterals name="ko" value="10"/>
+    <eLiterals name="ja" value="11"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="AdministrativeInformation">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="version" ordered="false"
@@ -202,7 +209,7 @@
   <eClassifiers xsi:type="ecore:EClass" name="AccessControl"/>
   <eClassifiers xsi:type="ecore:EClass" name="Submodel" eSuperTypes="#//Identifiable #//HasKind #//HasSemantics #//HasDataSpecification">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A model in Basyx&#xD;&#xA;Basyx:&#xA;&#xA;identifierType: IRDI (urn:...), URI, custom &#xA;identifier (for submodel or operation) ->generated automatically&#xA;resource name&#xA;idshort: string -> generated automatically&#xA;category:string&#xA;description:string&#xA;parent: not used&#xA;administration: not used&#xA;&#xA;&#xA;"/>
+      <details key="documentation" value="A model in Basyx&#xA;Basyx:&#xA;&#xA;identifierType: IRDI (urn:...), URI, custom &#xA;identifier (for submodel or operation) ->generated automatically&#xA;resource name&#xA;idshort: string -> generated automatically&#xA;category:string&#xA;description:string&#xA;parent: not used&#xA;administration: not used&#xA;&#xA;&#xA;"/>
     </eAnnotations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="submodelelement" ordered="false"
         upperBound="-1" eType="#//SubmodelElement" changeable="false" volatile="true"
@@ -238,7 +245,7 @@
       </eAnnotations>
     </eStructuralFeatures>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="SubmodelElement" abstract="true" eSuperTypes="#//Refereable #//HasKind #//HasSemantics #//HasDataSpecification">
+  <eClassifiers xsi:type="ecore:EClass" name="SubmodelElement" abstract="true" eSuperTypes="#//Referable #//HasKind #//HasSemantics #//HasDataSpecification">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDynamic" ordered="false"
         lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="endPoint" ordered="false"
@@ -252,7 +259,6 @@
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="protocol" ordered="false"
         eType="#//ProtocolKind"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="port" ordered="false" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EEnum" name="ProtocolKind">
     <eLiterals name="HTTP"/>
@@ -289,7 +295,7 @@
         upperBound="-1" eType="#//IdentifierKeyValuePair"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="billOfMaterial" ordered="false"
         upperBound="-1" eType="#//Submodel"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="defaaultThumbnail" ordered="false"
+    <eStructuralFeatures xsi:type="ecore:EReference" name="defaultThumbnail" ordered="false"
         eType="#//File"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EEnum" name="AssetKind">
@@ -313,16 +319,6 @@
         lowerBound="1" eType="#//MimeType"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="DataElement" abstract="true" eSuperTypes="#//SubmodelElement">
-    <eAnnotations source="duplicates">
-      <contents xsi:type="ecore:EAttribute" name="idShort" ordered="false" lowerBound="1"
-          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"
-          changeable="false" volatile="true" transient="true" derived="true">
-        <eAnnotations source="redefines" references="#//Refereable/idShort"/>
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="get" value="// get the name of the Referable Element&#xA;&#x9;&#x9;if (getBase_Property() != null) {&#xA;&#x9;&#x9;&#x9;String name = getBase_Property().getName();&#xA;&#x9;&#x9;&#x9;// remove space&#xA;&#x9;&#x9;&#x9;if (name != null) {&#xA;&#x9;&#x9;&#x9;&#x9;String idShort = name.replace(&quot; &quot;, &quot;&quot;);&#xA;&#x9;&#x9;&#x9;&#x9;return idShort;&#xA;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;return null;"/>
-        </eAnnotations>
-      </contents>
-    </eAnnotations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
         lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
   </eClassifiers>
@@ -344,6 +340,12 @@
     <eStructuralFeatures xsi:type="ecore:EReference" name="endpoint" ordered="false"
         upperBound="-1" eType="#//Endpoint" containment="true"/>
   </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="AASEndpoint">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="address" ordered="false"
+        lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="port" ordered="false" lowerBound="1"
+        eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+  </eClassifiers>
   <eClassifiers xsi:type="ecore:EEnum" name="EntityType">
     <eLiterals name="CoManagedEntity"/>
     <eLiterals name="SelfManagedEntity" value="1"/>
@@ -361,30 +363,10 @@
         eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Dependency"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Operation" eSuperTypes="#//SubmodelElement">
-    <eAnnotations source="duplicates">
-      <contents xsi:type="ecore:EAttribute" name="idShort" ordered="false" lowerBound="1"
-          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"
-          changeable="false" volatile="true" transient="true" derived="true">
-        <eAnnotations source="redefines" references="#//Refereable/idShort"/>
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="get" value="// get the name of the Referable Element&#xA;&#x9;&#x9;if (getBase_Operation() != null) {&#xA;&#x9;&#x9;&#x9;String name = getBase_Operation().getName();&#xA;&#x9;&#x9;&#x9;// remove space&#xA;&#x9;&#x9;&#x9;if (name != null) {&#xA;&#x9;&#x9;&#x9;&#x9;String idShort = name.replace(&quot; &quot;, &quot;&quot;);&#xA;&#x9;&#x9;&#x9;&#x9;return idShort;&#xA;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;return null;"/>
-        </eAnnotations>
-      </contents>
-    </eAnnotations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="base_Operation" ordered="false"
         lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Operation"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="SubmodelElementCollection" eSuperTypes="#//SubmodelElement">
-    <eAnnotations source="duplicates">
-      <contents xsi:type="ecore:EAttribute" name="idShort" ordered="false" lowerBound="1"
-          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"
-          changeable="false" volatile="true" transient="true" derived="true">
-        <eAnnotations source="redefines" references="#//Refereable/idShort"/>
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="get" value="// get the name of the Referable Element&#xA;&#x9;&#x9;String name = &quot;&quot;;&#xA;&#x9;&#x9;if (getBase_DataType() != null) {&#xA;&#x9;&#x9;&#x9;name = getBase_DataType().getName();&#xA;&#xA;&#x9;&#x9;} else if (getBase_Class() != null) {&#xA;&#x9;&#x9;&#x9;name = getBase_Class().getName();&#xA;&#xA;&#x9;&#x9;} else if (getBase_Property() != null) {&#xA;&#x9;&#x9;&#x9;name = getBase_Property().getName();&#xA;&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;// remove space&#xA;&#x9;&#x9;if (name != null) {&#xA;&#x9;&#x9;&#x9;String idShort = name.replace(&quot; &quot;, &quot;&quot;);&#xA;&#x9;&#x9;&#x9;return idShort;&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;return name;"/>
-        </eAnnotations>
-      </contents>
-    </eAnnotations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="value" upperBound="-1"
         eType="#//SubmodelElement" changeable="false" volatile="true" transient="true"
         derived="true">
@@ -405,16 +387,6 @@
         eType="#//Reference"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Event" abstract="true" eSuperTypes="#//SubmodelElement">
-    <eAnnotations source="duplicates">
-      <contents xsi:type="ecore:EAttribute" name="idShort" ordered="false" lowerBound="1"
-          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"
-          changeable="false" volatile="true" transient="true" derived="true">
-        <eAnnotations source="redefines" references="#//Refereable/idShort"/>
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="get" value="// get the name of the Referable Element&#xA;&#x9;&#x9;if (getBase_Property() != null) {&#xA;&#x9;&#x9;&#x9;String name = getBase_Property().getName();&#xA;&#x9;&#x9;&#x9;// remove space&#xA;&#x9;&#x9;&#x9;if (name != null) {&#xA;&#x9;&#x9;&#x9;&#x9;String idShort = name.replace(&quot; &quot;, &quot;&quot;);&#xA;&#x9;&#x9;&#x9;&#x9;return idShort;&#xA;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;return null;"/>
-        </eAnnotations>
-      </contents>
-    </eAnnotations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
         eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
   </eClassifiers>
@@ -427,16 +399,6 @@
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="max" ordered="false" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Capability" eSuperTypes="#//SubmodelElement">
-    <eAnnotations source="duplicates">
-      <contents xsi:type="ecore:EAttribute" name="idShort" ordered="false" lowerBound="1"
-          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"
-          changeable="false" volatile="true" transient="true" derived="true">
-        <eAnnotations source="redefines" references="#//Refereable/idShort"/>
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="get" value="// get the name of the Referable Element&#xA;&#x9;&#x9;&#x9;&#x9;if (getBase_Property() != null) {&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;String name = getBase_Property().getName();&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;// remove space&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;if (name != null) {&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;String idShort = name.replace(&quot; &quot;, &quot;&quot;);&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;return idShort;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;&#x9;&#x9;return null;"/>
-        </eAnnotations>
-      </contents>
-    </eAnnotations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
         eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
   </eClassifiers>
@@ -509,9 +471,9 @@
     <eLiterals name="TIME" value="14"/>
     <eLiterals name="TIMESTAMP" value="15"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="View" eSuperTypes="#//Refereable #//HasSemantics #//HasDataSpecification">
+  <eClassifiers xsi:type="ecore:EClass" name="View" eSuperTypes="#//Referable #//HasSemantics #//HasDataSpecification">
     <eStructuralFeatures xsi:type="ecore:EReference" name="containedElement" ordered="false"
-        upperBound="-1" eType="#//Refereable"/>
+        upperBound="-1" eType="#//Referable"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="MultiLanguageProperty" eSuperTypes="#//DataElement">
     <eStructuralFeatures xsi:type="ecore:EReference" name="value" upperBound="-1"
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.profile/resources/aas.genmodel b/plugins/modeling/org.eclipse.papyrus.aas.profile/resources/aas.genmodel
index 09abe43..0345f6c 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.profile/resources/aas.genmodel
+++ b/plugins/modeling/org.eclipse.papyrus.aas.profile/resources/aas.genmodel
@@ -45,6 +45,13 @@
       <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="aas.ecore#//LangEnum/fr"/>
       <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="aas.ecore#//LangEnum/es"/>
       <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="aas.ecore#//LangEnum/it"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="aas.ecore#//LangEnum/nl"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="aas.ecore#//LangEnum/pl"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="aas.ecore#//LangEnum/sr"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="aas.ecore#//LangEnum/ar"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="aas.ecore#//LangEnum/zh"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="aas.ecore#//LangEnum/ko"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="aas.ecore#//LangEnum/ja"/>
     </genEnums>
     <genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="aas.ecore#//KeyElements">
       <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="aas.ecore#//KeyElements/GlobalReference"/>
@@ -194,13 +201,14 @@
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
           propertySortChoices="true" ecoreFeature="ecore:EReference aas.ecore#//Identifiable/base_Package"/>
     </genClasses>
-    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="aas.ecore#//Refereable">
+    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="aas.ecore#//Referable">
       <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" createChild="false"
-          ecoreFeature="ecore:EAttribute aas.ecore#//Refereable/idShort" get="// get the name of the Referable Element&#xD;&#xA;&#x9;&#x9;if (getBase_Class() != null) {&#xD;&#xA;&#x9;&#x9;&#x9;String name = getBase_Class().getName();&#xD;&#xA;&#x9;&#x9;&#x9;// remove space&#xD;&#xA;&#x9;&#x9;&#x9;if (name != null) {&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;String idShort = name.replace(&quot; &quot;, &quot;&quot;);&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;return idShort;&#xD;&#xA;&#x9;&#x9;&#x9;}&#xD;&#xA;&#x9;&#x9;}&#xD;&#xA;&#x9;&#x9;return null;"/>
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute aas.ecore#//Refereable/category"/>
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EReference aas.ecore#//Refereable/description"/>
+          ecoreFeature="ecore:EAttribute aas.ecore#//Referable/idShort" get="// get the name of the Referable Element&#xD;&#xA;&#x9;&#x9;if (getBase_Class() != null) {&#xD;&#xA;&#x9;&#x9;&#x9;String name = getBase_Class().getName();&#xD;&#xA;&#x9;&#x9;&#x9;// remove space&#xD;&#xA;&#x9;&#x9;&#x9;if (name != null) {&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;String idShort = name.replace(&quot; &quot;, &quot;&quot;);&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;return idShort;&#xD;&#xA;&#x9;&#x9;&#x9;}&#xD;&#xA;&#x9;&#x9;}&#xD;&#xA;&#x9;&#x9;return null;"/>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute aas.ecore#//Referable/category"/>
+      <genFeatures xsi:type="genmodel:GenFeature" property="None" children="true"
+          createChild="true" ecoreFeature="ecore:EReference aas.ecore#//Referable/description"/>
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
-          propertySortChoices="true" ecoreFeature="ecore:EReference aas.ecore#//Refereable/base_Class"/>
+          propertySortChoices="true" ecoreFeature="ecore:EReference aas.ecore#//Referable/base_Class"/>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="aas.ecore#//LangString">
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute aas.ecore#//LangString/lang"/>
@@ -279,7 +287,6 @@
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute aas.ecore#//Endpoint/address"/>
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute aas.ecore#//Endpoint/protocol"/>
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute aas.ecore#//Endpoint/name"/>
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute aas.ecore#//Endpoint/port"/>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="aas.ecore#//NodeId">
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute aas.ecore#//NodeId/namespace"/>
@@ -296,7 +303,7 @@
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
           propertySortChoices="true" ecoreFeature="ecore:EReference aas.ecore#//AssetInformation/billOfMaterial"/>
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
-          propertySortChoices="true" ecoreFeature="ecore:EReference aas.ecore#//AssetInformation/defaaultThumbnail"/>
+          propertySortChoices="true" ecoreFeature="ecore:EReference aas.ecore#//AssetInformation/defaultThumbnail"/>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="aas.ecore#//IdentifierKeyValuePair">
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute aas.ecore#//IdentifierKeyValuePair/key"/>
@@ -317,6 +324,10 @@
       <genFeatures xsi:type="genmodel:GenFeature" property="None" children="true"
           createChild="true" ecoreFeature="ecore:EReference aas.ecore#//Asset/endpoint"/>
     </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="aas.ecore#//AASEndpoint">
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute aas.ecore#//AASEndpoint/address"/>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute aas.ecore#//AASEndpoint/port"/>
+    </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="aas.ecore#//Entity">
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute aas.ecore#//Entity/entityType"/>
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.profile/resources/aas.profile.notation b/plugins/modeling/org.eclipse.papyrus.aas.profile/resources/aas.profile.notation
index 4c8ce0a..10c96cc 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.profile/resources/aas.profile.notation
+++ b/plugins/modeling/org.eclipse.papyrus.aas.profile/resources/aas.profile.notation
@@ -608,13 +608,6 @@
           <element xmi:type="uml:Property" href="aas.profile.uml#_l4_S0f53EeqmZsqm6Otq5g"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_V8ejcRx3EeyfKaY8F4UOwQ"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_V8ejchx3EeyfKaY8F4UOwQ" type="Property_ClassAttributeLabel">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WJiIAxx3EeyfKaY8F4UOwQ" source="PapyrusCSSForceValue">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WJiIBBx3EeyfKaY8F4UOwQ" key="mutable" value="true"/>
-          </eAnnotations>
-          <element xmi:type="uml:Property" href="aas.profile.uml#_9InB0CWMEeurscN3XpP0Dw"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_V8ejcxx3EeyfKaY8F4UOwQ"/>
-        </children>
         <children xmi:type="notation:Shape" xmi:id="_yAg-ENisEeu69LTAUALdcg" type="Property_ClassAttributeLabel">
           <element xmi:type="uml:Property" href="aas.profile.uml#_x9nbENisEeu69LTAUALdcg"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_yAg-EdisEeu69LTAUALdcg"/>
@@ -739,13 +732,41 @@
           <element xmi:type="uml:EnumerationLiteral" href="aas.profile.uml#_A_t8wNi3Eeu69LTAUALdcg"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_BCEtMdi3Eeu69LTAUALdcg"/>
         </children>
+        <children xmi:type="notation:Shape" xmi:id="_qStnQLvtEeyZV8-jhRm1eg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="aas.profile.uml#_qR_1kLvtEeyZV8-jhRm1eg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_qStnQbvtEeyZV8-jhRm1eg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_z51SgLvtEeyZV8-jhRm1eg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="aas.profile.uml#_z5Hg0LvtEeyZV8-jhRm1eg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_z51SgbvtEeyZV8-jhRm1eg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_2_32YLvtEeyZV8-jhRm1eg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="aas.profile.uml#_2_JdoLvtEeyZV8-jhRm1eg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_2_32YbvtEeyZV8-jhRm1eg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_-CztoLvtEeyZV8-jhRm1eg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="aas.profile.uml#_-CHxILvtEeyZV8-jhRm1eg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_-CztobvtEeyZV8-jhRm1eg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_Eig8ALvuEeyZV8-jhRm1eg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="aas.profile.uml#_Eh3bwLvuEeyZV8-jhRm1eg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Eig8AbvuEeyZV8-jhRm1eg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_L8Z6sLvuEeyZV8-jhRm1eg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="aas.profile.uml#_L7tXILvuEeyZV8-jhRm1eg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_L8Z6sbvuEeyZV8-jhRm1eg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_SLdd8LvuEeyZV8-jhRm1eg" type="EnumerationLiteral_LiteralLabel">
+          <element xmi:type="uml:EnumerationLiteral" href="aas.profile.uml#_SK2Z8LvuEeyZV8-jhRm1eg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_SLdd8bvuEeyZV8-jhRm1eg"/>
+        </children>
         <styles xmi:type="notation:TitleStyle" xmi:id="_pdhdwdi2Eeu69LTAUALdcg"/>
         <styles xmi:type="notation:SortingStyle" xmi:id="_pdhdwti2Eeu69LTAUALdcg"/>
         <styles xmi:type="notation:FilteringStyle" xmi:id="_pdhdw9i2Eeu69LTAUALdcg"/>
         <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pdhdxNi2Eeu69LTAUALdcg"/>
       </children>
       <element xmi:type="uml:Enumeration" href="aas.profile.uml#_pdeacNi2Eeu69LTAUALdcg"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pdg2sdi2Eeu69LTAUALdcg" x="80" y="1220" height="181"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pdg2sdi2Eeu69LTAUALdcg" x="80" y="1140" height="281"/>
     </children>
     <children xmi:type="notation:Shape" xmi:id="_6uqdUNjVEeuUEdUv24AgeQ" type="DataType_Shape">
       <children xmi:type="notation:DecorationNode" xmi:id="_6urrcNjVEeuUEdUv24AgeQ" type="DataType_NameLabel"/>
@@ -1003,10 +1024,6 @@
           <element xmi:type="uml:Property" href="aas.profile.uml#_nO0VoBYvEeydfPGOZmoYzQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_wI4AAV9AEeyEiuYeQkOPfw"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_lJnGYG5EEeyZH7XFd9xCEQ" type="Property_DataTypeAttributeLabel">
-          <element xmi:type="uml:Property" href="aas.profile.uml#_5CMhwG5BEeyZH7XFd9xCEQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_lJnGYW5EEeyZH7XFd9xCEQ"/>
-        </children>
         <styles xmi:type="notation:TitleStyle" xmi:id="_uAn6FF9AEeyEiuYeQkOPfw"/>
         <styles xmi:type="notation:SortingStyle" xmi:id="_uAn6FV9AEeyEiuYeQkOPfw"/>
         <styles xmi:type="notation:FilteringStyle" xmi:id="_uAn6Fl9AEeyEiuYeQkOPfw"/>
@@ -1019,47 +1036,47 @@
         <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uAn6HF9AEeyEiuYeQkOPfw"/>
       </children>
       <element xmi:type="uml:DataType" href="aas.profile.uml#_0icBACJ9EeuWq4zY-5mLEA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uAn6EV9AEeyEiuYeQkOPfw" x="40" y="740"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uAn6EV9AEeyEiuYeQkOPfw" x="-360" y="680"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_fisq3Zl-EeyMEefTcnapKg" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_fisq3pl-EeyMEefTcnapKg"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_fisq4Jl-EeyMEefTcnapKg" name="BASE_ELEMENT">
+    <children xmi:type="notation:Shape" xmi:id="_VLeGgNUBEeyUGt2LEMFOVg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_VLeGgdUBEeyUGt2LEMFOVg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_VLeGg9UBEeyUGt2LEMFOVg" name="BASE_ELEMENT">
         <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
       </styles>
       <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fisq35l-EeyMEefTcnapKg" x="560" y="-180"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VLeGgtUBEeyUGt2LEMFOVg" x="560" y="-180"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_fjAM3Zl-EeyMEefTcnapKg" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_fjAM3pl-EeyMEefTcnapKg"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_fjAM4Jl-EeyMEefTcnapKg" name="BASE_ELEMENT">
+    <children xmi:type="notation:Shape" xmi:id="_VLwaY9UBEeyUGt2LEMFOVg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_VLwaZNUBEeyUGt2LEMFOVg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_VLxBcNUBEeyUGt2LEMFOVg" name="BASE_ELEMENT">
         <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
       </styles>
       <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fjAM35l-EeyMEefTcnapKg" x="200" y="320"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VLwaZdUBEeyUGt2LEMFOVg" x="200" y="320"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_fjTHw5l-EeyMEefTcnapKg" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_fjTHxJl-EeyMEefTcnapKg"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_fjTHxpl-EeyMEefTcnapKg" name="BASE_ELEMENT">
+    <children xmi:type="notation:Shape" xmi:id="_VL_D4NUBEeyUGt2LEMFOVg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_VL_D4dUBEeyUGt2LEMFOVg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_VL_D49UBEeyUGt2LEMFOVg" name="BASE_ELEMENT">
         <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Dependency"/>
       </styles>
       <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fjTHxZl-EeyMEefTcnapKg" x="760" y="860"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VL_D4tUBEeyUGt2LEMFOVg" x="760" y="860"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_fjc4w5l-EeyMEefTcnapKg" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_fjc4xJl-EeyMEefTcnapKg"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_fjc4xpl-EeyMEefTcnapKg" name="BASE_ELEMENT">
+    <children xmi:type="notation:Shape" xmi:id="_VMKDA9UBEeyUGt2LEMFOVg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_VMKDBNUBEeyUGt2LEMFOVg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_VMKDBtUBEeyUGt2LEMFOVg" name="BASE_ELEMENT">
         <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#DataType"/>
       </styles>
       <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fjc4xZl-EeyMEefTcnapKg" x="-20" y="620"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VMKDBdUBEeyUGt2LEMFOVg" x="-20" y="620"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_fjc435l-EeyMEefTcnapKg" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_fjc44Jl-EeyMEefTcnapKg"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_fjc44pl-EeyMEefTcnapKg" name="BASE_ELEMENT">
+    <children xmi:type="notation:Shape" xmi:id="_VMQws9UBEeyUGt2LEMFOVg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_VMQwtNUBEeyUGt2LEMFOVg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_VMRXwNUBEeyUGt2LEMFOVg" 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="_fjc44Zl-EeyMEefTcnapKg" x="600" y="80"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VMQwtdUBEeyUGt2LEMFOVg" x="600" y="80"/>
     </children>
     <styles xmi:type="notation:StringValueStyle" xmi:id="_Nbw1EY7QEeqdQ5EKLtW6Vg" name="diagram_compatibility_version" stringValue="1.4.0"/>
     <styles xmi:type="notation:DiagramStyle" xmi:id="_Nbw1Eo7QEeqdQ5EKLtW6Vg"/>
@@ -1459,55 +1476,55 @@
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy9OQBx7EeyfKaY8F4UOwQ" id="(1.0,0.6639004149377593)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy91UBx7EeyfKaY8F4UOwQ" id="(0.0,0.5555555555555556)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_fisq4Zl-EeyMEefTcnapKg" type="StereotypeCommentLink" source="_3MuZ4JQbEeqsmLiGoCAZPQ" target="_fisq3Zl-EeyMEefTcnapKg">
-      <styles xmi:type="notation:FontStyle" xmi:id="_fisq4pl-EeyMEefTcnapKg"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_fisq5pl-EeyMEefTcnapKg" name="BASE_ELEMENT">
+    <edges xmi:type="notation:Connector" xmi:id="_VLeGhNUBEeyUGt2LEMFOVg" type="StereotypeCommentLink" source="_3MuZ4JQbEeqsmLiGoCAZPQ" target="_VLeGgNUBEeyUGt2LEMFOVg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_VLeGhdUBEeyUGt2LEMFOVg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_VLeGidUBEeyUGt2LEMFOVg" name="BASE_ELEMENT">
         <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
       </styles>
       <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fisq45l-EeyMEefTcnapKg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fisq5Jl-EeyMEefTcnapKg"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fisq5Zl-EeyMEefTcnapKg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_VLeGhtUBEeyUGt2LEMFOVg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VLeGh9UBEeyUGt2LEMFOVg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VLeGiNUBEeyUGt2LEMFOVg"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_fjAM4Zl-EeyMEefTcnapKg" type="StereotypeCommentLink" source="_dawbMJj-EeqsmLiGoCAZPQ" target="_fjAM3Zl-EeyMEefTcnapKg">
-      <styles xmi:type="notation:FontStyle" xmi:id="_fjAM4pl-EeyMEefTcnapKg"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_fjAM5pl-EeyMEefTcnapKg" name="BASE_ELEMENT">
+    <edges xmi:type="notation:Connector" xmi:id="_VLxBcdUBEeyUGt2LEMFOVg" type="StereotypeCommentLink" source="_dawbMJj-EeqsmLiGoCAZPQ" target="_VLwaY9UBEeyUGt2LEMFOVg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_VLxBctUBEeyUGt2LEMFOVg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_VLxBdtUBEeyUGt2LEMFOVg" name="BASE_ELEMENT">
         <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
       </styles>
       <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fjAM45l-EeyMEefTcnapKg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fjAM5Jl-EeyMEefTcnapKg"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fjAM5Zl-EeyMEefTcnapKg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_VLxBc9UBEeyUGt2LEMFOVg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VLxBdNUBEeyUGt2LEMFOVg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VLxBddUBEeyUGt2LEMFOVg"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_fjTHx5l-EeyMEefTcnapKg" type="StereotypeCommentLink" source="_qhUkwKsFEeqnq7OKRN2fbg" target="_fjTHw5l-EeyMEefTcnapKg">
-      <styles xmi:type="notation:FontStyle" xmi:id="_fjTHyJl-EeyMEefTcnapKg"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_fjTHzJl-EeyMEefTcnapKg" name="BASE_ELEMENT">
+    <edges xmi:type="notation:Connector" xmi:id="_VL_D5NUBEeyUGt2LEMFOVg" type="StereotypeCommentLink" source="_qhUkwKsFEeqnq7OKRN2fbg" target="_VL_D4NUBEeyUGt2LEMFOVg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_VL_D5dUBEeyUGt2LEMFOVg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_VL_D6dUBEeyUGt2LEMFOVg" name="BASE_ELEMENT">
         <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Dependency"/>
       </styles>
       <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fjTHyZl-EeyMEefTcnapKg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fjTHypl-EeyMEefTcnapKg"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fjTHy5l-EeyMEefTcnapKg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_VL_D5tUBEeyUGt2LEMFOVg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VL_D59UBEeyUGt2LEMFOVg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VL_D6NUBEeyUGt2LEMFOVg"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_fjc4x5l-EeyMEefTcnapKg" type="StereotypeCommentLink" source="_XsV_cCJ9EeuWq4zY-5mLEA" target="_fjc4w5l-EeyMEefTcnapKg">
-      <styles xmi:type="notation:FontStyle" xmi:id="_fjc4yJl-EeyMEefTcnapKg"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_fjc4zJl-EeyMEefTcnapKg" name="BASE_ELEMENT">
+    <edges xmi:type="notation:Connector" xmi:id="_VMKDB9UBEeyUGt2LEMFOVg" type="StereotypeCommentLink" source="_XsV_cCJ9EeuWq4zY-5mLEA" target="_VMKDA9UBEeyUGt2LEMFOVg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_VMKDCNUBEeyUGt2LEMFOVg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_VMKDDNUBEeyUGt2LEMFOVg" name="BASE_ELEMENT">
         <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#DataType"/>
       </styles>
       <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fjc4yZl-EeyMEefTcnapKg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fjc4ypl-EeyMEefTcnapKg"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fjc4y5l-EeyMEefTcnapKg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_VMKDCdUBEeyUGt2LEMFOVg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VMKDCtUBEeyUGt2LEMFOVg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VMKDC9UBEeyUGt2LEMFOVg"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_fjc445l-EeyMEefTcnapKg" type="StereotypeCommentLink" source="_uPPPAJ3LEeudPPrsLq2QgQ" target="_fjc435l-EeyMEefTcnapKg">
-      <styles xmi:type="notation:FontStyle" xmi:id="_fjc45Jl-EeyMEefTcnapKg"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_fjc46Jl-EeyMEefTcnapKg" name="BASE_ELEMENT">
+    <edges xmi:type="notation:Connector" xmi:id="_VMRXwdUBEeyUGt2LEMFOVg" type="StereotypeCommentLink" source="_uPPPAJ3LEeudPPrsLq2QgQ" target="_VMQws9UBEeyUGt2LEMFOVg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_VMRXwtUBEeyUGt2LEMFOVg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_VMRXxtUBEeyUGt2LEMFOVg" 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="_fjc45Zl-EeyMEefTcnapKg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fjc45pl-EeyMEefTcnapKg"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fjc455l-EeyMEefTcnapKg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_VMRXw9UBEeyUGt2LEMFOVg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VMRXxNUBEeyUGt2LEMFOVg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VMRXxdUBEeyUGt2LEMFOVg"/>
     </edges>
   </notation:Diagram>
   <notation:Diagram xmi:id="_4Iu5sJj-EeqsmLiGoCAZPQ" type="PapyrusUMLProfileDiagram" name="Security" measurementUnit="Pixel">
@@ -1836,13 +1853,6 @@
           <element xmi:type="uml:Property" href="aas.profile.uml#_ZORsQCJ9EeuWq4zY-5mLEA"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_tOKEwRx4EeyfKaY8F4UOwQ"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_tOKr0Bx4EeyfKaY8F4UOwQ" type="Property_ClassAttributeLabel">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tS1wcRx4EeyfKaY8F4UOwQ" source="PapyrusCSSForceValue">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tS1wchx4EeyfKaY8F4UOwQ" key="mutable" value="true"/>
-          </eAnnotations>
-          <element xmi:type="uml:Property" href="aas.profile.uml#_9InB0CWMEeurscN3XpP0Dw"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_tOKr0Rx4EeyfKaY8F4UOwQ"/>
-        </children>
         <children xmi:type="notation:Shape" xmi:id="_tOKr0hx4EeyfKaY8F4UOwQ" type="Property_ClassAttributeLabel">
           <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tS1wcxx4EeyfKaY8F4UOwQ" source="PapyrusCSSForceValue">
             <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tS1wdBx4EeyfKaY8F4UOwQ" key="mutable" value="true"/>
@@ -2153,13 +2163,6 @@
         <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tWjy0Bx4EeyfKaY8F4UOwQ" source="PapyrusCSSForceValue">
           <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tWkZ4Bx4EeyfKaY8F4UOwQ" key="mutable" value="true"/>
         </eAnnotations>
-        <children xmi:type="notation:Shape" xmi:id="_tQSLsBx4EeyfKaY8F4UOwQ" type="Property_ClassAttributeLabel">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tWkZ4Rx4EeyfKaY8F4UOwQ" source="PapyrusCSSForceValue">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tWkZ4hx4EeyfKaY8F4UOwQ" key="mutable" value="true"/>
-          </eAnnotations>
-          <element xmi:type="uml:Property" href="aas.profile.uml#_UKbdACWgEeuuFNBhc8O6ew"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_tQSLsRx4EeyfKaY8F4UOwQ"/>
-        </children>
         <styles xmi:type="notation:TitleStyle" xmi:id="_ICdZ0f85Eeq1EMHDrQJzfQ"/>
         <styles xmi:type="notation:SortingStyle" xmi:id="_ICdZ0v85Eeq1EMHDrQJzfQ"/>
         <styles xmi:type="notation:FilteringStyle" xmi:id="_ICdZ0_85Eeq1EMHDrQJzfQ"/>
@@ -2272,29 +2275,29 @@
       <element xmi:type="uml:Stereotype" href="aas.profile.uml#_Q2O20JXhEeqsmLiGoCAZPQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1KFroW-dEeyZH7XFd9xCEQ" x="633" y="35" height="66"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_fs1eQJl-EeyMEefTcnapKg" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_fs1eQZl-EeyMEefTcnapKg"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_fs1eQ5l-EeyMEefTcnapKg" name="BASE_ELEMENT">
+    <children xmi:type="notation:Shape" xmi:id="_RZ8VoNUBEeyUGt2LEMFOVg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_RZ8VodUBEeyUGt2LEMFOVg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RZ8Vo9UBEeyUGt2LEMFOVg" name="BASE_ELEMENT">
         <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
       </styles>
       <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fs1eQpl-EeyMEefTcnapKg" x="660" y="240"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RZ8VotUBEeyUGt2LEMFOVg" x="660" y="240"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_fs1eXJl-EeyMEefTcnapKg" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_fs1eXZl-EeyMEefTcnapKg"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_fs1eX5l-EeyMEefTcnapKg" name="BASE_ELEMENT">
+    <children xmi:type="notation:Shape" xmi:id="_RaGGoNUBEeyUGt2LEMFOVg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_RaGGodUBEeyUGt2LEMFOVg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RaGGo9UBEeyUGt2LEMFOVg" name="BASE_ELEMENT">
         <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
       </styles>
       <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fs1eXpl-EeyMEefTcnapKg" x="300" y="100"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RaGGotUBEeyUGt2LEMFOVg" x="300" y="100"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_fs-oPZl-EeyMEefTcnapKg" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_fs-oPpl-EeyMEefTcnapKg"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_fs-oQJl-EeyMEefTcnapKg" name="BASE_ELEMENT">
+    <children xmi:type="notation:Shape" xmi:id="_RaXMYNUBEeyUGt2LEMFOVg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_RaXMYdUBEeyUGt2LEMFOVg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RaXMY9UBEeyUGt2LEMFOVg" name="BASE_ELEMENT">
         <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
       </styles>
       <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fs-oP5l-EeyMEefTcnapKg" x="800" y="240"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RaXMYtUBEeyUGt2LEMFOVg" x="800" y="240"/>
     </children>
     <styles xmi:type="notation:StringValueStyle" xmi:id="_Q5ps0f2gEeqo7uz4QZ84uw" name="diagram_compatibility_version" stringValue="1.4.0"/>
     <styles xmi:type="notation:DiagramStyle" xmi:id="_Q5ps0v2gEeqo7uz4QZ84uw"/>
@@ -2505,35 +2508,35 @@
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2y8f0G-dEeyZH7XFd9xCEQ" id="(0.6284658040665434,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2y8f0W-dEeyZH7XFd9xCEQ" id="(0.47,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_fs1eRJl-EeyMEefTcnapKg" type="StereotypeCommentLink" source="_euudoP5NEeqmZsqm6Otq5g" target="_fs1eQJl-EeyMEefTcnapKg">
-      <styles xmi:type="notation:FontStyle" xmi:id="_fs1eRZl-EeyMEefTcnapKg"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_fs1eSZl-EeyMEefTcnapKg" name="BASE_ELEMENT">
+    <edges xmi:type="notation:Connector" xmi:id="_RZ88sNUBEeyUGt2LEMFOVg" type="StereotypeCommentLink" source="_euudoP5NEeqmZsqm6Otq5g" target="_RZ8VoNUBEeyUGt2LEMFOVg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_RZ88sdUBEeyUGt2LEMFOVg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RZ88tdUBEeyUGt2LEMFOVg" name="BASE_ELEMENT">
         <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
       </styles>
       <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fs1eRpl-EeyMEefTcnapKg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fs1eR5l-EeyMEefTcnapKg"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fs1eSJl-EeyMEefTcnapKg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RZ88stUBEeyUGt2LEMFOVg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RZ88s9UBEeyUGt2LEMFOVg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RZ88tNUBEeyUGt2LEMFOVg"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_fs1eYJl-EeyMEefTcnapKg" type="StereotypeCommentLink" source="_hfackP5NEeqmZsqm6Otq5g" target="_fs1eXJl-EeyMEefTcnapKg">
-      <styles xmi:type="notation:FontStyle" xmi:id="_fs1eYZl-EeyMEefTcnapKg"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_fs1eZZl-EeyMEefTcnapKg" name="BASE_ELEMENT">
+    <edges xmi:type="notation:Connector" xmi:id="_RaGGpNUBEeyUGt2LEMFOVg" type="StereotypeCommentLink" source="_hfackP5NEeqmZsqm6Otq5g" target="_RaGGoNUBEeyUGt2LEMFOVg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_RaGGpdUBEeyUGt2LEMFOVg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RaGGqdUBEeyUGt2LEMFOVg" name="BASE_ELEMENT">
         <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
       </styles>
       <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fs1eYpl-EeyMEefTcnapKg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fs1eY5l-EeyMEefTcnapKg"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fs1eZJl-EeyMEefTcnapKg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RaGGptUBEeyUGt2LEMFOVg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RaGGp9UBEeyUGt2LEMFOVg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RaGGqNUBEeyUGt2LEMFOVg"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_fs-oQZl-EeyMEefTcnapKg" type="StereotypeCommentLink" source="_jHFhAP55EeqmZsqm6Otq5g" target="_fs-oPZl-EeyMEefTcnapKg">
-      <styles xmi:type="notation:FontStyle" xmi:id="_fs-oQpl-EeyMEefTcnapKg"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_fs-oRpl-EeyMEefTcnapKg" name="BASE_ELEMENT">
+    <edges xmi:type="notation:Connector" xmi:id="_RaXMZNUBEeyUGt2LEMFOVg" type="StereotypeCommentLink" source="_jHFhAP55EeqmZsqm6Otq5g" target="_RaXMYNUBEeyUGt2LEMFOVg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_RaXMZdUBEeyUGt2LEMFOVg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RaXMadUBEeyUGt2LEMFOVg" name="BASE_ELEMENT">
         <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
       </styles>
       <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fs-oQ5l-EeyMEefTcnapKg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fs-oRJl-EeyMEefTcnapKg"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fs-oRZl-EeyMEefTcnapKg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RaXMZtUBEeyUGt2LEMFOVg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RaXMZ9UBEeyUGt2LEMFOVg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RaXMaNUBEeyUGt2LEMFOVg"/>
     </edges>
   </notation:Diagram>
   <notation:Diagram xmi:id="_1IGRYP5jEeqmZsqm6Otq5g" type="PapyrusUMLProfileDiagram" name="Reference" measurementUnit="Pixel">
@@ -2764,13 +2767,13 @@
       <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5TMlk_5zEeqmZsqm6Otq5g" x="180" y="-80" width="160"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_fm4ARpl-EeyMEefTcnapKg" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_fm4AR5l-EeyMEefTcnapKg"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_fm4ASZl-EeyMEefTcnapKg" name="BASE_ELEMENT">
+    <children xmi:type="notation:Shape" xmi:id="_Nu_r87vpEeyZV8-jhRm1eg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_Nu_r9LvpEeyZV8-jhRm1eg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Nu_r9rvpEeyZV8-jhRm1eg" name="BASE_ELEMENT">
         <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
       </styles>
       <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fm4ASJl-EeyMEefTcnapKg" x="380" y="-80"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Nu_r9bvpEeyZV8-jhRm1eg" x="380" y="-80"/>
     </children>
     <styles xmi:type="notation:StringValueStyle" xmi:id="_1IGRYf5jEeqmZsqm6Otq5g" name="diagram_compatibility_version" stringValue="1.4.0"/>
     <styles xmi:type="notation:DiagramStyle" xmi:id="_1IGRYv5jEeqmZsqm6Otq5g"/>
@@ -2858,15 +2861,15 @@
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_oam2MBx4EeyfKaY8F4UOwQ" id="(0.0,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_oam2MRx4EeyfKaY8F4UOwQ" id="(0.25,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_fm4ASpl-EeyMEefTcnapKg" type="StereotypeCommentLink" source="_5TMlkP5zEeqmZsqm6Otq5g" target="_fm4ARpl-EeyMEefTcnapKg">
-      <styles xmi:type="notation:FontStyle" xmi:id="_fm4AS5l-EeyMEefTcnapKg"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_fm4AT5l-EeyMEefTcnapKg" name="BASE_ELEMENT">
+    <edges xmi:type="notation:Connector" xmi:id="_NvATALvpEeyZV8-jhRm1eg" type="StereotypeCommentLink" source="_5TMlkP5zEeqmZsqm6Otq5g" target="_Nu_r87vpEeyZV8-jhRm1eg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_NvATAbvpEeyZV8-jhRm1eg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_NvATBbvpEeyZV8-jhRm1eg" name="BASE_ELEMENT">
         <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
       </styles>
       <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fm4ATJl-EeyMEefTcnapKg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fm4ATZl-EeyMEefTcnapKg"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fm4ATpl-EeyMEefTcnapKg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NvATArvpEeyZV8-jhRm1eg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NvATA7vpEeyZV8-jhRm1eg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NvATBLvpEeyZV8-jhRm1eg"/>
     </edges>
   </notation:Diagram>
   <notation:Diagram xmi:id="_0DuEsCJ9EeuWq4zY-5mLEA" type="PapyrusUMLProfileDiagram" name="Deployment" measurementUnit="Pixel">
@@ -2954,6 +2957,10 @@
     <children xmi:type="notation:Shape" xmi:id="_bX_bsCKGEeuEAdH_l0B0vw" type="Stereotype_Shape">
       <children xmi:type="notation:DecorationNode" xmi:id="_bYACwCKGEeuEAdH_l0B0vw" type="Stereotype_NameLabel"/>
       <children xmi:type="notation:BasicCompartment" xmi:id="_bYACwSKGEeuEAdH_l0B0vw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_tEswANUCEeyUGt2LEMFOVg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="aas.profile.uml#_ZcNv0HHhEeysB6Iv9RZGBw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_tEswAdUCEeyUGt2LEMFOVg"/>
+        </children>
         <styles xmi:type="notation:TitleStyle" xmi:id="_bYACwiKGEeuEAdH_l0B0vw"/>
         <styles xmi:type="notation:SortingStyle" xmi:id="_bYACwyKGEeuEAdH_l0B0vw"/>
         <styles xmi:type="notation:FilteringStyle" xmi:id="_bYACxCKGEeuEAdH_l0B0vw"/>
@@ -2973,6 +2980,31 @@
       <element xmi:type="uml:Comment" href="aas.profile.uml#_QKBPkCmmEeurJuF7PIGu4w"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QKKZgSmmEeurJuF7PIGu4w" x="260" y="300"/>
     </children>
+    <children xmi:type="notation:Shape" xmi:id="_t-VGsNUCEeyUGt2LEMFOVg" type="DataType_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_t-VtwNUCEeyUGt2LEMFOVg" type="DataType_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_t-VtwdUCEeyUGt2LEMFOVg" type="DataType_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_xIWysNUCEeyUGt2LEMFOVg" type="Property_DataTypeAttributeLabel">
+          <element xmi:type="uml:Property" href="aas.profile.uml#_xHxj4NUCEeyUGt2LEMFOVg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_xIWysdUCEeyUGt2LEMFOVg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_y65uYNUCEeyUGt2LEMFOVg" type="Property_DataTypeAttributeLabel">
+          <element xmi:type="uml:Property" href="aas.profile.uml#_y6MjwNUCEeyUGt2LEMFOVg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_y65uYdUCEeyUGt2LEMFOVg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_t-VtwtUCEeyUGt2LEMFOVg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_t-Vtw9UCEeyUGt2LEMFOVg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_t-VtxNUCEeyUGt2LEMFOVg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_t-VtxdUCEeyUGt2LEMFOVg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_t-VtxtUCEeyUGt2LEMFOVg" type="DataType_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_t-Vtx9UCEeyUGt2LEMFOVg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_t-VtyNUCEeyUGt2LEMFOVg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_t-VtydUCEeyUGt2LEMFOVg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_t-VtytUCEeyUGt2LEMFOVg"/>
+      </children>
+      <element xmi:type="uml:DataType" href="aas.profile.uml#_t-Nx8NUCEeyUGt2LEMFOVg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_t-VGsdUCEeyUGt2LEMFOVg" x="440" y="300"/>
+    </children>
     <styles xmi:type="notation:StringValueStyle" xmi:id="_0DuEsSJ9EeuWq4zY-5mLEA" name="diagram_compatibility_version" stringValue="1.4.0"/>
     <styles xmi:type="notation:DiagramStyle" xmi:id="_0DuEsiJ9EeuWq4zY-5mLEA"/>
     <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_0DuEsyJ9EeuWq4zY-5mLEA" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
@@ -3101,21 +3133,21 @@
       <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wFL44RxPEeyfKaY8F4UOwQ" x="500"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_foNdAJl-EeyMEefTcnapKg" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_foNdAZl-EeyMEefTcnapKg"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_foNdA5l-EeyMEefTcnapKg" name="BASE_ELEMENT">
+    <children xmi:type="notation:Shape" xmi:id="_knS5Y7vpEeyZV8-jhRm1eg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_knS5ZLvpEeyZV8-jhRm1eg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_knTgcLvpEeyZV8-jhRm1eg" 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="_foNdApl-EeyMEefTcnapKg" x="860" y="236"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_knS5ZbvpEeyZV8-jhRm1eg" x="860" y="236"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_foXN-pl-EeyMEefTcnapKg" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_foXN-5l-EeyMEefTcnapKg"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_foXN_Zl-EeyMEefTcnapKg" name="BASE_ELEMENT">
+    <children xmi:type="notation:Shape" xmi:id="_kncqYLvpEeyZV8-jhRm1eg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_kncqYbvpEeyZV8-jhRm1eg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_kncqY7vpEeyZV8-jhRm1eg" name="BASE_ELEMENT">
         <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
       </styles>
       <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_foXN_Jl-EeyMEefTcnapKg" x="700"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kncqYrvpEeyZV8-jhRm1eg" x="700"/>
     </children>
     <styles xmi:type="notation:StringValueStyle" xmi:id="_KF9voRxPEeyfKaY8F4UOwQ" name="diagram_compatibility_version" stringValue="1.4.0"/>
     <styles xmi:type="notation:DiagramStyle" xmi:id="_KF9vohxPEeyfKaY8F4UOwQ"/>
@@ -3171,25 +3203,25 @@
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wi1eMBxPEeyfKaY8F4UOwQ" id="(0.4838709677419355,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wi1eMRxPEeyfKaY8F4UOwQ" id="(0.5,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_foNdBJl-EeyMEefTcnapKg" type="StereotypeCommentLink" source="_dA5voBxPEeyfKaY8F4UOwQ" target="_foNdAJl-EeyMEefTcnapKg">
-      <styles xmi:type="notation:FontStyle" xmi:id="_foNdBZl-EeyMEefTcnapKg"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_foNdCZl-EeyMEefTcnapKg" name="BASE_ELEMENT">
+    <edges xmi:type="notation:Connector" xmi:id="_knTgcbvpEeyZV8-jhRm1eg" type="StereotypeCommentLink" source="_dA5voBxPEeyfKaY8F4UOwQ" target="_knS5Y7vpEeyZV8-jhRm1eg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_knTgcrvpEeyZV8-jhRm1eg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_knTgdrvpEeyZV8-jhRm1eg" 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="_foNdBpl-EeyMEefTcnapKg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_foNdB5l-EeyMEefTcnapKg"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_foNdCJl-EeyMEefTcnapKg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_knTgc7vpEeyZV8-jhRm1eg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_knTgdLvpEeyZV8-jhRm1eg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_knTgdbvpEeyZV8-jhRm1eg"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_foXN_pl-EeyMEefTcnapKg" type="StereotypeCommentLink" source="_wFL44BxPEeyfKaY8F4UOwQ" target="_foXN-pl-EeyMEefTcnapKg">
-      <styles xmi:type="notation:FontStyle" xmi:id="_foXN_5l-EeyMEefTcnapKg"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_foXOA5l-EeyMEefTcnapKg" name="BASE_ELEMENT">
+    <edges xmi:type="notation:Connector" xmi:id="_kncqZLvpEeyZV8-jhRm1eg" type="StereotypeCommentLink" source="_wFL44BxPEeyfKaY8F4UOwQ" target="_kncqYLvpEeyZV8-jhRm1eg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_kncqZbvpEeyZV8-jhRm1eg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_kncqabvpEeyZV8-jhRm1eg" name="BASE_ELEMENT">
         <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
       </styles>
       <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_foXOAJl-EeyMEefTcnapKg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_foXOAZl-EeyMEefTcnapKg"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_foXOApl-EeyMEefTcnapKg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kncqZrvpEeyZV8-jhRm1eg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kncqZ7vpEeyZV8-jhRm1eg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kncqaLvpEeyZV8-jhRm1eg"/>
     </edges>
   </notation:Diagram>
   <notation:Diagram xmi:id="_0xWwQBxTEeyfKaY8F4UOwQ" type="PapyrusUMLProfileDiagram" name="DataSpecificationIEC61360" measurementUnit="Pixel">
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.profile/resources/aas.profile.uml b/plugins/modeling/org.eclipse.papyrus.aas.profile/resources/aas.profile.uml
index 2d54be8..1cfdb13 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.profile/resources/aas.profile.uml
+++ b/plugins/modeling/org.eclipse.papyrus.aas.profile/resources/aas.profile.uml
@@ -108,7 +108,7 @@
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_cB7zgJ9TEeqHH8LtZOjghw"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_cCB6IJ9TEeqHH8LtZOjghw" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:type="uml:Property" xmi:id="_ZcNv0HHhEeysB6Iv9RZGBw" name="endpoint" visibility="public" type="_0icBACJ9EeuWq4zY-5mLEA">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_ZcNv0HHhEeysB6Iv9RZGBw" name="endpoint" visibility="public" type="_t-Nx8NUCEeyUGt2LEMFOVg">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_wQNsEHHhEeysB6Iv9RZGBw"/>
       </ownedAttribute>
     </packagedElement>
@@ -146,7 +146,7 @@
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Stereotype" xmi:id="_oOXGoJTrEeqsmLiGoCAZPQ" name="Refereable" isAbstract="true">
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_oOXGoJTrEeqsmLiGoCAZPQ" name="Referable" isAbstract="true">
       <ownedAttribute xmi:type="uml:Property" xmi:id="_sgCXMJTrEeqsmLiGoCAZPQ" name="idShort" isReadOnly="true" isDerived="true">
         <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jFqw8AcaEeuxHNwngYGLaw" source="http://www.eclipse.org/emf/2002/GenModel">
           <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8hww0AcaEeuxHNwngYGLaw" key="get" value="// get the name of the Referable Element&#xD;&#xA;&#x9;&#x9;if (getBase_Class() != null) {&#xD;&#xA;&#x9;&#x9;&#x9;String name = getBase_Class().getName();&#xD;&#xA;&#x9;&#x9;&#x9;// remove space&#xD;&#xA;&#x9;&#x9;&#x9;if (name != null) {&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;String idShort = name.replace(&quot; &quot;, &quot;&quot;);&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;return idShort;&#xD;&#xA;&#x9;&#x9;&#x9;}&#xD;&#xA;&#x9;&#x9;}&#xD;&#xA;&#x9;&#x9;return null;"/>
@@ -166,8 +166,8 @@
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_9XBicZTrEeqsmLiGoCAZPQ"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Extension" xmi:id="_9W_GMJTrEeqsmLiGoCAZPQ" name="E_Refereable_Class15" memberEnd="_9XA7YJTrEeqsmLiGoCAZPQ _9XBicJTrEeqsmLiGoCAZPQ">
-      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_9XA7YJTrEeqsmLiGoCAZPQ" name="extension_Refereable" type="_oOXGoJTrEeqsmLiGoCAZPQ" aggregation="composite" association="_9W_GMJTrEeqsmLiGoCAZPQ"/>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_9W_GMJTrEeqsmLiGoCAZPQ" name="E_Referable_Class1" memberEnd="_9XA7YJTrEeqsmLiGoCAZPQ _9XBicJTrEeqsmLiGoCAZPQ">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_9XA7YJTrEeqsmLiGoCAZPQ" name="extension_Referable" type="_oOXGoJTrEeqsmLiGoCAZPQ" aggregation="composite" association="_9W_GMJTrEeqsmLiGoCAZPQ"/>
     </packagedElement>
     <packagedElement xmi:type="uml:DataType" xmi:id="_TEZYYJTtEeqsmLiGoCAZPQ" name="Identifier">
       <ownedAttribute xmi:type="uml:Property" xmi:id="_ACoswJTvEeqsmLiGoCAZPQ" name="idType" visibility="public" type="_z5tzIJTuEeqsmLiGoCAZPQ"/>
@@ -315,12 +315,6 @@
       <ownedAttribute xmi:type="uml:Property" xmi:id="_nu714P55EeqmZsqm6Otq5g" name="base_Operation" association="_fUzmMP5NEeqmZsqm6Otq5g">
         <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
       </ownedAttribute>
-      <ownedAttribute xmi:type="uml:Property" xmi:id="_oCiKgCWNEeurscN3XpP0Dw" name="idShort" visibility="package" isReadOnly="true" isDerived="true" redefinedProperty="_sgCXMJTrEeqsmLiGoCAZPQ">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xBY74CWNEeurscN3XpP0Dw" source="http://www.eclipse.org/emf/2002/GenModel">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_4EAqECWNEeurscN3XpP0Dw" key="get" value="// get the name of the Referable Element&#xA;&#x9;&#x9;if (getBase_Operation() != null) {&#xA;&#x9;&#x9;&#x9;String name = getBase_Operation().getName();&#xA;&#x9;&#x9;&#x9;// remove space&#xA;&#x9;&#x9;&#x9;if (name != null) {&#xA;&#x9;&#x9;&#x9;&#x9;String idShort = name.replace(&quot; &quot;, &quot;&quot;);&#xA;&#x9;&#x9;&#x9;&#x9;return idShort;&#xA;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;return null;"/>
-        </eAnnotations>
-        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-      </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Stereotype" xmi:id="_VKU2kP5KEeqmZsqm6Otq5g" name="SubmodelElementCollection">
       <generalization xmi:type="uml:Generalization" xmi:id="_9PjqEP5KEeqmZsqm6Otq5g" general="_Yf1TEKr2EeqCiIVjjvsakg"/>
@@ -339,12 +333,6 @@
         <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#DataType"/>
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ZORsQSJ9EeuWq4zY-5mLEA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:type="uml:Property" xmi:id="_9InB0CWMEeurscN3XpP0Dw" name="idShort" visibility="public" isReadOnly="true" isDerived="true" redefinedProperty="_sgCXMJTrEeqsmLiGoCAZPQ">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZLW64CWNEeurscN3XpP0Dw" source="http://www.eclipse.org/emf/2002/GenModel">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aLeUECWNEeurscN3XpP0Dw" key="get" value="// get the name of the Referable Element&#xA;&#x9;&#x9;String name = &quot;&quot;;&#xA;&#x9;&#x9;if (getBase_DataType() != null) {&#xA;&#x9;&#x9;&#x9;name = getBase_DataType().getName();&#xA;&#xA;&#x9;&#x9;} else if (getBase_Class() != null) {&#xA;&#x9;&#x9;&#x9;name = getBase_Class().getName();&#xA;&#xA;&#x9;&#x9;} else if (getBase_Property() != null) {&#xA;&#x9;&#x9;&#x9;name = getBase_Property().getName();&#xA;&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;// remove space&#xA;&#x9;&#x9;if (name != null) {&#xA;&#x9;&#x9;&#x9;String idShort = name.replace(&quot; &quot;, &quot;&quot;);&#xA;&#x9;&#x9;&#x9;return idShort;&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;return name;"/>
-        </eAnnotations>
-        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-      </ownedAttribute>
       <ownedAttribute xmi:type="uml:Property" xmi:id="_x9nbENisEeu69LTAUALdcg" name="ordered" isOrdered="true">
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fCYqsNitEeu69LTAUALdcg"/>
@@ -359,12 +347,6 @@
       <ownedAttribute xmi:type="uml:Property" xmi:id="_yCNrEP5OEeqmZsqm6Otq5g" name="base_Property" association="_jaoMEP5NEeqmZsqm6Otq5g">
         <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
       </ownedAttribute>
-      <ownedAttribute xmi:type="uml:Property" xmi:id="_zSqEECUCEeurscN3XpP0Dw" name="idShort" visibility="public" isReadOnly="true" isDerived="true" redefinedProperty="_sgCXMJTrEeqsmLiGoCAZPQ">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_A1zgACUDEeurscN3XpP0Dw" source="http://www.eclipse.org/emf/2002/GenModel">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CLv_QCUDEeurscN3XpP0Dw" key="get" value="// get the name of the Referable Element&#xA;&#x9;&#x9;if (getBase_Property() != null) {&#xA;&#x9;&#x9;&#x9;String name = getBase_Property().getName();&#xA;&#x9;&#x9;&#x9;// remove space&#xA;&#x9;&#x9;&#x9;if (name != null) {&#xA;&#x9;&#x9;&#x9;&#x9;String idShort = name.replace(&quot; &quot;, &quot;&quot;);&#xA;&#x9;&#x9;&#x9;&#x9;return idShort;&#xA;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;return null;"/>
-        </eAnnotations>
-        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-      </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Stereotype" xmi:id="_UZQJgP5LEeqmZsqm6Otq5g" name="Property">
       <generalization xmi:type="uml:Generalization" xmi:id="_eKEjUP5LEeqmZsqm6Otq5g" general="_-1YYYP5KEeqmZsqm6Otq5g"/>
@@ -503,12 +485,6 @@
         <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kG8bgf55EeqmZsqm6Otq5g"/>
       </ownedAttribute>
-      <ownedAttribute xmi:type="uml:Property" xmi:id="_IwwUMCWOEeurscN3XpP0Dw" name="idShort" visibility="public" isReadOnly="true" isDerived="true" redefinedProperty="_sgCXMJTrEeqsmLiGoCAZPQ">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bvQlkCWOEeurscN3XpP0Dw" source="http://www.eclipse.org/emf/2002/GenModel">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dPLgMCWOEeurscN3XpP0Dw" key="get" value="// get the name of the Referable Element&#xA;&#x9;&#x9;if (getBase_Property() != null) {&#xA;&#x9;&#x9;&#x9;String name = getBase_Property().getName();&#xA;&#x9;&#x9;&#x9;// remove space&#xA;&#x9;&#x9;&#x9;if (name != null) {&#xA;&#x9;&#x9;&#x9;&#x9;String idShort = name.replace(&quot; &quot;, &quot;&quot;);&#xA;&#x9;&#x9;&#x9;&#x9;return idShort;&#xA;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;return null;"/>
-        </eAnnotations>
-        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-      </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Extension" xmi:id="_l49doP53EeqmZsqm6Otq5g" name="E_SubmodelElementCollection_Property67" memberEnd="_l4_S0P53EeqmZsqm6Otq5g _l4_S0f53EeqmZsqm6Otq5g">
       <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_l4_S0P53EeqmZsqm6Otq5g" name="extension_SubmodelElementCollection" type="_VKU2kP5KEeqmZsqm6Otq5g" aggregation="composite" association="_l49doP53EeqmZsqm6Otq5g"/>
@@ -539,12 +515,6 @@
         <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__PX-If85Eeq1EMHDrQJzfQ"/>
       </ownedAttribute>
-      <ownedAttribute xmi:type="uml:Property" xmi:id="_UKbdACWgEeuuFNBhc8O6ew" name="idShort" visibility="public" isReadOnly="true" isDerived="true" redefinedProperty="_sgCXMJTrEeqsmLiGoCAZPQ">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cWNLoCWgEeuuFNBhc8O6ew" source="http://www.eclipse.org/emf/2002/GenModel">
-          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ewI3cCWgEeuuFNBhc8O6ew" key="get" value="// get the name of the Referable Element&#xA;&#x9;&#x9;&#x9;&#x9;if (getBase_Property() != null) {&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;String name = getBase_Property().getName();&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;// remove space&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;if (name != null) {&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;String idShort = name.replace(&quot; &quot;, &quot;&quot;);&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;return idShort;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;&#x9;&#x9;}&#xA;&#x9;&#x9;&#x9;&#x9;return null;"/>
-        </eAnnotations>
-        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-      </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Extension" xmi:id="__PUTwP85Eeq1EMHDrQJzfQ" name="E_Capability_Property71" memberEnd="__PXXEP85Eeq1EMHDrQJzfQ __PX-IP85Eeq1EMHDrQJzfQ">
       <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="__PXXEP85Eeq1EMHDrQJzfQ" name="extension_Capability" type="_ICZIYP85Eeq1EMHDrQJzfQ" aggregation="composite" association="__PUTwP85Eeq1EMHDrQJzfQ"/>
@@ -564,10 +534,6 @@
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_sxR70BYzEeydfPGOZmoYzQ"/>
       </ownedAttribute>
-      <ownedAttribute xmi:type="uml:Property" xmi:id="_5CMhwG5BEeyZH7XFd9xCEQ" name="port" visibility="public">
-        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jjGbkG5EEeyZH7XFd9xCEQ"/>
-      </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Enumeration" xmi:id="_YAgcICJ-EeuWq4zY-5mLEA" name="ProtocolKind">
       <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_Ii2wcCKAEeuEAdH_l0B0vw" name="HTTP"/>
@@ -613,7 +579,7 @@
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_FUCREBfCEeyE6YDm-zd5Kw"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_FUQ6kBfCEeyE6YDm-zd5Kw" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:type="uml:Property" xmi:id="_K_uBgBfCEeyE6YDm-zd5Kw" name="defaaultThumbnail" type="_wS63sP5OEeqmZsqm6Otq5g">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_K_uBgBfCEeyE6YDm-zd5Kw" name="defaultThumbnail" type="_wS63sP5OEeqmZsqm6Otq5g">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_SniHcBfCEeyE6YDm-zd5Kw"/>
       </ownedAttribute>
     </packagedElement>
@@ -749,6 +715,13 @@
       <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_3UvFMNi2Eeu69LTAUALdcg" name="fr"/>
       <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_6Bm7INi2Eeu69LTAUALdcg" name="es"/>
       <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_A_t8wNi3Eeu69LTAUALdcg" name="it"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_qR_1kLvtEeyZV8-jhRm1eg" name="nl"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_z5Hg0LvtEeyZV8-jhRm1eg" name="pl"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_2_JdoLvtEeyZV8-jhRm1eg" name="sr"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_-CHxILvtEeyZV8-jhRm1eg" name="ar"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_Eh3bwLvuEeyZV8-jhRm1eg" name="zh"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_L7tXILvuEeyZV8-jhRm1eg" name="ko"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_SK2Z8LvuEeyZV8-jhRm1eg" name="ja"/>
     </packagedElement>
     <packagedElement xmi:type="uml:DataType" xmi:id="_6svxwNjVEeuUEdUv24AgeQ" name="LangString">
       <ownedAttribute xmi:type="uml:Property" xmi:id="_DuVHANjWEeuUEdUv24AgeQ" name="lang" type="_pdeacNi2Eeu69LTAUALdcg" isOrdered="true"/>
@@ -772,6 +745,14 @@
       <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_RvRrcGJNEeyEiuYeQkOPfw" name="ByteArray"/>
       <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_SnIggGJNEeyEiuYeQkOPfw" name="UUID"/>
     </packagedElement>
+    <packagedElement xmi:type="uml:DataType" xmi:id="_t-Nx8NUCEeyUGt2LEMFOVg" name="AASEndpoint">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_xHxj4NUCEeyUGt2LEMFOVg" name="address" visibility="public">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_y6MjwNUCEeyUGt2LEMFOVg" name="port" visibility="public">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+    </packagedElement>
     <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_AzgJAJTvEeqsmLiGoCAZPQ">
       <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AzilQJTvEeqsmLiGoCAZPQ" 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"/>
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/AASEndpoint.java b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/AASEndpoint.java
new file mode 100644
index 0000000..fa93d0e
--- /dev/null
+++ b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/AASEndpoint.java
@@ -0,0 +1,88 @@
+/**
+ * Copyright (c) 2022 CEA LIST 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
+ * http://www.eclipse.org/legal/epl-2.0/
+ * 
+ *   SPDX-License-Identifier: EPL-2.0
+ *  
+ *  Contributors:
+ *  	CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.aas;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Endpoint</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aas.AASEndpoint#getAddress <em>Address</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aas.AASEndpoint#getPort <em>Port</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.aas.AASPackage#getAASEndpoint()
+ * @model
+ * @generated
+ */
+public interface AASEndpoint extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Address</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Address</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Address</em>' attribute.
+	 * @see #setAddress(String)
+	 * @see org.eclipse.papyrus.aas.AASPackage#getAASEndpoint_Address()
+	 * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+	 * @generated
+	 */
+	String getAddress();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aas.AASEndpoint#getAddress <em>Address</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Address</em>' attribute.
+	 * @see #getAddress()
+	 * @generated
+	 */
+	void setAddress(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Port</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Port</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Port</em>' attribute.
+	 * @see #setPort(int)
+	 * @see org.eclipse.papyrus.aas.AASPackage#getAASEndpoint_Port()
+	 * @model dataType="org.eclipse.uml2.types.Integer" required="true" ordered="false"
+	 * @generated
+	 */
+	int getPort();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aas.AASEndpoint#getPort <em>Port</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Port</em>' attribute.
+	 * @see #getPort()
+	 * @generated
+	 */
+	void setPort(int value);
+
+} // AASEndpoint
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/AASFactory.java b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/AASFactory.java
index 4e11636..de52a0e 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/AASFactory.java
+++ b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/AASFactory.java
@@ -186,6 +186,15 @@
 	Asset createAsset();
 
 	/**
+	 * Returns a new object of class '<em>Endpoint</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Endpoint</em>'.
+	 * @generated
+	 */
+	AASEndpoint createAASEndpoint();
+
+	/**
 	 * Returns a new object of class '<em>Entity</em>'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/AASPackage.java b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/AASPackage.java
index fadc5d4..05fddcb 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/AASPackage.java
+++ b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/AASPackage.java
@@ -70,14 +70,14 @@
 	AASPackage eINSTANCE = org.eclipse.papyrus.aas.impl.AASPackageImpl.init();
 
 	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.aas.impl.RefereableImpl <em>Refereable</em>}' class.
+	 * The meta object id for the '{@link org.eclipse.papyrus.aas.impl.ReferableImpl <em>Referable</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.aas.impl.RefereableImpl
-	 * @see org.eclipse.papyrus.aas.impl.AASPackageImpl#getRefereable()
+	 * @see org.eclipse.papyrus.aas.impl.ReferableImpl
+	 * @see org.eclipse.papyrus.aas.impl.AASPackageImpl#getReferable()
 	 * @generated
 	 */
-	int REFEREABLE = 2;
+	int REFERABLE = 2;
 
 	/**
 	 * The feature id for the '<em><b>Id Short</b></em>' attribute.
@@ -86,7 +86,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int REFEREABLE__ID_SHORT = 0;
+	int REFERABLE__ID_SHORT = 0;
 
 	/**
 	 * The feature id for the '<em><b>Category</b></em>' attribute.
@@ -95,7 +95,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int REFEREABLE__CATEGORY = 1;
+	int REFERABLE__CATEGORY = 1;
 
 	/**
 	 * The feature id for the '<em><b>Description</b></em>' containment reference list.
@@ -104,7 +104,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int REFEREABLE__DESCRIPTION = 2;
+	int REFERABLE__DESCRIPTION = 2;
 
 	/**
 	 * The feature id for the '<em><b>Base Class</b></em>' reference.
@@ -113,25 +113,25 @@
 	 * @generated
 	 * @ordered
 	 */
-	int REFEREABLE__BASE_CLASS = 3;
+	int REFERABLE__BASE_CLASS = 3;
 
 	/**
-	 * The number of structural features of the '<em>Refereable</em>' class.
+	 * The number of structural features of the '<em>Referable</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int REFEREABLE_FEATURE_COUNT = 4;
+	int REFERABLE_FEATURE_COUNT = 4;
 
 	/**
-	 * The number of operations of the '<em>Refereable</em>' class.
+	 * The number of operations of the '<em>Referable</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int REFEREABLE_OPERATION_COUNT = 0;
+	int REFERABLE_OPERATION_COUNT = 0;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.papyrus.aas.impl.IdentifiableImpl <em>Identifiable</em>}' class.
@@ -150,7 +150,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int IDENTIFIABLE__ID_SHORT = REFEREABLE__ID_SHORT;
+	int IDENTIFIABLE__ID_SHORT = REFERABLE__ID_SHORT;
 
 	/**
 	 * The feature id for the '<em><b>Category</b></em>' attribute.
@@ -159,7 +159,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int IDENTIFIABLE__CATEGORY = REFEREABLE__CATEGORY;
+	int IDENTIFIABLE__CATEGORY = REFERABLE__CATEGORY;
 
 	/**
 	 * The feature id for the '<em><b>Description</b></em>' containment reference list.
@@ -168,7 +168,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int IDENTIFIABLE__DESCRIPTION = REFEREABLE__DESCRIPTION;
+	int IDENTIFIABLE__DESCRIPTION = REFERABLE__DESCRIPTION;
 
 	/**
 	 * The feature id for the '<em><b>Base Class</b></em>' reference.
@@ -177,7 +177,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int IDENTIFIABLE__BASE_CLASS = REFEREABLE__BASE_CLASS;
+	int IDENTIFIABLE__BASE_CLASS = REFERABLE__BASE_CLASS;
 
 	/**
 	 * The feature id for the '<em><b>Administration</b></em>' containment reference.
@@ -186,7 +186,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int IDENTIFIABLE__ADMINISTRATION = REFEREABLE_FEATURE_COUNT + 0;
+	int IDENTIFIABLE__ADMINISTRATION = REFERABLE_FEATURE_COUNT + 0;
 
 	/**
 	 * The feature id for the '<em><b>Identification</b></em>' containment reference.
@@ -195,7 +195,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int IDENTIFIABLE__IDENTIFICATION = REFEREABLE_FEATURE_COUNT + 1;
+	int IDENTIFIABLE__IDENTIFICATION = REFERABLE_FEATURE_COUNT + 1;
 
 	/**
 	 * The feature id for the '<em><b>Base Package</b></em>' reference.
@@ -204,7 +204,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int IDENTIFIABLE__BASE_PACKAGE = REFEREABLE_FEATURE_COUNT + 2;
+	int IDENTIFIABLE__BASE_PACKAGE = REFERABLE_FEATURE_COUNT + 2;
 
 	/**
 	 * The number of structural features of the '<em>Identifiable</em>' class.
@@ -213,7 +213,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int IDENTIFIABLE_FEATURE_COUNT = REFEREABLE_FEATURE_COUNT + 3;
+	int IDENTIFIABLE_FEATURE_COUNT = REFERABLE_FEATURE_COUNT + 3;
 
 	/**
 	 * The number of operations of the '<em>Identifiable</em>' class.
@@ -222,7 +222,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int IDENTIFIABLE_OPERATION_COUNT = REFEREABLE_OPERATION_COUNT + 0;
+	int IDENTIFIABLE_OPERATION_COUNT = REFERABLE_OPERATION_COUNT + 0;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.papyrus.aas.impl.AssetAdministrationShellImpl <em>Asset Administration Shell</em>}' class.
@@ -1091,7 +1091,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int SUBMODEL_ELEMENT__ID_SHORT = REFEREABLE__ID_SHORT;
+	int SUBMODEL_ELEMENT__ID_SHORT = REFERABLE__ID_SHORT;
 
 	/**
 	 * The feature id for the '<em><b>Category</b></em>' attribute.
@@ -1100,7 +1100,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int SUBMODEL_ELEMENT__CATEGORY = REFEREABLE__CATEGORY;
+	int SUBMODEL_ELEMENT__CATEGORY = REFERABLE__CATEGORY;
 
 	/**
 	 * The feature id for the '<em><b>Description</b></em>' containment reference list.
@@ -1109,7 +1109,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int SUBMODEL_ELEMENT__DESCRIPTION = REFEREABLE__DESCRIPTION;
+	int SUBMODEL_ELEMENT__DESCRIPTION = REFERABLE__DESCRIPTION;
 
 	/**
 	 * The feature id for the '<em><b>Base Class</b></em>' reference.
@@ -1118,7 +1118,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int SUBMODEL_ELEMENT__BASE_CLASS = REFEREABLE__BASE_CLASS;
+	int SUBMODEL_ELEMENT__BASE_CLASS = REFERABLE__BASE_CLASS;
 
 	/**
 	 * The feature id for the '<em><b>Kind</b></em>' attribute.
@@ -1127,7 +1127,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int SUBMODEL_ELEMENT__KIND = REFEREABLE_FEATURE_COUNT + 0;
+	int SUBMODEL_ELEMENT__KIND = REFERABLE_FEATURE_COUNT + 0;
 
 	/**
 	 * The feature id for the '<em><b>Base Has Kind Class</b></em>' reference.
@@ -1136,7 +1136,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int SUBMODEL_ELEMENT__BASE_HAS_KIND_CLASS = REFEREABLE_FEATURE_COUNT + 1;
+	int SUBMODEL_ELEMENT__BASE_HAS_KIND_CLASS = REFERABLE_FEATURE_COUNT + 1;
 
 	/**
 	 * The feature id for the '<em><b>Semantic Id</b></em>' reference.
@@ -1145,7 +1145,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int SUBMODEL_ELEMENT__SEMANTIC_ID = REFEREABLE_FEATURE_COUNT + 2;
+	int SUBMODEL_ELEMENT__SEMANTIC_ID = REFERABLE_FEATURE_COUNT + 2;
 
 	/**
 	 * The feature id for the '<em><b>Base Has Semantics Class</b></em>' reference.
@@ -1154,7 +1154,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int SUBMODEL_ELEMENT__BASE_HAS_SEMANTICS_CLASS = REFEREABLE_FEATURE_COUNT + 3;
+	int SUBMODEL_ELEMENT__BASE_HAS_SEMANTICS_CLASS = REFERABLE_FEATURE_COUNT + 3;
 
 	/**
 	 * The feature id for the '<em><b>Data Specification</b></em>' reference list.
@@ -1163,7 +1163,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int SUBMODEL_ELEMENT__DATA_SPECIFICATION = REFEREABLE_FEATURE_COUNT + 4;
+	int SUBMODEL_ELEMENT__DATA_SPECIFICATION = REFERABLE_FEATURE_COUNT + 4;
 
 	/**
 	 * The feature id for the '<em><b>Is Dynamic</b></em>' attribute.
@@ -1172,7 +1172,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int SUBMODEL_ELEMENT__IS_DYNAMIC = REFEREABLE_FEATURE_COUNT + 5;
+	int SUBMODEL_ELEMENT__IS_DYNAMIC = REFERABLE_FEATURE_COUNT + 5;
 
 	/**
 	 * The feature id for the '<em><b>End Point</b></em>' containment reference.
@@ -1181,7 +1181,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int SUBMODEL_ELEMENT__END_POINT = REFEREABLE_FEATURE_COUNT + 6;
+	int SUBMODEL_ELEMENT__END_POINT = REFERABLE_FEATURE_COUNT + 6;
 
 	/**
 	 * The feature id for the '<em><b>Node Id</b></em>' containment reference.
@@ -1190,7 +1190,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int SUBMODEL_ELEMENT__NODE_ID = REFEREABLE_FEATURE_COUNT + 7;
+	int SUBMODEL_ELEMENT__NODE_ID = REFERABLE_FEATURE_COUNT + 7;
 
 	/**
 	 * The number of structural features of the '<em>Submodel Element</em>' class.
@@ -1199,7 +1199,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int SUBMODEL_ELEMENT_FEATURE_COUNT = REFEREABLE_FEATURE_COUNT + 8;
+	int SUBMODEL_ELEMENT_FEATURE_COUNT = REFERABLE_FEATURE_COUNT + 8;
 
 	/**
 	 * The number of operations of the '<em>Submodel Element</em>' class.
@@ -1208,7 +1208,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int SUBMODEL_ELEMENT_OPERATION_COUNT = REFEREABLE_OPERATION_COUNT + 0;
+	int SUBMODEL_ELEMENT_OPERATION_COUNT = REFERABLE_OPERATION_COUNT + 0;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.papyrus.aas.impl.EndpointImpl <em>Endpoint</em>}' class.
@@ -1248,22 +1248,13 @@
 	int ENDPOINT__NAME = 2;
 
 	/**
-	 * The feature id for the '<em><b>Port</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ENDPOINT__PORT = 3;
-
-	/**
 	 * The number of structural features of the '<em>Endpoint</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ENDPOINT_FEATURE_COUNT = 4;
+	int ENDPOINT_FEATURE_COUNT = 3;
 
 	/**
 	 * The number of operations of the '<em>Endpoint</em>' class.
@@ -1404,13 +1395,13 @@
 	int ASSET_INFORMATION__BILL_OF_MATERIAL = 3;
 
 	/**
-	 * The feature id for the '<em><b>Defaault Thumbnail</b></em>' reference.
+	 * The feature id for the '<em><b>Default Thumbnail</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ASSET_INFORMATION__DEFAAULT_THUMBNAIL = 4;
+	int ASSET_INFORMATION__DEFAULT_THUMBNAIL = 4;
 
 	/**
 	 * The number of structural features of the '<em>Asset Information</em>' class.
@@ -1930,6 +1921,52 @@
 	int ASSET_OPERATION_COUNT = IDENTIFIABLE_OPERATION_COUNT + 0;
 
 	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aas.impl.AASEndpointImpl <em>Endpoint</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aas.impl.AASEndpointImpl
+	 * @see org.eclipse.papyrus.aas.impl.AASPackageImpl#getAASEndpoint()
+	 * @generated
+	 */
+	int AAS_ENDPOINT = 24;
+
+	/**
+	 * The feature id for the '<em><b>Address</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AAS_ENDPOINT__ADDRESS = 0;
+
+	/**
+	 * The feature id for the '<em><b>Port</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AAS_ENDPOINT__PORT = 1;
+
+	/**
+	 * The number of structural features of the '<em>Endpoint</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AAS_ENDPOINT_FEATURE_COUNT = 2;
+
+	/**
+	 * The number of operations of the '<em>Endpoint</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AAS_ENDPOINT_OPERATION_COUNT = 0;
+
+	/**
 	 * The meta object id for the '{@link org.eclipse.papyrus.aas.impl.EntityImpl <em>Entity</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1937,7 +1974,7 @@
 	 * @see org.eclipse.papyrus.aas.impl.AASPackageImpl#getEntity()
 	 * @generated
 	 */
-	int ENTITY = 24;
+	int ENTITY = 25;
 
 	/**
 	 * The feature id for the '<em><b>Id Short</b></em>' attribute.
@@ -2100,7 +2137,7 @@
 	 * @see org.eclipse.papyrus.aas.impl.AASPackageImpl#getRelationshipElement()
 	 * @generated
 	 */
-	int RELATIONSHIP_ELEMENT = 25;
+	int RELATIONSHIP_ELEMENT = 26;
 
 	/**
 	 * The feature id for the '<em><b>Id Short</b></em>' attribute.
@@ -2245,7 +2282,7 @@
 	 * @see org.eclipse.papyrus.aas.impl.AASPackageImpl#getOperation()
 	 * @generated
 	 */
-	int OPERATION = 26;
+	int OPERATION = 27;
 
 	/**
 	 * The feature id for the '<em><b>Id Short</b></em>' attribute.
@@ -2390,7 +2427,7 @@
 	 * @see org.eclipse.papyrus.aas.impl.AASPackageImpl#getSubmodelElementCollection()
 	 * @generated
 	 */
-	int SUBMODEL_ELEMENT_COLLECTION = 27;
+	int SUBMODEL_ELEMENT_COLLECTION = 28;
 
 	/**
 	 * The feature id for the '<em><b>Id Short</b></em>' attribute.
@@ -2571,7 +2608,7 @@
 	 * @see org.eclipse.papyrus.aas.impl.AASPackageImpl#getProperty()
 	 * @generated
 	 */
-	int PROPERTY = 28;
+	int PROPERTY = 29;
 
 	/**
 	 * The feature id for the '<em><b>Id Short</b></em>' attribute.
@@ -2716,7 +2753,7 @@
 	 * @see org.eclipse.papyrus.aas.impl.AASPackageImpl#getReferenceElement()
 	 * @generated
 	 */
-	int REFERENCE_ELEMENT = 29;
+	int REFERENCE_ELEMENT = 30;
 
 	/**
 	 * The feature id for the '<em><b>Id Short</b></em>' attribute.
@@ -2870,7 +2907,7 @@
 	 * @see org.eclipse.papyrus.aas.impl.AASPackageImpl#getEvent()
 	 * @generated
 	 */
-	int EVENT = 30;
+	int EVENT = 31;
 
 	/**
 	 * The feature id for the '<em><b>Id Short</b></em>' attribute.
@@ -3015,7 +3052,7 @@
 	 * @see org.eclipse.papyrus.aas.impl.AASPackageImpl#getBasicEvent()
 	 * @generated
 	 */
-	int BASIC_EVENT = 31;
+	int BASIC_EVENT = 32;
 
 	/**
 	 * The feature id for the '<em><b>Id Short</b></em>' attribute.
@@ -3169,7 +3206,7 @@
 	 * @see org.eclipse.papyrus.aas.impl.AASPackageImpl#getRange()
 	 * @generated
 	 */
-	int RANGE = 32;
+	int RANGE = 33;
 
 	/**
 	 * The feature id for the '<em><b>Id Short</b></em>' attribute.
@@ -3332,7 +3369,7 @@
 	 * @see org.eclipse.papyrus.aas.impl.AASPackageImpl#getCapability()
 	 * @generated
 	 */
-	int CAPABILITY = 33;
+	int CAPABILITY = 34;
 
 	/**
 	 * The feature id for the '<em><b>Id Short</b></em>' attribute.
@@ -3477,7 +3514,7 @@
 	 * @see org.eclipse.papyrus.aas.impl.AASPackageImpl#getConceptDescription()
 	 * @generated
 	 */
-	int CONCEPT_DESCRIPTION = 34;
+	int CONCEPT_DESCRIPTION = 35;
 
 	/**
 	 * The feature id for the '<em><b>Id Short</b></em>' attribute.
@@ -3586,7 +3623,7 @@
 	 * @see org.eclipse.papyrus.aas.impl.AASPackageImpl#getLangStringSet()
 	 * @generated
 	 */
-	int LANG_STRING_SET = 35;
+	int LANG_STRING_SET = 36;
 
 	/**
 	 * The number of structural features of the '<em>Lang String Set</em>' class.
@@ -3614,7 +3651,7 @@
 	 * @see org.eclipse.papyrus.aas.impl.AASPackageImpl#getDataSpecificationContent()
 	 * @generated
 	 */
-	int DATA_SPECIFICATION_CONTENT = 36;
+	int DATA_SPECIFICATION_CONTENT = 37;
 
 	/**
 	 * The number of structural features of the '<em>Data Specification Content</em>' class.
@@ -3642,7 +3679,7 @@
 	 * @see org.eclipse.papyrus.aas.impl.AASPackageImpl#getDataSpecificationIEC61360()
 	 * @generated
 	 */
-	int DATA_SPECIFICATION_IEC61360 = 37;
+	int DATA_SPECIFICATION_IEC61360 = 38;
 
 	/**
 	 * The feature id for the '<em><b>Base Class</b></em>' reference.
@@ -3796,7 +3833,7 @@
 	 * @see org.eclipse.papyrus.aas.impl.AASPackageImpl#getValueReferencePairType()
 	 * @generated
 	 */
-	int VALUE_REFERENCE_PAIR_TYPE = 38;
+	int VALUE_REFERENCE_PAIR_TYPE = 39;
 
 	/**
 	 * The feature id for the '<em><b>Value</b></em>' reference.
@@ -3842,7 +3879,7 @@
 	 * @see org.eclipse.papyrus.aas.impl.AASPackageImpl#getView()
 	 * @generated
 	 */
-	int VIEW = 39;
+	int VIEW = 40;
 
 	/**
 	 * The feature id for the '<em><b>Id Short</b></em>' attribute.
@@ -3851,7 +3888,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int VIEW__ID_SHORT = REFEREABLE__ID_SHORT;
+	int VIEW__ID_SHORT = REFERABLE__ID_SHORT;
 
 	/**
 	 * The feature id for the '<em><b>Category</b></em>' attribute.
@@ -3860,7 +3897,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int VIEW__CATEGORY = REFEREABLE__CATEGORY;
+	int VIEW__CATEGORY = REFERABLE__CATEGORY;
 
 	/**
 	 * The feature id for the '<em><b>Description</b></em>' containment reference list.
@@ -3869,7 +3906,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int VIEW__DESCRIPTION = REFEREABLE__DESCRIPTION;
+	int VIEW__DESCRIPTION = REFERABLE__DESCRIPTION;
 
 	/**
 	 * The feature id for the '<em><b>Base Class</b></em>' reference.
@@ -3878,7 +3915,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int VIEW__BASE_CLASS = REFEREABLE__BASE_CLASS;
+	int VIEW__BASE_CLASS = REFERABLE__BASE_CLASS;
 
 	/**
 	 * The feature id for the '<em><b>Semantic Id</b></em>' reference.
@@ -3887,7 +3924,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int VIEW__SEMANTIC_ID = REFEREABLE_FEATURE_COUNT + 0;
+	int VIEW__SEMANTIC_ID = REFERABLE_FEATURE_COUNT + 0;
 
 	/**
 	 * The feature id for the '<em><b>Base Has Semantics Class</b></em>' reference.
@@ -3896,7 +3933,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int VIEW__BASE_HAS_SEMANTICS_CLASS = REFEREABLE_FEATURE_COUNT + 1;
+	int VIEW__BASE_HAS_SEMANTICS_CLASS = REFERABLE_FEATURE_COUNT + 1;
 
 	/**
 	 * The feature id for the '<em><b>Data Specification</b></em>' reference list.
@@ -3905,7 +3942,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int VIEW__DATA_SPECIFICATION = REFEREABLE_FEATURE_COUNT + 2;
+	int VIEW__DATA_SPECIFICATION = REFERABLE_FEATURE_COUNT + 2;
 
 	/**
 	 * The feature id for the '<em><b>Contained Element</b></em>' reference list.
@@ -3914,7 +3951,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int VIEW__CONTAINED_ELEMENT = REFEREABLE_FEATURE_COUNT + 3;
+	int VIEW__CONTAINED_ELEMENT = REFERABLE_FEATURE_COUNT + 3;
 
 	/**
 	 * The number of structural features of the '<em>View</em>' class.
@@ -3923,7 +3960,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int VIEW_FEATURE_COUNT = REFEREABLE_FEATURE_COUNT + 4;
+	int VIEW_FEATURE_COUNT = REFERABLE_FEATURE_COUNT + 4;
 
 	/**
 	 * The number of operations of the '<em>View</em>' class.
@@ -3932,7 +3969,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int VIEW_OPERATION_COUNT = REFEREABLE_OPERATION_COUNT + 0;
+	int VIEW_OPERATION_COUNT = REFERABLE_OPERATION_COUNT + 0;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.papyrus.aas.impl.MultiLanguagePropertyImpl <em>Multi Language Property</em>}' class.
@@ -3942,7 +3979,7 @@
 	 * @see org.eclipse.papyrus.aas.impl.AASPackageImpl#getMultiLanguageProperty()
 	 * @generated
 	 */
-	int MULTI_LANGUAGE_PROPERTY = 40;
+	int MULTI_LANGUAGE_PROPERTY = 41;
 
 	/**
 	 * The feature id for the '<em><b>Id Short</b></em>' attribute.
@@ -4105,7 +4142,7 @@
 	 * @see org.eclipse.papyrus.aas.impl.AASPackageImpl#getIdentifierType()
 	 * @generated
 	 */
-	int IDENTIFIER_TYPE = 41;
+	int IDENTIFIER_TYPE = 42;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.papyrus.aas.LangEnum <em>Lang Enum</em>}' enum.
@@ -4115,7 +4152,7 @@
 	 * @see org.eclipse.papyrus.aas.impl.AASPackageImpl#getLangEnum()
 	 * @generated
 	 */
-	int LANG_ENUM = 42;
+	int LANG_ENUM = 43;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.papyrus.aas.KeyElements <em>Key Elements</em>}' enum.
@@ -4125,7 +4162,7 @@
 	 * @see org.eclipse.papyrus.aas.impl.AASPackageImpl#getKeyElements()
 	 * @generated
 	 */
-	int KEY_ELEMENTS = 43;
+	int KEY_ELEMENTS = 44;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.papyrus.aas.ReferableElements <em>Referable Elements</em>}' enum.
@@ -4135,7 +4172,7 @@
 	 * @see org.eclipse.papyrus.aas.impl.AASPackageImpl#getReferableElements()
 	 * @generated
 	 */
-	int REFERABLE_ELEMENTS = 44;
+	int REFERABLE_ELEMENTS = 45;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.papyrus.aas.IdentifiableElement <em>Identifiable Element</em>}' enum.
@@ -4145,7 +4182,7 @@
 	 * @see org.eclipse.papyrus.aas.impl.AASPackageImpl#getIdentifiableElement()
 	 * @generated
 	 */
-	int IDENTIFIABLE_ELEMENT = 45;
+	int IDENTIFIABLE_ELEMENT = 46;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.papyrus.aas.KeyType <em>Key Type</em>}' enum.
@@ -4155,7 +4192,7 @@
 	 * @see org.eclipse.papyrus.aas.impl.AASPackageImpl#getKeyType()
 	 * @generated
 	 */
-	int KEY_TYPE = 46;
+	int KEY_TYPE = 47;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.papyrus.aas.LocalKeyType <em>Local Key Type</em>}' enum.
@@ -4165,7 +4202,7 @@
 	 * @see org.eclipse.papyrus.aas.impl.AASPackageImpl#getLocalKeyType()
 	 * @generated
 	 */
-	int LOCAL_KEY_TYPE = 47;
+	int LOCAL_KEY_TYPE = 48;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.papyrus.aas.ModelingKind <em>Modeling Kind</em>}' enum.
@@ -4175,7 +4212,7 @@
 	 * @see org.eclipse.papyrus.aas.impl.AASPackageImpl#getModelingKind()
 	 * @generated
 	 */
-	int MODELING_KIND = 48;
+	int MODELING_KIND = 49;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.papyrus.aas.ProtocolKind <em>Protocol Kind</em>}' enum.
@@ -4185,7 +4222,7 @@
 	 * @see org.eclipse.papyrus.aas.impl.AASPackageImpl#getProtocolKind()
 	 * @generated
 	 */
-	int PROTOCOL_KIND = 49;
+	int PROTOCOL_KIND = 50;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.papyrus.aas.IdType <em>Id Type</em>}' enum.
@@ -4195,7 +4232,7 @@
 	 * @see org.eclipse.papyrus.aas.impl.AASPackageImpl#getIdType()
 	 * @generated
 	 */
-	int ID_TYPE = 50;
+	int ID_TYPE = 51;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.papyrus.aas.AssetKind <em>Asset Kind</em>}' enum.
@@ -4205,7 +4242,7 @@
 	 * @see org.eclipse.papyrus.aas.impl.AASPackageImpl#getAssetKind()
 	 * @generated
 	 */
-	int ASSET_KIND = 51;
+	int ASSET_KIND = 52;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.papyrus.aas.MimeType <em>Mime Type</em>}' enum.
@@ -4215,7 +4252,7 @@
 	 * @see org.eclipse.papyrus.aas.impl.AASPackageImpl#getMimeType()
 	 * @generated
 	 */
-	int MIME_TYPE = 52;
+	int MIME_TYPE = 53;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.papyrus.aas.EntityType <em>Entity Type</em>}' enum.
@@ -4225,7 +4262,7 @@
 	 * @see org.eclipse.papyrus.aas.impl.AASPackageImpl#getEntityType()
 	 * @generated
 	 */
-	int ENTITY_TYPE = 53;
+	int ENTITY_TYPE = 54;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.papyrus.aas.LevelType <em>Level Type</em>}' enum.
@@ -4235,7 +4272,7 @@
 	 * @see org.eclipse.papyrus.aas.impl.AASPackageImpl#getLevelType()
 	 * @generated
 	 */
-	int LEVEL_TYPE = 54;
+	int LEVEL_TYPE = 55;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.papyrus.aas.DataTypeIEC61360 <em>Data Type IEC61360</em>}' enum.
@@ -4245,7 +4282,7 @@
 	 * @see org.eclipse.papyrus.aas.impl.AASPackageImpl#getDataTypeIEC61360()
 	 * @generated
 	 */
-	int DATA_TYPE_IEC61360 = 55;
+	int DATA_TYPE_IEC61360 = 56;
 
 
 	/**
@@ -4368,58 +4405,58 @@
 	EReference getIdentifiable_Base_Package();
 
 	/**
-	 * Returns the meta object for class '{@link org.eclipse.papyrus.aas.Refereable <em>Refereable</em>}'.
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aas.Referable <em>Referable</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Refereable</em>'.
-	 * @see org.eclipse.papyrus.aas.Refereable
+	 * @return the meta object for class '<em>Referable</em>'.
+	 * @see org.eclipse.papyrus.aas.Referable
 	 * @generated
 	 */
-	EClass getRefereable();
+	EClass getReferable();
 
 	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aas.Refereable#getIdShort <em>Id Short</em>}'.
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aas.Referable#getIdShort <em>Id Short</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the attribute '<em>Id Short</em>'.
-	 * @see org.eclipse.papyrus.aas.Refereable#getIdShort()
-	 * @see #getRefereable()
+	 * @see org.eclipse.papyrus.aas.Referable#getIdShort()
+	 * @see #getReferable()
 	 * @generated
 	 */
-	EAttribute getRefereable_IdShort();
+	EAttribute getReferable_IdShort();
 
 	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aas.Refereable#getCategory <em>Category</em>}'.
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aas.Referable#getCategory <em>Category</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the attribute '<em>Category</em>'.
-	 * @see org.eclipse.papyrus.aas.Refereable#getCategory()
-	 * @see #getRefereable()
+	 * @see org.eclipse.papyrus.aas.Referable#getCategory()
+	 * @see #getReferable()
 	 * @generated
 	 */
-	EAttribute getRefereable_Category();
+	EAttribute getReferable_Category();
 
 	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.aas.Refereable#getDescription <em>Description</em>}'.
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.aas.Referable#getDescription <em>Description</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the containment reference list '<em>Description</em>'.
-	 * @see org.eclipse.papyrus.aas.Refereable#getDescription()
-	 * @see #getRefereable()
+	 * @see org.eclipse.papyrus.aas.Referable#getDescription()
+	 * @see #getReferable()
 	 * @generated
 	 */
-	EReference getRefereable_Description();
+	EReference getReferable_Description();
 
 	/**
-	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.aas.Refereable#getBase_Class <em>Base Class</em>}'.
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.aas.Referable#getBase_Class <em>Base Class</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the reference '<em>Base Class</em>'.
-	 * @see org.eclipse.papyrus.aas.Refereable#getBase_Class()
-	 * @see #getRefereable()
+	 * @see org.eclipse.papyrus.aas.Referable#getBase_Class()
+	 * @see #getReferable()
 	 * @generated
 	 */
-	EReference getRefereable_Base_Class();
+	EReference getReferable_Base_Class();
 
 	/**
 	 * Returns the meta object for class '{@link org.eclipse.papyrus.aas.LangString <em>Lang String</em>}'.
@@ -4936,17 +4973,6 @@
 	EAttribute getEndpoint_Name();
 
 	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aas.Endpoint#getPort <em>Port</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Port</em>'.
-	 * @see org.eclipse.papyrus.aas.Endpoint#getPort()
-	 * @see #getEndpoint()
-	 * @generated
-	 */
-	EAttribute getEndpoint_Port();
-
-	/**
 	 * Returns the meta object for class '{@link org.eclipse.papyrus.aas.NodeId <em>Node Id</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -5054,15 +5080,15 @@
 	EReference getAssetInformation_BillOfMaterial();
 
 	/**
-	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.aas.AssetInformation#getDefaaultThumbnail <em>Defaault Thumbnail</em>}'.
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.aas.AssetInformation#getDefaultThumbnail <em>Default Thumbnail</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference '<em>Defaault Thumbnail</em>'.
-	 * @see org.eclipse.papyrus.aas.AssetInformation#getDefaaultThumbnail()
+	 * @return the meta object for the reference '<em>Default Thumbnail</em>'.
+	 * @see org.eclipse.papyrus.aas.AssetInformation#getDefaultThumbnail()
 	 * @see #getAssetInformation()
 	 * @generated
 	 */
-	EReference getAssetInformation_DefaaultThumbnail();
+	EReference getAssetInformation_DefaultThumbnail();
 
 	/**
 	 * Returns the meta object for class '{@link org.eclipse.papyrus.aas.IdentifierKeyValuePair <em>Identifier Key Value Pair</em>}'.
@@ -5193,6 +5219,38 @@
 	EReference getAsset_Endpoint();
 
 	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aas.AASEndpoint <em>Endpoint</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Endpoint</em>'.
+	 * @see org.eclipse.papyrus.aas.AASEndpoint
+	 * @generated
+	 */
+	EClass getAASEndpoint();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aas.AASEndpoint#getAddress <em>Address</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Address</em>'.
+	 * @see org.eclipse.papyrus.aas.AASEndpoint#getAddress()
+	 * @see #getAASEndpoint()
+	 * @generated
+	 */
+	EAttribute getAASEndpoint_Address();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aas.AASEndpoint#getPort <em>Port</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Port</em>'.
+	 * @see org.eclipse.papyrus.aas.AASEndpoint#getPort()
+	 * @see #getAASEndpoint()
+	 * @generated
+	 */
+	EAttribute getAASEndpoint_Port();
+
+	/**
 	 * Returns the meta object for class '{@link org.eclipse.papyrus.aas.Entity <em>Entity</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -6024,14 +6082,14 @@
 		EReference IDENTIFIABLE__BASE_PACKAGE = eINSTANCE.getIdentifiable_Base_Package();
 
 		/**
-		 * The meta object literal for the '{@link org.eclipse.papyrus.aas.impl.RefereableImpl <em>Refereable</em>}' class.
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aas.impl.ReferableImpl <em>Referable</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
-		 * @see org.eclipse.papyrus.aas.impl.RefereableImpl
-		 * @see org.eclipse.papyrus.aas.impl.AASPackageImpl#getRefereable()
+		 * @see org.eclipse.papyrus.aas.impl.ReferableImpl
+		 * @see org.eclipse.papyrus.aas.impl.AASPackageImpl#getReferable()
 		 * @generated
 		 */
-		EClass REFEREABLE = eINSTANCE.getRefereable();
+		EClass REFERABLE = eINSTANCE.getReferable();
 
 		/**
 		 * The meta object literal for the '<em><b>Id Short</b></em>' attribute feature.
@@ -6039,7 +6097,7 @@
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EAttribute REFEREABLE__ID_SHORT = eINSTANCE.getRefereable_IdShort();
+		EAttribute REFERABLE__ID_SHORT = eINSTANCE.getReferable_IdShort();
 
 		/**
 		 * The meta object literal for the '<em><b>Category</b></em>' attribute feature.
@@ -6047,7 +6105,7 @@
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EAttribute REFEREABLE__CATEGORY = eINSTANCE.getRefereable_Category();
+		EAttribute REFERABLE__CATEGORY = eINSTANCE.getReferable_Category();
 
 		/**
 		 * The meta object literal for the '<em><b>Description</b></em>' containment reference list feature.
@@ -6055,7 +6113,7 @@
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EReference REFEREABLE__DESCRIPTION = eINSTANCE.getRefereable_Description();
+		EReference REFERABLE__DESCRIPTION = eINSTANCE.getReferable_Description();
 
 		/**
 		 * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
@@ -6063,7 +6121,7 @@
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EReference REFEREABLE__BASE_CLASS = eINSTANCE.getRefereable_Base_Class();
+		EReference REFERABLE__BASE_CLASS = eINSTANCE.getReferable_Base_Class();
 
 		/**
 		 * The meta object literal for the '{@link org.eclipse.papyrus.aas.impl.LangStringImpl <em>Lang String</em>}' class.
@@ -6478,14 +6536,6 @@
 		EAttribute ENDPOINT__NAME = eINSTANCE.getEndpoint_Name();
 
 		/**
-		 * The meta object literal for the '<em><b>Port</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute ENDPOINT__PORT = eINSTANCE.getEndpoint_Port();
-
-		/**
 		 * The meta object literal for the '{@link org.eclipse.papyrus.aas.impl.NodeIdImpl <em>Node Id</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
@@ -6572,12 +6622,12 @@
 		EReference ASSET_INFORMATION__BILL_OF_MATERIAL = eINSTANCE.getAssetInformation_BillOfMaterial();
 
 		/**
-		 * The meta object literal for the '<em><b>Defaault Thumbnail</b></em>' reference feature.
+		 * The meta object literal for the '<em><b>Default Thumbnail</b></em>' reference feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EReference ASSET_INFORMATION__DEFAAULT_THUMBNAIL = eINSTANCE.getAssetInformation_DefaaultThumbnail();
+		EReference ASSET_INFORMATION__DEFAULT_THUMBNAIL = eINSTANCE.getAssetInformation_DefaultThumbnail();
 
 		/**
 		 * The meta object literal for the '{@link org.eclipse.papyrus.aas.impl.IdentifierKeyValuePairImpl <em>Identifier Key Value Pair</em>}' class.
@@ -6684,6 +6734,32 @@
 		EReference ASSET__ENDPOINT = eINSTANCE.getAsset_Endpoint();
 
 		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aas.impl.AASEndpointImpl <em>Endpoint</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aas.impl.AASEndpointImpl
+		 * @see org.eclipse.papyrus.aas.impl.AASPackageImpl#getAASEndpoint()
+		 * @generated
+		 */
+		EClass AAS_ENDPOINT = eINSTANCE.getAASEndpoint();
+
+		/**
+		 * The meta object literal for the '<em><b>Address</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute AAS_ENDPOINT__ADDRESS = eINSTANCE.getAASEndpoint_Address();
+
+		/**
+		 * The meta object literal for the '<em><b>Port</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute AAS_ENDPOINT__PORT = eINSTANCE.getAASEndpoint_Port();
+
+		/**
 		 * The meta object literal for the '{@link org.eclipse.papyrus.aas.impl.EntityImpl <em>Entity</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/AssetAdministrationShell.java b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/AssetAdministrationShell.java
index 0b9cf7f..be77eaa 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/AssetAdministrationShell.java
+++ b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/AssetAdministrationShell.java
@@ -186,12 +186,12 @@
 	 * </p>
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Endpoint</em>' containment reference.
-	 * @see #setEndpoint(Endpoint)
+	 * @see #setEndpoint(AASEndpoint)
 	 * @see org.eclipse.papyrus.aas.AASPackage#getAssetAdministrationShell_Endpoint()
 	 * @model containment="true" ordered="false"
 	 * @generated
 	 */
-	Endpoint getEndpoint();
+	AASEndpoint getEndpoint();
 
 	/**
 	 * Sets the value of the '{@link org.eclipse.papyrus.aas.AssetAdministrationShell#getEndpoint <em>Endpoint</em>}' containment reference.
@@ -201,6 +201,6 @@
 	 * @see #getEndpoint()
 	 * @generated
 	 */
-	void setEndpoint(Endpoint value);
+	void setEndpoint(AASEndpoint value);
 
 } // AssetAdministrationShell
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/AssetInformation.java b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/AssetInformation.java
index 080962b..928737e 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/AssetInformation.java
+++ b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/AssetInformation.java
@@ -35,7 +35,7 @@
  *   <li>{@link org.eclipse.papyrus.aas.AssetInformation#getGlobalAssetId <em>Global Asset Id</em>}</li>
  *   <li>{@link org.eclipse.papyrus.aas.AssetInformation#getSpecificAssetId <em>Specific Asset Id</em>}</li>
  *   <li>{@link org.eclipse.papyrus.aas.AssetInformation#getBillOfMaterial <em>Bill Of Material</em>}</li>
- *   <li>{@link org.eclipse.papyrus.aas.AssetInformation#getDefaaultThumbnail <em>Defaault Thumbnail</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aas.AssetInformation#getDefaultThumbnail <em>Default Thumbnail</em>}</li>
  * </ul>
  *
  * @see org.eclipse.papyrus.aas.AASPackage#getAssetInformation()
@@ -131,29 +131,29 @@
 	EList<Submodel> getBillOfMaterial();
 
 	/**
-	 * Returns the value of the '<em><b>Defaault Thumbnail</b></em>' reference.
+	 * Returns the value of the '<em><b>Default Thumbnail</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <p>
-	 * If the meaning of the '<em>Defaault Thumbnail</em>' reference isn't clear,
+	 * If the meaning of the '<em>Default Thumbnail</em>' reference isn't clear,
 	 * there really should be more of a description here...
 	 * </p>
 	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Defaault Thumbnail</em>' reference.
-	 * @see #setDefaaultThumbnail(File)
-	 * @see org.eclipse.papyrus.aas.AASPackage#getAssetInformation_DefaaultThumbnail()
+	 * @return the value of the '<em>Default Thumbnail</em>' reference.
+	 * @see #setDefaultThumbnail(File)
+	 * @see org.eclipse.papyrus.aas.AASPackage#getAssetInformation_DefaultThumbnail()
 	 * @model ordered="false"
 	 * @generated
 	 */
-	File getDefaaultThumbnail();
+	File getDefaultThumbnail();
 
 	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.aas.AssetInformation#getDefaaultThumbnail <em>Defaault Thumbnail</em>}' reference.
+	 * Sets the value of the '{@link org.eclipse.papyrus.aas.AssetInformation#getDefaultThumbnail <em>Default Thumbnail</em>}' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Defaault Thumbnail</em>' reference.
-	 * @see #getDefaaultThumbnail()
+	 * @param value the new value of the '<em>Default Thumbnail</em>' reference.
+	 * @see #getDefaultThumbnail()
 	 * @generated
 	 */
-	void setDefaaultThumbnail(File value);
+	void setDefaultThumbnail(File value);
 
 } // AssetInformation
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/Capability.java b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/Capability.java
index 2aaaa5f..bd1ffe7 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/Capability.java
+++ b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/Capability.java
@@ -28,7 +28,7 @@
  * </ul>
  *
  * @see org.eclipse.papyrus.aas.AASPackage#getCapability()
- * @model annotation="duplicates"
+ * @model
  * @generated
  */
 public interface Capability extends SubmodelElement {
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/DataElement.java b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/DataElement.java
index 3fc2736..45c907b 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/DataElement.java
+++ b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/DataElement.java
@@ -29,7 +29,6 @@
  *
  * @see org.eclipse.papyrus.aas.AASPackage#getDataElement()
  * @model abstract="true"
- *        annotation="duplicates"
  * @generated
  */
 public interface DataElement extends SubmodelElement {
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/Endpoint.java b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/Endpoint.java
index 6cd7edc..dfd0f5e 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/Endpoint.java
+++ b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/Endpoint.java
@@ -27,7 +27,6 @@
  *   <li>{@link org.eclipse.papyrus.aas.Endpoint#getAddress <em>Address</em>}</li>
  *   <li>{@link org.eclipse.papyrus.aas.Endpoint#getProtocol <em>Protocol</em>}</li>
  *   <li>{@link org.eclipse.papyrus.aas.Endpoint#getName <em>Name</em>}</li>
- *   <li>{@link org.eclipse.papyrus.aas.Endpoint#getPort <em>Port</em>}</li>
  * </ul>
  *
  * @see org.eclipse.papyrus.aas.AASPackage#getEndpoint()
@@ -116,30 +115,4 @@
 	 */
 	void setName(String value);
 
-	/**
-	 * Returns the value of the '<em><b>Port</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Port</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Port</em>' attribute.
-	 * @see #setPort(int)
-	 * @see org.eclipse.papyrus.aas.AASPackage#getEndpoint_Port()
-	 * @model dataType="org.eclipse.uml2.types.Integer" ordered="false"
-	 * @generated
-	 */
-	int getPort();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.aas.Endpoint#getPort <em>Port</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Port</em>' attribute.
-	 * @see #getPort()
-	 * @generated
-	 */
-	void setPort(int value);
-
 } // Endpoint
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/Event.java b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/Event.java
index 59f5f1e..cc0c0b4 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/Event.java
+++ b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/Event.java
@@ -29,7 +29,6 @@
  *
  * @see org.eclipse.papyrus.aas.AASPackage#getEvent()
  * @model abstract="true"
- *        annotation="duplicates"
  * @generated
  */
 public interface Event extends SubmodelElement {
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/Identifiable.java b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/Identifiable.java
index bc9bb3d..3409be5 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/Identifiable.java
+++ b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/Identifiable.java
@@ -32,7 +32,7 @@
  * @model abstract="true"
  * @generated
  */
-public interface Identifiable extends Refereable {
+public interface Identifiable extends Referable {
 	/**
 	 * Returns the value of the '<em><b>Administration</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/LangEnum.java b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/LangEnum.java
index d1a17a8..dd4c977 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/LangEnum.java
+++ b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/LangEnum.java
@@ -77,7 +77,63 @@
 	 * @generated
 	 * @ordered
 	 */
-	IT(4, "it", "it");
+	IT(4, "it", "it"), /**
+	 * The '<em><b>Nl</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #NL_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	NL(5, "nl", "nl"), /**
+	 * The '<em><b>Pl</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #PL_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	PL(6, "pl", "pl"), /**
+	 * The '<em><b>Sr</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #SR_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	SR(7, "sr", "sr"), /**
+	 * The '<em><b>Ar</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #AR_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	AR(8, "ar", "ar"), /**
+	 * The '<em><b>Zh</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #ZH_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	ZH(9, "zh", "zh"), /**
+	 * The '<em><b>Ko</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #KO_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	KO(10, "ko", "ko"), /**
+	 * The '<em><b>Ja</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #JA_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	JA(11, "ja", "ja");
 
 	/**
 	 * The '<em><b>En</b></em>' literal value.
@@ -135,6 +191,83 @@
 	public static final int IT_VALUE = 4;
 
 	/**
+	 * The '<em><b>Nl</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #NL
+	 * @model name="nl"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int NL_VALUE = 5;
+
+	/**
+	 * The '<em><b>Pl</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #PL
+	 * @model name="pl"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int PL_VALUE = 6;
+
+	/**
+	 * The '<em><b>Sr</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #SR
+	 * @model name="sr"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int SR_VALUE = 7;
+
+	/**
+	 * The '<em><b>Ar</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #AR
+	 * @model name="ar"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int AR_VALUE = 8;
+
+	/**
+	 * The '<em><b>Zh</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #ZH
+	 * @model name="zh"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int ZH_VALUE = 9;
+
+	/**
+	 * The '<em><b>Ko</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #KO
+	 * @model name="ko"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int KO_VALUE = 10;
+
+	/**
+	 * The '<em><b>Ja</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #JA
+	 * @model name="ja"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int JA_VALUE = 11;
+
+	/**
 	 * An array of all the '<em><b>Lang Enum</b></em>' enumerators.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -147,6 +280,13 @@
 			FR,
 			ES,
 			IT,
+			NL,
+			PL,
+			SR,
+			AR,
+			ZH,
+			KO,
+			JA,
 		};
 
 	/**
@@ -208,6 +348,13 @@
 			case FR_VALUE: return FR;
 			case ES_VALUE: return ES;
 			case IT_VALUE: return IT;
+			case NL_VALUE: return NL;
+			case PL_VALUE: return PL;
+			case SR_VALUE: return SR;
+			case AR_VALUE: return AR;
+			case ZH_VALUE: return ZH;
+			case KO_VALUE: return KO;
+			case JA_VALUE: return JA;
 		}
 		return null;
 	}
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/Operation.java b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/Operation.java
index ddfcf33..f2322b8 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/Operation.java
+++ b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/Operation.java
@@ -27,7 +27,7 @@
  * </ul>
  *
  * @see org.eclipse.papyrus.aas.AASPackage#getOperation()
- * @model annotation="duplicates"
+ * @model
  * @generated
  */
 public interface Operation extends SubmodelElement {
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/Refereable.java b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/Referable.java
similarity index 75%
rename from plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/Refereable.java
rename to plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/Referable.java
index b3d87e8..85ed7a0 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/Refereable.java
+++ b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/Referable.java
@@ -19,24 +19,24 @@
 
 /**
  * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Refereable</b></em>'.
+ * A representation of the model object '<em><b>Referable</b></em>'.
  * <!-- end-user-doc -->
  *
  * <p>
  * The following features are supported:
  * </p>
  * <ul>
- *   <li>{@link org.eclipse.papyrus.aas.Refereable#getIdShort <em>Id Short</em>}</li>
- *   <li>{@link org.eclipse.papyrus.aas.Refereable#getCategory <em>Category</em>}</li>
- *   <li>{@link org.eclipse.papyrus.aas.Refereable#getDescription <em>Description</em>}</li>
- *   <li>{@link org.eclipse.papyrus.aas.Refereable#getBase_Class <em>Base Class</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aas.Referable#getIdShort <em>Id Short</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aas.Referable#getCategory <em>Category</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aas.Referable#getDescription <em>Description</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aas.Referable#getBase_Class <em>Base Class</em>}</li>
  * </ul>
  *
- * @see org.eclipse.papyrus.aas.AASPackage#getRefereable()
+ * @see org.eclipse.papyrus.aas.AASPackage#getReferable()
  * @model abstract="true"
  * @generated
  */
-public interface Refereable extends EObject {
+public interface Referable extends EObject {
 	/**
 	 * Returns the value of the '<em><b>Id Short</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -46,7 +46,7 @@
 	 * </p>
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Id Short</em>' attribute.
-	 * @see org.eclipse.papyrus.aas.AASPackage#getRefereable_IdShort()
+	 * @see org.eclipse.papyrus.aas.AASPackage#getReferable_IdShort()
 	 * @model dataType="org.eclipse.uml2.types.String" required="true" transient="true" changeable="false" volatile="true" derived="true" ordered="false"
 	 * @generated
 	 */
@@ -62,14 +62,14 @@
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Category</em>' attribute.
 	 * @see #setCategory(String)
-	 * @see org.eclipse.papyrus.aas.AASPackage#getRefereable_Category()
+	 * @see org.eclipse.papyrus.aas.AASPackage#getReferable_Category()
 	 * @model dataType="org.eclipse.uml2.types.String" ordered="false"
 	 * @generated
 	 */
 	String getCategory();
 
 	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.aas.Refereable#getCategory <em>Category</em>}' attribute.
+	 * Sets the value of the '{@link org.eclipse.papyrus.aas.Referable#getCategory <em>Category</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param value the new value of the '<em>Category</em>' attribute.
@@ -88,7 +88,7 @@
 	 * </p>
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Description</em>' containment reference list.
-	 * @see org.eclipse.papyrus.aas.AASPackage#getRefereable_Description()
+	 * @see org.eclipse.papyrus.aas.AASPackage#getReferable_Description()
 	 * @model containment="true" ordered="false"
 	 * @generated
 	 */
@@ -104,14 +104,14 @@
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Base Class</em>' reference.
 	 * @see #setBase_Class(org.eclipse.uml2.uml.Class)
-	 * @see org.eclipse.papyrus.aas.AASPackage#getRefereable_Base_Class()
+	 * @see org.eclipse.papyrus.aas.AASPackage#getReferable_Base_Class()
 	 * @model ordered="false"
 	 * @generated
 	 */
 	org.eclipse.uml2.uml.Class getBase_Class();
 
 	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.aas.Refereable#getBase_Class <em>Base Class</em>}' reference.
+	 * Sets the value of the '{@link org.eclipse.papyrus.aas.Referable#getBase_Class <em>Base Class</em>}' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param value the new value of the '<em>Base Class</em>' reference.
@@ -120,4 +120,4 @@
 	 */
 	void setBase_Class(org.eclipse.uml2.uml.Class value);
 
-} // Refereable
+} // Referable
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/SubmodelElement.java b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/SubmodelElement.java
index b7c789e..8dccd19 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/SubmodelElement.java
+++ b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/SubmodelElement.java
@@ -32,7 +32,7 @@
  * @model abstract="true"
  * @generated
  */
-public interface SubmodelElement extends Refereable, HasKind, HasSemantics, HasDataSpecification {
+public interface SubmodelElement extends Referable, HasKind, HasSemantics, HasDataSpecification {
 	/**
 	 * Returns the value of the '<em><b>Is Dynamic</b></em>' attribute.
 	 * <!-- begin-user-doc -->
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/SubmodelElementCollection.java b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/SubmodelElementCollection.java
index 8a1f6e6..0362627 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/SubmodelElementCollection.java
+++ b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/SubmodelElementCollection.java
@@ -35,7 +35,7 @@
  * </ul>
  *
  * @see org.eclipse.papyrus.aas.AASPackage#getSubmodelElementCollection()
- * @model annotation="duplicates"
+ * @model
  * @generated
  */
 public interface SubmodelElementCollection extends SubmodelElement {
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/View.java b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/View.java
index 16472be..4e47bce 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/View.java
+++ b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/View.java
@@ -31,10 +31,10 @@
  * @model
  * @generated
  */
-public interface View extends Refereable, HasSemantics, HasDataSpecification {
+public interface View extends Referable, HasSemantics, HasDataSpecification {
 	/**
 	 * Returns the value of the '<em><b>Contained Element</b></em>' reference list.
-	 * The list contents are of type {@link org.eclipse.papyrus.aas.Refereable}.
+	 * The list contents are of type {@link org.eclipse.papyrus.aas.Referable}.
 	 * <!-- begin-user-doc -->
 	 * <p>
 	 * If the meaning of the '<em>Contained Element</em>' reference list isn't clear,
@@ -46,6 +46,6 @@
 	 * @model ordered="false"
 	 * @generated
 	 */
-	EList<Refereable> getContainedElement();
+	EList<Referable> getContainedElement();
 
 } // View
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/AASEndpointImpl.java b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/AASEndpointImpl.java
new file mode 100644
index 0000000..41233a5
--- /dev/null
+++ b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/AASEndpointImpl.java
@@ -0,0 +1,232 @@
+/**
+ * Copyright (c) 2022 CEA LIST 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
+ * http://www.eclipse.org/legal/epl-2.0/
+ * 
+ *   SPDX-License-Identifier: EPL-2.0
+ *  
+ *  Contributors:
+ *  	CEA LIST - Initial API and implementation
+ */
+package org.eclipse.papyrus.aas.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.aas.AASEndpoint;
+import org.eclipse.papyrus.aas.AASPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Endpoint</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aas.impl.AASEndpointImpl#getAddress <em>Address</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aas.impl.AASEndpointImpl#getPort <em>Port</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class AASEndpointImpl extends MinimalEObjectImpl.Container implements AASEndpoint {
+	/**
+	 * The default value of the '{@link #getAddress() <em>Address</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAddress()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String ADDRESS_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getAddress() <em>Address</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAddress()
+	 * @generated
+	 * @ordered
+	 */
+	protected String address = ADDRESS_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getPort() <em>Port</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPort()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int PORT_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getPort() <em>Port</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPort()
+	 * @generated
+	 * @ordered
+	 */
+	protected int port = PORT_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AASEndpointImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return AASPackage.Literals.AAS_ENDPOINT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getAddress() {
+		return address;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setAddress(String newAddress) {
+		String oldAddress = address;
+		address = newAddress;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, AASPackage.AAS_ENDPOINT__ADDRESS, oldAddress, address));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int getPort() {
+		return port;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setPort(int newPort) {
+		int oldPort = port;
+		port = newPort;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, AASPackage.AAS_ENDPOINT__PORT, oldPort, port));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case AASPackage.AAS_ENDPOINT__ADDRESS:
+				return getAddress();
+			case AASPackage.AAS_ENDPOINT__PORT:
+				return getPort();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case AASPackage.AAS_ENDPOINT__ADDRESS:
+				setAddress((String)newValue);
+				return;
+			case AASPackage.AAS_ENDPOINT__PORT:
+				setPort((Integer)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case AASPackage.AAS_ENDPOINT__ADDRESS:
+				setAddress(ADDRESS_EDEFAULT);
+				return;
+			case AASPackage.AAS_ENDPOINT__PORT:
+				setPort(PORT_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case AASPackage.AAS_ENDPOINT__ADDRESS:
+				return ADDRESS_EDEFAULT == null ? address != null : !ADDRESS_EDEFAULT.equals(address);
+			case AASPackage.AAS_ENDPOINT__PORT:
+				return port != PORT_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(" (address: ");
+		result.append(address);
+		result.append(", port: ");
+		result.append(port);
+		result.append(')');
+		return result.toString();
+	}
+
+} //AASEndpointImpl
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/AASFactoryImpl.java b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/AASFactoryImpl.java
index b42f281..9d9b910 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/AASFactoryImpl.java
+++ b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/AASFactoryImpl.java
@@ -85,6 +85,7 @@
 			case AASPackage.IDENTIFIER_KEY_VALUE_PAIR: return createIdentifierKeyValuePair();
 			case AASPackage.FILE: return createFile();
 			case AASPackage.ASSET: return createAsset();
+			case AASPackage.AAS_ENDPOINT: return createAASEndpoint();
 			case AASPackage.ENTITY: return createEntity();
 			case AASPackage.RELATIONSHIP_ELEMENT: return createRelationshipElement();
 			case AASPackage.OPERATION: return createOperation();
@@ -384,6 +385,17 @@
 	 * @generated
 	 */
 	@Override
+	public AASEndpoint createAASEndpoint() {
+		AASEndpointImpl aasEndpoint = new AASEndpointImpl();
+		return aasEndpoint;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
 	public Entity createEntity() {
 		EntityImpl entity = new EntityImpl();
 		return entity;
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/AASPackageImpl.java b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/AASPackageImpl.java
index 817494c..6d406d6 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/AASPackageImpl.java
+++ b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/AASPackageImpl.java
@@ -22,6 +22,7 @@
 
 import org.eclipse.emf.ecore.impl.EPackageImpl;
 
+import org.eclipse.papyrus.aas.AASEndpoint;
 import org.eclipse.papyrus.aas.AASFactory;
 import org.eclipse.papyrus.aas.AASPackage;
 import org.eclipse.papyrus.aas.AccessControl;
@@ -69,8 +70,8 @@
 import org.eclipse.papyrus.aas.Property;
 import org.eclipse.papyrus.aas.ProtocolKind;
 import org.eclipse.papyrus.aas.Range;
+import org.eclipse.papyrus.aas.Referable;
 import org.eclipse.papyrus.aas.ReferableElements;
-import org.eclipse.papyrus.aas.Refereable;
 import org.eclipse.papyrus.aas.Reference;
 import org.eclipse.papyrus.aas.ReferenceElement;
 import org.eclipse.papyrus.aas.RelationshipElement;
@@ -110,7 +111,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	private EClass refereableEClass = null;
+	private EClass referableEClass = null;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -264,6 +265,13 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	private EClass aasEndpointEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	private EClass entityEClass = null;
 
 	/**
@@ -665,8 +673,8 @@
 	 * @generated
 	 */
 	@Override
-	public EClass getRefereable() {
-		return refereableEClass;
+	public EClass getReferable() {
+		return referableEClass;
 	}
 
 	/**
@@ -675,8 +683,8 @@
 	 * @generated
 	 */
 	@Override
-	public EAttribute getRefereable_IdShort() {
-		return (EAttribute)refereableEClass.getEStructuralFeatures().get(0);
+	public EAttribute getReferable_IdShort() {
+		return (EAttribute)referableEClass.getEStructuralFeatures().get(0);
 	}
 
 	/**
@@ -685,8 +693,8 @@
 	 * @generated
 	 */
 	@Override
-	public EAttribute getRefereable_Category() {
-		return (EAttribute)refereableEClass.getEStructuralFeatures().get(1);
+	public EAttribute getReferable_Category() {
+		return (EAttribute)referableEClass.getEStructuralFeatures().get(1);
 	}
 
 	/**
@@ -695,8 +703,8 @@
 	 * @generated
 	 */
 	@Override
-	public EReference getRefereable_Description() {
-		return (EReference)refereableEClass.getEStructuralFeatures().get(2);
+	public EReference getReferable_Description() {
+		return (EReference)referableEClass.getEStructuralFeatures().get(2);
 	}
 
 	/**
@@ -705,8 +713,8 @@
 	 * @generated
 	 */
 	@Override
-	public EReference getRefereable_Base_Class() {
-		return (EReference)refereableEClass.getEStructuralFeatures().get(3);
+	public EReference getReferable_Base_Class() {
+		return (EReference)referableEClass.getEStructuralFeatures().get(3);
 	}
 
 	/**
@@ -1195,16 +1203,6 @@
 	 * @generated
 	 */
 	@Override
-	public EAttribute getEndpoint_Port() {
-		return (EAttribute)endpointEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
 	public EClass getNodeId() {
 		return nodeIdEClass;
 	}
@@ -1305,7 +1303,7 @@
 	 * @generated
 	 */
 	@Override
-	public EReference getAssetInformation_DefaaultThumbnail() {
+	public EReference getAssetInformation_DefaultThumbnail() {
 		return (EReference)assetInformationEClass.getEStructuralFeatures().get(4);
 	}
 
@@ -1435,6 +1433,36 @@
 	 * @generated
 	 */
 	@Override
+	public EClass getAASEndpoint() {
+		return aasEndpointEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getAASEndpoint_Address() {
+		return (EAttribute)aasEndpointEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getAASEndpoint_Port() {
+		return (EAttribute)aasEndpointEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
 	public EClass getEntity() {
 		return entityEClass;
 	}
@@ -2151,11 +2179,11 @@
 		createEReference(identifiableEClass, IDENTIFIABLE__IDENTIFICATION);
 		createEReference(identifiableEClass, IDENTIFIABLE__BASE_PACKAGE);
 
-		refereableEClass = createEClass(REFEREABLE);
-		createEAttribute(refereableEClass, REFEREABLE__ID_SHORT);
-		createEAttribute(refereableEClass, REFEREABLE__CATEGORY);
-		createEReference(refereableEClass, REFEREABLE__DESCRIPTION);
-		createEReference(refereableEClass, REFEREABLE__BASE_CLASS);
+		referableEClass = createEClass(REFERABLE);
+		createEAttribute(referableEClass, REFERABLE__ID_SHORT);
+		createEAttribute(referableEClass, REFERABLE__CATEGORY);
+		createEReference(referableEClass, REFERABLE__DESCRIPTION);
+		createEReference(referableEClass, REFERABLE__BASE_CLASS);
 
 		langStringEClass = createEClass(LANG_STRING);
 		createEAttribute(langStringEClass, LANG_STRING__LANG);
@@ -2218,7 +2246,6 @@
 		createEAttribute(endpointEClass, ENDPOINT__ADDRESS);
 		createEAttribute(endpointEClass, ENDPOINT__PROTOCOL);
 		createEAttribute(endpointEClass, ENDPOINT__NAME);
-		createEAttribute(endpointEClass, ENDPOINT__PORT);
 
 		nodeIdEClass = createEClass(NODE_ID);
 		createEAttribute(nodeIdEClass, NODE_ID__NAMESPACE);
@@ -2232,7 +2259,7 @@
 		createEReference(assetInformationEClass, ASSET_INFORMATION__GLOBAL_ASSET_ID);
 		createEReference(assetInformationEClass, ASSET_INFORMATION__SPECIFIC_ASSET_ID);
 		createEReference(assetInformationEClass, ASSET_INFORMATION__BILL_OF_MATERIAL);
-		createEReference(assetInformationEClass, ASSET_INFORMATION__DEFAAULT_THUMBNAIL);
+		createEReference(assetInformationEClass, ASSET_INFORMATION__DEFAULT_THUMBNAIL);
 
 		identifierKeyValuePairEClass = createEClass(IDENTIFIER_KEY_VALUE_PAIR);
 		createEAttribute(identifierKeyValuePairEClass, IDENTIFIER_KEY_VALUE_PAIR__KEY);
@@ -2250,6 +2277,10 @@
 		createEAttribute(assetEClass, ASSET__KIND);
 		createEReference(assetEClass, ASSET__ENDPOINT);
 
+		aasEndpointEClass = createEClass(AAS_ENDPOINT);
+		createEAttribute(aasEndpointEClass, AAS_ENDPOINT__ADDRESS);
+		createEAttribute(aasEndpointEClass, AAS_ENDPOINT__PORT);
+
 		entityEClass = createEClass(ENTITY);
 		createEAttribute(entityEClass, ENTITY__ENTITY_TYPE);
 		createEReference(entityEClass, ENTITY__ASSET);
@@ -2372,12 +2403,12 @@
 		// Add supertypes to classes
 		assetAdministrationShellEClass.getESuperTypes().add(this.getIdentifiable());
 		assetAdministrationShellEClass.getESuperTypes().add(this.getHasDataSpecification());
-		identifiableEClass.getESuperTypes().add(this.getRefereable());
+		identifiableEClass.getESuperTypes().add(this.getReferable());
 		submodelEClass.getESuperTypes().add(this.getIdentifiable());
 		submodelEClass.getESuperTypes().add(this.getHasKind());
 		submodelEClass.getESuperTypes().add(this.getHasSemantics());
 		submodelEClass.getESuperTypes().add(this.getHasDataSpecification());
-		submodelElementEClass.getESuperTypes().add(this.getRefereable());
+		submodelElementEClass.getESuperTypes().add(this.getReferable());
 		submodelElementEClass.getESuperTypes().add(this.getHasKind());
 		submodelElementEClass.getESuperTypes().add(this.getHasSemantics());
 		submodelElementEClass.getESuperTypes().add(this.getHasDataSpecification());
@@ -2398,7 +2429,7 @@
 		capabilityEClass.getESuperTypes().add(this.getSubmodelElement());
 		conceptDescriptionEClass.getESuperTypes().add(this.getIdentifiable());
 		conceptDescriptionEClass.getESuperTypes().add(this.getHasDataSpecification());
-		viewEClass.getESuperTypes().add(this.getRefereable());
+		viewEClass.getESuperTypes().add(this.getReferable());
 		viewEClass.getESuperTypes().add(this.getHasSemantics());
 		viewEClass.getESuperTypes().add(this.getHasDataSpecification());
 		multiLanguagePropertyEClass.getESuperTypes().add(this.getDataElement());
@@ -2410,18 +2441,18 @@
 		initEReference(getAssetAdministrationShell_AssetInformation(), this.getAssetInformation(), null, "assetInformation", null, 1, 1, AssetAdministrationShell.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
 		initEReference(getAssetAdministrationShell_Asset(), this.getAsset(), null, "asset", null, 1, 1, AssetAdministrationShell.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
 		initEReference(getAssetAdministrationShell_Submodel(), this.getSubmodel(), null, "submodel", null, 0, -1, AssetAdministrationShell.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
-		initEReference(getAssetAdministrationShell_Endpoint(), this.getEndpoint(), null, "endpoint", null, 0, 1, AssetAdministrationShell.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getAssetAdministrationShell_Endpoint(), this.getAASEndpoint(), null, "endpoint", null, 0, 1, AssetAdministrationShell.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
 
 		initEClass(identifiableEClass, Identifiable.class, "Identifiable", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEReference(getIdentifiable_Administration(), this.getAdministrativeInformation(), null, "administration", null, 0, 1, Identifiable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
 		initEReference(getIdentifiable_Identification(), this.getIdentifier(), null, "identification", null, 1, 1, Identifiable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
 		initEReference(getIdentifiable_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 0, 1, Identifiable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
 
-		initEClass(refereableEClass, Refereable.class, "Refereable", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getRefereable_IdShort(), theTypesPackage.getString(), "idShort", null, 1, 1, Refereable.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
-		initEAttribute(getRefereable_Category(), theTypesPackage.getString(), "category", null, 0, 1, Refereable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
-		initEReference(getRefereable_Description(), this.getLangString(), null, "description", null, 0, -1, Refereable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
-		initEReference(getRefereable_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 0, 1, Refereable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEClass(referableEClass, Referable.class, "Referable", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getReferable_IdShort(), theTypesPackage.getString(), "idShort", null, 1, 1, Referable.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getReferable_Category(), theTypesPackage.getString(), "category", null, 0, 1, Referable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getReferable_Description(), this.getLangString(), null, "description", null, 0, -1, Referable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getReferable_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 0, 1, Referable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
 
 		initEClass(langStringEClass, LangString.class, "LangString", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEAttribute(getLangString_Lang(), this.getLangEnum(), "lang", null, 1, 1, LangString.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -2484,7 +2515,6 @@
 		initEAttribute(getEndpoint_Address(), theTypesPackage.getString(), "address", null, 0, 1, Endpoint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
 		initEAttribute(getEndpoint_Protocol(), this.getProtocolKind(), "protocol", null, 0, 1, Endpoint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
 		initEAttribute(getEndpoint_Name(), theTypesPackage.getString(), "name", null, 0, 1, Endpoint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
-		initEAttribute(getEndpoint_Port(), theTypesPackage.getInteger(), "port", null, 0, 1, Endpoint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
 
 		initEClass(nodeIdEClass, NodeId.class, "NodeId", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEAttribute(getNodeId_Namespace(), theTypesPackage.getInteger(), "namespace", null, 1, 1, NodeId.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
@@ -2498,7 +2528,7 @@
 		initEReference(getAssetInformation_GlobalAssetId(), this.getReference(), null, "globalAssetId", null, 0, 1, AssetInformation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
 		initEReference(getAssetInformation_SpecificAssetId(), this.getIdentifierKeyValuePair(), null, "specificAssetId", null, 0, -1, AssetInformation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
 		initEReference(getAssetInformation_BillOfMaterial(), this.getSubmodel(), null, "billOfMaterial", null, 0, -1, AssetInformation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
-		initEReference(getAssetInformation_DefaaultThumbnail(), this.getFile(), null, "defaaultThumbnail", null, 0, 1, AssetInformation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getAssetInformation_DefaultThumbnail(), this.getFile(), null, "defaultThumbnail", null, 0, 1, AssetInformation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
 
 		initEClass(identifierKeyValuePairEClass, IdentifierKeyValuePair.class, "IdentifierKeyValuePair", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEAttribute(getIdentifierKeyValuePair_Key(), theTypesPackage.getString(), "key", null, 1, 1, IdentifierKeyValuePair.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
@@ -2516,6 +2546,10 @@
 		initEAttribute(getAsset_Kind(), this.getAssetKind(), "kind", null, 1, 1, Asset.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
 		initEReference(getAsset_Endpoint(), this.getEndpoint(), null, "endpoint", null, 0, -1, Asset.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
 
+		initEClass(aasEndpointEClass, AASEndpoint.class, "AASEndpoint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getAASEndpoint_Address(), theTypesPackage.getString(), "address", null, 1, 1, AASEndpoint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getAASEndpoint_Port(), theTypesPackage.getInteger(), "port", null, 1, 1, AASEndpoint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
 		initEClass(entityEClass, Entity.class, "Entity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEAttribute(getEntity_EntityType(), this.getEntityType(), "entityType", null, 1, 1, Entity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
 		initEReference(getEntity_Asset(), this.getAsset(), null, "asset", null, 1, 1, Entity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
@@ -2580,7 +2614,7 @@
 		initEReference(getValueReferencePairType_ValueId(), this.getReference(), null, "valueId", null, 1, 1, ValueReferencePairType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
 
 		initEClass(viewEClass, View.class, "View", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEReference(getView_ContainedElement(), this.getRefereable(), null, "containedElement", null, 0, -1, View.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getView_ContainedElement(), this.getReferable(), null, "containedElement", null, 0, -1, View.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
 
 		initEClass(multiLanguagePropertyEClass, MultiLanguageProperty.class, "MultiLanguageProperty", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEReference(getMultiLanguageProperty_Value(), this.getLangString(), null, "value", null, 0, -1, MultiLanguageProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -2598,6 +2632,13 @@
 		addEEnumLiteral(langEnumEEnum, LangEnum.FR);
 		addEEnumLiteral(langEnumEEnum, LangEnum.ES);
 		addEEnumLiteral(langEnumEEnum, LangEnum.IT);
+		addEEnumLiteral(langEnumEEnum, LangEnum.NL);
+		addEEnumLiteral(langEnumEEnum, LangEnum.PL);
+		addEEnumLiteral(langEnumEEnum, LangEnum.SR);
+		addEEnumLiteral(langEnumEEnum, LangEnum.AR);
+		addEEnumLiteral(langEnumEEnum, LangEnum.ZH);
+		addEEnumLiteral(langEnumEEnum, LangEnum.KO);
+		addEEnumLiteral(langEnumEEnum, LangEnum.JA);
 
 		initEEnum(keyElementsEEnum, KeyElements.class, "KeyElements");
 		addEEnumLiteral(keyElementsEEnum, KeyElements.GLOBAL_REFERENCE);
@@ -2732,8 +2773,6 @@
 		createUMLAnnotations();
 		// http:///org/eclipse/emf/ecore/util/ExtendedMetaData
 		createExtendedMetaDataAnnotations();
-		// duplicates
-		createDuplicatesAnnotations();
 	}
 
 	/**
@@ -2798,39 +2837,4 @@
 		   });
 	}
 
-	/**
-	 * Initializes the annotations for <b>duplicates</b>.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void createDuplicatesAnnotations() {
-		String source = "duplicates";
-		addAnnotation
-		  (dataElementEClass,
-		   source,
-		   new String[] {
-		   });
-		addAnnotation
-		  (operationEClass,
-		   source,
-		   new String[] {
-		   });
-		addAnnotation
-		  (submodelElementCollectionEClass,
-		   source,
-		   new String[] {
-		   });
-		addAnnotation
-		  (eventEClass,
-		   source,
-		   new String[] {
-		   });
-		addAnnotation
-		  (capabilityEClass,
-		   source,
-		   new String[] {
-		   });
-	}
-
 } //AASPackageImpl
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/AssetAdministrationShellImpl.java b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/AssetAdministrationShellImpl.java
index e83c3b0..68caa54 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/AssetAdministrationShellImpl.java
+++ b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/AssetAdministrationShellImpl.java
@@ -25,11 +25,11 @@
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
 import org.eclipse.emf.ecore.util.EObjectResolvingEList;
 import org.eclipse.emf.ecore.util.EcoreEList.UnmodifiableEList;
+import org.eclipse.papyrus.aas.AASEndpoint;
 import org.eclipse.papyrus.aas.AASPackage;
 import org.eclipse.papyrus.aas.Asset;
 import org.eclipse.papyrus.aas.AssetAdministrationShell;
 import org.eclipse.papyrus.aas.AssetInformation;
-import org.eclipse.papyrus.aas.Endpoint;
 import org.eclipse.papyrus.aas.HasDataSpecification;
 import org.eclipse.papyrus.aas.Reference;
 import org.eclipse.papyrus.aas.Security;
@@ -114,7 +114,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected Endpoint endpoint;
+	protected AASEndpoint endpoint;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -344,7 +344,7 @@
 	 * @generated
 	 */
 	@Override
-	public Endpoint getEndpoint() {
+	public AASEndpoint getEndpoint() {
 		return endpoint;
 	}
 
@@ -353,8 +353,8 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public NotificationChain basicSetEndpoint(Endpoint newEndpoint, NotificationChain msgs) {
-		Endpoint oldEndpoint = endpoint;
+	public NotificationChain basicSetEndpoint(AASEndpoint newEndpoint, NotificationChain msgs) {
+		AASEndpoint oldEndpoint = endpoint;
 		endpoint = newEndpoint;
 		if (eNotificationRequired()) {
 			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, AASPackage.ASSET_ADMINISTRATION_SHELL__ENDPOINT, oldEndpoint, newEndpoint);
@@ -369,7 +369,7 @@
 	 * @generated
 	 */
 	@Override
-	public void setEndpoint(Endpoint newEndpoint) {
+	public void setEndpoint(AASEndpoint newEndpoint) {
 		if (newEndpoint != endpoint) {
 			NotificationChain msgs = null;
 			if (endpoint != null)
@@ -454,7 +454,7 @@
 				setAsset((Asset)newValue);
 				return;
 			case AASPackage.ASSET_ADMINISTRATION_SHELL__ENDPOINT:
-				setEndpoint((Endpoint)newValue);
+				setEndpoint((AASEndpoint)newValue);
 				return;
 		}
 		super.eSet(featureID, newValue);
@@ -484,7 +484,7 @@
 				setAsset((Asset)null);
 				return;
 			case AASPackage.ASSET_ADMINISTRATION_SHELL__ENDPOINT:
-				setEndpoint((Endpoint)null);
+				setEndpoint((AASEndpoint)null);
 				return;
 		}
 		super.eUnset(featureID);
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/AssetInformationImpl.java b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/AssetInformationImpl.java
index 77e7cf6..36ca218 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/AssetInformationImpl.java
+++ b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/AssetInformationImpl.java
@@ -47,7 +47,7 @@
  *   <li>{@link org.eclipse.papyrus.aas.impl.AssetInformationImpl#getGlobalAssetId <em>Global Asset Id</em>}</li>
  *   <li>{@link org.eclipse.papyrus.aas.impl.AssetInformationImpl#getSpecificAssetId <em>Specific Asset Id</em>}</li>
  *   <li>{@link org.eclipse.papyrus.aas.impl.AssetInformationImpl#getBillOfMaterial <em>Bill Of Material</em>}</li>
- *   <li>{@link org.eclipse.papyrus.aas.impl.AssetInformationImpl#getDefaaultThumbnail <em>Defaault Thumbnail</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aas.impl.AssetInformationImpl#getDefaultThumbnail <em>Default Thumbnail</em>}</li>
  * </ul>
  *
  * @generated
@@ -104,14 +104,14 @@
 	protected EList<Submodel> billOfMaterial;
 
 	/**
-	 * The cached value of the '{@link #getDefaaultThumbnail() <em>Defaault Thumbnail</em>}' reference.
+	 * The cached value of the '{@link #getDefaultThumbnail() <em>Default Thumbnail</em>}' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see #getDefaaultThumbnail()
+	 * @see #getDefaultThumbnail()
 	 * @generated
 	 * @ordered
 	 */
-	protected File defaaultThumbnail;
+	protected File defaultThumbnail;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -227,16 +227,16 @@
 	 * @generated
 	 */
 	@Override
-	public File getDefaaultThumbnail() {
-		if (defaaultThumbnail != null && defaaultThumbnail.eIsProxy()) {
-			InternalEObject oldDefaaultThumbnail = (InternalEObject)defaaultThumbnail;
-			defaaultThumbnail = (File)eResolveProxy(oldDefaaultThumbnail);
-			if (defaaultThumbnail != oldDefaaultThumbnail) {
+	public File getDefaultThumbnail() {
+		if (defaultThumbnail != null && defaultThumbnail.eIsProxy()) {
+			InternalEObject oldDefaultThumbnail = (InternalEObject)defaultThumbnail;
+			defaultThumbnail = (File)eResolveProxy(oldDefaultThumbnail);
+			if (defaultThumbnail != oldDefaultThumbnail) {
 				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, AASPackage.ASSET_INFORMATION__DEFAAULT_THUMBNAIL, oldDefaaultThumbnail, defaaultThumbnail));
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, AASPackage.ASSET_INFORMATION__DEFAULT_THUMBNAIL, oldDefaultThumbnail, defaultThumbnail));
 			}
 		}
-		return defaaultThumbnail;
+		return defaultThumbnail;
 	}
 
 	/**
@@ -244,8 +244,8 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public File basicGetDefaaultThumbnail() {
-		return defaaultThumbnail;
+	public File basicGetDefaultThumbnail() {
+		return defaultThumbnail;
 	}
 
 	/**
@@ -254,11 +254,11 @@
 	 * @generated
 	 */
 	@Override
-	public void setDefaaultThumbnail(File newDefaaultThumbnail) {
-		File oldDefaaultThumbnail = defaaultThumbnail;
-		defaaultThumbnail = newDefaaultThumbnail;
+	public void setDefaultThumbnail(File newDefaultThumbnail) {
+		File oldDefaultThumbnail = defaultThumbnail;
+		defaultThumbnail = newDefaultThumbnail;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, AASPackage.ASSET_INFORMATION__DEFAAULT_THUMBNAIL, oldDefaaultThumbnail, defaaultThumbnail));
+			eNotify(new ENotificationImpl(this, Notification.SET, AASPackage.ASSET_INFORMATION__DEFAULT_THUMBNAIL, oldDefaultThumbnail, defaultThumbnail));
 	}
 
 	/**
@@ -278,9 +278,9 @@
 				return getSpecificAssetId();
 			case AASPackage.ASSET_INFORMATION__BILL_OF_MATERIAL:
 				return getBillOfMaterial();
-			case AASPackage.ASSET_INFORMATION__DEFAAULT_THUMBNAIL:
-				if (resolve) return getDefaaultThumbnail();
-				return basicGetDefaaultThumbnail();
+			case AASPackage.ASSET_INFORMATION__DEFAULT_THUMBNAIL:
+				if (resolve) return getDefaultThumbnail();
+				return basicGetDefaultThumbnail();
 		}
 		return super.eGet(featureID, resolve, coreType);
 	}
@@ -308,8 +308,8 @@
 				getBillOfMaterial().clear();
 				getBillOfMaterial().addAll((Collection<? extends Submodel>)newValue);
 				return;
-			case AASPackage.ASSET_INFORMATION__DEFAAULT_THUMBNAIL:
-				setDefaaultThumbnail((File)newValue);
+			case AASPackage.ASSET_INFORMATION__DEFAULT_THUMBNAIL:
+				setDefaultThumbnail((File)newValue);
 				return;
 		}
 		super.eSet(featureID, newValue);
@@ -335,8 +335,8 @@
 			case AASPackage.ASSET_INFORMATION__BILL_OF_MATERIAL:
 				getBillOfMaterial().clear();
 				return;
-			case AASPackage.ASSET_INFORMATION__DEFAAULT_THUMBNAIL:
-				setDefaaultThumbnail((File)null);
+			case AASPackage.ASSET_INFORMATION__DEFAULT_THUMBNAIL:
+				setDefaultThumbnail((File)null);
 				return;
 		}
 		super.eUnset(featureID);
@@ -358,8 +358,8 @@
 				return specificAssetId != null && !specificAssetId.isEmpty();
 			case AASPackage.ASSET_INFORMATION__BILL_OF_MATERIAL:
 				return billOfMaterial != null && !billOfMaterial.isEmpty();
-			case AASPackage.ASSET_INFORMATION__DEFAAULT_THUMBNAIL:
-				return defaaultThumbnail != null;
+			case AASPackage.ASSET_INFORMATION__DEFAULT_THUMBNAIL:
+				return defaultThumbnail != null;
 		}
 		return super.eIsSet(featureID);
 	}
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/CapabilityImpl.java b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/CapabilityImpl.java
index cadf672..77ef243 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/CapabilityImpl.java
+++ b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/CapabilityImpl.java
@@ -34,7 +34,6 @@
  * </p>
  * <ul>
  *   <li>{@link org.eclipse.papyrus.aas.impl.CapabilityImpl#getBase_Property <em>Base Property</em>}</li>
- *   <li>{@link org.eclipse.papyrus.aas.impl.CapabilityImpl#getIdShort <em>Id Short</em>}</li>
  * </ul>
  *
  * @generated
@@ -115,34 +114,6 @@
 	 * @generated
 	 */
 	@Override
-	public String getIdShort() {
-		// get the name of the Referable Element
-						if (getBase_Property() != null) {
-							String name = getBase_Property().getName();
-							// remove space
-							if (name != null) {
-								String idShort = name.replace(" ", "");
-								return idShort;
-							}
-						}
-						return null;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isSetIdShort() {
-		return ID_SHORT_EDEFAULT == null ? getIdShort() != null : !ID_SHORT_EDEFAULT.equals(getIdShort());
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
 			case AASPackage.CAPABILITY__BASE_PROPERTY:
@@ -192,8 +163,6 @@
 		switch (featureID) {
 			case AASPackage.CAPABILITY__BASE_PROPERTY:
 				return base_Property != null;
-			case AASPackage.CAPABILITY__ID_SHORT:
-				return isSetIdShort();
 		}
 		return super.eIsSet(featureID);
 	}
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/DataElementImpl.java b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/DataElementImpl.java
index be711a0..82234f9 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/DataElementImpl.java
+++ b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/DataElementImpl.java
@@ -34,7 +34,6 @@
  * </p>
  * <ul>
  *   <li>{@link org.eclipse.papyrus.aas.impl.DataElementImpl#getBase_Property <em>Base Property</em>}</li>
- *   <li>{@link org.eclipse.papyrus.aas.impl.DataElementImpl#getIdShort <em>Id Short</em>}</li>
  * </ul>
  *
  * @generated
@@ -115,34 +114,6 @@
 	 * @generated
 	 */
 	@Override
-	public String getIdShort() {
-		// get the name of the Referable Element
-				if (getBase_Property() != null) {
-					String name = getBase_Property().getName();
-					// remove space
-					if (name != null) {
-						String idShort = name.replace(" ", "");
-						return idShort;
-					}
-				}
-				return null;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isSetIdShort() {
-		return ID_SHORT_EDEFAULT == null ? getIdShort() != null : !ID_SHORT_EDEFAULT.equals(getIdShort());
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
 			case AASPackage.DATA_ELEMENT__BASE_PROPERTY:
@@ -192,8 +163,6 @@
 		switch (featureID) {
 			case AASPackage.DATA_ELEMENT__BASE_PROPERTY:
 				return base_Property != null;
-			case AASPackage.DATA_ELEMENT__ID_SHORT:
-				return isSetIdShort();
 		}
 		return super.eIsSet(featureID);
 	}
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/EndpointImpl.java b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/EndpointImpl.java
index 10f9dcc..0a25b4b 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/EndpointImpl.java
+++ b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/EndpointImpl.java
@@ -35,7 +35,6 @@
  *   <li>{@link org.eclipse.papyrus.aas.impl.EndpointImpl#getAddress <em>Address</em>}</li>
  *   <li>{@link org.eclipse.papyrus.aas.impl.EndpointImpl#getProtocol <em>Protocol</em>}</li>
  *   <li>{@link org.eclipse.papyrus.aas.impl.EndpointImpl#getName <em>Name</em>}</li>
- *   <li>{@link org.eclipse.papyrus.aas.impl.EndpointImpl#getPort <em>Port</em>}</li>
  * </ul>
  *
  * @generated
@@ -102,26 +101,6 @@
 	protected String name = NAME_EDEFAULT;
 
 	/**
-	 * The default value of the '{@link #getPort() <em>Port</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPort()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int PORT_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getPort() <em>Port</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPort()
-	 * @generated
-	 * @ordered
-	 */
-	protected int port = PORT_EDEFAULT;
-
-	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -215,29 +194,6 @@
 	 * @generated
 	 */
 	@Override
-	public int getPort() {
-		return port;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void setPort(int newPort) {
-		int oldPort = port;
-		port = newPort;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, AASPackage.ENDPOINT__PORT, oldPort, port));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
 			case AASPackage.ENDPOINT__ADDRESS:
@@ -246,8 +202,6 @@
 				return getProtocol();
 			case AASPackage.ENDPOINT__NAME:
 				return getName();
-			case AASPackage.ENDPOINT__PORT:
-				return getPort();
 		}
 		return super.eGet(featureID, resolve, coreType);
 	}
@@ -269,9 +223,6 @@
 			case AASPackage.ENDPOINT__NAME:
 				setName((String)newValue);
 				return;
-			case AASPackage.ENDPOINT__PORT:
-				setPort((Integer)newValue);
-				return;
 		}
 		super.eSet(featureID, newValue);
 	}
@@ -293,9 +244,6 @@
 			case AASPackage.ENDPOINT__NAME:
 				setName(NAME_EDEFAULT);
 				return;
-			case AASPackage.ENDPOINT__PORT:
-				setPort(PORT_EDEFAULT);
-				return;
 		}
 		super.eUnset(featureID);
 	}
@@ -314,8 +262,6 @@
 				return protocol != PROTOCOL_EDEFAULT;
 			case AASPackage.ENDPOINT__NAME:
 				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
-			case AASPackage.ENDPOINT__PORT:
-				return port != PORT_EDEFAULT;
 		}
 		return super.eIsSet(featureID);
 	}
@@ -336,8 +282,6 @@
 		result.append(protocol);
 		result.append(", name: ");
 		result.append(name);
-		result.append(", port: ");
-		result.append(port);
 		result.append(')');
 		return result.toString();
 	}
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/EventImpl.java b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/EventImpl.java
index 5babc02..614e7e7 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/EventImpl.java
+++ b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/EventImpl.java
@@ -34,7 +34,6 @@
  * </p>
  * <ul>
  *   <li>{@link org.eclipse.papyrus.aas.impl.EventImpl#getBase_Property <em>Base Property</em>}</li>
- *   <li>{@link org.eclipse.papyrus.aas.impl.EventImpl#getIdShort <em>Id Short</em>}</li>
  * </ul>
  *
  * @generated
@@ -115,34 +114,6 @@
 	 * @generated
 	 */
 	@Override
-	public String getIdShort() {
-		// get the name of the Referable Element
-				if (getBase_Property() != null) {
-					String name = getBase_Property().getName();
-					// remove space
-					if (name != null) {
-						String idShort = name.replace(" ", "");
-						return idShort;
-					}
-				}
-				return null;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isSetIdShort() {
-		return ID_SHORT_EDEFAULT == null ? getIdShort() != null : !ID_SHORT_EDEFAULT.equals(getIdShort());
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
 			case AASPackage.EVENT__BASE_PROPERTY:
@@ -192,8 +163,6 @@
 		switch (featureID) {
 			case AASPackage.EVENT__BASE_PROPERTY:
 				return base_Property != null;
-			case AASPackage.EVENT__ID_SHORT:
-				return isSetIdShort();
 		}
 		return super.eIsSet(featureID);
 	}
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/IdentifiableImpl.java b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/IdentifiableImpl.java
index b22d795..65f3b29 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/IdentifiableImpl.java
+++ b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/IdentifiableImpl.java
@@ -41,7 +41,7 @@
  *
  * @generated
  */
-public abstract class IdentifiableImpl extends RefereableImpl implements Identifiable {
+public abstract class IdentifiableImpl extends ReferableImpl implements Identifiable {
 	/**
 	 * The cached value of the '{@link #getAdministration() <em>Administration</em>}' containment reference.
 	 * <!-- begin-user-doc -->
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/OperationImpl.java b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/OperationImpl.java
index 99a2c20..45f7a7f 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/OperationImpl.java
+++ b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/OperationImpl.java
@@ -32,7 +32,6 @@
  * </p>
  * <ul>
  *   <li>{@link org.eclipse.papyrus.aas.impl.OperationImpl#getBase_Operation <em>Base Operation</em>}</li>
- *   <li>{@link org.eclipse.papyrus.aas.impl.OperationImpl#getIdShort <em>Id Short</em>}</li>
  * </ul>
  *
  * @generated
@@ -113,34 +112,6 @@
 	 * @generated
 	 */
 	@Override
-	public String getIdShort() {
-		// get the name of the Referable Element
-				if (getBase_Operation() != null) {
-					String name = getBase_Operation().getName();
-					// remove space
-					if (name != null) {
-						String idShort = name.replace(" ", "");
-						return idShort;
-					}
-				}
-				return null;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isSetIdShort() {
-		return ID_SHORT_EDEFAULT == null ? getIdShort() != null : !ID_SHORT_EDEFAULT.equals(getIdShort());
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
 			case AASPackage.OPERATION__BASE_OPERATION:
@@ -190,8 +161,6 @@
 		switch (featureID) {
 			case AASPackage.OPERATION__BASE_OPERATION:
 				return base_Operation != null;
-			case AASPackage.OPERATION__ID_SHORT:
-				return isSetIdShort();
 		}
 		return super.eIsSet(featureID);
 	}
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/RefereableImpl.java b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/ReferableImpl.java
similarity index 82%
rename from plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/RefereableImpl.java
rename to plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/ReferableImpl.java
index a4b93a8..b1abf2d 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/RefereableImpl.java
+++ b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/ReferableImpl.java
@@ -31,25 +31,25 @@
 
 import org.eclipse.papyrus.aas.AASPackage;
 import org.eclipse.papyrus.aas.LangString;
-import org.eclipse.papyrus.aas.Refereable;
+import org.eclipse.papyrus.aas.Referable;
 
 /**
  * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Refereable</b></em>'.
+ * An implementation of the model object '<em><b>Referable</b></em>'.
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
  * </p>
  * <ul>
- *   <li>{@link org.eclipse.papyrus.aas.impl.RefereableImpl#getIdShort <em>Id Short</em>}</li>
- *   <li>{@link org.eclipse.papyrus.aas.impl.RefereableImpl#getCategory <em>Category</em>}</li>
- *   <li>{@link org.eclipse.papyrus.aas.impl.RefereableImpl#getDescription <em>Description</em>}</li>
- *   <li>{@link org.eclipse.papyrus.aas.impl.RefereableImpl#getBase_Class <em>Base Class</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aas.impl.ReferableImpl#getIdShort <em>Id Short</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aas.impl.ReferableImpl#getCategory <em>Category</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aas.impl.ReferableImpl#getDescription <em>Description</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aas.impl.ReferableImpl#getBase_Class <em>Base Class</em>}</li>
  * </ul>
  *
  * @generated
  */
-public abstract class RefereableImpl extends MinimalEObjectImpl.Container implements Refereable {
+public abstract class ReferableImpl extends MinimalEObjectImpl.Container implements Referable {
 	/**
 	 * The default value of the '{@link #getIdShort() <em>Id Short</em>}' attribute.
 	 * <!-- begin-user-doc -->
@@ -105,7 +105,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected RefereableImpl() {
+	protected ReferableImpl() {
 		super();
 	}
 
@@ -116,7 +116,7 @@
 	 */
 	@Override
 	protected EClass eStaticClass() {
-		return AASPackage.Literals.REFEREABLE;
+		return AASPackage.Literals.REFERABLE;
 	}
 
 	/**
@@ -158,7 +158,7 @@
 		String oldCategory = category;
 		category = newCategory;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, AASPackage.REFEREABLE__CATEGORY, oldCategory, category));
+			eNotify(new ENotificationImpl(this, Notification.SET, AASPackage.REFERABLE__CATEGORY, oldCategory, category));
 	}
 
 	/**
@@ -169,7 +169,7 @@
 	@Override
 	public EList<LangString> getDescription() {
 		if (description == null) {
-			description = new EObjectContainmentEList<LangString>(LangString.class, this, AASPackage.REFEREABLE__DESCRIPTION);
+			description = new EObjectContainmentEList<LangString>(LangString.class, this, AASPackage.REFERABLE__DESCRIPTION);
 		}
 		return description;
 	}
@@ -186,7 +186,7 @@
 			base_Class = (org.eclipse.uml2.uml.Class)eResolveProxy(oldBase_Class);
 			if (base_Class != oldBase_Class) {
 				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, AASPackage.REFEREABLE__BASE_CLASS, oldBase_Class, base_Class));
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, AASPackage.REFERABLE__BASE_CLASS, oldBase_Class, base_Class));
 			}
 		}
 		return base_Class;
@@ -211,7 +211,7 @@
 		org.eclipse.uml2.uml.Class oldBase_Class = base_Class;
 		base_Class = newBase_Class;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, AASPackage.REFEREABLE__BASE_CLASS, oldBase_Class, base_Class));
+			eNotify(new ENotificationImpl(this, Notification.SET, AASPackage.REFERABLE__BASE_CLASS, oldBase_Class, base_Class));
 	}
 
 	/**
@@ -222,7 +222,7 @@
 	@Override
 	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
-			case AASPackage.REFEREABLE__DESCRIPTION:
+			case AASPackage.REFERABLE__DESCRIPTION:
 				return ((InternalEList<?>)getDescription()).basicRemove(otherEnd, msgs);
 		}
 		return super.eInverseRemove(otherEnd, featureID, msgs);
@@ -236,13 +236,13 @@
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case AASPackage.REFEREABLE__ID_SHORT:
+			case AASPackage.REFERABLE__ID_SHORT:
 				return getIdShort();
-			case AASPackage.REFEREABLE__CATEGORY:
+			case AASPackage.REFERABLE__CATEGORY:
 				return getCategory();
-			case AASPackage.REFEREABLE__DESCRIPTION:
+			case AASPackage.REFERABLE__DESCRIPTION:
 				return getDescription();
-			case AASPackage.REFEREABLE__BASE_CLASS:
+			case AASPackage.REFERABLE__BASE_CLASS:
 				if (resolve) return getBase_Class();
 				return basicGetBase_Class();
 		}
@@ -258,14 +258,14 @@
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case AASPackage.REFEREABLE__CATEGORY:
+			case AASPackage.REFERABLE__CATEGORY:
 				setCategory((String)newValue);
 				return;
-			case AASPackage.REFEREABLE__DESCRIPTION:
+			case AASPackage.REFERABLE__DESCRIPTION:
 				getDescription().clear();
 				getDescription().addAll((Collection<? extends LangString>)newValue);
 				return;
-			case AASPackage.REFEREABLE__BASE_CLASS:
+			case AASPackage.REFERABLE__BASE_CLASS:
 				setBase_Class((org.eclipse.uml2.uml.Class)newValue);
 				return;
 		}
@@ -280,13 +280,13 @@
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case AASPackage.REFEREABLE__CATEGORY:
+			case AASPackage.REFERABLE__CATEGORY:
 				setCategory(CATEGORY_EDEFAULT);
 				return;
-			case AASPackage.REFEREABLE__DESCRIPTION:
+			case AASPackage.REFERABLE__DESCRIPTION:
 				getDescription().clear();
 				return;
-			case AASPackage.REFEREABLE__BASE_CLASS:
+			case AASPackage.REFERABLE__BASE_CLASS:
 				setBase_Class((org.eclipse.uml2.uml.Class)null);
 				return;
 		}
@@ -301,13 +301,13 @@
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case AASPackage.REFEREABLE__ID_SHORT:
+			case AASPackage.REFERABLE__ID_SHORT:
 				return ID_SHORT_EDEFAULT == null ? getIdShort() != null : !ID_SHORT_EDEFAULT.equals(getIdShort());
-			case AASPackage.REFEREABLE__CATEGORY:
+			case AASPackage.REFERABLE__CATEGORY:
 				return CATEGORY_EDEFAULT == null ? category != null : !CATEGORY_EDEFAULT.equals(category);
-			case AASPackage.REFEREABLE__DESCRIPTION:
+			case AASPackage.REFERABLE__DESCRIPTION:
 				return description != null && !description.isEmpty();
-			case AASPackage.REFEREABLE__BASE_CLASS:
+			case AASPackage.REFERABLE__BASE_CLASS:
 				return base_Class != null;
 		}
 		return super.eIsSet(featureID);
@@ -329,4 +329,4 @@
 		return result.toString();
 	}
 
-} //RefereableImpl
+} //ReferableImpl
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/SubmodelElementCollectionImpl.java b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/SubmodelElementCollectionImpl.java
index 28e2e6c..67c0288 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/SubmodelElementCollectionImpl.java
+++ b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/SubmodelElementCollectionImpl.java
@@ -38,7 +38,6 @@
  *   <li>{@link org.eclipse.papyrus.aas.impl.SubmodelElementCollectionImpl#getBase_DataType <em>Base Data Type</em>}</li>
  *   <li>{@link org.eclipse.papyrus.aas.impl.SubmodelElementCollectionImpl#isOrdered <em>Ordered</em>}</li>
  *   <li>{@link org.eclipse.papyrus.aas.impl.SubmodelElementCollectionImpl#isAllowDuplicates <em>Allow Duplicates</em>}</li>
- *   <li>{@link org.eclipse.papyrus.aas.impl.SubmodelElementCollectionImpl#getIdShort <em>Id Short</em>}</li>
  * </ul>
  *
  * @generated
@@ -308,42 +307,6 @@
 	 * @generated
 	 */
 	@Override
-	public String getIdShort() {
-		// get the name of the Referable Element
-				String name = "";
-				if (getBase_DataType() != null) {
-					name = getBase_DataType().getName();
-		
-				} else if (getBase_Class() != null) {
-					name = getBase_Class().getName();
-		
-				} else if (getBase_Property() != null) {
-					name = getBase_Property().getName();
-		
-				}
-				// remove space
-				if (name != null) {
-					String idShort = name.replace(" ", "");
-					return idShort;
-				}
-				return name;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isSetIdShort() {
-		return ID_SHORT_EDEFAULT == null ? getIdShort() != null : !ID_SHORT_EDEFAULT.equals(getIdShort());
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
 			case AASPackage.SUBMODEL_ELEMENT_COLLECTION__VALUE:
@@ -428,8 +391,6 @@
 				return ordered != ORDERED_EDEFAULT;
 			case AASPackage.SUBMODEL_ELEMENT_COLLECTION__ALLOW_DUPLICATES:
 				return allowDuplicates != ALLOW_DUPLICATES_EDEFAULT;
-			case AASPackage.SUBMODEL_ELEMENT_COLLECTION__ID_SHORT:
-				return isSetIdShort();
 		}
 		return super.eIsSet(featureID);
 	}
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/SubmodelElementImpl.java b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/SubmodelElementImpl.java
index 86ddab9..1977105 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/SubmodelElementImpl.java
+++ b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/SubmodelElementImpl.java
@@ -57,7 +57,7 @@
  *
  * @generated
  */
-public abstract class SubmodelElementImpl extends RefereableImpl implements SubmodelElement {
+public abstract class SubmodelElementImpl extends ReferableImpl implements SubmodelElement {
 	/**
 	 * The default value of the '{@link #getKind() <em>Kind</em>}' attribute.
 	 * <!-- begin-user-doc -->
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/ViewImpl.java b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/ViewImpl.java
index 07a155e..648bcf2 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/ViewImpl.java
+++ b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/impl/ViewImpl.java
@@ -29,7 +29,7 @@
 import org.eclipse.papyrus.aas.AASPackage;
 import org.eclipse.papyrus.aas.HasDataSpecification;
 import org.eclipse.papyrus.aas.HasSemantics;
-import org.eclipse.papyrus.aas.Refereable;
+import org.eclipse.papyrus.aas.Referable;
 import org.eclipse.papyrus.aas.Reference;
 import org.eclipse.papyrus.aas.View;
 
@@ -49,7 +49,7 @@
  *
  * @generated
  */
-public class ViewImpl extends RefereableImpl implements View {
+public class ViewImpl extends ReferableImpl implements View {
 	/**
 	 * The cached value of the '{@link #getSemanticId() <em>Semantic Id</em>}' reference.
 	 * <!-- begin-user-doc -->
@@ -88,7 +88,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected EList<Refereable> containedElement;
+	protected EList<Referable> containedElement;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -208,9 +208,9 @@
 	 * @generated
 	 */
 	@Override
-	public EList<Refereable> getContainedElement() {
+	public EList<Referable> getContainedElement() {
 		if (containedElement == null) {
-			containedElement = new EObjectResolvingEList<Refereable>(Refereable.class, this, AASPackage.VIEW__CONTAINED_ELEMENT);
+			containedElement = new EObjectResolvingEList<Referable>(Referable.class, this, AASPackage.VIEW__CONTAINED_ELEMENT);
 		}
 		return containedElement;
 	}
@@ -258,7 +258,7 @@
 				return;
 			case AASPackage.VIEW__CONTAINED_ELEMENT:
 				getContainedElement().clear();
-				getContainedElement().addAll((Collection<? extends Refereable>)newValue);
+				getContainedElement().addAll((Collection<? extends Referable>)newValue);
 				return;
 		}
 		super.eSet(featureID, newValue);
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/util/AASAdapterFactory.java b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/util/AASAdapterFactory.java
index a13ab3b..b9c3719 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/util/AASAdapterFactory.java
+++ b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/util/AASAdapterFactory.java
@@ -87,8 +87,8 @@
 				return createIdentifiableAdapter();
 			}
 			@Override
-			public Adapter caseRefereable(Refereable object) {
-				return createRefereableAdapter();
+			public Adapter caseReferable(Referable object) {
+				return createReferableAdapter();
 			}
 			@Override
 			public Adapter caseLangString(LangString object) {
@@ -175,6 +175,10 @@
 				return createAssetAdapter();
 			}
 			@Override
+			public Adapter caseAASEndpoint(AASEndpoint object) {
+				return createAASEndpointAdapter();
+			}
+			@Override
 			public Adapter caseEntity(Entity object) {
 				return createEntityAdapter();
 			}
@@ -291,16 +295,16 @@
 	}
 
 	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aas.Refereable <em>Refereable</em>}'.
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aas.Referable <em>Referable</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.aas.Refereable
+	 * @see org.eclipse.papyrus.aas.Referable
 	 * @generated
 	 */
-	public Adapter createRefereableAdapter() {
+	public Adapter createReferableAdapter() {
 		return null;
 	}
 
@@ -599,6 +603,20 @@
 	}
 
 	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aas.AASEndpoint <em>Endpoint</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.aas.AASEndpoint
+	 * @generated
+	 */
+	public Adapter createAASEndpointAdapter() {
+		return null;
+	}
+
+	/**
 	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aas.Entity <em>Entity</em>}'.
 	 * <!-- begin-user-doc -->
 	 * This default implementation returns null so that we can easily ignore cases;
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/util/AASSwitch.java b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/util/AASSwitch.java
index df9e8a3..670a238 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/util/AASSwitch.java
+++ b/plugins/modeling/org.eclipse.papyrus.aas.profile/src/org/eclipse/papyrus/aas/util/AASSwitch.java
@@ -82,20 +82,20 @@
 				T result = caseAssetAdministrationShell(assetAdministrationShell);
 				if (result == null) result = caseIdentifiable(assetAdministrationShell);
 				if (result == null) result = caseHasDataSpecification(assetAdministrationShell);
-				if (result == null) result = caseRefereable(assetAdministrationShell);
+				if (result == null) result = caseReferable(assetAdministrationShell);
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
 			case AASPackage.IDENTIFIABLE: {
 				Identifiable identifiable = (Identifiable)theEObject;
 				T result = caseIdentifiable(identifiable);
-				if (result == null) result = caseRefereable(identifiable);
+				if (result == null) result = caseReferable(identifiable);
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
-			case AASPackage.REFEREABLE: {
-				Refereable refereable = (Refereable)theEObject;
-				T result = caseRefereable(refereable);
+			case AASPackage.REFERABLE: {
+				Referable referable = (Referable)theEObject;
+				T result = caseReferable(referable);
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
@@ -160,7 +160,7 @@
 				if (result == null) result = caseHasKind(submodel);
 				if (result == null) result = caseHasSemantics(submodel);
 				if (result == null) result = caseHasDataSpecification(submodel);
-				if (result == null) result = caseRefereable(submodel);
+				if (result == null) result = caseReferable(submodel);
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
@@ -179,7 +179,7 @@
 			case AASPackage.SUBMODEL_ELEMENT: {
 				SubmodelElement submodelElement = (SubmodelElement)theEObject;
 				T result = caseSubmodelElement(submodelElement);
-				if (result == null) result = caseRefereable(submodelElement);
+				if (result == null) result = caseReferable(submodelElement);
 				if (result == null) result = caseHasKind(submodelElement);
 				if (result == null) result = caseHasSemantics(submodelElement);
 				if (result == null) result = caseHasDataSpecification(submodelElement);
@@ -222,7 +222,7 @@
 				T result = caseFile(file);
 				if (result == null) result = caseDataElement(file);
 				if (result == null) result = caseSubmodelElement(file);
-				if (result == null) result = caseRefereable(file);
+				if (result == null) result = caseReferable(file);
 				if (result == null) result = caseHasKind(file);
 				if (result == null) result = caseHasSemantics(file);
 				if (result == null) result = caseHasDataSpecification(file);
@@ -233,7 +233,7 @@
 				DataElement dataElement = (DataElement)theEObject;
 				T result = caseDataElement(dataElement);
 				if (result == null) result = caseSubmodelElement(dataElement);
-				if (result == null) result = caseRefereable(dataElement);
+				if (result == null) result = caseReferable(dataElement);
 				if (result == null) result = caseHasKind(dataElement);
 				if (result == null) result = caseHasSemantics(dataElement);
 				if (result == null) result = caseHasDataSpecification(dataElement);
@@ -245,7 +245,13 @@
 				T result = caseAsset(asset);
 				if (result == null) result = caseIdentifiable(asset);
 				if (result == null) result = caseHasDataSpecification(asset);
-				if (result == null) result = caseRefereable(asset);
+				if (result == null) result = caseReferable(asset);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case AASPackage.AAS_ENDPOINT: {
+				AASEndpoint aasEndpoint = (AASEndpoint)theEObject;
+				T result = caseAASEndpoint(aasEndpoint);
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
@@ -253,7 +259,7 @@
 				Entity entity = (Entity)theEObject;
 				T result = caseEntity(entity);
 				if (result == null) result = caseSubmodelElement(entity);
-				if (result == null) result = caseRefereable(entity);
+				if (result == null) result = caseReferable(entity);
 				if (result == null) result = caseHasKind(entity);
 				if (result == null) result = caseHasSemantics(entity);
 				if (result == null) result = caseHasDataSpecification(entity);
@@ -264,7 +270,7 @@
 				RelationshipElement relationshipElement = (RelationshipElement)theEObject;
 				T result = caseRelationshipElement(relationshipElement);
 				if (result == null) result = caseSubmodelElement(relationshipElement);
-				if (result == null) result = caseRefereable(relationshipElement);
+				if (result == null) result = caseReferable(relationshipElement);
 				if (result == null) result = caseHasKind(relationshipElement);
 				if (result == null) result = caseHasSemantics(relationshipElement);
 				if (result == null) result = caseHasDataSpecification(relationshipElement);
@@ -275,7 +281,7 @@
 				Operation operation = (Operation)theEObject;
 				T result = caseOperation(operation);
 				if (result == null) result = caseSubmodelElement(operation);
-				if (result == null) result = caseRefereable(operation);
+				if (result == null) result = caseReferable(operation);
 				if (result == null) result = caseHasKind(operation);
 				if (result == null) result = caseHasSemantics(operation);
 				if (result == null) result = caseHasDataSpecification(operation);
@@ -286,7 +292,7 @@
 				SubmodelElementCollection submodelElementCollection = (SubmodelElementCollection)theEObject;
 				T result = caseSubmodelElementCollection(submodelElementCollection);
 				if (result == null) result = caseSubmodelElement(submodelElementCollection);
-				if (result == null) result = caseRefereable(submodelElementCollection);
+				if (result == null) result = caseReferable(submodelElementCollection);
 				if (result == null) result = caseHasKind(submodelElementCollection);
 				if (result == null) result = caseHasSemantics(submodelElementCollection);
 				if (result == null) result = caseHasDataSpecification(submodelElementCollection);
@@ -298,7 +304,7 @@
 				T result = caseProperty(property);
 				if (result == null) result = caseDataElement(property);
 				if (result == null) result = caseSubmodelElement(property);
-				if (result == null) result = caseRefereable(property);
+				if (result == null) result = caseReferable(property);
 				if (result == null) result = caseHasKind(property);
 				if (result == null) result = caseHasSemantics(property);
 				if (result == null) result = caseHasDataSpecification(property);
@@ -310,7 +316,7 @@
 				T result = caseReferenceElement(referenceElement);
 				if (result == null) result = caseDataElement(referenceElement);
 				if (result == null) result = caseSubmodelElement(referenceElement);
-				if (result == null) result = caseRefereable(referenceElement);
+				if (result == null) result = caseReferable(referenceElement);
 				if (result == null) result = caseHasKind(referenceElement);
 				if (result == null) result = caseHasSemantics(referenceElement);
 				if (result == null) result = caseHasDataSpecification(referenceElement);
@@ -321,7 +327,7 @@
 				Event event = (Event)theEObject;
 				T result = caseEvent(event);
 				if (result == null) result = caseSubmodelElement(event);
-				if (result == null) result = caseRefereable(event);
+				if (result == null) result = caseReferable(event);
 				if (result == null) result = caseHasKind(event);
 				if (result == null) result = caseHasSemantics(event);
 				if (result == null) result = caseHasDataSpecification(event);
@@ -333,7 +339,7 @@
 				T result = caseBasicEvent(basicEvent);
 				if (result == null) result = caseEvent(basicEvent);
 				if (result == null) result = caseSubmodelElement(basicEvent);
-				if (result == null) result = caseRefereable(basicEvent);
+				if (result == null) result = caseReferable(basicEvent);
 				if (result == null) result = caseHasKind(basicEvent);
 				if (result == null) result = caseHasSemantics(basicEvent);
 				if (result == null) result = caseHasDataSpecification(basicEvent);
@@ -345,7 +351,7 @@
 				T result = caseRange(range);
 				if (result == null) result = caseDataElement(range);
 				if (result == null) result = caseSubmodelElement(range);
-				if (result == null) result = caseRefereable(range);
+				if (result == null) result = caseReferable(range);
 				if (result == null) result = caseHasKind(range);
 				if (result == null) result = caseHasSemantics(range);
 				if (result == null) result = caseHasDataSpecification(range);
@@ -356,7 +362,7 @@
 				Capability capability = (Capability)theEObject;
 				T result = caseCapability(capability);
 				if (result == null) result = caseSubmodelElement(capability);
-				if (result == null) result = caseRefereable(capability);
+				if (result == null) result = caseReferable(capability);
 				if (result == null) result = caseHasKind(capability);
 				if (result == null) result = caseHasSemantics(capability);
 				if (result == null) result = caseHasDataSpecification(capability);
@@ -368,7 +374,7 @@
 				T result = caseConceptDescription(conceptDescription);
 				if (result == null) result = caseIdentifiable(conceptDescription);
 				if (result == null) result = caseHasDataSpecification(conceptDescription);
-				if (result == null) result = caseRefereable(conceptDescription);
+				if (result == null) result = caseReferable(conceptDescription);
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
@@ -399,7 +405,7 @@
 			case AASPackage.VIEW: {
 				View view = (View)theEObject;
 				T result = caseView(view);
-				if (result == null) result = caseRefereable(view);
+				if (result == null) result = caseReferable(view);
 				if (result == null) result = caseHasSemantics(view);
 				if (result == null) result = caseHasDataSpecification(view);
 				if (result == null) result = defaultCase(theEObject);
@@ -410,7 +416,7 @@
 				T result = caseMultiLanguageProperty(multiLanguageProperty);
 				if (result == null) result = caseDataElement(multiLanguageProperty);
 				if (result == null) result = caseSubmodelElement(multiLanguageProperty);
-				if (result == null) result = caseRefereable(multiLanguageProperty);
+				if (result == null) result = caseReferable(multiLanguageProperty);
 				if (result == null) result = caseHasKind(multiLanguageProperty);
 				if (result == null) result = caseHasSemantics(multiLanguageProperty);
 				if (result == null) result = caseHasDataSpecification(multiLanguageProperty);
@@ -452,17 +458,17 @@
 	}
 
 	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Refereable</em>'.
+	 * Returns the result of interpreting the object as an instance of '<em>Referable</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>Refereable</em>'.
+	 * @return the result of interpreting the object as an instance of '<em>Referable</em>'.
 	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
 	 * @generated
 	 */
-	public T caseRefereable(Refereable object) {
+	public T caseReferable(Referable object) {
 		return null;
 	}
 
@@ -782,6 +788,21 @@
 	}
 
 	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Endpoint</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>Endpoint</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseAASEndpoint(AASEndpoint object) {
+		return null;
+	}
+
+	/**
 	 * Returns the result of interpreting the object as an instance of '<em>Entity</em>'.
 	 * <!-- begin-user-doc -->
 	 * This implementation returns null;
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.ui/META-INF/MANIFEST.MF b/plugins/modeling/org.eclipse.papyrus.aas.ui/META-INF/MANIFEST.MF
index ae24bde..5559f2c 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.ui/META-INF/MANIFEST.MF
+++ b/plugins/modeling/org.eclipse.papyrus.aas.ui/META-INF/MANIFEST.MF
@@ -81,7 +81,8 @@
  org.eclipse.core.expressions;bundle-version="[3.8.0,4.0.0)",
  org.eclipse.core.databinding.observable,
  org.eclipse.swt,
- org.eclipse.jface.text
+ org.eclipse.jface.text,
+ org.eclipse.aas.basyx.lib;bundle-version="1.0.0"
 Bundle-RequiredExecutionEnvironment: JavaSE-11
 Automatic-Module-Name: org.eclipse.papyrus.aas.profile.ui
 Bundle-ActivationPolicy: lazy
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/model/aas.elementtypesconfigurations b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/model/aas.elementtypesconfigurations
index acd8ed9..68d454f 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/model/aas.elementtypesconfigurations
+++ b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/model/aas.elementtypesconfigurations
@@ -145,8 +145,8 @@
       <requiredProfiles>AAS</requiredProfiles>
     </stereotypesToApply>
   </adviceBindingsConfigurations>
-  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_1oPAZZ3MEeudPPrsLq2QgQ" description="Apply Stereotype Refereable" identifier="org.eclipse.papyrus.aAS.refereable" target="org.eclipse.papyrus.aAS.Refereable">
-    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_1oPAZp3MEeudPPrsLq2QgQ" stereotypeQualifiedName="AAS::Refereable" updateName="true">
+  <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_1oPAZZ3MEeudPPrsLq2QgQ" description="Apply Stereotype Referable" identifier="org.eclipse.papyrus.aAS.Referable" target="org.eclipse.papyrus.aAS.Referable">
+    <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_1oPAZp3MEeudPPrsLq2QgQ" stereotypeQualifiedName="AAS::Referable" updateName="true">
       <requiredProfiles>AAS</requiredProfiles>
     </stereotypesToApply>
   </adviceBindingsConfigurations>
@@ -399,10 +399,10 @@
     </ownedConfigurations>
     <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Property"/>
   </elementTypeConfigurations>
-  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.aAS.Refereable" identifier="org.eclipse.papyrus.aAS.Refereable" name="Refereable" hint="UML::Class" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType" matcherConfiguration="_1oJg0p3MEeudPPrsLq2QgQ">
+  <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.aAS.Referable" identifier="org.eclipse.papyrus.aAS.Referable" name="Referable" hint="UML::Class" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType" matcherConfiguration="_1oJg0p3MEeudPPrsLq2QgQ">
     <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_1oJg0Z3MEeudPPrsLq2QgQ" iconPath="/icons/full/obj16/Class.gif" bundleId="org.eclipse.uml2.uml.edit"/>
-    <ownedConfigurations xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_1oJg0p3MEeudPPrsLq2QgQ" matchedType="org.eclipse.papyrus.aAS.Refereable">
-      <stereotypesQualifiedNames>AAS::Refereable</stereotypesQualifiedNames>
+    <ownedConfigurations xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_1oJg0p3MEeudPPrsLq2QgQ" matchedType="org.eclipse.papyrus.aAS.Referable">
+      <stereotypesQualifiedNames>AAS::Referable</stereotypesQualifiedNames>
     </ownedConfigurations>
     <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Class"/>
   </elementTypeConfigurations>
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/aas.ctx b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/aas.ctx
index 635d808..7922855 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/aas.ctx
+++ b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/aas.ctx
@@ -216,13 +216,13 @@
   <views xmi:id="_DBekh2-NEeuIiKCvhObK4g" name="Single Refereable" sections="_HsbQsW-NEeuIiKCvhObK4g" automaticContext="true" datacontexts="_DBelgW-NEeuIiKCvhObK4g">
     <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_DBekiG-NEeuIiKCvhObK4g" name="isSingleRefereable">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_DBekiW-NEeuIiKCvhObK4g" name="stereotypeName" value="AAS::Refereable"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_DBekiW-NEeuIiKCvhObK4g" name="stereotypeName" value="AAS::Referable"/>
     </constraints>
   </views>
   <views xmi:id="_DBekim-NEeuIiKCvhObK4g" elementMultiplicity="-1" name="Multiple Refereable" sections="_Hsb3wG-NEeuIiKCvhObK4g" automaticContext="true" datacontexts="_DBelgW-NEeuIiKCvhObK4g">
     <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_DBeki2-NEeuIiKCvhObK4g" name="isMultipleRefereable">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.uml.properties/Model/Environment.xmi#//@constraintTypes.1"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_DBekjG-NEeuIiKCvhObK4g" name="stereotypeName" value="AAS::Refereable"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_DBekjG-NEeuIiKCvhObK4g" name="stereotypeName" value="AAS::Referable"/>
     </constraints>
   </views>
   <views xmi:id="_DBekjW-NEeuIiKCvhObK4g" name="Single Key" sections="_Hsce0G-NEeuIiKCvhObK4g" automaticContext="true" datacontexts="_DBelUG-NEeuIiKCvhObK4g">
@@ -610,7 +610,6 @@
     <elements xmi:id="_DBelR2-NEeuIiKCvhObK4g" name="Event">
       <supertypes href="#_DBelZm-NEeuIiKCvhObK4g"/>
       <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690yG6DJEeSZxfCXzZz3-w"/>
-      <properties xmi:id="_DBelSG-NEeuIiKCvhObK4g" name="idShort" redefinedProperties="_DBelgm-NEeuIiKCvhObK4g"/>
     </elements>
     <elements xmi:id="_DBelSW-NEeuIiKCvhObK4g" name="Security">
       <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690yXqDJEeSZxfCXzZz3-w"/>
@@ -633,7 +632,6 @@
       <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690yG6DJEeSZxfCXzZz3-w"/>
       <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690y1qDJEeSZxfCXzZz3-w"/>
       <properties xmi:id="_DBelVW-NEeuIiKCvhObK4g" name="value" type="Reference" multiplicity="-1"/>
-      <properties xmi:id="_DBelVm-NEeuIiKCvhObK4g" name="idShort" redefinedProperties="_DBelgm-NEeuIiKCvhObK4g"/>
     </elements>
     <elements xmi:id="_DBelV2-NEeuIiKCvhObK4g" name="HasSemantics">
       <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690yXqDJEeSZxfCXzZz3-w"/>
@@ -653,18 +651,15 @@
       <properties xmi:id="_DBelYm-NEeuIiKCvhObK4g" name="asset" type="Reference"/>
       <properties xmi:id="_DBelY2-NEeuIiKCvhObK4g" name="submodel" type="Reference" multiplicity="-1"/>
       <properties xmi:id="_DBelZG-NEeuIiKCvhObK4g" name="url"/>
-      <properties xmi:id="_DBelZW-NEeuIiKCvhObK4g" name="port" type="Integer"/>
     </elements>
     <elements xmi:id="_DBelZm-NEeuIiKCvhObK4g" name="SubmodelElement" supertypes="_DBelV2-NEeuIiKCvhObK4g _DBelgW-NEeuIiKCvhObK4g"/>
     <elements xmi:id="_DBelZ2-NEeuIiKCvhObK4g" name="Capability">
       <supertypes href="#_DBelZm-NEeuIiKCvhObK4g"/>
       <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690yG6DJEeSZxfCXzZz3-w"/>
-      <properties xmi:id="_DBelaG-NEeuIiKCvhObK4g" name="idShort" redefinedProperties="_DBelgm-NEeuIiKCvhObK4g"/>
     </elements>
     <elements xmi:id="_DBelaW-NEeuIiKCvhObK4g" name="Operation">
       <supertypes href="#_DBelZm-NEeuIiKCvhObK4g"/>
       <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690yQKDJEeSZxfCXzZz3-w"/>
-      <properties xmi:id="_DBelam-NEeuIiKCvhObK4g" name="idShort" redefinedProperties="_DBelgm-NEeuIiKCvhObK4g"/>
     </elements>
     <elements xmi:id="_DBela2-NEeuIiKCvhObK4g" name="Reference">
       <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690yXqDJEeSZxfCXzZz3-w"/>
@@ -698,9 +693,9 @@
       <properties xmi:id="_DBelf2-NEeuIiKCvhObK4g" name="min" type="Integer"/>
       <properties xmi:id="_DBelgG-NEeuIiKCvhObK4g" name="max" type="Integer"/>
     </elements>
-    <elements xmi:id="_DBelgW-NEeuIiKCvhObK4g" name="Refereable">
+    <elements xmi:id="_DBelgW-NEeuIiKCvhObK4g" name="Referable">
       <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690yXqDJEeSZxfCXzZz3-w"/>
-      <properties xmi:id="_DBelgm-NEeuIiKCvhObK4g" name="idShort" redefinedByProperties="_DBelim-NEeuIiKCvhObK4g _DBelam-NEeuIiKCvhObK4g _DBelSG-NEeuIiKCvhObK4g _DBelVm-NEeuIiKCvhObK4g _DBelaG-NEeuIiKCvhObK4g"/>
+      <properties xmi:id="_DBelgm-NEeuIiKCvhObK4g" name="idShort"/>
       <properties xmi:id="_DBelg2-NEeuIiKCvhObK4g" name="category"/>
       <properties xmi:id="_DBelhG-NEeuIiKCvhObK4g" name="description"/>
       <properties xmi:id="_DBelhW-NEeuIiKCvhObK4g" name="parent" type="Reference"/>
@@ -712,7 +707,6 @@
     <elements xmi:id="_DBeliW-NEeuIiKCvhObK4g" name="DataElement">
       <supertypes href="#_DBelZm-NEeuIiKCvhObK4g"/>
       <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690yG6DJEeSZxfCXzZz3-w"/>
-      <properties xmi:id="_DBelim-NEeuIiKCvhObK4g" name="idShort" redefinedProperties="_DBelgm-NEeuIiKCvhObK4g"/>
     </elements>
     <elements xmi:id="_DBeli2-NEeuIiKCvhObK4g" name="HasKind">
       <supertypes href="ppe:/context/org.eclipse.papyrus.uml.properties/Model/UML/UML.ctx#_690yXqDJEeSZxfCXzZz3-w"/>
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleAsset.xwt b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleAsset.xwt
index 066cb8e..b659c08 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleAsset.xwt
+++ b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleAsset.xwt
@@ -8,9 +8,9 @@
                         </Composite.layout>
                         <ppaas:AASStringEditor input="{Binding}" property="UML:NamedElement:name" customLabel="Asset"/>
                         <ppe:StringEditor input="{Binding}" property="UML:NamedElement:qualifiedName"/>
-                        <ppe:StringEditor input="{Binding}" property="AAS:Refereable:idShort"/>
-                        <ppe:StringEditor input="{Binding}" property="AAS:Refereable:category"/>
-                        <ppaas:AASDataTypeEditor property="AAS:Refereable:description" input="{Binding}"/>
+                        <ppe:StringEditor input="{Binding}" property="AAS:Referable:idShort"/>
+                        <ppe:StringEditor input="{Binding}" property="AAS:Referable:category"/>
+                        <ppaas:AASDataTypeEditor property="AAS:Referable:description" input="{Binding}"/>
             </Composite>
             <Composite>
                         <Composite.layout>
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleAssetAdministrationShell.xwt b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleAssetAdministrationShell.xwt
index 2e82cd6..6bc8a0a 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleAssetAdministrationShell.xwt
+++ b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleAssetAdministrationShell.xwt
@@ -8,9 +8,9 @@
                         </Composite.layout>
                         <ppaas:AASStringEditor input="{Binding}" property="UML:NamedElement:name"/>
                         <ppe:StringEditor input="{Binding}" property="UML:NamedElement:qualifiedName"/>
-                        <ppe:StringEditor input="{Binding}" property="AAS:Refereable:idShort"/>
-                        <ppe:StringEditor input="{Binding}" property="AAS:Refereable:category"/>
-                        <ppaas:AASDataTypeEditor input="{Binding}" property="AAS:Refereable:description"/>
+                        <ppe:StringEditor input="{Binding}" property="AAS:Referable:idShort"/>
+                        <ppe:StringEditor input="{Binding}" property="AAS:Referable:category"/>
+                        <ppaas:AASDataTypeEditor input="{Binding}" property="AAS:Referable:description"/>
                         <ppaas:AASDataTypeEditor property="AAS:AssetAdministrationShell:endpoint" input="{Binding}"/>
             </Composite>
             <Composite>
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleBasicEvent.xwt b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleBasicEvent.xwt
index 032a376..42f5673 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleBasicEvent.xwt
+++ b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleBasicEvent.xwt
@@ -8,10 +8,10 @@
                         </Composite.layout>
                         <ppaas:AASStringEditor input="{Binding}" property="UML:NamedElement:name"/>
                         <ppe:StringEditor input="{Binding}" property="UML:NamedElement:qualifiedName"/>
-                        <ppe:StringEditor input="{Binding}" property="AAS:Event:idShort"/>
+                        <ppe:StringEditor input="{Binding}" property="AAS:Referable:idShort"/>
                         
-                        <ppe:StringEditor input="{Binding}" property="AAS:Refereable:category"/>
-                        <ppaas:AASDataTypeEditor property="AAS:Refereable:description" input="{Binding}"/>
+                        <ppe:StringEditor input="{Binding}" property="AAS:Referable:category"/>
+                        <ppaas:AASDataTypeEditor property="AAS:Referable:description" input="{Binding}"/>
 						
             </Composite>
 			<Composite>
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleCapability.xwt b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleCapability.xwt
index 0cd9bb2..5ecea7b 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleCapability.xwt
+++ b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleCapability.xwt
@@ -8,10 +8,10 @@
                         </Composite.layout>
                         <ppaas:AASStringEditor input="{Binding}" property="UML:NamedElement:name"/>
                         <ppe:StringEditor input="{Binding}" property="UML:NamedElement:qualifiedName"/>
-                        <ppe:StringEditor input="{Binding}" property="AAS:Capability:idShort"/>
+                        <ppe:StringEditor input="{Binding}" property="AAS:Referable:idShort"/>
                       
-                        <ppe:StringEditor input="{Binding}" property="AAS:Refereable:category"/>
-                        <ppaas:AASDataTypeEditor property="AAS:Refereable:description" input="{Binding}"/>
+                        <ppe:StringEditor input="{Binding}" property="AAS:Referable:category"/>
+                        <ppaas:AASDataTypeEditor property="AAS:Referable:description" input="{Binding}"/>
 						
                         
                        
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleConceptDescription.xwt b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleConceptDescription.xwt
index ab221b7..c1f2761 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleConceptDescription.xwt
+++ b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleConceptDescription.xwt
@@ -7,9 +7,9 @@
                                     <ppel:PropertiesLayout numColumns="1"/>
                         </Composite.layout>
                         <ppaas:AASStringEditor input="{Binding}" property="UML:NamedElement:name"/>
-                        <ppe:StringEditor input="{Binding}" property="AAS:Refereable:idShort"/>
-                        <ppe:StringEditor input="{Binding}" property="AAS:Refereable:category"/>
-                        <ppaas:AASDataTypeEditor property="AAS:Refereable:description" input="{Binding}"/>
+                        <ppe:StringEditor input="{Binding}" property="AAS:Referable:idShort"/>
+                        <ppe:StringEditor input="{Binding}" property="AAS:Referable:category"/>
+                        <ppaas:AASDataTypeEditor property="AAS:Referable:description" input="{Binding}"/>
             </Composite>
             <Composite>
                         <Composite.layout>
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleDataElement.xwt b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleDataElement.xwt
index 247bd93..8bf3988 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleDataElement.xwt
+++ b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleDataElement.xwt
@@ -6,9 +6,9 @@
                         <Composite.layout>
                                     <ppel:PropertiesLayout numColumns="1"/>
                         </Composite.layout>
-                        <ppe:StringEditor input="{Binding}" property="AAS:DataElement:idShort"/>
-                        <ppe:StringEditor input="{Binding}" property="AAS:Refereable:category"/>
-                        <ppaas:AASDataTypeEditor input="{Binding}" property="AAS:Refereable:description"/>
+                        <ppe:StringEditor input="{Binding}" property="AAS:Referable:idShort"/>
+                        <ppe:StringEditor input="{Binding}" property="AAS:Referable:category"/>
+                        <ppaas:AASDataTypeEditor input="{Binding}" property="AAS:Referable:description"/>
             </Composite>
             
 </Composite>
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleEntity.xwt b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleEntity.xwt
index 507b6c3..cd077fa 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleEntity.xwt
+++ b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleEntity.xwt
@@ -8,10 +8,10 @@
                         </Composite.layout>
                         <ppaas:AASStringEditor input="{Binding}" property="UML:NamedElement:name"/>
                         <ppe:StringEditor input="{Binding}" property="UML:NamedElement:qualifiedName"/>
-                        <ppe:StringEditor input="{Binding}" property="AAS:Refereable:idShort"/>
+                        <ppe:StringEditor input="{Binding}" property="AAS:Referable:idShort"/>
                       
-                        <ppe:StringEditor input="{Binding}" property="AAS:Refereable:category"/>
-                        <ppaas:AASDataTypeEditor property="AAS:Refereable:description" input="{Binding}"/>
+                        <ppe:StringEditor input="{Binding}" property="AAS:Referable:category"/>
+                        <ppaas:AASDataTypeEditor property="AAS:Referable:description" input="{Binding}"/>
 						
                         <ppe:ReferenceDialog input="{Binding}" property="UML:TypedElement:type"/>
                         <ppe:ReferenceDialog input="{Binding}" property="UML:Parameter:defaultValue"/>
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleEvent.xwt b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleEvent.xwt
index 599effc..4eb110d 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleEvent.xwt
+++ b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleEvent.xwt
@@ -12,10 +12,10 @@
                         <Composite.layout>
                                     <ppel:PropertiesLayout numColumns="1"/>
                         </Composite.layout>
-                        <ppe:StringEditor input="{Binding}" property="AAS:Event:idShort"/>
+                        <ppe:StringEditor input="{Binding}" property="AAS:Referable:idShort"/>
 						<ppe:BooleanRadio input="{Binding}" property="AAS:SubmodelElement:isDynamic"/>
-                        <ppe:StringEditor input="{Binding}" property="AAS:Refereable:category"/>
-                        <ppaas:AASDataTypeEditor property="AAS:Refereable:description" input="{Binding}"/>
+                        <ppe:StringEditor input="{Binding}" property="AAS:Referable:category"/>
+                        <ppaas:AASDataTypeEditor property="AAS:Referable:description" input="{Binding}"/>
 						<ppaas:AASDataTypeEditor input="{Binding}" property="AAS:SubmodelElement:endPoint"/>
 						<ppaas:AASDataTypeEditor input="{Binding}" property="AAS:SubmodelElement:nodeId"/>
             </Composite>
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleFile.xwt b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleFile.xwt
index 69aa00e..f347904 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleFile.xwt
+++ b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleFile.xwt
@@ -8,10 +8,10 @@
                         </Composite.layout>
                         <ppaas:AASStringEditor input="{Binding}" property="UML:NamedElement:name"/>
                         <ppe:StringEditor input="{Binding}" property="UML:NamedElement:qualifiedName"/>
-                        <ppe:StringEditor input="{Binding}" property="AAS:DataElement:idShort"/>
+                        <ppe:StringEditor input="{Binding}" property="AAS:Referable:idShort"/>
                         <ppe:BooleanRadio input="{Binding}" property="AAS:SubmodelElement:isDynamic"/>
-                        <ppe:StringEditor input="{Binding}" property="AAS:Refereable:category"/>
-                        <ppaas:AASDataTypeEditor property="AAS:Refereable:description" input="{Binding}"/>
+                        <ppe:StringEditor input="{Binding}" property="AAS:Referable:category"/>
+                        <ppaas:AASDataTypeEditor property="AAS:Referable:description" input="{Binding}"/>
 						<ppaas:EndPointComboEditor
 						customLabel="EndPoint" input="{Binding}"
 						property="AASEXT:Property:newEndpoint">
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleIdentifiable.xwt b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleIdentifiable.xwt
index 05a7cc0..709385c 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleIdentifiable.xwt
+++ b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleIdentifiable.xwt
@@ -11,9 +11,9 @@
                         <Composite.layout>
                                     <ppel:PropertiesLayout numColumns="1"/>
                         </Composite.layout>
-                        <ppe:StringEditor input="{Binding}" property="AAS:Refereable:idShort"/>
-                        <ppe:StringEditor input="{Binding}" property="AAS:Refereable:category"/>
-                        <ppaas:AASDataTypeEditor input="{Binding}" property="AAS:Refereable:description"/>
+                        <ppe:StringEditor input="{Binding}" property="AAS:Referable:idShort"/>
+                        <ppe:StringEditor input="{Binding}" property="AAS:Referable:category"/>
+                        <ppaas:AASDataTypeEditor input="{Binding}" property="AAS:Referable:description"/>
             </Composite>
             <Composite>
                         <Composite.layout>
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleMultiLanguageProperty.xwt b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleMultiLanguageProperty.xwt
index ce58e86..83de981 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleMultiLanguageProperty.xwt
+++ b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleMultiLanguageProperty.xwt
@@ -8,9 +8,9 @@
                         </Composite.layout>
                          <ppaas:AASStringEditor input="{Binding}" property="UML:NamedElement:name"/>
                         <ppe:StringEditor input="{Binding}" property="UML:NamedElement:qualifiedName"/>
-                        <ppe:StringEditor input="{Binding}" property="AAS:DataElement:idShort"/>
-                        <ppe:StringEditor input="{Binding}" property="AAS:Refereable:category"/>
-						<ppaas:AASDataTypeEditor input="{Binding}" property="AAS:Refereable:description"/>
+                        <ppe:StringEditor input="{Binding}" property="AAS:Referable:idShort"/>
+                        <ppe:StringEditor input="{Binding}" property="AAS:Referable:category"/>
+						<ppaas:AASDataTypeEditor input="{Binding}" property="AAS:Referable:description"/>
                         
             </Composite>
             <Composite>
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleOperation.xwt b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleOperation.xwt
index ac76a5d..4b1f312 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleOperation.xwt
+++ b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleOperation.xwt
@@ -12,8 +12,8 @@
                         
                         <ppe:StringEditor input="{Binding}" property="UML:NamedElement:qualifiedName"/>
                       
-                        <ppe:StringEditor input="{Binding}" property="AAS:Refereable:category"/>
-                        <ppaas:AASDataTypeEditor property="AAS:Refereable:description" input="{Binding}"/>
+                        <ppe:StringEditor input="{Binding}" property="AAS:Referable:category"/>
+                        <ppaas:AASDataTypeEditor property="AAS:Referable:description" input="{Binding}"/>
 						
                         <ppe:StringEditor input="{Binding}" property="AAS:Operation:idShort"/>
             </Composite>
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleProperty.xwt b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleProperty.xwt
index b41aa93..31b5bac 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleProperty.xwt
+++ b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleProperty.xwt
@@ -8,10 +8,10 @@
                         </Composite.layout>
                         <ppaas:AASStringEditor input="{Binding}" property="UML:NamedElement:name"/>
                         <ppe:StringEditor input="{Binding}" property="UML:NamedElement:qualifiedName"/>
-                        <ppe:StringEditor input="{Binding}" property="AAS:DataElement:idShort"/>
+                        <ppe:StringEditor input="{Binding}" property="AAS:Referable:idShort"/>
 						<ppe:BooleanRadio input="{Binding}" property="AAS:SubmodelElement:isDynamic"/>
-                        <ppe:StringEditor input="{Binding}" property="AAS:Refereable:category"/>
-                        <ppaas:AASDataTypeEditor property="AAS:Refereable:description" input="{Binding}"/>
+                        <ppe:StringEditor input="{Binding}" property="AAS:Referable:category"/>
+                        <ppaas:AASDataTypeEditor property="AAS:Referable:description" input="{Binding}"/>
 						<ppaas:EndPointComboEditor
 						customLabel="EndPoint" input="{Binding}"
 						property="AASEXT:Property:newEndpoint">
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleRange.xwt b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleRange.xwt
index 03269a6..054dc8c 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleRange.xwt
+++ b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleRange.xwt
@@ -6,10 +6,10 @@
                         <Composite.layout>
                                     <ppel:PropertiesLayout numColumns="1"/>
                         </Composite.layout>
-                        <ppe:StringEditor input="{Binding}" property="AAS:DataElement:idShort"/>
+                        <ppe:StringEditor input="{Binding}" property="AAS:Referable:idShort"/>
 						
-						<ppe:StringEditor input="{Binding}" property="AAS:Refereable:category"/>
-                        <ppaas:AASDataTypeEditor property="AAS:Refereable:description" input="{Binding}"/>
+						<ppe:StringEditor input="{Binding}" property="AAS:Referable:category"/>
+                        <ppaas:AASDataTypeEditor property="AAS:Referable:description" input="{Binding}"/>
 						
             </Composite>
 			<Composite>
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleRefereable.xwt b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleRefereable.xwt
index 4a66639..7eaa9a6 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleRefereable.xwt
+++ b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleRefereable.xwt
@@ -6,9 +6,9 @@
                         <Composite.layout>
                                     <ppel:PropertiesLayout numColumns="1"/>
                         </Composite.layout>
-                        <ppe:StringEditor input="{Binding}" property="AAS:Refereable:idShort"/>
-                        <ppe:StringEditor input="{Binding}" property="AAS:Refereable:category"/>
-                        <ppe:DataTypeEditor input="{Binding}" property="AAS:Refereable:description"/>
+                        <ppe:StringEditor input="{Binding}" property="AAS:Referable:idShort"/>
+                        <ppe:StringEditor input="{Binding}" property="AAS:Referable:category"/>
+                        <ppe:DataTypeEditor input="{Binding}" property="AAS:Referable:description"/>
             </Composite>
             
 </Composite>
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleReferenceElement.xwt b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleReferenceElement.xwt
index 6fbee12..46ebeb4 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleReferenceElement.xwt
+++ b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleReferenceElement.xwt
@@ -6,9 +6,9 @@
                         <Composite.layout>
                                     <ppel:PropertiesLayout numColumns="1"/>
                         </Composite.layout>
-                        <ppe:StringEditor input="{Binding}" property="AAS:DataElement:idShort"/>
-                        <ppe:StringEditor input="{Binding}" property="AAS:Refereable:category"/>
-                        <ppaas:AASDataTypeEditor input="{Binding}" property="AAS:Refereable:description"/>
+                        <ppe:StringEditor input="{Binding}" property="AAS:Referable:idShort"/>
+                        <ppe:StringEditor input="{Binding}" property="AAS:Referable:category"/>
+                        <ppaas:AASDataTypeEditor input="{Binding}" property="AAS:Referable:description"/>
                         <uml:MultiplicityDialog input="{Binding}" property="Multiplicity:multiplicity"/>
             </Composite>
             <Composite>
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleRelationshipElement.xwt b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleRelationshipElement.xwt
index 0f386c3..f6b1c74 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleRelationshipElement.xwt
+++ b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleRelationshipElement.xwt
@@ -8,9 +8,9 @@
                         <Composite.layout>
                                     <ppel:PropertiesLayout numColumns="1"/>
                         </Composite.layout>
-                        <ppe:StringEditor input="{Binding}" property="AAS:Refereable:idShort"/>
-                        <ppe:StringEditor input="{Binding}" property="AAS:Refereable:category"/>
-                        <ppaas:AASDataTypeEditor input="{Binding}" property="AAS:Refereable:description"/>
+                        <ppe:StringEditor input="{Binding}" property="AAS:Referable:idShort"/>
+                        <ppe:StringEditor input="{Binding}" property="AAS:Referable:category"/>
+                        <ppaas:AASDataTypeEditor input="{Binding}" property="AAS:Referable:description"/>
             </Composite>
             
 </Composite>
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleSubmodel.xwt b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleSubmodel.xwt
index 31d5a9e..f9da9cb 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleSubmodel.xwt
+++ b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleSubmodel.xwt
@@ -8,9 +8,9 @@
                         </Composite.layout>
                         <ppaas:AASStringEditor input="{Binding}" property="UML:NamedElement:name"/>
                         <ppe:StringEditor input="{Binding}" property="UML:NamedElement:qualifiedName"/>
-                        <ppe:StringEditor input="{Binding}" property="AAS:Refereable:idShort"/>
-                        <ppe:StringEditor input="{Binding}" property="AAS:Refereable:category"/>
-                        <ppaas:AASDataTypeEditor property="AAS:Refereable:description" input="{Binding}"/>
+                        <ppe:StringEditor input="{Binding}" property="AAS:Referable:idShort"/>
+                        <ppe:StringEditor input="{Binding}" property="AAS:Referable:category"/>
+                        <ppaas:AASDataTypeEditor property="AAS:Referable:description" input="{Binding}"/>
             </Composite>
             <Composite>
                         <Composite.layout>
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleSubmodelElement.xwt b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleSubmodelElement.xwt
index f3f2194..1caeeae 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleSubmodelElement.xwt
+++ b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleSubmodelElement.xwt
@@ -11,10 +11,10 @@
                         </Composite.layout>
                          <ppaas:AASStringEditor input="{Binding}" property="UML:NamedElement:name"/>
                         <ppe:StringEditor input="{Binding}" property="UML:NamedElement:qualifiedName"/>
-                        <ppe:StringEditor input="{Binding}" property="AAS:Refereable:idShort"/>
+                        <ppe:StringEditor input="{Binding}" property="AAS:Referable:idShort"/>
 						<ppe:BooleanRadio input="{Binding}" property="AAS:SubmodelElement:isDynamic"/>
-                        <ppe:StringEditor input="{Binding}" property="AAS:Refereable:category"/>
-                        <ppaas:AASDataTypeEditor input="{Binding}" property="AAS:Refereable:description"/>
+                        <ppe:StringEditor input="{Binding}" property="AAS:Referable:category"/>
+                        <ppaas:AASDataTypeEditor input="{Binding}" property="AAS:Referable:description"/>
 						<ppaas:AASDataTypeEditor input="{Binding}" property="AAS:SubmodelElement:endPoint"/>
 						<ppaas:AASDataTypeEditor input="{Binding}" property="AAS:SubmodelElement:nodeId"/>
             </Composite>
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleSubmodelElementCollection.xwt b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleSubmodelElementCollection.xwt
index b298dff..a5bfab0 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleSubmodelElementCollection.xwt
+++ b/plugins/modeling/org.eclipse.papyrus.aas.ui/resources/properties/ui/SingleSubmodelElementCollection.xwt
@@ -8,12 +8,12 @@
                         </Composite.layout>
                         <ppaas:AASStringEditor input="{Binding}" property="UML:NamedElement:name"/>
                         <ppe:StringEditor input="{Binding}" property="UML:NamedElement:qualifiedName"/>
-                        <ppe:StringEditor input="{Binding}" property="AAS:SubmodelElementCollection:idShort"/>
+                        <ppe:StringEditor input="{Binding}" property="AAS:Referable:idShort"/>
                         <ppe:BooleanRadio input="{Binding}" property="AAS:SubmodelElementCollection:ordered"/>
                         <ppe:BooleanRadio input="{Binding}" property="AAS:SubmodelElementCollection:allowDuplicates"/>
                         <ppe:BooleanRadio input="{Binding}" property="AAS:SubmodelElement:isDynamic"/>
-                        <ppe:StringEditor input="{Binding}" property="AAS:Refereable:category"/>
-                        <ppaas:AASDataTypeEditor input="{Binding}" property="AAS:Refereable:description"/>
+                        <ppe:StringEditor input="{Binding}" property="AAS:Referable:category"/>
+                        <ppaas:AASDataTypeEditor input="{Binding}" property="AAS:Referable:description"/>
             </Composite>
             <Composite>
                         <Composite.layout>
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.ui/src/org/eclipse/papyrus/aas/ui/utils/AASUtils.java b/plugins/modeling/org.eclipse.papyrus.aas.ui/src/org/eclipse/papyrus/aas/ui/utils/AASUtils.java
index 39f8f49..b2b13f6 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.ui/src/org/eclipse/papyrus/aas/ui/utils/AASUtils.java
+++ b/plugins/modeling/org.eclipse.papyrus.aas.ui/src/org/eclipse/papyrus/aas/ui/utils/AASUtils.java
@@ -45,7 +45,7 @@
 	public static boolean isReferable(EObject eObject) {
 		if (eObject instanceof Element) {
 			Element element = (Element) eObject;
-			Stereotype sterotype = org.eclipse.papyrus.uml.tools.utils.UMLUtil.getAppliedStereotype(element, "AAS::Refereable", false);
+			Stereotype sterotype = org.eclipse.papyrus.uml.tools.utils.UMLUtil.getAppliedStereotype(element, "AAS::Referable", false);
 			return (sterotype != null);
 
 		}
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.ui/tableConfiguration/BOMTableType.nattableconfiguration b/plugins/modeling/org.eclipse.papyrus.aas.ui/tableConfiguration/BOMTableType.nattableconfiguration
index 5300f56..7a9342b 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.ui/tableConfiguration/BOMTableType.nattableconfiguration
+++ b/plugins/modeling/org.eclipse.papyrus.aas.ui/tableConfiguration/BOMTableType.nattableconfiguration
@@ -31,11 +31,11 @@
     <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_3NDMJdf2EeuBOaTyh5vGLQ" manager="_3NDMIdf2EeuBOaTyh5vGLQ">
       <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
     </axis>
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_D61JYASxEeyTk-QYCbgOEA" manager="_3NDMItf2EeuBOaTyh5vGLQ" alias="" element="property_of_stereotype:/AAS::Refereable::idShort"/>
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_D61JYASxEeyTk-QYCbgOEA" manager="_3NDMItf2EeuBOaTyh5vGLQ" alias="" element="property_of_stereotype:/AAS::Referable::idShort"/>
     <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_eAj8IASxEeyTk-QYCbgOEA" manager="_3NDMItf2EeuBOaTyh5vGLQ" element="property_of_stereotype:/AAS::Entity::entityType"/>
     <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_zZOtkATXEeyVHMWq6bng3Q" manager="_3NDMItf2EeuBOaTyh5vGLQ" element="property_of_stereotype:/AAS::Entity::asset"/>
     <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_1Xd74ATXEeyVHMWq6bng3Q" manager="_3NDMItf2EeuBOaTyh5vGLQ" element="property_of_stereotype:/AAS::HasSemantics::semanticId"/>
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_IPQp0DDhEeyboMm5LWoBIg" manager="_3NDMItf2EeuBOaTyh5vGLQ" element="property_of_stereotype:/AAS::Refereable::description"/>
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_IPQp0DDhEeyboMm5LWoBIg" manager="_3NDMItf2EeuBOaTyh5vGLQ" element="property_of_stereotype:/AAS::Referable::description"/>
   </columnAxisProviders>
   <rowAxisProviders xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_3NDMJtf2EeuBOaTyh5vGLQ" description="This axis provider manages the rows, according to the wanted hierarchy" name="HierarchicalRowAxisManager" disconnectSlave="true"/>
 </nattableconfiguration:TableConfiguration>
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.ui/tableConfiguration/OperationsTableType.nattableconfiguration b/plugins/modeling/org.eclipse.papyrus.aas.ui/tableConfiguration/OperationsTableType.nattableconfiguration
index 112fec1..1eedeec 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.ui/tableConfiguration/OperationsTableType.nattableconfiguration
+++ b/plugins/modeling/org.eclipse.papyrus.aas.ui/tableConfiguration/OperationsTableType.nattableconfiguration
@@ -41,8 +41,8 @@
       <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
     </axis>
     <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="__ailUAcyEeypnP-TX_kBbA" manager="_WgqGAgcrEeyFMqHdeuOFEg" element="property_of_stereotype:/AAS::Operation::idShort"/>
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_NMBiwAc0EeypnP-TX_kBbA" manager="_WgqGAgcrEeyFMqHdeuOFEg" element="property_of_stereotype:/AAS::Refereable::category"/>
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_GV6UoAc2EeypnP-TX_kBbA" manager="_WgqGAgcrEeyFMqHdeuOFEg" element="property_of_stereotype:/AAS::Refereable::description"/>
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_NMBiwAc0EeypnP-TX_kBbA" manager="_WgqGAgcrEeyFMqHdeuOFEg" element="property_of_stereotype:/AAS::Referable::category"/>
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_GV6UoAc2EeypnP-TX_kBbA" manager="_WgqGAgcrEeyFMqHdeuOFEg" element="property_of_stereotype:/AAS::Referable::description"/>
     <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_XVZUkAc2EeypnP-TX_kBbA" manager="_WgqGAgcrEeyFMqHdeuOFEg" element="property_of_stereotype:/AAS::HasSemantics::semanticId"/>
     <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_vxWfIApBEeymwcfIpVT0Yg">
       <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.aas.ui/tableConfiguration/PropertiesTableType.nattableconfiguration#_5OYUMQcpEeyFMqHdeuOFEg"/>
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.ui/tableConfiguration/PropertiesTableType.nattableconfiguration b/plugins/modeling/org.eclipse.papyrus.aas.ui/tableConfiguration/PropertiesTableType.nattableconfiguration
index 0697d6b..4b9e651 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.ui/tableConfiguration/PropertiesTableType.nattableconfiguration
+++ b/plugins/modeling/org.eclipse.papyrus.aas.ui/tableConfiguration/PropertiesTableType.nattableconfiguration
@@ -32,7 +32,7 @@
       <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.aas.ui/tableConfiguration/OperationsTableType.nattableconfiguration#_WgqGAQcrEeyFMqHdeuOFEg"/>
       <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
     </axis>
-    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_wmogkAc8EeypnP-TX_kBbA" manager="_5OYUMgcpEeyFMqHdeuOFEg" element="property_of_stereotype:/AAS::Refereable::description"/>
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_wmogkAc8EeypnP-TX_kBbA" manager="_5OYUMgcpEeyFMqHdeuOFEg" element="property_of_stereotype:/AAS::Referable::description"/>
     <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_xjnGMAc8EeypnP-TX_kBbA" manager="_5OYUMgcpEeyFMqHdeuOFEg" element="property_of_stereotype:/AAS::HasSemantics::semanticId"/>
     <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_hU4jsAl_EeyZj57BJC2Kjg" manager="_5OYUMQcpEeyFMqHdeuOFEg">
       <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property/defaultValue"/>
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.validation/META-INF/MANIFEST.MF b/plugins/modeling/org.eclipse.papyrus.aas.validation/META-INF/MANIFEST.MF
index b24c5fc..eb0bb99 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.validation/META-INF/MANIFEST.MF
+++ b/plugins/modeling/org.eclipse.papyrus.aas.validation/META-INF/MANIFEST.MF
@@ -10,4 +10,5 @@
  org.eclipse.papyrus.aas.profile;bundle-version="[0.7.0,1.0.0)",
  org.eclipse.core.runtime;bundle-version="[3.23.0,4.0.0)",
  org.eclipse.papyrus.uml.tools.utils;bundle-version="[4.1.0,5.0.0)",
- org.eclipse.papyrus.aas.codegen.ui
+ org.eclipse.papyrus.aas.codegen.ui,
+ org.eclipse.aas.basyx.lib
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.validation/plugin.xml b/plugins/modeling/org.eclipse.papyrus.aas.validation/plugin.xml
index 0f04b7d..a248e0b 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.validation/plugin.xml
+++ b/plugins/modeling/org.eclipse.papyrus.aas.validation/plugin.xml
@@ -159,7 +159,24 @@
                  Endpoint must be defined
                </description>
                </constraint>
+               <constraint
+                  class="org.eclipse.papyrus.aas.validation.constraints.AssetEndpointAddressConstraint"
+                  id="AAS.Asset.URL"
+                  isEnabledByDefault="true"
+                  lang="java"
+                  mode="Batch"
+                  name="AssetEndpointAddressConstraint"
+                  severity="ERROR"
+                  statusCode="1">
+               <message>The Endpoint address (URL) is not valid</message>
+               <description>
+                 The Endpoint URL is not valid
+               </description>
+               </constraint>
          </constraints>
+         
+         
+         
       </constraintProvider>
    </extension>
    <extension name="dsml.validation.generated.aas" point="org.eclipse.emf.validation.constraintBindings">
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.validation/src/org/eclipse/papyrus/aas/validation/constraints/AssetEndpointAddressConstraint.java b/plugins/modeling/org.eclipse.papyrus.aas.validation/src/org/eclipse/papyrus/aas/validation/constraints/AssetEndpointAddressConstraint.java
new file mode 100644
index 0000000..ceb67a6
--- /dev/null
+++ b/plugins/modeling/org.eclipse.papyrus.aas.validation/src/org/eclipse/papyrus/aas/validation/constraints/AssetEndpointAddressConstraint.java
@@ -0,0 +1,75 @@
+/*****************************************************************************
+ * Copyright (c) 2022 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:
+ *  Saadia Dhouib (CEA LIST) saadia.dhouib@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.aas.validation.constraints;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.aas.AASEndpoint;
+import org.eclipse.papyrus.aas.Asset;
+import org.eclipse.papyrus.aas.AssetAdministrationShell;
+import org.eclipse.papyrus.aas.Endpoint;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+public class AssetEndpointAddressConstraint extends AbstractModelConstraint{
+	
+	private final org.apache.commons.validator.routines.UrlValidator validator = new org.apache.commons.validator.routines.UrlValidator(
+			org.apache.commons.validator.routines.UrlValidator.ALLOW_LOCAL_URLS
+					+ org.apache.commons.validator.routines.UrlValidator.ALLOW_ALL_SCHEMES + org.apache.commons.validator.routines.UrlValidator.ALLOW_2_SLASHES);
+
+
+	@Override
+	public IStatus validate(IValidationContext ctx) {
+		// TODO Auto-generated method stub
+		IStatus status = ctx.createSuccessStatus();
+		if(ctx.getTarget() instanceof NamedElement) {
+			NamedElement elt = (NamedElement)ctx.getTarget();
+			Asset asset = UMLUtil.getStereotypeApplication(elt, Asset.class);
+			AssetAdministrationShell aas= UMLUtil.getStereotypeApplication(elt, AssetAdministrationShell.class);
+			if ((asset != null && elt instanceof org.eclipse.uml2.uml.Class) ){
+				if(asset.getEndpoint()!=null && !asset.getEndpoint().isEmpty()) {
+					for (Endpoint ep:asset.getEndpoint()) {
+						if(ep.getAddress()!=null && !ep.getAddress().isEmpty()) {
+							
+							if (!validator.isValid((String) ep.getAddress())) {
+								return ctx.createFailureStatus("The URL is not valid");
+							} 
+						}
+					}
+				}
+									
+				
+			}
+			if ((aas != null && elt instanceof org.eclipse.uml2.uml.Class) ){
+				if(aas.getEndpoint()!=null ) {
+					AASEndpoint ep =aas.getEndpoint() ;
+						if(ep.getAddress()!=null && !ep.getAddress().isEmpty()) {
+							
+							if (!validator.isValid((String) ep.getAddress())) {
+								return ctx.createFailureStatus("The URL is not valid");
+							} 
+						}
+					}
+				
+									
+				
+			}
+		}
+		return status;
+	}
+
+}
diff --git a/plugins/modeling/org.eclipse.papyrus.aas.validation/src/org/eclipse/papyrus/aas/validation/constraints/ReferableIdshortConstraint.java b/plugins/modeling/org.eclipse.papyrus.aas.validation/src/org/eclipse/papyrus/aas/validation/constraints/ReferableIdshortConstraint.java
index 8a741bc..6c3d0a1 100644
--- a/plugins/modeling/org.eclipse.papyrus.aas.validation/src/org/eclipse/papyrus/aas/validation/constraints/ReferableIdshortConstraint.java
+++ b/plugins/modeling/org.eclipse.papyrus.aas.validation/src/org/eclipse/papyrus/aas/validation/constraints/ReferableIdshortConstraint.java
@@ -18,7 +18,7 @@
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.emf.validation.AbstractModelConstraint;
 import org.eclipse.emf.validation.IValidationContext;
-import org.eclipse.papyrus.aas.Refereable;
+import org.eclipse.papyrus.aas.Referable;
 import org.eclipse.uml2.uml.NamedElement;
 import org.eclipse.uml2.uml.Package;
 import org.eclipse.uml2.uml.util.UMLUtil;
@@ -31,8 +31,8 @@
 		IStatus status = ctx.createSuccessStatus();
 		if(ctx.getTarget() instanceof NamedElement) {
 			NamedElement elt = (NamedElement)ctx.getTarget();
-			if(org.eclipse.papyrus.uml.tools.utils.UMLUtil.getAppliedStereotype(elt, "AAS::Refereable", false) != null && !(elt instanceof Package)) {
-				Refereable referable = UMLUtil.getStereotypeApplication(elt, org.eclipse.papyrus.aas.Refereable.class);
+			if(org.eclipse.papyrus.uml.tools.utils.UMLUtil.getAppliedStereotype(elt, "AAS::Referable", false) != null && !(elt instanceof Package)) {
+				Referable referable = UMLUtil.getStereotypeApplication(elt, org.eclipse.papyrus.aas.Referable.class);
 				if(referable.getIdShort()==null) {
 					status = ctx.createFailureStatus("a Referable must have an idshort");
 				}else