AIML experimental plugins

Change-Id: I7069f44d046099fc10997449afcebe54d0d697db
Signed-off-by: Shuai Li <shuai.li@cea.fr>
diff --git a/aiml/org.eclipse.papyrus.aiml.examples/.classpath b/aiml/org.eclipse.papyrus.aiml.examples/.classpath
new file mode 100644
index 0000000..43b9862
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.examples/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/aiml/org.eclipse.papyrus.aiml.examples/.project b/aiml/org.eclipse.papyrus.aiml.examples/.project
new file mode 100644
index 0000000..2941c7b
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.examples/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.aiml.examples</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+	</natures>
+</projectDescription>
diff --git a/aiml/org.eclipse.papyrus.aiml.examples/.settings/org.eclipse.jdt.core.prefs b/aiml/org.eclipse.papyrus.aiml.examples/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0fee6a9
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.examples/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,15 @@
+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.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+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
diff --git a/aiml/org.eclipse.papyrus.aiml.examples/META-INF/MANIFEST.MF b/aiml/org.eclipse.papyrus.aiml.examples/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..2e3bdbc
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.examples/META-INF/MANIFEST.MF
@@ -0,0 +1,16 @@
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.emf.common.ui,
+ org.eclipse.core.runtime,
+ org.eclipse.uml2.uml;bundle-version="5.0.0"
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-ClassPath: .
+Bundle-Version: 0.7.0.qualifier
+Bundle-Localization: plugin
+Bundle-Name: %pluginName
+Bundle-Activator: org.eclipse.papyrus.aiml.examples.Activator
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.aiml.examples;singleton:=true
+Automatic-Module-Name: org.eclipse.papyrus.aiml.examples
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: org.eclipse.papyrus.aiml.examples
diff --git a/aiml/org.eclipse.papyrus.aiml.examples/build.properties b/aiml/org.eclipse.papyrus.aiml.examples/build.properties
new file mode 100644
index 0000000..83dd377
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.examples/build.properties
@@ -0,0 +1,9 @@
+source.. = src/,\
+           src-gen/
+output.. = target/classes/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               models/,\
+               plugin.properties
+src.includes = models/
diff --git a/aiml/org.eclipse.papyrus.aiml.examples/models/kerasmodel.di b/aiml/org.eclipse.papyrus.aiml.examples/models/kerasmodel.di
new file mode 100644
index 0000000..8c549ee
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.examples/models/kerasmodel.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<architecture:ArchitectureDescription xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:architecture="http://www.eclipse.org/papyrus/infra/core/architecture" contextId="org.eclipse.papyrus.infra.services.edit.TypeContext"/>
diff --git a/aiml/org.eclipse.papyrus.aiml.examples/models/kerasmodel.notation b/aiml/org.eclipse.papyrus.aiml.examples/models/kerasmodel.notation
new file mode 100644
index 0000000..baee8e9
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.examples/models/kerasmodel.notation
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.3/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/gmfdiag/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+  <notation:Diagram xmi:id="_uO7LoJwiEeqtcKkMgfhA1A" type="PapyrusUMLClassDiagram" name="NewClassDiagram" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_wki_MJwiEeqtcKkMgfhA1A" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_wkmCgJwiEeqtcKkMgfhA1A" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_wkmCgZwiEeqtcKkMgfhA1A" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_wkmpkJwiEeqtcKkMgfhA1A" y="15"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_wknQoJwiEeqtcKkMgfhA1A" type="Class_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_wknQoZwiEeqtcKkMgfhA1A"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_wknQopwiEeqtcKkMgfhA1A"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_wknQo5wiEeqtcKkMgfhA1A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wknQpJwiEeqtcKkMgfhA1A"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_wknQpZwiEeqtcKkMgfhA1A" type="Class_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_wknQppwiEeqtcKkMgfhA1A"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_wknQp5wiEeqtcKkMgfhA1A"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_wknQqJwiEeqtcKkMgfhA1A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wknQqZwiEeqtcKkMgfhA1A"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_wknQqpwiEeqtcKkMgfhA1A" visible="false" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_wknQq5wiEeqtcKkMgfhA1A"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_wknQrJwiEeqtcKkMgfhA1A"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_wknQrZwiEeqtcKkMgfhA1A"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wknQrpwiEeqtcKkMgfhA1A"/>
+      </children>
+      <element xmi:type="uml:Class" href="kerasmodel.uml#_wkcRgJwiEeqtcKkMgfhA1A"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wki_MZwiEeqtcKkMgfhA1A" x="240" y="80" width="181" height="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_2ppb5LMxEeqmquzwsvk0ug" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_2ppb5bMxEeqmquzwsvk0ug"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_2ppb57MxEeqmquzwsvk0ug" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="kerasmodel.uml#_wkcRgJwiEeqtcKkMgfhA1A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2ppb5rMxEeqmquzwsvk0ug" x="440" y="80"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_uO7LoZwiEeqtcKkMgfhA1A" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_uO7LopwiEeqtcKkMgfhA1A"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_uO7Lo5wiEeqtcKkMgfhA1A" diagramKindId="org.eclipse.papyrus.uml.diagram.class">
+      <owner xmi:type="uml:Model" href="kerasmodel.uml#_sfXSgJwiEeqtcKkMgfhA1A"/>
+    </styles>
+    <element xmi:type="uml:Model" href="kerasmodel.uml#_sfXSgJwiEeqtcKkMgfhA1A"/>
+    <edges xmi:type="notation:Connector" xmi:id="_2ppb6LMxEeqmquzwsvk0ug" type="StereotypeCommentLink" source="_wki_MJwiEeqtcKkMgfhA1A" target="_2ppb5LMxEeqmquzwsvk0ug">
+      <styles xmi:type="notation:FontStyle" xmi:id="_2ppb6bMxEeqmquzwsvk0ug"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_2pqC8rMxEeqmquzwsvk0ug" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="kerasmodel.uml#_wkcRgJwiEeqtcKkMgfhA1A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_2ppb6rMxEeqmquzwsvk0ug" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2pqC8LMxEeqmquzwsvk0ug"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2pqC8bMxEeqmquzwsvk0ug"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_fUr44LM3Eeqmquzwsvk0ug" type="CompositeStructure" name="Composite" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_gCKC4LM3Eeqmquzwsvk0ug" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_gCLRALM3Eeqmquzwsvk0ug" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_gCLRAbM3Eeqmquzwsvk0ug" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_gCLRArM3Eeqmquzwsvk0ug" y="15"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_gCL4ELM3Eeqmquzwsvk0ug" type="Class_StructureCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_lIAiYLM3Eeqmquzwsvk0ug" type="Property_Shape">
+          <children xmi:type="notation:DecorationNode" xmi:id="_lIAiYrM3Eeqmquzwsvk0ug" type="Property_NameLabel"/>
+          <children xmi:type="notation:DecorationNode" xmi:id="_lIAiY7M3Eeqmquzwsvk0ug" type="Property_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_lIAiZLM3Eeqmquzwsvk0ug" y="15"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_lIAiZbM3Eeqmquzwsvk0ug" type="Property_StructureCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_lIAiZrM3Eeqmquzwsvk0ug"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lIAiZ7M3Eeqmquzwsvk0ug"/>
+          </children>
+          <element xmi:type="uml:Property" href="kerasmodel.uml#_lH08MLM3Eeqmquzwsvk0ug"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lIAiYbM3Eeqmquzwsvk0ug" x="57" y="57" height="61"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_gCL4EbM3Eeqmquzwsvk0ug"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gCL4ErM3Eeqmquzwsvk0ug"/>
+      </children>
+      <element xmi:type="uml:Class" href="kerasmodel.uml#_wkcRgJwiEeqtcKkMgfhA1A"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gCKC4bM3Eeqmquzwsvk0ug" x="77" y="40" width="564" height="321"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_gCRXpbM3Eeqmquzwsvk0ug" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_gCRXprM3Eeqmquzwsvk0ug"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_gCRXqLM3Eeqmquzwsvk0ug" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="kerasmodel.uml#_wkcRgJwiEeqtcKkMgfhA1A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gCRXp7M3Eeqmquzwsvk0ug" x="200"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_fUr44bM3Eeqmquzwsvk0ug" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_fUr44rM3Eeqmquzwsvk0ug"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_fUr447M3Eeqmquzwsvk0ug" diagramKindId="org.eclipse.papyrus.uml.diagram.compositeStructure.root.package">
+      <owner xmi:type="uml:Model" href="kerasmodel.uml#_sfXSgJwiEeqtcKkMgfhA1A"/>
+    </styles>
+    <element xmi:type="uml:Model" href="kerasmodel.uml#_sfXSgJwiEeqtcKkMgfhA1A"/>
+    <edges xmi:type="notation:Connector" xmi:id="_gCR-sLM3Eeqmquzwsvk0ug" type="StereotypeCommentLink" source="_gCKC4LM3Eeqmquzwsvk0ug" target="_gCRXpbM3Eeqmquzwsvk0ug">
+      <styles xmi:type="notation:FontStyle" xmi:id="_gCR-sbM3Eeqmquzwsvk0ug"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_gCR-tbM3Eeqmquzwsvk0ug" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="kerasmodel.uml#_wkcRgJwiEeqtcKkMgfhA1A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gCR-srM3Eeqmquzwsvk0ug" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gCR-s7M3Eeqmquzwsvk0ug"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gCR-tLM3Eeqmquzwsvk0ug"/>
+    </edges>
+  </notation:Diagram>
+</xmi:XMI>
diff --git a/aiml/org.eclipse.papyrus.aiml.examples/models/kerasmodel.uml b/aiml/org.eclipse.papyrus.aiml.examples/models/kerasmodel.uml
new file mode 100644
index 0000000..77b7b85
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.examples/models/kerasmodel.uml
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:AIML.Convolution_layers="http://www.eclipse.org/papyrus/AIML/convolution/1" xmlns:AIML.Module="http://www.eclipse.org/papyrus/AIML/module/1" xmlns:Codegen="http://www.eclipse.org/papyrus/Codegen/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/AIML/convolution/1 http://www.eclipse.org/papyrus/AIML/1#//Convolution_layers http://www.eclipse.org/papyrus/AIML/module/1 http://www.eclipse.org/papyrus/AIML/1#//Module">
+  <uml:Model xmi:id="_sfXSgJwiEeqtcKkMgfhA1A" name="kerasmodel">
+    <packagedElement xmi:type="uml:Class" xmi:id="_wkcRgJwiEeqtcKkMgfhA1A" name="TestModule">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_lH08MLM3Eeqmquzwsvk0ug" name="l1" visibility="public" type="_iaXQYLM3Eeqmquzwsvk0ug"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_KvaJkJwjEeqtcKkMgfhA1A" name="python"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_iaXQYLM3Eeqmquzwsvk0ug" name="Layer1"/>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_9PGM8J6YEeqMUqJDUIBTbw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9PHbEJ6YEeqMUqJDUIBTbw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/AIML/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://AIML_PROFILES/AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_9PICIJ6YEeqMUqJDUIBTbw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9PICIZ6YEeqMUqJDUIBTbw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/AIML/1#//Module"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://AIML_PROFILES/AIML.profile.uml#_u1dx8JT1Eeq5BK6mmo2rWg"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_9PIpMJ6YEeqMUqJDUIBTbw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9PIpMZ6YEeqMUqJDUIBTbw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/AIML/1#//Tensor"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://AIML_PROFILES/AIML.profile.uml#_38DjAJT1Eeq5BK6mmo2rWg"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_9PJQQJ6YEeqMUqJDUIBTbw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9PJQQZ6YEeqMUqJDUIBTbw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/AIML/1#//Pooling_layers"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://AIML_PROFILES/AIML.profile.uml#_Deu8AJT2Eeq5BK6mmo2rWg"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_9PJ3UJ6YEeqMUqJDUIBTbw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9PJ3UZ6YEeqMUqJDUIBTbw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/AIML/1#//Convolution_layers"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://AIML_PROFILES/AIML.profile.uml#_Nr2NYJOPEeqnY_bZg2Ebjg"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_9PKeYJ6YEeqMUqJDUIBTbw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9PKeYZ6YEeqMUqJDUIBTbw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/AIML/1#//Padding_layers"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://AIML_PROFILES/AIML.profile.uml#_2_xEcJT2Eeq5BK6mmo2rWg"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_9PLFcJ6YEeqMUqJDUIBTbw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9PLFcZ6YEeqMUqJDUIBTbw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/AIML/1#//NonLinearActivations"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://AIML_PROFILES/AIML.profile.uml#_H7fbMJT2Eeq5BK6mmo2rWg"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_9PLFcp6YEeqMUqJDUIBTbw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9PLsgJ6YEeqMUqJDUIBTbw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/AIML/1#//SoftMinMaxActivations"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://AIML_PROFILES/AIML.profile.uml#_K1H6wJT2Eeq5BK6mmo2rWg"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_9PLsgZ6YEeqMUqJDUIBTbw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9PLsgp6YEeqMUqJDUIBTbw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/AIML/1#//Normalization_layers"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://AIML_PROFILES/AIML.profile.uml#_N5zMsJT2Eeq5BK6mmo2rWg"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_9PLsg56YEeqMUqJDUIBTbw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9PMTkJ6YEeqMUqJDUIBTbw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/AIML/1#//Recurrent_layers"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://AIML_PROFILES/AIML.profile.uml#_RAjiQJT2Eeq5BK6mmo2rWg"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_9PMTkZ6YEeqMUqJDUIBTbw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9PMTkp6YEeqMUqJDUIBTbw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/AIML/1#//Transformer_layers"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://AIML_PROFILES/AIML.profile.uml#_T8DDAJT2Eeq5BK6mmo2rWg"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_9PMTk56YEeqMUqJDUIBTbw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9PM6oJ6YEeqMUqJDUIBTbw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/AIML/1#//Linear_layers"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://AIML_PROFILES/AIML.profile.uml#_WwqfsJT2Eeq5BK6mmo2rWg"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_9PM6oZ6YEeqMUqJDUIBTbw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9PNhsJ6YEeqMUqJDUIBTbw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/AIML/1#//Dropout_layers"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://AIML_PROFILES/AIML.profile.uml#_ZUMzcJT2Eeq5BK6mmo2rWg"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_9PNhsZ6YEeqMUqJDUIBTbw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9PNhsp6YEeqMUqJDUIBTbw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/AIML/1#//Sparse_layers"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://AIML_PROFILES/AIML.profile.uml#_cKwJ0JT2Eeq5BK6mmo2rWg"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_9POIwJ6YEeqMUqJDUIBTbw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9POIwZ6YEeqMUqJDUIBTbw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/AIML/1#//Distance_functions"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://AIML_PROFILES/AIML.profile.uml#_fjUoIJT2Eeq5BK6mmo2rWg"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_9POIwp6YEeqMUqJDUIBTbw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9POIw56YEeqMUqJDUIBTbw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/AIML/1#//Loss_functions"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://AIML_PROFILES/AIML.profile.uml#_nZcP0JT2Eeq5BK6mmo2rWg"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_9POv0J6YEeqMUqJDUIBTbw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9POv0Z6YEeqMUqJDUIBTbw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/AIML/1#//Vision_layers"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://AIML_PROFILES/AIML.profile.uml#_q6FsEJT2Eeq5BK6mmo2rWg"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_9POv0p6YEeqMUqJDUIBTbw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9PPW4J6YEeqMUqJDUIBTbw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/AIML/1#//DataParallel_layers"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://AIML_PROFILES/AIML.profile.uml#_wBUroJT2Eeq5BK6mmo2rWg"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_WcUqYJ6ZEeqMUqJDUIBTbw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WcVRcJ6ZEeqMUqJDUIBTbw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/Codegen/1#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://Codegen_PROFILES/Codegen.profile.uml#_fPDsIBa-EearhdjjJ6cVzQ"/>
+    </profileApplication>
+  </uml:Model>
+  <Codegen:GeneratorHint xmi:id="_ggzKkJ6aEeqMUqJDUIBTbw" base_Element="_sfXSgJwiEeqtcKkMgfhA1A" language="_Q3RmYLMyEeqmquzwsvk0ug" generatorID="Keras"/>
+  <AIML.Module:Default_Container xmi:id="_2pbZcLMxEeqmquzwsvk0ug" base_Class="_wkcRgJwiEeqtcKkMgfhA1A"/>
+  <Codegen:Language xmi:id="_Q3RmYLMyEeqmquzwsvk0ug" base_Class="_KvaJkJwjEeqtcKkMgfhA1A"/>
+  <AIML.Convolution_layers:Conv1d xmi:id="_t2TIMLM3Eeqmquzwsvk0ug" base_Class="_iaXQYLM3Eeqmquzwsvk0ug"/>
+</xmi:XMI>
diff --git a/aiml/org.eclipse.papyrus.aiml.examples/plugin.properties b/aiml/org.eclipse.papyrus.aiml.examples/plugin.properties
new file mode 100644
index 0000000..5c6ffe7
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.examples/plugin.properties
@@ -0,0 +1,10 @@
+# Copyright (c) CEA LIST.
+#
+# This program and the accompanying materials are made
+# available under the terms of the Eclipse Public License 2.0
+# which is available at https://www.eclipse.org/legal/epl-2.0/
+#
+# SPDX-License-Identifier: EPL-2.0
+#
+pluginName=Papyrus AIML examples
+providerName=Eclipse Modeling Project
diff --git a/aiml/org.eclipse.papyrus.aiml.examples/plugin.xml b/aiml/org.eclipse.papyrus.aiml.examples/plugin.xml
new file mode 100644
index 0000000..048525f
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.examples/plugin.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+	<extension
+         point="org.eclipse.emf.common.ui.examples">
+      <example
+            id="org.eclipse.papyrus.aiml.examples.kerasmodel"
+            wizardID="org.eclipse.papyrus.aiml.example">
+         <projectDescriptor
+               contentURI="models/"
+               description="AIML model example for Keras"
+               name="AIML Keras Model">
+         </projectDescriptor>
+         <fileToOpen
+               location="models/kerasmodel.di">
+         </fileToOpen>
+      </example>
+   </extension>
+   
+   <extension
+         point="org.eclipse.ui.newWizards">
+      <wizard
+            category="org.eclipse.ui.Examples/org.eclipse.papyrus.examples"
+            class="org.eclipse.emf.common.ui.wizard.ExampleInstallerWizard"
+            finalPerspective="org.eclipse.papyrus.infra.core.perspective"
+            id="org.eclipse.papyrus.aiml.example"
+            name="AIML Examples"
+            preferredPerspectives="org.eclipse.papyrus.infra.core.perspective"
+            project="true">
+         <description>
+            Create a new Project that contains an example for AI Modeling based on Keras
+         </description>
+      </wizard>
+   </extension>
+</plugin>
diff --git a/aiml/org.eclipse.papyrus.aiml.examples/src/org/eclipse/papyrus/aiml/examples/Activator.java b/aiml/org.eclipse.papyrus.aiml.examples/src/org/eclipse/papyrus/aiml/examples/Activator.java
new file mode 100644
index 0000000..835d0eb
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.examples/src/org/eclipse/papyrus/aiml/examples/Activator.java
@@ -0,0 +1,38 @@
+/**
+ * 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
+ */
+package org.eclipse.papyrus.aiml.examples;
+
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+
+public class Activator implements BundleActivator {
+
+	private static BundleContext context;
+
+	static BundleContext getContext() {
+		return context;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
+	 */
+	public void start(BundleContext bundleContext) throws Exception {
+		Activator.context = bundleContext;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
+	 */
+	public void stop(BundleContext bundleContext) throws Exception {
+		Activator.context = null;
+	}
+
+}
diff --git a/aiml/org.eclipse.papyrus.aiml.gen.keras/.classpath b/aiml/org.eclipse.papyrus.aiml.gen.keras/.classpath
new file mode 100644
index 0000000..2f5ffb2
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.gen.keras/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="src" path="xtend-gen"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/aiml/org.eclipse.papyrus.aiml.gen.keras/.project b/aiml/org.eclipse.papyrus.aiml.gen.keras/.project
new file mode 100644
index 0000000..7e976c4
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.gen.keras/.project
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.aiml.gen.keras</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+	</natures>
+</projectDescription>
diff --git a/aiml/org.eclipse.papyrus.aiml.gen.keras/.settings/org.eclipse.jdt.core.prefs b/aiml/org.eclipse.papyrus.aiml.gen.keras/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0fee6a9
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.gen.keras/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,15 @@
+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.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+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
diff --git a/aiml/org.eclipse.papyrus.aiml.gen.keras/META-INF/MANIFEST.MF b/aiml/org.eclipse.papyrus.aiml.gen.keras/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..f47ce9f
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.gen.keras/META-INF/MANIFEST.MF
@@ -0,0 +1,24 @@
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.ecore;visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;visibility:=reexport,
+ org.eclipse.uml2.types;visibility:=reexport,
+ org.eclipse.uml2.uml;bundle-version="5.0.0";visibility:=reexport,
+ org.eclipse.papyrus.uml.properties;bundle-version="3.0.0",
+ org.eclipse.papyrus.aiml.profile;bundle-version="0.7.0",
+ org.eclipse.xtend.lib;bundle-version="2.2.0",
+ org.eclipse.papyrus.designer.languages.common.base;bundle-version="1.1.0",
+ org.eclipse.papyrus.designer.languages.common.extensionpoints;bundle-version="1.1.0",
+ org.eclipse.papyrus.designer.languages.common.profile;bundle-version="1.1.0"
+Export-Package: org.eclipse.papyrus.aiml.gen.keras
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-ClassPath: .
+Bundle-Version: 0.7.0.qualifier
+Bundle-Localization: plugin
+Bundle-Name: %pluginName
+Bundle-Activator: org.eclipse.papyrus.aiml.gen.keras.Activator
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.aiml.gen.keras;singleton:=true
+Automatic-Module-Name: org.eclipse.papyrus.designer.languages.cpp.profile
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/aiml/org.eclipse.papyrus.aiml.gen.keras/build.properties b/aiml/org.eclipse.papyrus.aiml.gen.keras/build.properties
new file mode 100644
index 0000000..536f80e
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.gen.keras/build.properties
@@ -0,0 +1,10 @@
+source.. = src/,\
+           src-gen/
+output.. = target/classes/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               profiles/,\
+               libraries/,\
+               plugin.properties,\
+               properties/
diff --git a/aiml/org.eclipse.papyrus.aiml.gen.keras/plugin.properties b/aiml/org.eclipse.papyrus.aiml.gen.keras/plugin.properties
new file mode 100644
index 0000000..4f00e9e
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.gen.keras/plugin.properties
@@ -0,0 +1,10 @@
+# Copyright (c) CEA LIST.
+#
+# This program and the accompanying materials are made
+# available under the terms of the Eclipse Public License 2.0
+# which is available at https://www.eclipse.org/legal/epl-2.0/
+#
+# SPDX-License-Identifier: EPL-2.0
+#
+pluginName=Papyrus AIML profile
+providerName=Eclipse Modeling Project
diff --git a/aiml/org.eclipse.papyrus.aiml.gen.keras/plugin.xml b/aiml/org.eclipse.papyrus.aiml.gen.keras/plugin.xml
new file mode 100644
index 0000000..e18fff1
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.gen.keras/plugin.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.2"?>
+<plugin>
+	<extension
+			point="org.eclipse.papyrus.designer.languages.common.extensionpoints.languageCodegen">
+		<generator
+			id="Keras"
+			class="org.eclipse.papyrus.aiml.gen.keras.KerasLangCodegen"
+			language="python">
+		</generator>
+	</extension>
+</plugin>
diff --git a/aiml/org.eclipse.papyrus.aiml.gen.keras/src/org/eclipse/papyrus/aiml/gen/keras/Activator.java b/aiml/org.eclipse.papyrus.aiml.gen.keras/src/org/eclipse/papyrus/aiml/gen/keras/Activator.java
new file mode 100644
index 0000000..1bd4ef5
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.gen.keras/src/org/eclipse/papyrus/aiml/gen/keras/Activator.java
@@ -0,0 +1,42 @@
+/**
+ * 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
+ */
+package org.eclipse.papyrus.aiml.gen.keras;
+
+import org.eclipse.papyrus.infra.core.log.LogHelper;
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+
+public class Activator implements BundleActivator {
+
+	private static BundleContext context;
+
+	public static LogHelper log;
+
+	static BundleContext getContext() {
+		return context;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
+	 */
+	public void start(BundleContext bundleContext) throws Exception {
+		Activator.context = bundleContext;
+		log = new LogHelper(context.getBundle());
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
+	 */
+	public void stop(BundleContext bundleContext) throws Exception {
+		Activator.context = null;
+	}
+
+}
diff --git a/aiml/org.eclipse.papyrus.aiml.gen.keras/src/org/eclipse/papyrus/aiml/gen/keras/GenCheck.xtend b/aiml/org.eclipse.papyrus.aiml.gen.keras/src/org/eclipse/papyrus/aiml/gen/keras/GenCheck.xtend
new file mode 100644
index 0000000..92899d9
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.gen.keras/src/org/eclipse/papyrus/aiml/gen/keras/GenCheck.xtend
@@ -0,0 +1,102 @@
+package org.eclipse.papyrus.aiml.gen.keras
+
+import org.eclipse.papyrus.aiml.profile.AIML.Module.Model
+import java.util.HashSet
+import org.eclipse.jface.dialogs.MessageDialog
+import org.eclipse.swt.widgets.Display
+
+class GenCheck {
+	/**
+	 * return true if Null for each type
+	 */
+	static def isNull(Object value) {
+		return value === null 
+	}	 
+
+	/**
+	 * return true if Null for each type
+	 */
+	static def isFalseBoolean(Boolean value) {
+		return value.booleanValue === Boolean.FALSE
+	}	 
+	/**
+	 * return true if Null or string value is empty
+	 */
+	static def isNullOrEmptyForString(String value) {
+		return value === null || value.length == 0 || value === "null"
+	}
+	
+	static def isZeroForString(String value) {
+		return value === "0.0" || value ==="0" 
+	}
+	
+	static def isZeroForStringL(String value) {
+		return value.equals("0.0") || value.equals("0") 
+	}
+	/**
+	 * return true if string value is equal to false
+	 */
+	static def isFalseForString(String value) {
+		return value !== null && value.equals("false")
+	}
+
+	/**
+	 * collect the number of layers in the model
+	 */
+	static def findNbrOfLayer(Model l) {
+		var nbr_lay = 0
+		for (layer : l.base_Class.ownedAttributes) {
+			l.getClass().getSimpleName()
+			nbr_lay = nbr_lay + 1
+		}
+		return nbr_lay
+	}
+
+	static def findNbrOfInformationFLowPara(Model l) {
+		var nbrInformationFlowFinal = 0
+		var nbrInformationFlowByLayer = 0
+		
+		for (layer : l.base_Class.ownedAttributes) {
+			
+			nbrInformationFlowByLayer=layer.getTargetDirectedRelationships().length
+			
+			if (nbrInformationFlowByLayer>nbrInformationFlowFinal){
+				nbrInformationFlowFinal=nbrInformationFlowByLayer
+			}
+				
+		}
+		
+		if (nbrInformationFlowFinal>1){
+				MessageDialog.openWarning(Display.current.activeShell, "Warning Message : InformationFlow ",
+				"NOT SUPPORTED : InformationFLow parallelization (Double entry) ");
+				
+				return 0
+
+		} else {
+			return 1
+		}
+	
+	}
+			
+	static def findNbrOfInformationFLowMissing(ModuleInfo mi) {
+
+		System.err.println("module info list : " + mi.layersInput.toList)
+
+		var HashSet hs = new HashSet<String>();
+		hs.addAll(mi.layersInput.toList);
+		var int totalDuplicates = mi.layersInput.toList.size() - hs.size();
+
+		//MessageDialog.openWarning(Display.current.activeShell, "sdfsd", "warning ...");
+		//Activator.log.info("sdfsd");
+
+		if (totalDuplicates !== 0) {
+			MessageDialog.openWarning(Display.current.activeShell, "Warning Message : InformationFlow ",
+				"NOT SUPPORTED :  Missing InformationFlow Connection");
+			return 0
+
+		} else {
+			return 1
+		}
+	}	
+}
+
diff --git a/aiml/org.eclipse.papyrus.aiml.gen.keras/src/org/eclipse/papyrus/aiml/gen/keras/GenKeras.xtend b/aiml/org.eclipse.papyrus.aiml.gen.keras/src/org/eclipse/papyrus/aiml/gen/keras/GenKeras.xtend
new file mode 100644
index 0000000..405f0d9
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.gen.keras/src/org/eclipse/papyrus/aiml/gen/keras/GenKeras.xtend
@@ -0,0 +1,197 @@
+/*******************************************************************************
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse 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:
+ *   Abhishek Djeachandrane - Initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.papyrus.aiml.gen.keras;
+
+import org.eclipse.uml2.uml.Class;
+import static extension org.eclipse.uml2.uml.util.UMLUtil.getStereotypeApplication
+import org.eclipse.papyrus.aiml.profile.AIML.Module.Model
+import org.eclipse.papyrus.aiml.profile.AIML.Tensor.Tensor
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layers
+import org.eclipse.papyrus.aiml.profile.AIML.Recurrent_layers.Recurrent_layers
+import org.eclipse.papyrus.aiml.profile.AIML.Recurrent_layers.LSTM
+import org.eclipse.papyrus.aiml.profile.AIML.Recurrent_layers.GRU
+import org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layers
+import org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear
+import org.eclipse.papyrus.aiml.gen.keras.ModelOps;
+
+
+class GenKeras {
+	static def genKeras(Class clazz) {
+		val module = clazz.getStereotypeApplication(Model)
+		if (module !== null) {
+			return module.genModule
+		} else {
+			return "";
+		}
+	}
+	/**
+	 * Generate a model with different elements necessary for the compilation 
+	 */
+	static def genModule(Model module) '''
+		«module.genDefaultTemplate»
+		
+		«module.genModuleInit»
+		
+			«module.genModuleCall»
+		
+		«module.genModuleCompilation»
+
+		
+		
+		
+		
+	'''
+
+	/**
+	 * Generate the model instance and compilation 
+	 */
+	static def genModuleCompilation(Model module) '''
+		«module.base_Class.name.toFirstLower» = «module.base_Class.name»()
+		««««»«ModelOps.modelAttributesToDisplayForCompilation(module)»
+		«var study=ModelOps.modelAttributesToCollectProperly(module)»
+		«study.attributesName.toList»
+		«study.attributesValue.toList»
+		«study.attributesType.toList»
+		«FOR n : study.attributesValue.toList»
+		
+		«ENDFOR»
+		«var study2=ModelOps.modelAttributesToDisplayForCompilationProperly(module)»
+		«study2»
+	'''
+	/**
+	 * Generate the basic template with importation in the head of the code 
+	 */
+	static def genDefaultTemplate(Model module) '''
+		# generated by Papyrus from module «module.base_Class.class»
+		
+		import tensorflow as tf
+		from tensorflow import keras
+		inputs=[(1,2),(3,4)]
+	'''
+
+	/**
+	 * Generate layer instance through modeling
+	 */
+	static def genModuleInit(Model module) '''
+		class «module.base_Class.name»(tf.keras.Model):
+			def __init__(self):
+				super(MyModel, self).__init__()
+				
+				«FOR layer : module.base_Class.ownedAttributes»
+					«val type = layer.type»
+					«val layerSt = type.getStereotypeApplication(Model)»
+					«genLayer(layerSt)»
+				«ENDFOR»
+				«FOR connector : module.base_Class.ownedConnectors»
+				«ENDFOR»
+	'''
+
+
+	/**
+	 * Generate the code which consist to determine the data flow between layers
+	 * @param l the model ...
+	 */
+	static def genModuleCall(Model module) '''
+		def call(self, inputs):
+
+		«var nbr_lay = GenCheck.findNbrOfLayer(module)»
+		«var unsortedInformationFlowList = ModelOps.genInputOutputLayerArrayWithFlow(nbr_lay,module)»
+		
+		«IF unsortedInformationFlowList instanceof ModuleInfo»
+			«var sortedInformationFlowList = ModelOps.genFlowOrder(nbr_lay, unsortedInformationFlowList)»
+				«FOR layer :sortedInformationFlowList.toList»
+					«var inputs = sortedInformationFlowList.toList.indexOf(layer)-1»
+					«IF inputs<0»
+						x«sortedInformationFlowList.toList.indexOf(layer)» = self.«layer»(input)
+					«ELSEIF inputs>=0 && inputs<sortedInformationFlowList.length-2»
+						x«sortedInformationFlowList.toList.indexOf(layer)» = self.«layer»(x«inputs»)
+					«ELSEIF inputs==sortedInformationFlowList.length-2»
+						output = self.«layer»(x«inputs»)
+					«ENDIF»
+				«ENDFOR»
+		«ENDIF»	
+			return output		
+	'''
+
+	/**
+	 * Generate each layer according to the model
+	 */
+	static def genLayer(Model layer) {
+		if (layer instanceof Convolution_layers) {
+			genConvolutionLayer(layer as Convolution_layers)
+		} else if (layer instanceof Recurrent_layers) {
+			genRecurrentLayer(layer as Recurrent_layers)
+		} else if (layer instanceof Linear_layers) {
+			genLinearLayer(layer as Linear_layers)
+		}
+	}
+	/**
+	 * Generate each convolution layer according to the model
+	 */
+	static def genConvolutionLayer(Convolution_layers convolutionLayer) '''
+	'''
+	/**
+	 * Generate each linear layer according to the model
+	 */
+	static def genLinearLayer(Linear_layers linearLayer) {
+		if (linearLayer instanceof Linear) {
+			genDense(linearLayer as Linear)
+		}
+	}
+	/**
+	 * Generate each recurrent layer according to the model
+	 */
+	static def genRecurrentLayer(Recurrent_layers recurrentLayer) {
+		if (recurrentLayer instanceof LSTM) {
+			genLstm(recurrentLayer as LSTM)
+		} else if (recurrentLayer instanceof GRU) {
+			genGru(recurrentLayer as GRU)
+		}
+	}
+	/**
+	 * Generate each dense layer according to the model
+	 */
+	static def genDense(Linear denseLayer) '''
+		self.«denseLayer.base_Class.name»=tf.keras.layers.Dense(«denseLayer.in_features»)
+	'''
+	/**
+	 * Generate each LSTM layer according to the model
+	 */
+	static def genLstm(LSTM lstmLayer) '''
+		«««»»«IF lstmLayer.return_sequences.equals(true)»
+			«««self.«lstmLayer.base_Class.name»=tf.keras.layers.«lstmLayer.eClass.name»(«lstmLayer.hidden_size»,input_shape=[«lstmLayer.input_size»],return_sequences=True)
+		««««»»«ELSEIF lstmLayer.return_sequences.equals(false)»
+			««««self.«lstmLayer.base_Class.name»=tf.keras.layers.«lstmLayer.eClass.name»(«lstmLayer.hidden_size»,input_shape=[«lstmLayer.input_size»],return_sequences=False)
+		««««»»«ENDIF»	
+		«var tt = RecurrentLayerOps.lstmAttributesToDisplay(lstmLayer)»
+		«tt»
+	'''
+	/**
+	 * Generate each GRU layer according to the model
+	 */
+	static def genGru(GRU gruLayer) '''
+		«««»»«gruLayer.eClass.name»
+		«««»«gruLayer.input_size»
+		«var tt = RecurrentLayerOps.lstmAttributesToDisplay(gruLayer)»
+		«tt»
+	'''
+	/**
+	 * Generate each tensor according to the model
+	 */
+	static def genTensor(Tensor tensor) '''
+		tensor ...
+	'''
+
+}
diff --git a/aiml/org.eclipse.papyrus.aiml.gen.keras/src/org/eclipse/papyrus/aiml/gen/keras/KerasLangCodegen.java b/aiml/org.eclipse.papyrus.aiml.gen.keras/src/org/eclipse/papyrus/aiml/gen/keras/KerasLangCodegen.java
new file mode 100644
index 0000000..a710c8f
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.gen.keras/src/org/eclipse/papyrus/aiml/gen/keras/KerasLangCodegen.java
@@ -0,0 +1,100 @@
+/*******************************************************************************
+ * Copyright (c) 2020 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *     CEA LIST - ansgar.radermacher@cea.fr   initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.papyrus.aiml.gen.keras;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.papyrus.aiml.gen.keras.transformation.KerasModelElementsCreator;
+import org.eclipse.papyrus.aiml.profile.AIML.Module.Default_Container;
+import org.eclipse.papyrus.designer.languages.common.base.ModelElementsCreator;
+import org.eclipse.papyrus.designer.languages.common.extensionpoints.ILangCodegen2;
+import org.eclipse.papyrus.designer.languages.common.extensionpoints.MethodInfo;
+import org.eclipse.papyrus.designer.languages.common.extensionpoints.SyncInformation;
+import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.PackageableElement;
+
+/**
+ * Keras language support
+ */
+public class KerasLangCodegen implements ILangCodegen2 {
+
+	protected ModelElementsCreator creator = null;
+
+	protected IProject lastProject = null;
+
+	@Override
+	public String getDescription() {
+		return "A generator for Keras/TensorFlow"; //$NON-NLS-1$
+	}
+
+	@Override
+	public boolean isEligible(Element modelElement) {
+		if (modelElement instanceof Classifier) {
+			return StereotypeUtil.isApplied(modelElement, Default_Container.class);
+		}
+		return false;
+	}
+
+	@Override
+	public String getSuffix(FILE_KIND fileKind) {
+		return "py"; //$NON-NLS-1$
+	}
+	
+	@Override
+	public void generateCode(IProject project, PackageableElement element, IProgressMonitor monitor)
+	{
+		manageCreator(project, element);
+		creator.createPackageableElement(element, monitor);
+	}
+
+	@Override
+	public void cleanCode(IProject project, PackageableElement element, IProgressMonitor monitor) {
+		manageCreator(project, element);
+		creator.removePackageableElement(element, monitor);
+	}
+
+	@Override
+	public String getFileName(IProject project, NamedElement element) {
+		manageCreator(project, element);
+		return creator.getFileName(element);
+	}
+
+	@Override
+	public IProject getTargetProject(PackageableElement pe, boolean createIfMissing) {
+		return LocatePythonProject.getTargetProject(pe, createIfMissing);
+	}
+	
+	protected void manageCreator(IProject project, Element element) {
+		if ((project == null) && (element instanceof PackageableElement)) {
+			project = getTargetProject((PackageableElement) element, false);
+		}
+		if ((creator == null) || (project != lastProject)) {
+			lastProject = project;
+			creator = new KerasModelElementsCreator(project);
+		}
+	}
+
+	@Override
+	public SyncInformation getSyncInformation(String methodName, String body) {
+		return null;
+	}
+
+	@Override
+	public MethodInfo getMethodInfo(NamedElement operationOrBehavior) {
+		return null;
+	}
+}
diff --git a/aiml/org.eclipse.papyrus.aiml.gen.keras/src/org/eclipse/papyrus/aiml/gen/keras/LayerInfo.java b/aiml/org.eclipse.papyrus.aiml.gen.keras/src/org/eclipse/papyrus/aiml/gen/keras/LayerInfo.java
new file mode 100644
index 0000000..f65f46e
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.gen.keras/src/org/eclipse/papyrus/aiml/gen/keras/LayerInfo.java
@@ -0,0 +1,13 @@
+package org.eclipse.papyrus.aiml.gen.keras;
+
+
+public class LayerInfo {
+	LayerInfo (int size) {
+		attributeNames = new String[size];
+		attributeValues = new String[size];
+	}
+	String[] attributeNames;
+	String[] attributeValues;
+}
+
+
diff --git a/aiml/org.eclipse.papyrus.aiml.gen.keras/src/org/eclipse/papyrus/aiml/gen/keras/LocatePythonProject.java b/aiml/org.eclipse.papyrus.aiml.gen.keras/src/org/eclipse/papyrus/aiml/gen/keras/LocatePythonProject.java
new file mode 100644
index 0000000..107e39b
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.gen.keras/src/org/eclipse/papyrus/aiml/gen/keras/LocatePythonProject.java
@@ -0,0 +1,131 @@
+/*******************************************************************************
+ * Copyright (c) 2006 - 2013 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:
+ *     CEA LIST - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.papyrus.aiml.gen.keras;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.papyrus.designer.languages.common.base.TestInfo;
+import org.eclipse.papyrus.designer.languages.common.extensionpoints.ILangProjectSupport;
+import org.eclipse.papyrus.designer.languages.common.extensionpoints.LanguageProjectSupport;
+import org.eclipse.papyrus.uml.tools.utils.PackageUtil;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+public class LocatePythonProject {
+
+	private static final boolean Headless = TestInfo.runsHeadless();
+
+	/**
+	 * Locate and return the target project for the given packageable element. Return null if
+	 * no target project can be found.
+	 *
+	 * Ensures that the target project is correctly setup to contain generated C/C++ code. Does
+	 * not create a new project, but may modify existing ones.
+	 *
+	 * @param pe
+	 *            a packageable element within a model
+	 * @param createIfMissing
+	 *            if true, ask the user to apply the C++ nature if required.
+	 * @return the associated project, if the C++ nature is applied.
+	 */
+	public static IProject getTargetProject(PackageableElement pe, boolean createIfMissing) {
+		Package rootPkg = PackageUtil.getRootPackage(pe);
+
+		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
+
+		org.eclipse.papyrus.designer.languages.common.profile.Codegen.Project projectStereo =
+				UMLUtil.getStereotypeApplication(rootPkg, org.eclipse.papyrus.designer.languages.common.profile.Codegen.Project.class);
+		
+		String projectName;
+		if (projectStereo != null) {
+			projectName = projectStereo.getProjectName();
+		}
+		else {
+			projectName = "org.eclipse.papyrus.pygen." + rootPkg.getName(); //$NON-NLS-1$
+		}
+		IProject modelProject = root.getProject(projectName);
+		
+		if (!modelProject.exists()) {
+			if (Headless)
+			{
+				try {
+					modelProject.create(null);
+				} catch (CoreException e) {
+					return null;
+				}
+			}
+			else {
+				boolean create = createIfMissing && openQuestion(
+						"Create python project?",
+						String.format("Create python project with name %s? ", projectName));
+				if (create) {
+					// TODO - there is no Python project support yet, projectSupport will always throw an exception
+					//  => create PythonProjectSupport
+					try {
+						ILangProjectSupport projectSupport = LanguageProjectSupport.getProjectSupport("python"); //$NON-NLS-1$
+						modelProject = projectSupport.createProject(projectName);
+						projectSupport.setSettings(modelProject, projectSupport.initialConfigurationData());
+						if (modelProject == null) {
+							return null;
+						}
+					}
+					catch (Exception e) {
+						// create standard project
+						IProgressMonitor progressMonitor = new NullProgressMonitor();
+						try {
+							modelProject.create(progressMonitor);
+						} catch (CoreException ce) {
+							Activator.log.error(ce);
+						}
+					}
+				}
+				else {
+					return null;
+				}
+			}
+		}
+
+		// Make sure the target project is open. If it was just created then it is likely open,
+		// however if it is an old project then it could have been closed.
+		if (!modelProject.isOpen()) {
+			try {
+				modelProject.open(null);
+			} catch (CoreException e) {
+				return null;
+			}
+		}
+
+		// Make sure the target project has the python natures.
+		return modelProject;
+	}
+	
+	private static boolean openQuestion(final String title, final String message)
+	{
+		final boolean[] ret = new boolean[] { false };
+		Display.getDefault().syncExec(new Runnable() {
+			@Override
+			public void run() {
+				ret[0] = MessageDialog.openQuestion(Display.getCurrent().getActiveShell(), title, message);
+			}
+		});
+		return ret[0];
+	}
+}
diff --git a/aiml/org.eclipse.papyrus.aiml.gen.keras/src/org/eclipse/papyrus/aiml/gen/keras/ModelOps.xtend b/aiml/org.eclipse.papyrus.aiml.gen.keras/src/org/eclipse/papyrus/aiml/gen/keras/ModelOps.xtend
new file mode 100644
index 0000000..5481f7b
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.gen.keras/src/org/eclipse/papyrus/aiml/gen/keras/ModelOps.xtend
@@ -0,0 +1,238 @@
+package org.eclipse.papyrus.aiml.gen.keras
+
+import org.eclipse.papyrus.aiml.profile.AIML.Module.Model
+import org.eclipse.papyrus.aiml.gen.keras.GenCheck
+import java.util.ArrayList
+import org.eclipse.uml2.uml.InformationFlow
+
+/**
+ * Composing each functions needed to compute the model : _init_ and _call_
+ */
+class ModelOps {
+		static def modelAttributesToCollectProperly(Model mod_val) {
+	
+			var mi = new ModuleInfoAttributes()
+			for (value : mod_val.eClass.EAllAttributes) {
+				
+				var attri_name = value.name
+				mi.attributesName.add(attri_name)
+				var attri_val = mod_val.eGet(value)
+				mi.attributesValue.add(attri_val)
+				var attri_type= value.EType
+				mi.attributesType.add(value.EType.instanceClassName)
+				
+				if (attri_type.instanceClass.isAssignableFrom(Float)) {
+					
+				}
+			
+			}
+			//for (valu2 : mi.attributesValue){
+				//var attri_type= valu2.class.typeName
+				//mi.attributesType.add(valu2.class.typeName)
+			//}
+			return mi
+		}
+	/**
+	 * Select model attributes to display for the compilation
+	 */
+	static def modelAttributesToDisplayForCompilationProperly(Model mod) {
+
+		val attributes = ModelOps.modelAttributesToCollectProperly(mod) // Collect Attributes
+		var name_attrib = attributes.attributesName.toList
+		var val_attrib = attributes.attributesValue.toList
+		var String Display = mod.base_Class.name.toFirstLower + ".compile("
+		
+		var increm = 0
+		for (step : val_attrib) {
+			if( !name_attrib.get(increm).equals("name")){
+				if ( step instanceof String ) {
+					System.out.println("String ok")
+					
+
+					if (!GenCheck.isZeroForString(step) && !GenCheck.isNullOrEmptyForString(step) ) {
+						var String DisplayInit = name_attrib.get(increm)
+						var String DisplayStateZero = DisplayInit + '="' + step + '",'
+						Display = Display + DisplayStateZero
+					}
+				}else if ( step instanceof Boolean){
+						System.out.println("Boolean ok")
+					
+					if (!GenCheck.isFalseBoolean(step) && !GenCheck.isNull(step)) {
+						System.out.println("RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR")
+						
+						var String DisplayInit = name_attrib.get(increm)
+						var String DisplayStateZero = DisplayInit + '="' + step + '",'
+						Display = Display + DisplayStateZero
+					}					
+				
+				}
+			}
+			increm+=1
+				
+			
+		}
+		Display = Display.substring(0, Display.length() - 1) + ")"
+
+		return Display
+	}
+	/**
+	 * Collect model attributes for the compilation step
+	 */
+	static def modelAttributesToCollect(Model mod_val) {
+		var type = mod_val.eClass.ESuperTypes
+		var l = 0
+
+		var String[] namelisted = newArrayOfSize(mod_val.eClass.EAllAttributes.length)
+		var vallisted = newArrayOfSize(mod_val.eClass.EAllAttributes.length)
+		var typelisted = newArrayOfSize(mod_val.eClass.EAllAttributes.length)
+		var String[][] shades = newArrayOfSize(mod_val.eClass.EAllAttributes.length,
+			mod_val.eClass.EAllAttributes.length)
+
+		for (valu : mod_val.eClass.EAllAttributes) {
+			l = l + 1
+			var d = l - 1
+
+			var attri_name = valu.name
+			namelisted.set(d, attri_name)
+
+			if (!GenCheck.isNullOrEmptyForString(String.valueOf(mod_val.eGet(valu)))) {
+				val attri_type = mod_val.eGet(valu).getClass().getSimpleName()
+				typelisted.set(d, attri_type)
+
+				var attri_val = mod_val.eGet(valu)
+				vallisted.set(d, String.valueOf(attri_val))
+
+				val String[][] shade = #[namelisted, vallisted]
+				shades = shade
+			} else {
+				// System.err.println(valu+"\n");
+				// System.out.println(mod_val.eGet(valu));
+			}
+		}
+		// System.err.println(shades.toList.get(0).toList)
+		return shades
+	}
+
+	/**
+	 * Select model attributes to display for the compilation
+	 */
+	static def modelAttributesToDisplayForCompilation(Model mod) {
+
+		val attributes = org.eclipse.papyrus.aiml.gen.keras.ModelOps.modelAttributesToCollect(mod) // Collect Attributes
+		var name_attrib = attributes.get(0).toList
+		var val_attrib = attributes.get(1).toList
+		var String Display = mod.base_Class.name.toFirstLower + ".compile("
+
+		for (step : val_attrib) {
+			if (!GenCheck.isZeroForString(step) || !GenCheck.isNullOrEmptyForString(step) || !name_attrib.get(val_attrib.indexOf(step)).equals("name")) {
+				var String DisplayInit = name_attrib.get(val_attrib.indexOf(step))
+				var String DisplayStateZero = DisplayInit + '="' + step + '",'
+				Display = Display + DisplayStateZero
+			}
+		}
+		Display = Display.substring(0, Display.length() - 1) + ")"
+
+		return Display
+	}
+
+	/**
+	 * Collect information flow as following Input,Output -> [LayerName,Inputs,Outputs]
+	 */
+	static def genInputOutputLayerArrayWithFlow(Integer nbr_lay, Model l) {
+		val mi = new ModuleInfo(nbr_lay);
+		// System.err.println(l.base_Class.ownedAttributes+"\n")
+		var int i = 0
+
+
+		for (layer : l.base_Class.ownedAttributes) {
+			var inputList = layer.getTargetDirectedRelationships()
+			var outputList = layer.getSourceDirectedRelationships()
+			System.err.println("name Connection : "+layer.name)
+			
+			System.err.println("nbr Connection : "+layer.getTargetDirectedRelationships().length)
+			mi.layersName.set(i, layer.name)
+
+			for (input : inputList) {
+				val inFlow = input as InformationFlow
+
+				mi.layersInput.set(i, inFlow)
+			}
+
+			for (output : outputList) {
+
+				val outFlow = output as InformationFlow
+				mi.layersOutput.set(i, outFlow)
+			}
+			i = i + 1
+		}
+		i = 0
+		System.err.println(mi)
+		System.err.println(mi.layersInput.toList)
+
+		if(GenCheck.findNbrOfInformationFLowMissing(mi)!=0 && GenCheck.findNbrOfInformationFLowPara(l)!=0){
+				return mi
+		}else{
+			return 1
+		}
+
+		
+	}
+
+	/**
+	 * Sort layers according to informations flows
+	 */
+	static def genFlowOrder(Integer nbr_lay, ModuleInfo mi) {
+
+			
+			var index_first_layer = mi.genFlowOrderInit // genFlowOrderInit
+			var sorted_layer_indexs = new ArrayList
+			var sorted_layer_names = new ArrayList
+
+			sorted_layer_indexs.add(index_first_layer)
+
+			var i = 1
+			while (i < mi.layersName.toList.length) {
+				index_first_layer = genFlowOrderNext(mi, index_first_layer) // genFlowOrderNext
+				sorted_layer_indexs.add(index_first_layer)
+				i += 1
+			}
+
+			for (u : sorted_layer_indexs) {
+				sorted_layer_names.add(mi.layersName.toList.get(u))
+				System.out.println(mi.layersName.toList.get(u))
+			}
+			return sorted_layer_names
+		
+	}
+
+	/**
+	 * Collect the first layer according to the information flow  
+	 */
+	static def genFlowOrderInit(ModuleInfo mi) {
+		// var nbr_layer=mi.layersName.toList.length
+		// System.err.println(mi.layersName.toList.length)
+		var index_first_layer = 0
+
+		for (ell : mi.layersInput) {
+			if (ell === null) { // premiere couche 		
+			// System.err.println("deb : "+mi.layersName.toList.get(mi.layersInput.indexOf(ell)))						
+				index_first_layer = mi.layersInput.indexOf(ell)
+			}
+		}
+		return index_first_layer
+	}
+
+	/**
+	 * Collect following layers according to the information flow  
+	 */
+	static def genFlowOrderNext(ModuleInfo mi, Integer index_first_layer) {
+		var index_next_layer = index_first_layer
+
+		for (el : mi.layersInput) {
+			if (el === mi.layersOutput.toList.get(index_next_layer)) {
+				index_next_layer = mi.layersInput.indexOf(mi.layersOutput.toList.get(index_next_layer))
+				return index_next_layer
+			}
+		}
+	}
+}
diff --git a/aiml/org.eclipse.papyrus.aiml.gen.keras/src/org/eclipse/papyrus/aiml/gen/keras/ModuleInfo.java b/aiml/org.eclipse.papyrus.aiml.gen.keras/src/org/eclipse/papyrus/aiml/gen/keras/ModuleInfo.java
new file mode 100644
index 0000000..43e87b5
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.gen.keras/src/org/eclipse/papyrus/aiml/gen/keras/ModuleInfo.java
@@ -0,0 +1,14 @@
+package org.eclipse.papyrus.aiml.gen.keras;
+
+import org.eclipse.uml2.uml.InformationFlow;
+
+public class ModuleInfo {
+	ModuleInfo (int size) {
+		layersName = new String[size];
+		layersInput = new InformationFlow[size];
+		layersOutput = new InformationFlow[size];
+	}
+	String[] layersName;
+	InformationFlow[] layersInput;
+	InformationFlow[] layersOutput;
+}
diff --git a/aiml/org.eclipse.papyrus.aiml.gen.keras/src/org/eclipse/papyrus/aiml/gen/keras/ModuleInfoAttributes.java b/aiml/org.eclipse.papyrus.aiml.gen.keras/src/org/eclipse/papyrus/aiml/gen/keras/ModuleInfoAttributes.java
new file mode 100644
index 0000000..4c6e4c7
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.gen.keras/src/org/eclipse/papyrus/aiml/gen/keras/ModuleInfoAttributes.java
@@ -0,0 +1,19 @@
+package org.eclipse.papyrus.aiml.gen.keras;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class ModuleInfoAttributes {
+	ModuleInfoAttributes() {
+		attributesName = new ArrayList<String>();
+		attributesValue =new ArrayList<Object>();
+		attributesType = new ArrayList<String>();
+
+	}
+
+	List<String> attributesName;
+	List<Object> attributesValue;
+	List<String> attributesType;
+
+	
+}
diff --git a/aiml/org.eclipse.papyrus.aiml.gen.keras/src/org/eclipse/papyrus/aiml/gen/keras/RecurrentLayerOps.xtend b/aiml/org.eclipse.papyrus.aiml.gen.keras/src/org/eclipse/papyrus/aiml/gen/keras/RecurrentLayerOps.xtend
new file mode 100644
index 0000000..d0f78cf
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.gen.keras/src/org/eclipse/papyrus/aiml/gen/keras/RecurrentLayerOps.xtend
@@ -0,0 +1,110 @@
+package org.eclipse.papyrus.aiml.gen.keras
+
+import org.eclipse.papyrus.aiml.profile.AIML.Recurrent_layers.Recurrent_layers
+
+class RecurrentLayerOps {
+
+	
+	static def lstmAttributesToDisplay (Recurrent_layers lay_val){
+		var t = RecurrentLayerOps.lstmAttributesToCollect(lay_val)
+		var attributesNameList=t.attributeNames.toList
+		var attributesValueList=t.attributeValues.toList
+
+
+		var String DisplayInit="self."+lay_val.base_Class.name+"=tf.keras.layers."+lay_val.eClass.name	// example : self.lstm1=tf.keras.layers.LSTM
+		
+		var Display = ""																				// Initialization an empty String variable  
+		var modificationState=0
+		var in=0
+		for(step : attributesValueList){	
+			if( attributesNameList.get(in).equals("hidden_size")){
+				System.err.println(step)
+				var String DisplayHiddenSize = step+','
+				Display+=DisplayHiddenSize 		//à verifier += au lieu de d=d+a
+				modificationState++
+				
+			}
+			in+=1
+		}
+		
+		var ind =0
+		for(step : attributesValueList){
+	
+			if( GenCheck.isZeroForStringL(step) || GenCheck.isNullOrEmptyForString(step) || GenCheck.isFalseForString(step) ){
+				
+				//System.out.print("Rejected : "+attributesNameList.get(ind)+" = "+step+"\n")
+		
+			}else{
+				//System.out.print("Valid : "+attributesNameList.get(ind)+" = "+step+"\n")
+				
+				if(attributesNameList.get(ind).equals("name") || attributesNameList.get(ind).equals("hidden_size") || attributesNameList.get(ind).equals("num_layers")){
+				}else{
+					if(!attributesNameList.get(ind).endsWith("_pt")){		//filter PyTorch specific attributes
+						
+					
+						modificationState++
+						if(step.equals("true") || step.equals("false") ){	// correct Boolean value to python boolean with MAJ
+							var String DisplayInit1 = attributesNameList.get(ind)
+							
+							if(step.equals("false")){
+								var newstep = "F"+step.substring(1, step.length())
+								var String DisplayStateZero1 = DisplayInit1+'='+newstep+','
+								Display=Display+DisplayStateZero1
+														
+							}else{
+								var newstep = "T"+step.substring(1, step.length())
+								var String DisplayStateZero2 = DisplayInit1+'='+newstep+','
+								Display=Display+DisplayStateZero2						
+							}
+							
+						}else if(attributesNameList.get(ind).equals("input_size")){
+							var String DisplayInit3 = "input_shape"
+							var String DisplayStateZero3 = DisplayInit3+'=['+step+'],'
+							Display=Display+DisplayStateZero3					
+						
+						}else{
+							var String DisplayInit0 = attributesNameList.get(ind)
+							var String DisplayStateZero0 = DisplayInit0+'='+step+','
+							Display=Display+DisplayStateZero0
+						}
+					}
+				}
+			}
+			ind = ind + 1
+		}
+		
+		var displayFinal=""
+		
+		if (modificationState!=0){
+			displayFinal=DisplayInit+"("+Display.substring(0, Display.length() - 1)+")"
+		}else{
+			displayFinal=DisplayInit //Non optimal _ recuperer la valeur 
+		}
+		
+		return displayFinal
+	}
+
+	static def lstmAttributesToCollect (Recurrent_layers lay_val){
+		
+		val nbrOfAttributes=lay_val.eClass.EAllAttributes.length 		// Get the quantity of attributes
+		
+		var layerInformations = new LayerInfo(nbrOfAttributes)			// Call LayerInformation Constructor to build 2D Array
+		
+		var attributesNameList = layerInformations.attributeNames		// Dispatch attributesNames from LayerInformation in a List
+		var attributesValueList = layerInformations.attributeValues		// Dispatch attributesValues from LayerInformation in a List
+		
+		var l=0															// Index initialization for the incremental loop
+		for (valu : lay_val.eClass.EAllAttributes){						// Loop which will collect Attribute Names and Attribute Values for Layers 
+			
+			var attri_name=valu.name									// Variable instance for attribute name for each elements in the loop
+			attributesNameList.set(l,attri_name)						// Add attribute name in the list
+			
+			var attri_val=lay_val.eGet(valu)							// Variable instance for attribute values for each elements in the loop and String conversion
+			attributesValueList.set(l,String.valueOf(attri_val))		// Add attribute value in the list
+			
+			l=l+1														// Index incrementation +1 during loop
+			
+		} 
+		return layerInformations										// return LayerInfo object [Name,Value]
+	}	
+}
\ No newline at end of file
diff --git a/aiml/org.eclipse.papyrus.aiml.gen.keras/src/org/eclipse/papyrus/aiml/gen/keras/transformation/KerasModelElementsCreator.java b/aiml/org.eclipse.papyrus.aiml.gen.keras/src/org/eclipse/papyrus/aiml/gen/keras/transformation/KerasModelElementsCreator.java
new file mode 100644
index 0000000..c51265a
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.gen.keras/src/org/eclipse/papyrus/aiml/gen/keras/transformation/KerasModelElementsCreator.java
@@ -0,0 +1,71 @@
+/*******************************************************************************
+ * Copyright (c) 2016 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:
+ *   Ansgar Radermacher - Initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.papyrus.aiml.gen.keras.transformation;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.papyrus.aiml.gen.keras.GenKeras;
+import org.eclipse.papyrus.aiml.profile.AIML.Module.Model;
+import org.eclipse.papyrus.designer.languages.common.base.HierarchyLocationStrategy;
+import org.eclipse.papyrus.designer.languages.common.base.ModelElementsCreator;
+import org.eclipse.papyrus.designer.languages.common.base.file.FileSystemAccessFactory;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+public class KerasModelElementsCreator extends ModelElementsCreator {
+
+	private static final String PYTHON_LANG = "python"; //$NON-NLS-1$
+
+	private boolean done = false ;
+	
+	public KerasModelElementsCreator(IProject project) {
+		this(project, PYTHON_LANG);
+	}
+
+	public KerasModelElementsCreator(IProject project, String language) {
+		super(FileSystemAccessFactory.create(project), new HierarchyLocationStrategy(), language);
+		this.project = project;
+		pythonExt = "py"; //$NON-NLS-1$
+	}
+
+	protected String pythonExt;
+
+	@Override
+	protected boolean noCodeGen(Element element) {
+		return false;
+	}
+
+	@Override
+	protected void createPackageableElementFile(PackageableElement pe, IProgressMonitor monitor) {
+		if (pe instanceof Classifier) {
+			Classifier classifier = (Classifier) pe;
+			final String fileName = locStrategy.getFileName(classifier) + "." + pythonExt; //$NON-NLS-1$
+			String result = ""; //$NON-NLS-1$
+			if (classifier instanceof Class) {
+				Model dc = UMLUtil.getStereotypeApplication(pe, Model.class);
+				if (!done && dc.getClass().getName().contains("Model") ) {
+					result = GenKeras.genKeras((Class) classifier).toString();
+					fileSystemAccess.generateFile(fileName, result);
+					done = true;
+			}else{
+					//System.err.print(dc);		
+				}
+			}
+		}
+	}
+}
diff --git a/aiml/org.eclipse.papyrus.aiml.gen.keras/xtend-gen/org/eclipse/papyrus/aiml/gen/keras/GenCheck.java b/aiml/org.eclipse.papyrus.aiml.gen.keras/xtend-gen/org/eclipse/papyrus/aiml/gen/keras/GenCheck.java
new file mode 100644
index 0000000..dcd335b
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.gen.keras/xtend-gen/org/eclipse/papyrus/aiml/gen/keras/GenCheck.java
@@ -0,0 +1,107 @@
+package org.eclipse.papyrus.aiml.gen.keras;
+
+import java.util.HashSet;
+import java.util.List;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.papyrus.aiml.gen.keras.ModuleInfo;
+import org.eclipse.papyrus.aiml.profile.AIML.Module.Model;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.uml2.uml.InformationFlow;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.xtext.xbase.lib.Conversions;
+import org.eclipse.xtext.xbase.lib.IterableExtensions;
+
+@SuppressWarnings("all")
+public class GenCheck {
+  /**
+   * return true if Null for each type
+   */
+  public static boolean isNull(final Object value) {
+    return (value == null);
+  }
+  
+  /**
+   * return true if Null for each type
+   */
+  public static boolean isFalseBoolean(final Boolean value) {
+    boolean _booleanValue = value.booleanValue();
+    return (Boolean.valueOf(_booleanValue) == Boolean.FALSE);
+  }
+  
+  /**
+   * return true if Null or string value is empty
+   */
+  public static boolean isNullOrEmptyForString(final String value) {
+    return (((value == null) || (value.length() == 0)) || (value == "null"));
+  }
+  
+  public static boolean isZeroForString(final String value) {
+    return ((value == "0.0") || (value == "0"));
+  }
+  
+  public static boolean isZeroForStringL(final String value) {
+    return (value.equals("0.0") || value.equals("0"));
+  }
+  
+  /**
+   * return true if string value is equal to false
+   */
+  public static boolean isFalseForString(final String value) {
+    return ((value != null) && value.equals("false"));
+  }
+  
+  /**
+   * collect the number of layers in the model
+   */
+  public static int findNbrOfLayer(final Model l) {
+    int nbr_lay = 0;
+    EList<Property> _ownedAttributes = l.getBase_Class().getOwnedAttributes();
+    for (final Property layer : _ownedAttributes) {
+      {
+        l.getClass().getSimpleName();
+        nbr_lay = (nbr_lay + 1);
+      }
+    }
+    return nbr_lay;
+  }
+  
+  public static int findNbrOfInformationFLowPara(final Model l) {
+    int nbrInformationFlowFinal = 0;
+    int nbrInformationFlowByLayer = 0;
+    EList<Property> _ownedAttributes = l.getBase_Class().getOwnedAttributes();
+    for (final Property layer : _ownedAttributes) {
+      {
+        nbrInformationFlowByLayer = ((Object[])Conversions.unwrapArray(layer.getTargetDirectedRelationships(), Object.class)).length;
+        if ((nbrInformationFlowByLayer > nbrInformationFlowFinal)) {
+          nbrInformationFlowFinal = nbrInformationFlowByLayer;
+        }
+      }
+    }
+    if ((nbrInformationFlowFinal > 1)) {
+      MessageDialog.openWarning(Display.getCurrent().getActiveShell(), "Warning Message : InformationFlow ", 
+        "NOT SUPPORTED : InformationFLow parallelization (Double entry) ");
+      return 0;
+    } else {
+      return 1;
+    }
+  }
+  
+  public static int findNbrOfInformationFLowMissing(final ModuleInfo mi) {
+    List<InformationFlow> _list = IterableExtensions.<InformationFlow>toList(((Iterable<InformationFlow>)Conversions.doWrapArray(mi.layersInput)));
+    String _plus = ("module info list : " + _list);
+    System.err.println(_plus);
+    HashSet hs = new HashSet<String>();
+    hs.addAll(IterableExtensions.<Object>toList(((Iterable<Object>)Conversions.doWrapArray(mi.layersInput))));
+    int _size = IterableExtensions.<InformationFlow>toList(((Iterable<InformationFlow>)Conversions.doWrapArray(mi.layersInput))).size();
+    int _size_1 = hs.size();
+    int totalDuplicates = (_size - _size_1);
+    if ((totalDuplicates != 0)) {
+      MessageDialog.openWarning(Display.getCurrent().getActiveShell(), "Warning Message : InformationFlow ", 
+        "NOT SUPPORTED :  Missing InformationFlow Connection");
+      return 0;
+    } else {
+      return 1;
+    }
+  }
+}
diff --git a/aiml/org.eclipse.papyrus.aiml.gen.keras/xtend-gen/org/eclipse/papyrus/aiml/gen/keras/GenKeras.java b/aiml/org.eclipse.papyrus.aiml.gen.keras/xtend-gen/org/eclipse/papyrus/aiml/gen/keras/GenKeras.java
new file mode 100644
index 0000000..8f93b08
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.gen.keras/xtend-gen/org/eclipse/papyrus/aiml/gen/keras/GenKeras.java
@@ -0,0 +1,362 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse 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:
+ *   Abhishek Djeachandrane - Initial API and implementation
+ */
+package org.eclipse.papyrus.aiml.gen.keras;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.aiml.gen.keras.GenCheck;
+import org.eclipse.papyrus.aiml.gen.keras.ModelOps;
+import org.eclipse.papyrus.aiml.gen.keras.ModuleInfo;
+import org.eclipse.papyrus.aiml.gen.keras.ModuleInfoAttributes;
+import org.eclipse.papyrus.aiml.gen.keras.RecurrentLayerOps;
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layers;
+import org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear;
+import org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layers;
+import org.eclipse.papyrus.aiml.profile.AIML.Module.Model;
+import org.eclipse.papyrus.aiml.profile.AIML.Recurrent_layers.GRU;
+import org.eclipse.papyrus.aiml.profile.AIML.Recurrent_layers.LSTM;
+import org.eclipse.papyrus.aiml.profile.AIML.Recurrent_layers.Recurrent_layers;
+import org.eclipse.papyrus.aiml.profile.AIML.Tensor.Tensor;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+import org.eclipse.xtend2.lib.StringConcatenation;
+import org.eclipse.xtext.xbase.lib.Conversions;
+import org.eclipse.xtext.xbase.lib.IterableExtensions;
+import org.eclipse.xtext.xbase.lib.StringExtensions;
+
+@SuppressWarnings("all")
+public class GenKeras {
+  public static CharSequence genKeras(final org.eclipse.uml2.uml.Class clazz) {
+    final Model module = UMLUtil.<Model>getStereotypeApplication(clazz, Model.class);
+    if ((module != null)) {
+      return GenKeras.genModule(module);
+    } else {
+      return "";
+    }
+  }
+  
+  /**
+   * Generate a model with different elements necessary for the compilation
+   */
+  public static CharSequence genModule(final Model module) {
+    StringConcatenation _builder = new StringConcatenation();
+    CharSequence _genDefaultTemplate = GenKeras.genDefaultTemplate(module);
+    _builder.append(_genDefaultTemplate);
+    _builder.newLineIfNotEmpty();
+    _builder.newLine();
+    CharSequence _genModuleInit = GenKeras.genModuleInit(module);
+    _builder.append(_genModuleInit);
+    _builder.newLineIfNotEmpty();
+    _builder.newLine();
+    _builder.append("\t");
+    CharSequence _genModuleCall = GenKeras.genModuleCall(module);
+    _builder.append(_genModuleCall, "\t");
+    _builder.newLineIfNotEmpty();
+    _builder.newLine();
+    CharSequence _genModuleCompilation = GenKeras.genModuleCompilation(module);
+    _builder.append(_genModuleCompilation);
+    _builder.newLineIfNotEmpty();
+    _builder.newLine();
+    _builder.newLine();
+    _builder.newLine();
+    _builder.newLine();
+    _builder.newLine();
+    return _builder;
+  }
+  
+  /**
+   * Generate the model instance and compilation
+   */
+  public static CharSequence genModuleCompilation(final Model module) {
+    StringConcatenation _builder = new StringConcatenation();
+    String _firstLower = StringExtensions.toFirstLower(module.getBase_Class().getName());
+    _builder.append(_firstLower);
+    _builder.append(" = ");
+    String _name = module.getBase_Class().getName();
+    _builder.append(_name);
+    _builder.append("()");
+    _builder.newLineIfNotEmpty();
+    _builder.append("\t\t");
+    ModuleInfoAttributes study = ModelOps.modelAttributesToCollectProperly(module);
+    _builder.newLineIfNotEmpty();
+    List<String> _list = IterableExtensions.<String>toList(study.attributesName);
+    _builder.append(_list);
+    _builder.newLineIfNotEmpty();
+    List<Object> _list_1 = IterableExtensions.<Object>toList(study.attributesValue);
+    _builder.append(_list_1);
+    _builder.newLineIfNotEmpty();
+    List<String> _list_2 = IterableExtensions.<String>toList(study.attributesType);
+    _builder.append(_list_2);
+    _builder.newLineIfNotEmpty();
+    {
+      List<Object> _list_3 = IterableExtensions.<Object>toList(study.attributesValue);
+      for(final Object n : _list_3) {
+        _builder.newLine();
+      }
+    }
+    String study2 = ModelOps.modelAttributesToDisplayForCompilationProperly(module);
+    _builder.newLineIfNotEmpty();
+    _builder.append(study2);
+    _builder.newLineIfNotEmpty();
+    return _builder;
+  }
+  
+  /**
+   * Generate the basic template with importation in the head of the code
+   */
+  public static CharSequence genDefaultTemplate(final Model module) {
+    StringConcatenation _builder = new StringConcatenation();
+    _builder.append("# generated by Papyrus from module ");
+    Class<? extends org.eclipse.uml2.uml.Class> _class = module.getBase_Class().getClass();
+    _builder.append(_class);
+    _builder.newLineIfNotEmpty();
+    _builder.newLine();
+    _builder.append("import tensorflow as tf");
+    _builder.newLine();
+    _builder.append("from tensorflow import keras");
+    _builder.newLine();
+    _builder.append("inputs=[(1,2),(3,4)]");
+    _builder.newLine();
+    return _builder;
+  }
+  
+  /**
+   * Generate layer instance through modeling
+   */
+  public static CharSequence genModuleInit(final Model module) {
+    StringConcatenation _builder = new StringConcatenation();
+    _builder.append("class ");
+    String _name = module.getBase_Class().getName();
+    _builder.append(_name);
+    _builder.append("(tf.keras.Model):");
+    _builder.newLineIfNotEmpty();
+    _builder.append("\t");
+    _builder.append("def __init__(self):");
+    _builder.newLine();
+    _builder.append("\t\t");
+    _builder.append("super(MyModel, self).__init__()");
+    _builder.newLine();
+    _builder.append("\t\t");
+    _builder.newLine();
+    {
+      EList<Property> _ownedAttributes = module.getBase_Class().getOwnedAttributes();
+      for(final Property layer : _ownedAttributes) {
+        _builder.append("\t\t");
+        final Type type = layer.getType();
+        _builder.newLineIfNotEmpty();
+        _builder.append("\t\t");
+        final Model layerSt = UMLUtil.<Model>getStereotypeApplication(type, Model.class);
+        _builder.newLineIfNotEmpty();
+        _builder.append("\t\t");
+        CharSequence _genLayer = GenKeras.genLayer(layerSt);
+        _builder.append(_genLayer, "\t\t");
+        _builder.newLineIfNotEmpty();
+      }
+    }
+    {
+      EList<Connector> _ownedConnectors = module.getBase_Class().getOwnedConnectors();
+      for(final Connector connector : _ownedConnectors) {
+      }
+    }
+    return _builder;
+  }
+  
+  /**
+   * Generate the code which consist to determine the data flow between layers
+   * @param l the model ...
+   */
+  public static CharSequence genModuleCall(final Model module) {
+    StringConcatenation _builder = new StringConcatenation();
+    _builder.append("def call(self, inputs):");
+    _builder.newLine();
+    _builder.newLine();
+    int nbr_lay = GenCheck.findNbrOfLayer(module);
+    _builder.newLineIfNotEmpty();
+    Object unsortedInformationFlowList = ModelOps.genInputOutputLayerArrayWithFlow(Integer.valueOf(nbr_lay), module);
+    _builder.newLineIfNotEmpty();
+    _builder.newLine();
+    {
+      if ((unsortedInformationFlowList instanceof ModuleInfo)) {
+        ArrayList<String> sortedInformationFlowList = ModelOps.genFlowOrder(Integer.valueOf(nbr_lay), ((ModuleInfo)unsortedInformationFlowList));
+        _builder.newLineIfNotEmpty();
+        {
+          List<String> _list = IterableExtensions.<String>toList(sortedInformationFlowList);
+          for(final String layer : _list) {
+            _builder.append("\t");
+            int _indexOf = IterableExtensions.<String>toList(sortedInformationFlowList).indexOf(layer);
+            int inputs = (_indexOf - 1);
+            _builder.newLineIfNotEmpty();
+            {
+              if ((inputs < 0)) {
+                _builder.append("\t");
+                _builder.append("x");
+                int _indexOf_1 = IterableExtensions.<String>toList(sortedInformationFlowList).indexOf(layer);
+                _builder.append(_indexOf_1, "\t");
+                _builder.append(" = self.");
+                _builder.append(layer, "\t");
+                _builder.append("(input)");
+                _builder.newLineIfNotEmpty();
+              } else {
+                if (((inputs >= 0) && (inputs < (((Object[])Conversions.unwrapArray(sortedInformationFlowList, Object.class)).length - 2)))) {
+                  _builder.append("\t");
+                  _builder.append("x");
+                  int _indexOf_2 = IterableExtensions.<String>toList(sortedInformationFlowList).indexOf(layer);
+                  _builder.append(_indexOf_2, "\t");
+                  _builder.append(" = self.");
+                  _builder.append(layer, "\t");
+                  _builder.append("(x");
+                  _builder.append(inputs, "\t");
+                  _builder.append(")");
+                  _builder.newLineIfNotEmpty();
+                } else {
+                  final ArrayList<String> _converted_sortedInformationFlowList = (ArrayList<String>)sortedInformationFlowList;
+                  int _length = ((Object[])Conversions.unwrapArray(_converted_sortedInformationFlowList, Object.class)).length;
+                  int _minus = (_length - 2);
+                  boolean _equals = (inputs == _minus);
+                  if (_equals) {
+                    _builder.append("\t");
+                    _builder.append("output = self.");
+                    _builder.append(layer, "\t");
+                    _builder.append("(x");
+                    _builder.append(inputs, "\t");
+                    _builder.append(")");
+                    _builder.newLineIfNotEmpty();
+                  }
+                }
+              }
+            }
+          }
+        }
+      }
+    }
+    _builder.append("\t");
+    _builder.append("return output\t\t");
+    _builder.newLine();
+    return _builder;
+  }
+  
+  /**
+   * Generate each layer according to the model
+   */
+  public static CharSequence genLayer(final Model layer) {
+    CharSequence _xifexpression = null;
+    if ((layer instanceof Convolution_layers)) {
+      _xifexpression = GenKeras.genConvolutionLayer(((Convolution_layers) layer));
+    } else {
+      CharSequence _xifexpression_1 = null;
+      if ((layer instanceof Recurrent_layers)) {
+        _xifexpression_1 = GenKeras.genRecurrentLayer(((Recurrent_layers) layer));
+      } else {
+        CharSequence _xifexpression_2 = null;
+        if ((layer instanceof Linear_layers)) {
+          _xifexpression_2 = GenKeras.genLinearLayer(((Linear_layers) layer));
+        }
+        _xifexpression_1 = _xifexpression_2;
+      }
+      _xifexpression = _xifexpression_1;
+    }
+    return _xifexpression;
+  }
+  
+  /**
+   * Generate each convolution layer according to the model
+   */
+  public static CharSequence genConvolutionLayer(final Convolution_layers convolutionLayer) {
+    StringConcatenation _builder = new StringConcatenation();
+    return _builder;
+  }
+  
+  /**
+   * Generate each linear layer according to the model
+   */
+  public static CharSequence genLinearLayer(final Linear_layers linearLayer) {
+    CharSequence _xifexpression = null;
+    if ((linearLayer instanceof Linear)) {
+      _xifexpression = GenKeras.genDense(((Linear) linearLayer));
+    }
+    return _xifexpression;
+  }
+  
+  /**
+   * Generate each recurrent layer according to the model
+   */
+  public static CharSequence genRecurrentLayer(final Recurrent_layers recurrentLayer) {
+    CharSequence _xifexpression = null;
+    if ((recurrentLayer instanceof LSTM)) {
+      _xifexpression = GenKeras.genLstm(((LSTM) recurrentLayer));
+    } else {
+      CharSequence _xifexpression_1 = null;
+      if ((recurrentLayer instanceof GRU)) {
+        _xifexpression_1 = GenKeras.genGru(((GRU) recurrentLayer));
+      }
+      _xifexpression = _xifexpression_1;
+    }
+    return _xifexpression;
+  }
+  
+  /**
+   * Generate each dense layer according to the model
+   */
+  public static CharSequence genDense(final Linear denseLayer) {
+    StringConcatenation _builder = new StringConcatenation();
+    _builder.append("self.");
+    String _name = denseLayer.getBase_Class().getName();
+    _builder.append(_name);
+    _builder.append("=tf.keras.layers.Dense(");
+    int _in_features = denseLayer.getIn_features();
+    _builder.append(_in_features);
+    _builder.append(")");
+    _builder.newLineIfNotEmpty();
+    return _builder;
+  }
+  
+  /**
+   * Generate each LSTM layer according to the model
+   */
+  public static CharSequence genLstm(final LSTM lstmLayer) {
+    StringConcatenation _builder = new StringConcatenation();
+    _builder.append("\t\t\t\t\t\t\t\t\t\t\t\t");
+    String tt = RecurrentLayerOps.lstmAttributesToDisplay(lstmLayer);
+    _builder.newLineIfNotEmpty();
+    _builder.append(tt);
+    _builder.newLineIfNotEmpty();
+    return _builder;
+  }
+  
+  /**
+   * Generate each GRU layer according to the model
+   */
+  public static CharSequence genGru(final GRU gruLayer) {
+    StringConcatenation _builder = new StringConcatenation();
+    _builder.append("\t\t\t\t");
+    String tt = RecurrentLayerOps.lstmAttributesToDisplay(gruLayer);
+    _builder.newLineIfNotEmpty();
+    _builder.append(tt);
+    _builder.newLineIfNotEmpty();
+    return _builder;
+  }
+  
+  /**
+   * Generate each tensor according to the model
+   */
+  public static CharSequence genTensor(final Tensor tensor) {
+    StringConcatenation _builder = new StringConcatenation();
+    _builder.append("tensor ...");
+    _builder.newLine();
+    return _builder;
+  }
+}
diff --git a/aiml/org.eclipse.papyrus.aiml.gen.keras/xtend-gen/org/eclipse/papyrus/aiml/gen/keras/ModelOps.java b/aiml/org.eclipse.papyrus.aiml.gen.keras/xtend-gen/org/eclipse/papyrus/aiml/gen/keras/ModelOps.java
new file mode 100644
index 0000000..39a3b71
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.gen.keras/xtend-gen/org/eclipse/papyrus/aiml/gen/keras/ModelOps.java
@@ -0,0 +1,245 @@
+package org.eclipse.papyrus.aiml.gen.keras;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.papyrus.aiml.gen.keras.GenCheck;
+import org.eclipse.papyrus.aiml.gen.keras.ModuleInfo;
+import org.eclipse.papyrus.aiml.gen.keras.ModuleInfoAttributes;
+import org.eclipse.papyrus.aiml.profile.AIML.Module.Model;
+import org.eclipse.uml2.uml.DirectedRelationship;
+import org.eclipse.uml2.uml.InformationFlow;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.xtext.xbase.lib.Conversions;
+import org.eclipse.xtext.xbase.lib.IterableExtensions;
+import org.eclipse.xtext.xbase.lib.StringExtensions;
+
+/**
+ * Composing each functions needed to compute the model : _init_ and _call_
+ */
+@SuppressWarnings("all")
+public class ModelOps {
+  public static ModuleInfoAttributes modelAttributesToCollectProperly(final Model mod_val) {
+    ModuleInfoAttributes mi = new ModuleInfoAttributes();
+    EList<EAttribute> _eAllAttributes = mod_val.eClass().getEAllAttributes();
+    for (final EAttribute value : _eAllAttributes) {
+      {
+        String attri_name = value.getName();
+        mi.attributesName.add(attri_name);
+        Object attri_val = mod_val.eGet(value);
+        mi.attributesValue.add(attri_val);
+        EClassifier attri_type = value.getEType();
+        mi.attributesType.add(value.getEType().getInstanceClassName());
+        boolean _isAssignableFrom = attri_type.getInstanceClass().isAssignableFrom(Float.class);
+        if (_isAssignableFrom) {
+        }
+      }
+    }
+    return mi;
+  }
+  
+  /**
+   * Select model attributes to display for the compilation
+   */
+  public static String modelAttributesToDisplayForCompilationProperly(final Model mod) {
+    final ModuleInfoAttributes attributes = ModelOps.modelAttributesToCollectProperly(mod);
+    List<String> name_attrib = IterableExtensions.<String>toList(attributes.attributesName);
+    List<Object> val_attrib = IterableExtensions.<Object>toList(attributes.attributesValue);
+    String _firstLower = StringExtensions.toFirstLower(mod.getBase_Class().getName());
+    String Display = (_firstLower + ".compile(");
+    int increm = 0;
+    for (final Object step : val_attrib) {
+      {
+        boolean _equals = name_attrib.get(increm).equals("name");
+        boolean _not = (!_equals);
+        if (_not) {
+          if ((step instanceof String)) {
+            System.out.println("String ok");
+            if (((!GenCheck.isZeroForString(((String)step))) && (!GenCheck.isNullOrEmptyForString(((String)step))))) {
+              String DisplayInit = name_attrib.get(increm);
+              String DisplayStateZero = (((DisplayInit + "=\"") + ((String)step)) + "\",");
+              Display = (Display + DisplayStateZero);
+            }
+          } else {
+            if ((step instanceof Boolean)) {
+              System.out.println("Boolean ok");
+              if (((!GenCheck.isFalseBoolean(((Boolean)step))) && (!GenCheck.isNull(step)))) {
+                System.out.println("RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR");
+                String DisplayInit_1 = name_attrib.get(increm);
+                String DisplayStateZero_1 = (((DisplayInit_1 + "=\"") + step) + "\",");
+                Display = (Display + DisplayStateZero_1);
+              }
+            }
+          }
+        }
+        int _increm = increm;
+        increm = (_increm + 1);
+      }
+    }
+    int _length = Display.length();
+    int _minus = (_length - 1);
+    String _substring = Display.substring(0, _minus);
+    String _plus = (_substring + ")");
+    Display = _plus;
+    return Display;
+  }
+  
+  /**
+   * Collect model attributes for the compilation step
+   */
+  public static String[][] modelAttributesToCollect(final Model mod_val) {
+    EList<EClass> type = mod_val.eClass().getESuperTypes();
+    int l = 0;
+    String[] namelisted = new String[((Object[])Conversions.unwrapArray(mod_val.eClass().getEAllAttributes(), Object.class)).length];
+    String[] vallisted = new String[((Object[])Conversions.unwrapArray(mod_val.eClass().getEAllAttributes(), Object.class)).length];
+    String[] typelisted = new String[((Object[])Conversions.unwrapArray(mod_val.eClass().getEAllAttributes(), Object.class)).length];
+    String[][] shades = new String[((Object[])Conversions.unwrapArray(mod_val.eClass().getEAllAttributes(), Object.class)).length][
+      ((Object[])Conversions.unwrapArray(mod_val.eClass().getEAllAttributes(), Object.class)).length];
+    EList<EAttribute> _eAllAttributes = mod_val.eClass().getEAllAttributes();
+    for (final EAttribute valu : _eAllAttributes) {
+      {
+        l = (l + 1);
+        int d = (l - 1);
+        String attri_name = valu.getName();
+        namelisted[d] = attri_name;
+        boolean _isNullOrEmptyForString = GenCheck.isNullOrEmptyForString(String.valueOf(mod_val.eGet(valu)));
+        boolean _not = (!_isNullOrEmptyForString);
+        if (_not) {
+          final String attri_type = mod_val.eGet(valu).getClass().getSimpleName();
+          typelisted[d] = attri_type;
+          Object attri_val = mod_val.eGet(valu);
+          vallisted[d] = String.valueOf(attri_val);
+          final String[][] shade = { namelisted, vallisted };
+          shades = shade;
+        } else {
+        }
+      }
+    }
+    return shades;
+  }
+  
+  /**
+   * Select model attributes to display for the compilation
+   */
+  public static String modelAttributesToDisplayForCompilation(final Model mod) {
+    final String[][] attributes = ModelOps.modelAttributesToCollect(mod);
+    List<String> name_attrib = IterableExtensions.<String>toList(((Iterable<String>)Conversions.doWrapArray(attributes[0])));
+    List<String> val_attrib = IterableExtensions.<String>toList(((Iterable<String>)Conversions.doWrapArray(attributes[1])));
+    String _firstLower = StringExtensions.toFirstLower(mod.getBase_Class().getName());
+    String Display = (_firstLower + ".compile(");
+    for (final String step : val_attrib) {
+      if ((((!GenCheck.isZeroForString(step)) || (!GenCheck.isNullOrEmptyForString(step))) || (!name_attrib.get(val_attrib.indexOf(step)).equals("name")))) {
+        String DisplayInit = name_attrib.get(val_attrib.indexOf(step));
+        String DisplayStateZero = (((DisplayInit + "=\"") + step) + "\",");
+        Display = (Display + DisplayStateZero);
+      }
+    }
+    int _length = Display.length();
+    int _minus = (_length - 1);
+    String _substring = Display.substring(0, _minus);
+    String _plus = (_substring + ")");
+    Display = _plus;
+    return Display;
+  }
+  
+  /**
+   * Collect information flow as following Input,Output -> [LayerName,Inputs,Outputs]
+   */
+  public static Object genInputOutputLayerArrayWithFlow(final Integer nbr_lay, final Model l) {
+    final ModuleInfo mi = new ModuleInfo((nbr_lay).intValue());
+    int i = 0;
+    EList<Property> _ownedAttributes = l.getBase_Class().getOwnedAttributes();
+    for (final Property layer : _ownedAttributes) {
+      {
+        EList<DirectedRelationship> inputList = layer.getTargetDirectedRelationships();
+        EList<DirectedRelationship> outputList = layer.getSourceDirectedRelationships();
+        String _name = layer.getName();
+        String _plus = ("name Connection : " + _name);
+        System.err.println(_plus);
+        int _length = ((Object[])Conversions.unwrapArray(layer.getTargetDirectedRelationships(), Object.class)).length;
+        String _plus_1 = ("nbr Connection : " + Integer.valueOf(_length));
+        System.err.println(_plus_1);
+        mi.layersName[i] = layer.getName();
+        for (final DirectedRelationship input : inputList) {
+          {
+            final InformationFlow inFlow = ((InformationFlow) input);
+            mi.layersInput[i] = inFlow;
+          }
+        }
+        for (final DirectedRelationship output : outputList) {
+          {
+            final InformationFlow outFlow = ((InformationFlow) output);
+            mi.layersOutput[i] = outFlow;
+          }
+        }
+        i = (i + 1);
+      }
+    }
+    i = 0;
+    System.err.println(mi);
+    System.err.println(IterableExtensions.<InformationFlow>toList(((Iterable<InformationFlow>)Conversions.doWrapArray(mi.layersInput))));
+    if (((GenCheck.findNbrOfInformationFLowMissing(mi) != 0) && (GenCheck.findNbrOfInformationFLowPara(l) != 0))) {
+      return mi;
+    } else {
+      return Integer.valueOf(1);
+    }
+  }
+  
+  /**
+   * Sort layers according to informations flows
+   */
+  public static ArrayList<String> genFlowOrder(final Integer nbr_lay, final ModuleInfo mi) {
+    int index_first_layer = ModelOps.genFlowOrderInit(mi);
+    ArrayList<Integer> sorted_layer_indexs = new ArrayList<Integer>();
+    ArrayList<String> sorted_layer_names = new ArrayList<String>();
+    sorted_layer_indexs.add(Integer.valueOf(index_first_layer));
+    int i = 1;
+    while ((i < ((Object[])Conversions.unwrapArray(IterableExtensions.<String>toList(((Iterable<String>)Conversions.doWrapArray(mi.layersName))), Object.class)).length)) {
+      {
+        index_first_layer = (ModelOps.genFlowOrderNext(mi, Integer.valueOf(index_first_layer))).intValue();
+        sorted_layer_indexs.add(Integer.valueOf(index_first_layer));
+        int _i = i;
+        i = (_i + 1);
+      }
+    }
+    for (final Integer u : sorted_layer_indexs) {
+      {
+        sorted_layer_names.add(IterableExtensions.<String>toList(((Iterable<String>)Conversions.doWrapArray(mi.layersName))).get((u).intValue()));
+        System.out.println(IterableExtensions.<String>toList(((Iterable<String>)Conversions.doWrapArray(mi.layersName))).get((u).intValue()));
+      }
+    }
+    return sorted_layer_names;
+  }
+  
+  /**
+   * Collect the first layer according to the information flow
+   */
+  public static int genFlowOrderInit(final ModuleInfo mi) {
+    int index_first_layer = 0;
+    for (final InformationFlow ell : mi.layersInput) {
+      if ((ell == null)) {
+        index_first_layer = ((List<InformationFlow>)Conversions.doWrapArray(mi.layersInput)).indexOf(ell);
+      }
+    }
+    return index_first_layer;
+  }
+  
+  /**
+   * Collect following layers according to the information flow
+   */
+  public static Integer genFlowOrderNext(final ModuleInfo mi, final Integer index_first_layer) {
+    Integer index_next_layer = index_first_layer;
+    for (final InformationFlow el : mi.layersInput) {
+      InformationFlow _get = IterableExtensions.<InformationFlow>toList(((Iterable<InformationFlow>)Conversions.doWrapArray(mi.layersOutput))).get((index_next_layer).intValue());
+      boolean _tripleEquals = (el == _get);
+      if (_tripleEquals) {
+        index_next_layer = Integer.valueOf(((List<InformationFlow>)Conversions.doWrapArray(mi.layersInput)).indexOf(IterableExtensions.<InformationFlow>toList(((Iterable<InformationFlow>)Conversions.doWrapArray(mi.layersOutput))).get((index_next_layer).intValue())));
+        return index_next_layer;
+      }
+    }
+    return null;
+  }
+}
diff --git a/aiml/org.eclipse.papyrus.aiml.gen.keras/xtend-gen/org/eclipse/papyrus/aiml/gen/keras/RecurrentLayerOps.java b/aiml/org.eclipse.papyrus.aiml.gen.keras/xtend-gen/org/eclipse/papyrus/aiml/gen/keras/RecurrentLayerOps.java
new file mode 100644
index 0000000..55d165d
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.gen.keras/xtend-gen/org/eclipse/papyrus/aiml/gen/keras/RecurrentLayerOps.java
@@ -0,0 +1,115 @@
+package org.eclipse.papyrus.aiml.gen.keras;
+
+import java.util.List;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.papyrus.aiml.gen.keras.GenCheck;
+import org.eclipse.papyrus.aiml.gen.keras.LayerInfo;
+import org.eclipse.papyrus.aiml.profile.AIML.Recurrent_layers.Recurrent_layers;
+import org.eclipse.xtext.xbase.lib.Conversions;
+import org.eclipse.xtext.xbase.lib.IterableExtensions;
+
+@SuppressWarnings("all")
+public class RecurrentLayerOps {
+  public static String lstmAttributesToDisplay(final Recurrent_layers lay_val) {
+    LayerInfo t = RecurrentLayerOps.lstmAttributesToCollect(lay_val);
+    List<String> attributesNameList = IterableExtensions.<String>toList(((Iterable<String>)Conversions.doWrapArray(t.attributeNames)));
+    List<String> attributesValueList = IterableExtensions.<String>toList(((Iterable<String>)Conversions.doWrapArray(t.attributeValues)));
+    String _name = lay_val.getBase_Class().getName();
+    String _plus = ("self." + _name);
+    String _plus_1 = (_plus + "=tf.keras.layers.");
+    String _name_1 = lay_val.eClass().getName();
+    String DisplayInit = (_plus_1 + _name_1);
+    String Display = "";
+    int modificationState = 0;
+    int in = 0;
+    for (final String step : attributesValueList) {
+      {
+        boolean _equals = attributesNameList.get(in).equals("hidden_size");
+        if (_equals) {
+          System.err.println(step);
+          String DisplayHiddenSize = (step + ",");
+          String _Display = Display;
+          Display = (_Display + DisplayHiddenSize);
+          modificationState++;
+        }
+        int _in = in;
+        in = (_in + 1);
+      }
+    }
+    int ind = 0;
+    for (final String step_1 : attributesValueList) {
+      {
+        if (((GenCheck.isZeroForStringL(step_1) || GenCheck.isNullOrEmptyForString(step_1)) || GenCheck.isFalseForString(step_1))) {
+        } else {
+          if (((attributesNameList.get(ind).equals("name") || attributesNameList.get(ind).equals("hidden_size")) || attributesNameList.get(ind).equals("num_layers"))) {
+          } else {
+            boolean _endsWith = attributesNameList.get(ind).endsWith("_pt");
+            boolean _not = (!_endsWith);
+            if (_not) {
+              modificationState++;
+              if ((step_1.equals("true") || step_1.equals("false"))) {
+                String DisplayInit1 = attributesNameList.get(ind);
+                boolean _equals = step_1.equals("false");
+                if (_equals) {
+                  String _substring = step_1.substring(1, step_1.length());
+                  String newstep = ("F" + _substring);
+                  String DisplayStateZero1 = (((DisplayInit1 + "=") + newstep) + ",");
+                  Display = (Display + DisplayStateZero1);
+                } else {
+                  String _substring_1 = step_1.substring(1, step_1.length());
+                  String newstep_1 = ("T" + _substring_1);
+                  String DisplayStateZero2 = (((DisplayInit1 + "=") + newstep_1) + ",");
+                  Display = (Display + DisplayStateZero2);
+                }
+              } else {
+                boolean _equals_1 = attributesNameList.get(ind).equals("input_size");
+                if (_equals_1) {
+                  String DisplayInit3 = "input_shape";
+                  String DisplayStateZero3 = (((DisplayInit3 + "=[") + step_1) + "],");
+                  Display = (Display + DisplayStateZero3);
+                } else {
+                  String DisplayInit0 = attributesNameList.get(ind);
+                  String DisplayStateZero0 = (((DisplayInit0 + "=") + step_1) + ",");
+                  Display = (Display + DisplayStateZero0);
+                }
+              }
+            }
+          }
+        }
+        ind = (ind + 1);
+      }
+    }
+    String displayFinal = "";
+    if ((modificationState != 0)) {
+      int _length = Display.length();
+      int _minus = (_length - 1);
+      String _substring = Display.substring(0, _minus);
+      String _plus_2 = ((DisplayInit + "(") + _substring);
+      String _plus_3 = (_plus_2 + ")");
+      displayFinal = _plus_3;
+    } else {
+      displayFinal = DisplayInit;
+    }
+    return displayFinal;
+  }
+  
+  public static LayerInfo lstmAttributesToCollect(final Recurrent_layers lay_val) {
+    final int nbrOfAttributes = ((Object[])Conversions.unwrapArray(lay_val.eClass().getEAllAttributes(), Object.class)).length;
+    LayerInfo layerInformations = new LayerInfo(nbrOfAttributes);
+    String[] attributesNameList = layerInformations.attributeNames;
+    String[] attributesValueList = layerInformations.attributeValues;
+    int l = 0;
+    EList<EAttribute> _eAllAttributes = lay_val.eClass().getEAllAttributes();
+    for (final EAttribute valu : _eAllAttributes) {
+      {
+        String attri_name = valu.getName();
+        attributesNameList[l] = attri_name;
+        Object attri_val = lay_val.eGet(valu);
+        attributesValueList[l] = String.valueOf(attri_val);
+        l = (l + 1);
+      }
+    }
+    return layerInformations;
+  }
+}
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/.classpath b/aiml/org.eclipse.papyrus.aiml.profile/.classpath
new file mode 100644
index 0000000..8d613a1
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src-gen"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/.project b/aiml/org.eclipse.papyrus.aiml.profile/.project
new file mode 100644
index 0000000..c698101
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.aiml.profile</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+	</natures>
+</projectDescription>
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/.settings/org.eclipse.jdt.core.prefs b/aiml/org.eclipse.papyrus.aiml.profile/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0fee6a9
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,15 @@
+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.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+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
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/META-INF/MANIFEST.MF b/aiml/org.eclipse.papyrus.aiml.profile/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..8acfbf1
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/META-INF/MANIFEST.MF
@@ -0,0 +1,85 @@
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.ecore;visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;visibility:=reexport,
+ org.eclipse.uml2.types;visibility:=reexport,
+ org.eclipse.uml2.uml;bundle-version="5.0.0";visibility:=reexport,
+ org.eclipse.papyrus.uml.properties;bundle-version="3.0.0"
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-ClassPath: .
+Bundle-Version: 0.7.0.qualifier
+Bundle-Localization: plugin
+Bundle-Name: %pluginName
+Bundle-Activator: org.eclipse.papyrus.aiml.profile.Activator
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.aiml.profile;singleton:=true
+Automatic-Module-Name: org.eclipse.papyrus.aiml.profile
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: org.eclipse.papyrus.aiml.profile,
+ org.eclipse.papyrus.aiml.profile.AIML,
+ org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers,
+ org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl,
+ org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.util,
+ org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers,
+ org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl,
+ org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.util,
+ org.eclipse.papyrus.aiml.profile.AIML.Distance_functions,
+ org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.impl,
+ org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.util,
+ org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers,
+ org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl,
+ org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.util,
+ org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints,
+ org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl,
+ org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.util,
+ org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers,
+ org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl,
+ org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.util,
+ org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers,
+ org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl,
+ org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.util,
+ org.eclipse.papyrus.aiml.profile.AIML.Linear_layers,
+ org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl,
+ org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.util,
+ org.eclipse.papyrus.aiml.profile.AIML.Loss_functions,
+ org.eclipse.papyrus.aiml.profile.AIML.Loss_functions.impl,
+ org.eclipse.papyrus.aiml.profile.AIML.Loss_functions.util,
+ org.eclipse.papyrus.aiml.profile.AIML.Module,
+ org.eclipse.papyrus.aiml.profile.AIML.Module.impl,
+ org.eclipse.papyrus.aiml.profile.AIML.Module.util,
+ org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations,
+ org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.impl,
+ org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.util,
+ org.eclipse.papyrus.aiml.profile.AIML.Normalization_layers,
+ org.eclipse.papyrus.aiml.profile.AIML.Normalization_layers.impl,
+ org.eclipse.papyrus.aiml.profile.AIML.Normalization_layers.util,
+ org.eclipse.papyrus.aiml.profile.AIML.Padding_layers,
+ org.eclipse.papyrus.aiml.profile.AIML.Padding_layers.impl,
+ org.eclipse.papyrus.aiml.profile.AIML.Padding_layers.util,
+ org.eclipse.papyrus.aiml.profile.AIML.Pooling_layers,
+ org.eclipse.papyrus.aiml.profile.AIML.Pooling_layers.impl,
+ org.eclipse.papyrus.aiml.profile.AIML.Pooling_layers.util,
+ org.eclipse.papyrus.aiml.profile.AIML.Recurrent_layers,
+ org.eclipse.papyrus.aiml.profile.AIML.Recurrent_layers.impl,
+ org.eclipse.papyrus.aiml.profile.AIML.Recurrent_layers.util,
+ org.eclipse.papyrus.aiml.profile.AIML.SoftMinMaxActivations,
+ org.eclipse.papyrus.aiml.profile.AIML.SoftMinMaxActivations.impl,
+ org.eclipse.papyrus.aiml.profile.AIML.SoftMinMaxActivations.util,
+ org.eclipse.papyrus.aiml.profile.AIML.Sparse_layers,
+ org.eclipse.papyrus.aiml.profile.AIML.Sparse_layers.impl,
+ org.eclipse.papyrus.aiml.profile.AIML.Sparse_layers.util,
+ org.eclipse.papyrus.aiml.profile.AIML.Tensor,
+ org.eclipse.papyrus.aiml.profile.AIML.Tensor.impl,
+ org.eclipse.papyrus.aiml.profile.AIML.Tensor.util,
+ org.eclipse.papyrus.aiml.profile.AIML.Transformer_layers,
+ org.eclipse.papyrus.aiml.profile.AIML.Transformer_layers.impl,
+ org.eclipse.papyrus.aiml.profile.AIML.Transformer_layers.util,
+ org.eclipse.papyrus.aiml.profile.AIML.Vision_layers,
+ org.eclipse.papyrus.aiml.profile.AIML.Vision_layers.impl,
+ org.eclipse.papyrus.aiml.profile.AIML.Vision_layers.util,
+ org.eclipse.papyrus.aiml.profile.AIML.datatypes,
+ org.eclipse.papyrus.aiml.profile.AIML.datatypes.impl,
+ org.eclipse.papyrus.aiml.profile.AIML.datatypes.util,
+ org.eclipse.papyrus.aiml.profile.AIML.impl,
+ org.eclipse.papyrus.aiml.profile.AIML.util
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/build.properties b/aiml/org.eclipse.papyrus.aiml.profile/build.properties
new file mode 100644
index 0000000..d166f67
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/build.properties
@@ -0,0 +1,12 @@
+source.. = src/,\
+           src-gen/
+output.. = target/classes/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               profiles/,\
+               libraries/,\
+               plugin.properties,\
+               properties/,\
+               icons/,\
+               profile/
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/icons/aiml-16x16.png b/aiml/org.eclipse.papyrus.aiml.profile/icons/aiml-16x16.png
new file mode 100644
index 0000000..61c8fc4
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/icons/aiml-16x16.png
Binary files differ
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/icons/aiml-16x16.svg b/aiml/org.eclipse.papyrus.aiml.profile/icons/aiml-16x16.svg
new file mode 100644
index 0000000..90a551d
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/icons/aiml-16x16.svg
@@ -0,0 +1,361 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.2"
+   width="300"
+   height="300"
+   id="svg2"
+   inkscape:version="0.92.3 (2405546, 2018-03-11)"
+   sodipodi:docname="aiml-16x16.svg"
+   inkscape:export-filename="C:\Users\sli\Documents\Work\Papyrus\Software Designer\papyrus-designer-hash_aldo.png"
+   inkscape:export-xdpi="299.91537"
+   inkscape:export-ydpi="299.91537">
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1114"
+     inkscape:window-height="853"
+     id="namedview53"
+     showgrid="false"
+     inkscape:zoom="1.1451746"
+     inkscape:cx="171.26294"
+     inkscape:cy="32.995663"
+     inkscape:window-x="428"
+     inkscape:window-y="79"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="2-7"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0" />
+  <defs
+     id="defs4">
+    <linearGradient
+       id="linearGradient6078-7-52-5-7-4">
+      <stop
+         id="stop6080-1-3-6-4-2"
+         style="stop-color:#98bf0c;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop6082-0-24-0-0-7"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4487-2-17-7-1-4-93">
+      <stop
+         id="stop4489-8-40-2-1-8-1"
+         style="stop-color:#009bba;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4491-2-9-1-9-8-9"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5467-45-65">
+      <stop
+         style="stop-color:#1f211c;stop-opacity:1;"
+         offset="0"
+         id="stop5469-5-02" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="1"
+         id="stop5471-17-8" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3340">
+      <stop
+         style="stop-color:#1f211c;stop-opacity:1;"
+         offset="0"
+         id="stop3342" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="1"
+         id="stop3344" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6078-7-52-5-7-4"
+       id="linearGradient3122"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.86436155,0,0,0.86436155,-63.693388,67.13087)"
+       x1="306.31415"
+       y1="189.24405"
+       x2="282.51758"
+       y2="2.6277814" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4487-2-17-7-1-4-93"
+       id="linearGradient3124"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.86436155,0,0,0.86436155,-63.693395,67.13087)"
+       x1="336.48462"
+       y1="203.12489"
+       x2="335.16684"
+       y2="73.530258" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5467-45-65"
+       id="linearGradient3126"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.86436155,0,0,0.86436155,-63.693395,67.13087)"
+       x1="238.62624"
+       y1="155.18745"
+       x2="243.81149"
+       y2="91.254097" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5467-45-65"
+       id="linearGradient3128"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.4499202,0,0,0.4499202,95.285803,147.36302)"
+       x1="231.79408"
+       y1="67.509285"
+       x2="237.63275"
+       y2="26.82687" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6078-7-52-5-7-4-1"
+       id="linearGradient3350"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.86436155,0,0,0.86436155,-63.693388,67.13087)"
+       x1="306.31415"
+       y1="189.24405"
+       x2="282.51758"
+       y2="2.6277814" />
+    <linearGradient
+       id="linearGradient6078-7-52-5-7-4-1">
+      <stop
+         id="stop6080-1-3-6-4-2-7"
+         style="stop-color:#98bf0c;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop6082-0-24-0-0-7-4"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4487-2-17-7-1-4-93-0"
+       id="linearGradient3352"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.86436155,0,0,0.86436155,-63.693395,67.13087)"
+       x1="336.48462"
+       y1="203.12489"
+       x2="335.16684"
+       y2="73.530258" />
+    <linearGradient
+       id="linearGradient4487-2-17-7-1-4-93-0">
+      <stop
+         id="stop4489-8-40-2-1-8-1-9"
+         style="stop-color:#009bba;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop4491-2-9-1-9-8-9-4"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5467-45-65-8"
+       id="linearGradient3354"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.86436155,0,0,0.86436155,-63.693395,67.13087)"
+       x1="238.62624"
+       y1="155.18745"
+       x2="243.81149"
+       y2="91.254097" />
+    <linearGradient
+       id="linearGradient5467-45-65-8">
+      <stop
+         style="stop-color:#1f211c;stop-opacity:1;"
+         offset="0"
+         id="stop5469-5-02-8" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="1"
+         id="stop5471-17-8-2" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5467-45-65-8"
+       id="linearGradient3356"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.4499202,0,0,0.4499202,95.285803,147.36302)"
+       x1="231.79408"
+       y1="67.509285"
+       x2="237.63275"
+       y2="26.82687" />
+    <linearGradient
+       id="linearGradient3342">
+      <stop
+         style="stop-color:#1f211c;stop-opacity:1;"
+         offset="0"
+         id="stop3344-4" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="1"
+         id="stop3346" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5467-45-65-8"
+       id="linearGradient3090"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.93826246,0,0,0.87686743,849.58383,60.096489)"
+       x1="231.79408"
+       y1="67.509285"
+       x2="237.63275"
+       y2="26.82687" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5467-45-65-8"
+       id="linearGradient3093"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.8025374,0,0,1.6845887,518.049,-96.271149)"
+       x1="238.62624"
+       y1="155.18745"
+       x2="243.81149"
+       y2="91.254097" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4487-2-17-7-1-4-93-0"
+       id="linearGradient3096"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.8025374,0,0,1.6845887,518.049,-96.271149)"
+       x1="336.48462"
+       y1="203.12489"
+       x2="335.16684"
+       y2="73.530258" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6078-7-52-5-7-4-1"
+       id="linearGradient3099"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.8025374,0,0,1.6845887,518.04902,-96.271149)"
+       x1="306.31415"
+       y1="189.24405"
+       x2="282.51758"
+       y2="2.6277814" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6078-7-52-5-7-4"
+       id="linearGradient3143"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.86436155,0,0,0.86436155,-63.693388,67.13087)"
+       x1="306.31415"
+       y1="189.24405"
+       x2="282.51758"
+       y2="2.6277814" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4487-2-17-7-1-4-93"
+       id="linearGradient3145"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.86436155,0,0,0.86436155,-63.693395,67.13087)"
+       x1="336.48462"
+       y1="203.12489"
+       x2="335.16684"
+       y2="73.530258" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5467-45-65"
+       id="linearGradient3147"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.86436155,0,0,0.86436155,-63.693395,67.13087)"
+       x1="238.62624"
+       y1="155.18745"
+       x2="243.81149"
+       y2="91.254097" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5467-45-65"
+       id="linearGradient3149"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.4499202,0,0,0.4499202,95.285803,147.36302)"
+       x1="231.79408"
+       y1="67.509285"
+       x2="237.63275"
+       y2="26.82687" />
+  </defs>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     transform="translate(886.32636,-288.59997)"
+     id="layer2" />
+  <g
+     transform="matrix(0.65065408,0,0,0.6957592,913.0888,601.14772)"
+     id="1-9"
+     style="fill:#9c9e9f;fill-opacity:1">
+    <g
+       id="2-7"
+       style="font-style:normal;font-weight:bold;font-size:90px;font-family:'Liberation Sans Narrow';text-align:start;text-anchor:start;fill:#9c9e9f">
+      <g
+         id="g3270-4"
+         transform="matrix(3.1393502,0,0,2.9339277,-1716.8867,-1337.6369)"
+         style="opacity:0.5">
+        <path
+           inkscape:connector-curvature="0"
+           style="fill:url(#linearGradient3143);fill-opacity:1;stroke:none"
+           id="path3031-7-5-1-8"
+           d="m 170.4552,273.89087 c -0.0552,-19.9253 8.25185,-38.93343 19.1893,-55.24878 3.10516,-5.3021 8.37808,-9.42582 9.68999,-15.65649 1.33582,-4.79102 -2.94424,-6.91969 -7.88207,-7.26702 -6.39659,-0.74146 -14.20202,-2.7884 -16.8149,-9.39191 -1.97367,-6.74391 2.46299,-13.85284 8.05544,-17.40115 6.22916,-3.97466 13.68382,-5.49426 20.9663,-5.95905 1.549,-0.0892 1.84332,-0.17206 5.46367,0.0494 6.95068,0.29055 13.48526,5.04236 15.30129,11.85471 2.64956,9.21682 0.81292,19.18629 -2.66253,27.93738 -4.26292,10.29718 -10.69502,19.54187 -17.8991,27.9818 -8.31731,11.08804 -11.4163,25.38509 -10.32509,39.05004 -7.81659,2.30834 -19.22891,4.14444 -23.0823,4.05106 z" />
+        <path
+           inkscape:connector-curvature="0"
+           style="fill:url(#linearGradient3145);fill-opacity:1;stroke:none"
+           id="path3029-6-0-4-6"
+           d="m 195.26467,269.26425 c -1.31017,-15.35067 3.07505,-31.53227 13.76603,-42.91607 7.80963,-10.01138 14.85775,-21.20841 17.40753,-33.81375 1.51623,-8.17574 1.71265,-17.79667 -4.10578,-24.42052 -1.0537,-1.26018 -5.74736,-3.76752 -1.68149,-2.30694 4.17722,1.16472 6.41874,3.69589 8.60337,6.72655 11.57621,14.91935 15.61555,35.47722 9.80943,53.52972 -6.29746,20.51829 -23.74144,36.4284 -43.79909,43.20101 z" />
+        <path
+           inkscape:connector-curvature="0"
+           style="fill:url(#linearGradient3147);fill-opacity:1;stroke:none"
+           id="path3045-1-9-0-2-5"
+           d="m 107.46748,235.60585 c 0.58313,-18.71257 10.28274,-37.03864 25.89626,-47.52231 12.38891,-8.51861 27.3572,-12.45393 42.18193,-13.80383 -2.54561,4.00525 -4.1248,9.45099 -1.78496,13.98335 1.34432,3.06808 5.46883,4.6021 4.98615,4.87012 -21.31259,0.0188 -43.31305,7.54678 -58.0799,23.34878 -5.5153,5.82742 -9.86615,12.6909 -13.15918,19.99075 -0.0477,-0.2862 -0.0354,-0.57766 -0.0404,-0.86686 z" />
+        <path
+           inkscape:connector-curvature="0"
+           style="fill:url(#linearGradient3149);fill-opacity:1;stroke:none"
+           id="path3027-4-0-3-0"
+           d="m 199.21723,178.2402 c -1.20476,-0.1342 -2.17052,-0.44343 -2.8576,-0.915 -0.30618,-0.21016 -0.64307,-0.57942 -0.78608,-0.86165 -0.11887,-0.23455 -0.13203,-0.30257 -0.13203,-0.68248 0,-0.37305 0.0144,-0.45154 0.12542,-0.67732 0.65619,-1.33614 3.13045,-2.22288 5.54456,-1.98709 1.39653,0.13641 2.5031,0.56228 3.17232,1.22092 0.4471,0.44004 0.57477,0.71625 0.57477,1.24362 0,0.53119 -0.12573,0.79896 -0.59612,1.2696 -0.87863,0.87908 -2.54914,1.42833 -4.29009,1.41058 -0.34204,-0.004 -0.68185,-0.0129 -0.75515,-0.0212 z" />
+      </g>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:171.97537231px;line-height:0%;font-family:Arial;-inkscape-font-specification:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#0099ba;fill-opacity:1;stroke:none;stroke-width:1.91083741"
+         x="-1286.4893"
+         y="-453.35599"
+         id="text3020-4-0"
+         transform="scale(1.0340806,0.9670426)"><tspan
+           sodipodi:role="line"
+           x="-1286.4893"
+           y="-453.35599"
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:212.05375671px;line-height:1.25;font-family:'Aldo the Apache';-inkscape-font-specification:'Aldo the Apache, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#626262;fill-opacity:1;stroke-width:1.91083741"
+           id="tspan866-8">#AI</tspan></text>
+    </g>
+    <g
+       id="3-1"
+       style="font-style:normal;font-weight:normal;font-size:13.80000019px;font-family:Calibri;text-align:start;text-anchor:start;fill:#9c9e9f" />
+  </g>
+</svg>
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/plugin.properties b/aiml/org.eclipse.papyrus.aiml.profile/plugin.properties
new file mode 100644
index 0000000..4f00e9e
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/plugin.properties
@@ -0,0 +1,10 @@
+# Copyright (c) CEA LIST.
+#
+# This program and the accompanying materials are made
+# available under the terms of the Eclipse Public License 2.0
+# which is available at https://www.eclipse.org/legal/epl-2.0/
+#
+# SPDX-License-Identifier: EPL-2.0
+#
+pluginName=Papyrus AIML profile
+providerName=Eclipse Modeling Project
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/plugin.xml b/aiml/org.eclipse.papyrus.aiml.profile/plugin.xml
new file mode 100644
index 0000000..6af8411
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/plugin.xml
@@ -0,0 +1,291 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.2"?>
+<plugin>
+	<extension
+			point="org.eclipse.emf.ecore.uri_mapping">
+		<mapping
+			source="pathmap://AIML_PROFILES/"
+			target="platform:/plugin/org.eclipse.papyrus.aiml.profile/profile/"/>
+	</extension>
+
+	<extension
+			point="org.eclipse.papyrus.uml.extensionpoints.UMLProfile">
+		<profile
+			description="AI (neural network) profile"
+			iconpath="icons/aiml-16x16.png"
+			name="AIML"
+			path="pathmap://AIML_PROFILES/AIML.profile.uml"
+			provider="CEA LIST">
+		</profile>
+	</extension>
+
+	<extension
+			point="org.eclipse.uml2.uml.generated_package">
+		<profile
+			uri="http://www.eclipse.org/papyrus/AIML/1"
+			location="pathmap://AIML_PROFILES/AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+	</extension>
+
+	<extension point="org.eclipse.emf.ecore.generated_package">
+	<!-- @generated AIML -->
+		<package
+			uri="http://www.eclipse.org/papyrus/AIML/1"
+			class="org.eclipse.papyrus.aiml.profile.AIML.AIMLPackage"
+			genModel="profile/AIML.genmodel"/>
+	</extension>
+
+	<extension
+			point="org.eclipse.uml2.uml.generated_package">
+		<profile
+			uri="http://www.eclipse.org/papyrus/AIML/module/1"
+			location="pathmap://AIML_PROFILES/AIML.profile.uml#_u1dx8JT1Eeq5BK6mmo2rWg"/>
+	</extension>
+
+	<extension point="org.eclipse.emf.ecore.generated_package">
+		<!-- @generated AIML -->
+		<package
+			uri="http://www.eclipse.org/papyrus/AIML/module/1"
+			class="org.eclipse.papyrus.aiml.profile.AIML.Module.ModulePackage"
+			genModel="profile/AIML.genmodel"/>
+	</extension>
+
+	<extension
+			point="org.eclipse.uml2.uml.generated_package">
+		<profile
+			uri="http://www.eclipse.org/papyrus/AIML/tensor/1"
+			location="pathmap://AIML_PROFILES/AIML.profile.uml#_38DjAJT1Eeq5BK6mmo2rWg"/>
+	</extension>
+
+	<extension point="org.eclipse.emf.ecore.generated_package">
+		<!-- @generated AIML -->
+		<package
+			uri="http://www.eclipse.org/papyrus/AIML/tensor/1"
+			class="org.eclipse.papyrus.aiml.profile.AIML.Tensor.TensorPackage"
+			genModel="profile/AIML.genmodel"/>
+	</extension>
+
+	<extension
+			point="org.eclipse.uml2.uml.generated_package">
+		<profile
+			uri="http://www.eclipse.org/papyrus/AIML/pooling/1"
+			location="pathmap://AIML_PROFILES/AIML.profile.uml#_Deu8AJT2Eeq5BK6mmo2rWg"/>
+	</extension>
+  
+	<extension point="org.eclipse.emf.ecore.generated_package">
+		<!-- @generated AIML -->
+		<package
+			uri="http://www.eclipse.org/papyrus/AIML/pooling/1"
+			class="org.eclipse.papyrus.aiml.profile.AIML.Pooling_layers.Pooling_layersPackage"
+			genModel="profile/AIML.genmodel"/>
+	</extension>
+
+	<extension
+			point="org.eclipse.uml2.uml.generated_package">
+		<profile
+			uri="http://www.eclipse.org/papyrus/AIML/convolution/1"
+			location="pathmap://AIML_PROFILES/AIML.profile.uml#_Nr2NYJOPEeqnY_bZg2Ebjg"/>
+	</extension>
+  
+	<extension point="org.eclipse.emf.ecore.generated_package">
+		<!-- @generated AIML -->
+		<package
+			uri="http://www.eclipse.org/papyrus/AIML/convolution/1"
+			class="org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage"
+			genModel="profile/AIML.genmodel"/>
+	</extension>
+
+	<extension
+			point="org.eclipse.uml2.uml.generated_package">
+		<profile
+			uri="http://www.eclipse.org/papyrus/AIML/padding/1"
+			location="pathmap://AIML_PROFILES/AIML.profile.uml#_2_xEcJT2Eeq5BK6mmo2rWg"/>
+	</extension>
+
+	<extension point="org.eclipse.emf.ecore.generated_package">
+		<!-- @generated AIML -->
+		<package
+			uri="http://www.eclipse.org/papyrus/AIML/padding/1"
+			class="org.eclipse.papyrus.aiml.profile.AIML.Padding_layers.Padding_layersPackage"
+			genModel="profile/AIML.genmodel"/>
+	</extension>
+
+	<extension
+			point="org.eclipse.uml2.uml.generated_package">
+		<profile
+			uri="http://www.eclipse.org/papyrus/AIML/nonlinear/1"
+			location="pathmap://AIML_PROFILES/AIML.profile.uml#_H7fbMJT2Eeq5BK6mmo2rWg"/>
+	</extension>
+
+	<extension point="org.eclipse.emf.ecore.generated_package">
+		<!-- @generated AIML -->
+		<package
+			uri="http://www.eclipse.org/papyrus/AIML/nonlinear/1"
+			class="org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.NonLinearActivationsPackage"
+			genModel="profile/AIML.genmodel"/>
+	</extension>
+
+	<extension
+			point="org.eclipse.uml2.uml.generated_package">
+		<profile
+			uri="http://www.eclipse.org/papyrus/AIML/softminmax/1"
+			location="pathmap://AIML_PROFILES/AIML.profile.uml#_H7fbMJT2Eeq5BK6mmo2rWg"/>
+	</extension>
+
+	<extension point="org.eclipse.emf.ecore.generated_package">
+		<!-- @generated AIML -->
+		<package
+			uri="http://www.eclipse.org/papyrus/AIML/softminmax/1"
+			class="org.eclipse.papyrus.aiml.profile.AIML.SoftMinMaxActivations.SoftMinMaxActivationsPackage"
+			genModel="profile/AIML.genmodel"/>
+	</extension>
+
+	<extension
+			point="org.eclipse.uml2.uml.generated_package">
+		<profile
+			uri="http://www.eclipse.org/papyrus/AIML/normalization/1"
+			location="pathmap://AIML_PROFILES/AIML.profile.uml#_N5zMsJT2Eeq5BK6mmo2rWg"/>
+	</extension>
+
+	<extension point="org.eclipse.emf.ecore.generated_package">
+		<!-- @generated AIML -->
+		<package
+			uri="http://www.eclipse.org/papyrus/AIML/normalization/1"
+			class="org.eclipse.papyrus.aiml.profile.AIML.Normalization_layers.Normalization_layersPackage"
+			genModel="profile/AIML.genmodel"/>
+	</extension>
+
+	<extension
+			point="org.eclipse.uml2.uml.generated_package">
+		<profile
+			uri="http://www.eclipse.org/papyrus/AIML/recurrent/1"
+			location="pathmap://AIML_PROFILES/AIML.profile.uml#_RAjiQJT2Eeq5BK6mmo2rWg"/>
+	</extension>
+
+	<extension point="org.eclipse.emf.ecore.generated_package">
+		<!-- @generated AIML -->
+		<package
+			uri="http://www.eclipse.org/papyrus/AIML/recurrent/1"
+			class="org.eclipse.papyrus.aiml.profile.AIML.Recurrent_layers.Recurrent_layersPackage"
+			genModel="profile/AIML.genmodel"/>
+	</extension>
+
+	<extension
+			point="org.eclipse.uml2.uml.generated_package">
+		<profile
+			uri="http://www.eclipse.org/papyrus/AIML/transformer/1"
+			location="pathmap://AIML_PROFILES/AIML.profile.uml#_T8DDAJT2Eeq5BK6mmo2rWg"/>
+	</extension>
+
+	<extension point="org.eclipse.emf.ecore.generated_package">
+		<!-- @generated AIML -->
+		<package
+			uri="http://www.eclipse.org/papyrus/AIML/transformer/1"
+			class="org.eclipse.papyrus.aiml.profile.AIML.Transformer_layers.Transformer_layersPackage"
+			genModel="profile/AIML.genmodel"/>
+	</extension>
+
+	<extension
+			point="org.eclipse.uml2.uml.generated_package">
+		<profile
+			uri="http://www.eclipse.org/papyrus/AIML/linear/1"
+			location="pathmap://AIML_PROFILES/AIML.profile.uml#_WwqfsJT2Eeq5BK6mmo2rWg"/>
+	</extension>
+
+	<extension point="org.eclipse.emf.ecore.generated_package">
+		<!-- @generated AIML -->
+		<package
+			uri="http://www.eclipse.org/papyrus/AIML/linear/1"
+			class="org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layersPackage"
+			genModel="profile/AIML.genmodel"/>
+	</extension>
+
+	<extension
+			point="org.eclipse.uml2.uml.generated_package">
+		<profile
+			uri="http://www.eclipse.org/papyrus/AIML/dropout/1"
+			location="pathmap://AIML_PROFILES/AIML.profile.uml#_ZUMzcJT2Eeq5BK6mmo2rWg"/>
+	</extension>
+
+	<extension point="org.eclipse.emf.ecore.generated_package">
+		<!-- @generated AIML -->
+		<package
+			uri="http://www.eclipse.org/papyrus/AIML/dropout/1"
+			class="org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layersPackage"
+			genModel="profile/AIML.genmodel"/>
+	</extension>
+
+	<extension
+			point="org.eclipse.uml2.uml.generated_package">
+		<profile
+			uri="http://www.eclipse.org/papyrus/AIML/sparse/1"
+			location="pathmap://AIML_PROFILES/AIML.profile.uml#_cKwJ0JT2Eeq5BK6mmo2rWg"/>
+	</extension>
+
+	<extension point="org.eclipse.emf.ecore.generated_package">
+		<!-- @generated AIML -->
+		<package
+			uri="http://www.eclipse.org/papyrus/AIML/sparse/1"
+			class="org.eclipse.papyrus.aiml.profile.AIML.Sparse_layers.Sparse_layersPackage"
+			genModel="profile/AIML.genmodel"/>
+	</extension>
+
+	<extension
+			point="org.eclipse.uml2.uml.generated_package">
+		<profile
+			uri="http://www.eclipse.org/papyrus/AIML/distance/1"
+			location="pathmap://AIML_PROFILES/AIML.profile.uml#_fjUoIJT2Eeq5BK6mmo2rWg"/>
+	</extension>
+
+	<extension point="org.eclipse.emf.ecore.generated_package">
+		<!-- @generated AIML -->
+		<package
+			uri="http://www.eclipse.org/papyrus/AIML/distance/1"
+			class="org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.Distance_functionsPackage"
+			genModel="profile/AIML.genmodel"/>
+	</extension>
+
+	<extension
+			point="org.eclipse.uml2.uml.generated_package">
+		<profile
+			uri="http://www.eclipse.org/papyrus/AIML/loss/1"
+			location="pathmap://AIML_PROFILES/AIML.profile.uml#_nZcP0JT2Eeq5BK6mmo2rWg"/>
+	</extension>
+
+	<extension point="org.eclipse.emf.ecore.generated_package">
+		<!-- @generated AIML -->
+		<package
+			uri="http://www.eclipse.org/papyrus/AIML/loss/1"
+			class="org.eclipse.papyrus.aiml.profile.AIML.Loss_functions.Loss_functionsPackage"
+			genModel="profile/AIML.genmodel"/>
+	</extension>
+
+	<extension
+			point="org.eclipse.uml2.uml.generated_package">
+		<profile
+			uri="http://www.eclipse.org/papyrus/AIML/vision/1"
+			location="pathmap://AIML_PROFILES/AIML.profile.uml#_q6FsEJT2Eeq5BK6mmo2rWg"/>
+	</extension>
+
+	<extension point="org.eclipse.emf.ecore.generated_package">
+		<!-- @generated AIML -->
+		<package
+			uri="http://www.eclipse.org/papyrus/AIML/vision/1"
+			class="org.eclipse.papyrus.aiml.profile.AIML.Vision_layers.Vision_layersPackage"
+			genModel="profile/AIML.genmodel"/>
+	</extension>
+
+	<extension
+			point="org.eclipse.uml2.uml.generated_package">
+		<profile
+			uri="http://www.eclipse.org/papyrus/AIML/dataparallel/1"
+			location="pathmap://AIML_PROFILES/AIML.profile.uml#_wBUroJT2Eeq5BK6mmo2rWg"/>
+	</extension>
+
+	<extension point="org.eclipse.emf.ecore.generated_package">
+		<!-- @generated AIML -->
+		<package
+			uri="http://www.eclipse.org/papyrus/AIML/dataparallel/1"
+			class="org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layersPackage"
+			genModel="profile/AIML.genmodel"/>
+	</extension>
+</plugin>
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/profile/AIML.ecore b/aiml/org.eclipse.papyrus.aiml.profile/profile/AIML.ecore
new file mode 100644
index 0000000..f558ce0
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/profile/AIML.ecore
@@ -0,0 +1,845 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="AIML" nsURI="http://www.eclipse.org/papyrus/AIML/1" nsPrefix="AIML">
+  <eClassifiers xsi:type="ecore:EClass" name="SmoothL1Loss" eSuperTypes="#//Loss_functions/Loss_functions_1"/>
+  <eClassifiers xsi:type="ecore:EClass" name="SoftMarginLoss" eSuperTypes="#//Loss_functions/Loss_functions_1"/>
+  <eClassifiers xsi:type="ecore:EClass" name="MultiLabelSoftMarginLoss" eSuperTypes="#//Loss_functions/Loss_functions_1_2"/>
+  <eSubpackages name="Module" nsURI="http://www.eclipse.org/papyrus/AIML/module/1"
+      nsPrefix="AIML.Module">
+    <eClassifiers xsi:type="ecore:EClass" name="Model">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+          eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"
+          changeable="false" volatile="true" transient="true" derived="true"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="data" ordered="false"
+          lowerBound="1" eType="#//Tensor/Tensor"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="requires_grad" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="subModule" ordered="false"
+          upperBound="-1" eType="#//Module/Model"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="optimizer" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="loss" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+    </eClassifiers>
+  </eSubpackages>
+  <eSubpackages name="Tensor" nsURI="http://www.eclipse.org/papyrus/AIML/tensor/1"
+      nsPrefix="AIML.Tensor">
+    <eClassifiers xsi:type="ecore:EEnum" name="EDType">
+      <eLiterals name="float32"/>
+      <eLiterals name="float64" value="1"/>
+      <eLiterals name="float16" value="2"/>
+      <eLiterals name="uint8" value="3"/>
+      <eLiterals name="int8" value="4"/>
+      <eLiterals name="int16" value="5"/>
+      <eLiterals name="int32" value="6"/>
+      <eLiterals name="int64" value="7"/>
+      <eLiterals name="bool" value="8"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EEnum" name="ETensorTypes">
+      <eLiterals name="FloatTensor"/>
+      <eLiterals name="DoubleTensor" value="1"/>
+      <eLiterals name="HalfTensor" value="2"/>
+      <eLiterals name="ByteTensor" value="3"/>
+      <eLiterals name="CharTensor" value="4"/>
+      <eLiterals name="ShortTensor" value="5"/>
+      <eLiterals name="IntTensor" value="6"/>
+      <eLiterals name="LongTensor" value="7"/>
+      <eLiterals name="BoolTensor" value="8"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Tensor">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="data" ordered="false"
+          upperBound="-1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="dtype" ordered="false"
+          eType="#//Tensor/EDType"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="device" ordered="false"
+          eType="#//datatypes/Device"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="requires_grad" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="pin_memory" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="shape" ordered="false"
+          upperBound="-1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+          eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+    </eClassifiers>
+  </eSubpackages>
+  <eSubpackages name="datatypes" nsURI="http:///AIML/datatypes.ecore" nsPrefix="AIML.datatypes">
+    <eClassifiers xsi:type="ecore:EClass" name="Device">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+    </eClassifiers>
+  </eSubpackages>
+  <eSubpackages name="Pooling_layers" nsURI="http://www.eclipse.org/papyrus/AIML/pooling/1"
+      nsPrefix="AIML.Pooling_layers">
+    <eClassifiers xsi:type="ecore:EClass" name="Pooling_layers" abstract="true" eSuperTypes="#//Module/Model"/>
+    <eClassifiers xsi:type="ecore:EClass" name="Pooling_layers_1" abstract="true"
+        eSuperTypes="#//Pooling_layers/Pooling_layers">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="kernel_size" ordered="false"
+          upperBound="-1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Pooling_layers_2" abstract="true"
+        eSuperTypes="#//Pooling_layers/Pooling_layers">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="output_size" ordered="false"
+          upperBound="-1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="AdaptativeMaxPool" abstract="true"
+        eSuperTypes="#//Pooling_layers/Pooling_layers_2">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="return_indices" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="AdaptativeMaxPool1d" eSuperTypes="#//Pooling_layers/AdaptativeMaxPool"/>
+    <eClassifiers xsi:type="ecore:EClass" name="AdaptativeMaxPool2d" eSuperTypes="#//Pooling_layers/AdaptativeMaxPool"/>
+    <eClassifiers xsi:type="ecore:EClass" name="AdaptativeMaxPool3d" eSuperTypes="#//Pooling_layers/AdaptativeMaxPool"/>
+    <eClassifiers xsi:type="ecore:EClass" name="AdaptiveAvgPool3d" eSuperTypes="#//Pooling_layers/Pooling_layers_2"/>
+    <eClassifiers xsi:type="ecore:EClass" name="AdaptiveAvgPool2d" eSuperTypes="#//Pooling_layers/Pooling_layers_2"/>
+    <eClassifiers xsi:type="ecore:EClass" name="AdaptiveAvgPool1d" eSuperTypes="#//Pooling_layers/Pooling_layers_2"/>
+    <eClassifiers xsi:type="ecore:EClass" name="Pooling_layers_1_1" abstract="true"
+        eSuperTypes="#//Pooling_layers/Pooling_layers_1">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="stride" ordered="false"
+          upperBound="-1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="MaxPool1d" eSuperTypes="#//Pooling_layers/MaxPool"/>
+    <eClassifiers xsi:type="ecore:EClass" name="MaxPool" abstract="true" eSuperTypes="#//Pooling_layers/Pooling_layers_1_1_1_1">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="dilation" ordered="false"
+          upperBound="-1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="return_indices" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Pooling_layers_1_1_1_1" abstract="true"
+        eSuperTypes="#//Pooling_layers/Pooling_layers_1_1_1">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="ceil_mode" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="pool_size" ordered="false"
+          upperBound="-1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Pooling_layers_1_1_1" abstract="true"
+        eSuperTypes="#//Pooling_layers/Pooling_layers_1_1">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="padding" ordered="false"
+          upperBound="-1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="padding_k" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="MaxUnpool1d" eSuperTypes="#//Pooling_layers/Pooling_layers_1_1_1"/>
+    <eClassifiers xsi:type="ecore:EClass" name="AvgPool1d" eSuperTypes="#//Pooling_layers/Pooling_layers_1_1_2_1"/>
+    <eClassifiers xsi:type="ecore:EClass" name="Pooling_layers_1_1_2_1" abstract="true"
+        eSuperTypes="#//Pooling_layers/Pooling_layers_1_1_1_1">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="count_include_pad" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="MaxUnpool2d" eSuperTypes="#//Pooling_layers/Pooling_layers_1_1_1"/>
+    <eClassifiers xsi:type="ecore:EClass" name="MaxUnpool3d" eSuperTypes="#//Pooling_layers/Pooling_layers_1_1_1"/>
+    <eClassifiers xsi:type="ecore:EClass" name="Pooling_layers_1_1_2" abstract="true"
+        eSuperTypes="#//Pooling_layers/Pooling_layers_1_1">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="ceil_mode" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="LPPool1d" eSuperTypes="#//Pooling_layers/Pooling_layers_1_1_2"/>
+    <eClassifiers xsi:type="ecore:EClass" name="LPPool2d" eSuperTypes="#//Pooling_layers/Pooling_layers_1_1_2"/>
+    <eClassifiers xsi:type="ecore:EClass" name="AvgPool2d3d" abstract="true" eSuperTypes="#//Pooling_layers/Pooling_layers_1_1_2_1">
+      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <details key="originalName" value="AvgPool2d/3d"/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="divisor_override" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="AvgPool2d" eSuperTypes="#//Pooling_layers/AvgPool2d3d"/>
+    <eClassifiers xsi:type="ecore:EClass" name="AvgPool3d" eSuperTypes="#//Pooling_layers/AvgPool2d3d"/>
+    <eClassifiers xsi:type="ecore:EClass" name="MaxPool2d" eSuperTypes="#//Pooling_layers/MaxPool"/>
+    <eClassifiers xsi:type="ecore:EClass" name="MaxPool3d" eSuperTypes="#//Pooling_layers/MaxPool"/>
+    <eClassifiers xsi:type="ecore:EClass" name="FractionalMaxPool2d" eSuperTypes="#//Pooling_layers/Pooling_layers_1">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="output_size" ordered="false"
+          upperBound="-1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="output_ratio" ordered="false"
+          upperBound="-1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="return_indices" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+    </eClassifiers>
+  </eSubpackages>
+  <eSubpackages name="Convolution_layers" nsURI="http://www.eclipse.org/papyrus/AIML/convolution/1"
+      nsPrefix="AIML.Convolution_layers">
+    <eClassifiers xsi:type="ecore:EClass" name="Convolution" abstract="true" eSuperTypes="#//Convolution_layers/Convolution_layers">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="in_channels" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="groups" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="biais" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="padding_mode" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="data_format" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="dilation_rate" ordered="false"
+          upperBound="-1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="activation" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="bias_initializer" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="activity_regularizer"
+          ordered="false" lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="bias_constraint" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="bias_regularizer" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Convolution_layers" abstract="true"
+        eSuperTypes="#//Module/Model">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="kernel_size" ordered="false"
+          upperBound="-1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="stride" ordered="false"
+          upperBound="-1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="padding" ordered="false"
+          upperBound="-1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="dilation" ordered="false"
+          upperBound="-1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Unfold" eSuperTypes="#//Convolution_layers/Convolution_layers"/>
+    <eClassifiers xsi:type="ecore:EClass" name="Fold" eSuperTypes="#//Convolution_layers/Convolution_layers">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="output_size" ordered="false"
+          upperBound="-1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Conv2d" eSuperTypes="#//Convolution_layers/basic"/>
+    <eClassifiers xsi:type="ecore:EClass" name="basic" abstract="true" eSuperTypes="#//Convolution_layers/LayerWithFilter">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="kernel_initializer" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="kernel_constraint" ordered="false"
+          lowerBound="1" eType="#//Layer_weight_constraints/constraints"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="kernel_regularizer" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="LayerWithFilter" abstract="true" eSuperTypes="#//Convolution_layers/Convolution">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="out_channels" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Conv3d" eSuperTypes="#//Convolution_layers/basic"/>
+    <eClassifiers xsi:type="ecore:EClass" name="ConvTranspose1d" eSuperTypes="#//Convolution_layers/LayerWithFilter"/>
+    <eClassifiers xsi:type="ecore:EClass" name="ConvTranspose2d" eSuperTypes="#//Convolution_layers/transpose"/>
+    <eClassifiers xsi:type="ecore:EClass" name="transpose" abstract="true" eSuperTypes="#//Convolution_layers/basic">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="output_padding" ordered="false"
+          upperBound="-1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="ConvTranspose3d" eSuperTypes="#//Convolution_layers/transpose"/>
+    <eClassifiers xsi:type="ecore:EClass" name="Conv1d" eSuperTypes="#//Convolution_layers/basic"/>
+    <eClassifiers xsi:type="ecore:EClass" name="Separable" abstract="true" eSuperTypes="#//Convolution_layers/LayerWithFilter">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="depth_multiplier" ordered="false"
+          upperBound="-1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="depthwise_initializer"
+          ordered="false" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="pointwise_initializer"
+          ordered="false" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="depthwise_regularizer"
+          ordered="false" lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="poitnwise_regularizer"
+          ordered="false" lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="depthwise_constraint"
+          ordered="false" lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="pointwise_constraint"
+          ordered="false" lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="SeparableConv2D" eSuperTypes="#//Convolution_layers/Separable"/>
+    <eClassifiers xsi:type="ecore:EClass" name="SeparableConv1D" eSuperTypes="#//Convolution_layers/Separable"/>
+    <eClassifiers xsi:type="ecore:EClass" name="DepthwiseConv2D" eSuperTypes="#//Convolution_layers/Convolution">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="depth_multiplier" ordered="false"
+          upperBound="-1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="depthwise_initializer"
+          ordered="false" lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="depthwise_regularizer"
+          ordered="false" lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="depthwise_constraint"
+          ordered="false" lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+    </eClassifiers>
+  </eSubpackages>
+  <eSubpackages name="Layer_weight_constraints" nsURI="http:///AIML/Layer_weight_constraints.ecore"
+      nsPrefix="AIML.Layer_weight_constraints">
+    <eClassifiers xsi:type="ecore:EClass" name="min_max_norm" eSuperTypes="#//Layer_weight_constraints/NormWithMaxValue">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="min_value" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="rate" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="NormWithMaxValue" abstract="true"
+        eSuperTypes="#//Layer_weight_constraints/norm">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="max_value" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="norm" abstract="true" eSuperTypes="#//Layer_weight_constraints/constraints">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="axis" ordered="false"
+          lowerBound="1" upperBound="-1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="max_norm" eSuperTypes="#//Layer_weight_constraints/NormWithMaxValue"/>
+    <eClassifiers xsi:type="ecore:EClass" name="non_neg" eSuperTypes="#//Layer_weight_constraints/constraints"/>
+    <eClassifiers xsi:type="ecore:EClass" name="radial_constraint" eSuperTypes="#//Layer_weight_constraints/constraints"/>
+    <eClassifiers xsi:type="ecore:EClass" name="unit_norm" eSuperTypes="#//Layer_weight_constraints/norm"/>
+    <eClassifiers xsi:type="ecore:EClass" name="constraints" abstract="true"/>
+  </eSubpackages>
+  <eSubpackages name="Padding_layers" nsURI="http://www.eclipse.org/papyrus/AIML/padding/1"
+      nsPrefix="AIML.Padding_layers">
+    <eClassifiers xsi:type="ecore:EClass" name="Padding_layers" abstract="true" eSuperTypes="#//Module/Model">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="padding" ordered="false"
+          upperBound="-1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="ReflectionPad1d" eSuperTypes="#//Padding_layers/Padding_layers"/>
+    <eClassifiers xsi:type="ecore:EClass" name="ReflectionPad2d" eSuperTypes="#//Padding_layers/Padding_layers"/>
+    <eClassifiers xsi:type="ecore:EClass" name="ReplicationPad1d" eSuperTypes="#//Padding_layers/Padding_layers"/>
+    <eClassifiers xsi:type="ecore:EClass" name="ReplicationPad2d" eSuperTypes="#//Padding_layers/Padding_layers"/>
+    <eClassifiers xsi:type="ecore:EClass" name="ReplicationPad3d" eSuperTypes="#//Padding_layers/Padding_layers"/>
+    <eClassifiers xsi:type="ecore:EClass" name="ZeroPad2d" eSuperTypes="#//Padding_layers/Padding_layers"/>
+    <eClassifiers xsi:type="ecore:EClass" name="ConstantPad1d" eSuperTypes="#//Padding_layers/Padding_layers"/>
+    <eClassifiers xsi:type="ecore:EClass" name="ConstantPad2d" eSuperTypes="#//Padding_layers/Padding_layers"/>
+    <eClassifiers xsi:type="ecore:EClass" name="ConstantPad3d" eSuperTypes="#//Padding_layers/Padding_layers"/>
+  </eSubpackages>
+  <eSubpackages name="NonLinearActivations" nsURI="http://www.eclipse.org/papyrus/AIML/nonlinear/1"
+      nsPrefix="AIML.NonLinearActivations">
+    <eClassifiers xsi:type="ecore:EClass" name="Nonlinear_activations_weightedsumnonlinearity"
+        abstract="true" eSuperTypes="#//Module/Model">
+      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <details key="originalName" value="Non-linear_activations_(weighted sum, nonlinearity)"/>
+      </eAnnotations>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="ELU" eSuperTypes="#//NonLinearActivations/Nonlinear_activations_weightedsumnonlinearity_1">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="alpha" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Nonlinear_activations_weightedsumnonlinearity_1"
+        abstract="true" eSuperTypes="#//NonLinearActivations/Nonlinear_activations_weightedsumnonlinearity">
+      <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <details key="originalName" value="Non-linear_activations_(weighted sum, nonlinearity)_1"/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="inplace" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="shrink" abstract="true" eSuperTypes="#//NonLinearActivations/Nonlinear_activations_weightedsumnonlinearity">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="lambd" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="LeakyReLU" eSuperTypes="#//NonLinearActivations/Nonlinear_activations_weightedsumnonlinearity_1">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="negative_slope" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="LogSigmoid" eSuperTypes="#//NonLinearActivations/Nonlinear_activations_weightedsumnonlinearity"/>
+    <eClassifiers xsi:type="ecore:EClass" name="MultiheadAttention" eSuperTypes="#//NonLinearActivations/Nonlinear_activations_weightedsumnonlinearity">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="embed_dim" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="num_heads" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="dropout" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="bias" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="add_bias_kv" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean">
+        <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+          <details key="originalName" value="add_bias_kv "/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="add_zero_attn" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="kdim" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="vdim" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="PReLU" eSuperTypes="#//NonLinearActivations/Nonlinear_activations_weightedsumnonlinearity">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="num_parameters" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="init" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="ReLU" eSuperTypes="#//NonLinearActivations/Nonlinear_activations_weightedsumnonlinearity_1"/>
+    <eClassifiers xsi:type="ecore:EClass" name="ReLU6" eSuperTypes="#//NonLinearActivations/Nonlinear_activations_weightedsumnonlinearity_1"/>
+    <eClassifiers xsi:type="ecore:EClass" name="SELU" eSuperTypes="#//NonLinearActivations/Nonlinear_activations_weightedsumnonlinearity_1"/>
+    <eClassifiers xsi:type="ecore:EClass" name="RReLU" eSuperTypes="#//NonLinearActivations/Nonlinear_activations_weightedsumnonlinearity_1">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="lower" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="upper" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="CELU" eSuperTypes="#//NonLinearActivations/Nonlinear_activations_weightedsumnonlinearity_1">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="alpha" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="GELU" eSuperTypes="#//NonLinearActivations/Nonlinear_activations_weightedsumnonlinearity"/>
+    <eClassifiers xsi:type="ecore:EClass" name="Sigmoid" eSuperTypes="#//NonLinearActivations/Nonlinear_activations_weightedsumnonlinearity"/>
+    <eClassifiers xsi:type="ecore:EClass" name="Softplus" eSuperTypes="#//NonLinearActivations/Nonlinear_activations_weightedsumnonlinearity">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="beta" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="threshold" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Softshrink" eSuperTypes="#//NonLinearActivations/shrink"/>
+    <eClassifiers xsi:type="ecore:EClass" name="Hardshrink" eSuperTypes="#//NonLinearActivations/shrink"/>
+    <eClassifiers xsi:type="ecore:EClass" name="Softsign" eSuperTypes="#//NonLinearActivations/Nonlinear_activations_weightedsumnonlinearity"/>
+    <eClassifiers xsi:type="ecore:EClass" name="Tanhshrink" eSuperTypes="#//NonLinearActivations/Nonlinear_activations_weightedsumnonlinearity"/>
+    <eClassifiers xsi:type="ecore:EClass" name="Tanh" eSuperTypes="#//NonLinearActivations/Nonlinear_activations_weightedsumnonlinearity"/>
+    <eClassifiers xsi:type="ecore:EClass" name="Threshold" eSuperTypes="#//NonLinearActivations/Nonlinear_activations_weightedsumnonlinearity_1">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="threshold" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Hardtanh" eSuperTypes="#//NonLinearActivations/Nonlinear_activations_weightedsumnonlinearity_1">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="min_val" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="max_val" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+    </eClassifiers>
+  </eSubpackages>
+  <eSubpackages name="SoftMinMaxActivations" nsURI="http://www.eclipse.org/papyrus/AIML/softminmax/1"
+      nsPrefix="AIML.SoftMinMaxActivations">
+    <eClassifiers xsi:type="ecore:EClass" name="SoftMinMax" abstract="true" eSuperTypes="#//Module/Model"/>
+    <eClassifiers xsi:type="ecore:EClass" name="SoftMinMax_1" abstract="true" eSuperTypes="#//SoftMinMaxActivations/SoftMinMax">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="dim" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Softmin" eSuperTypes="#//SoftMinMaxActivations/SoftMinMax_1"/>
+    <eClassifiers xsi:type="ecore:EClass" name="Softmax" eSuperTypes="#//SoftMinMaxActivations/SoftMinMax_1"/>
+    <eClassifiers xsi:type="ecore:EClass" name="Softmax2d" eSuperTypes="#//SoftMinMaxActivations/SoftMinMax"/>
+    <eClassifiers xsi:type="ecore:EClass" name="LogSoftmax" eSuperTypes="#//SoftMinMaxActivations/SoftMinMax_1"/>
+    <eClassifiers xsi:type="ecore:EClass" name="AdaptiveLogSoftmaxWithLoss" eSuperTypes="#//SoftMinMaxActivations/SoftMinMax">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="in_features" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="n_classes" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="cutoffs" ordered="false"
+          upperBound="-1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="div_value" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="head_biais" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+    </eClassifiers>
+  </eSubpackages>
+  <eSubpackages name="Normalization_layers" nsURI="http://www.eclipse.org/papyrus/AIML/normalization/1"
+      nsPrefix="AIML.Normalization_layers">
+    <eClassifiers xsi:type="ecore:EClass" name="Normalization_layers" abstract="true"
+        eSuperTypes="#//Module/Model"/>
+    <eClassifiers xsi:type="ecore:EClass" name="Normalization_layers_1" abstract="true"
+        eSuperTypes="#//Normalization_layers/Normalization_layers">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="eps" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="LayerNorm" eSuperTypes="#//Normalization_layers/Normalization_layers_1">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="normalized_shape" ordered="false"
+          upperBound="-1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="elementwise_affine" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="LocalResponseNorm" eSuperTypes="#//Normalization_layers/Normalization_layers">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="size" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="alpha" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="beta" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="k" ordered="false" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Normalization_layers_1_1" eSuperTypes="#//Normalization_layers/Normalization_layers_1">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="affine" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Normalization_layers_1_1_1" abstract="true"
+        eSuperTypes="#//Normalization_layers/Normalization_layers_1_1">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="num_features" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="momentum" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="track_running_stats"
+          ordered="false" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean">
+        <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+          <details key="originalName" value="track_running_stats "/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="GroupNorm" eSuperTypes="#//Normalization_layers/Normalization_layers_1_1">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="num_groups" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="num_channels" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="BatchNorm1d" eSuperTypes="#//Normalization_layers/Normalization_layers_1_1_1"/>
+    <eClassifiers xsi:type="ecore:EClass" name="BatchNorm2d" eSuperTypes="#//Normalization_layers/Normalization_layers_1_1_1"/>
+    <eClassifiers xsi:type="ecore:EClass" name="BatchNorm3d" eSuperTypes="#//Normalization_layers/Normalization_layers_1_1_1"/>
+    <eClassifiers xsi:type="ecore:EClass" name="SyncBatchNorm" eSuperTypes="#//Normalization_layers/Normalization_layers_1_1_1">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="process_group" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer">
+        <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+          <details key="originalName" value="process_group "/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="InstanceNorm1d" eSuperTypes="#//Normalization_layers/Normalization_layers_1_1_1"/>
+    <eClassifiers xsi:type="ecore:EClass" name="InstanceNorm2d" eSuperTypes="#//Normalization_layers/Normalization_layers_1_1_1"/>
+    <eClassifiers xsi:type="ecore:EClass" name="InstanceNorm3d" eSuperTypes="#//Normalization_layers/Normalization_layers_1_1_1"/>
+  </eSubpackages>
+  <eSubpackages name="Recurrent_layers" nsURI="http://www.eclipse.org/papyrus/AIML/recurrent/1"
+      nsPrefix="AIML.Recurrent_layers">
+    <eClassifiers xsi:type="ecore:EClass" name="Recurrent_layers" abstract="true"
+        eSuperTypes="#//Module/Model">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="input_size" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="hidden_size" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="bias_pt" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Recurrent_layers_1" abstract="true"
+        eSuperTypes="#//Recurrent_layers/Recurrent_layers">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="num_layers" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="batch_first_pt" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="dropout" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="bidirectional_pt" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="activation" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="recurrent_activation"
+          ordered="false" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="use_bias" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="kernel_initializer" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="recurrent_initializer"
+          ordered="false" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="bias_initializer" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="return_sequences" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="return_state" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="bidirectional_k" ordered="false"
+          eType="#//Recurrent_layers/Recurrent_layers_1"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="recurrent_dropout" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="RNNCell" eSuperTypes="#//Recurrent_layers/Recurrent_layers">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="nonlinearity" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="LSTMCell" eSuperTypes="#//Recurrent_layers/Recurrent_layers"/>
+    <eClassifiers xsi:type="ecore:EClass" name="GRUCell" eSuperTypes="#//Recurrent_layers/Recurrent_layers"/>
+    <eClassifiers xsi:type="ecore:EClass" name="RNN" eSuperTypes="#//Recurrent_layers/Recurrent_layers_1">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="nonlinearity" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="LSTM" eSuperTypes="#//Recurrent_layers/Recurrent_layers_1"/>
+    <eClassifiers xsi:type="ecore:EClass" name="GRU" eSuperTypes="#//Recurrent_layers/Recurrent_layers_1"/>
+  </eSubpackages>
+  <eSubpackages name="Transformer_layers" nsURI="http://www.eclipse.org/papyrus/AIML/transformer/1"
+      nsPrefix="AIML.Transformer_layers">
+    <eClassifiers xsi:type="ecore:EClass" name="Transformer_layers" abstract="true"
+        eSuperTypes="#//Module/Model"/>
+    <eClassifiers xsi:type="ecore:EClass" name="Transformer_layers_1" abstract="true"
+        eSuperTypes="#//Transformer_layers/Transformer_layers">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="d_model" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="nhead" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="dim_feedforward" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="dropout" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="activation" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Transformer_layers_2" abstract="true"
+        eSuperTypes="#//Transformer_layers/Transformer_layers">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="num_layers" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="norm" ordered="false"
+          eType="#//Normalization_layers/LayerNorm"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Transformer" eSuperTypes="#//Transformer_layers/Transformer_layers_1">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="num_encoder_layers" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer">
+        <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+          <details key="originalName" value="num_encoder_layers "/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="num_decoder_layers" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer">
+        <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+          <details key="originalName" value="num_decoder_layers "/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="custom_encoder" ordered="false"
+          lowerBound="1" eType="#//Transformer_layers/TransformerEncoder"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="custom_decoder" ordered="false"
+          lowerBound="1" eType="#//Transformer_layers/TransformerDecoder"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="TransformerEncoder" eSuperTypes="#//Transformer_layers/Transformer_layers_2">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="encoder_layer" ordered="false"
+          lowerBound="1" eType="#//Transformer_layers/TransformerEncoderLayer"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="TransformerEncoderLayer" eSuperTypes="#//Transformer_layers/Transformer_layers_1"/>
+    <eClassifiers xsi:type="ecore:EClass" name="TransformerDecoder" eSuperTypes="#//Transformer_layers/Transformer_layers_2">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="decoder_layer" ordered="false"
+          lowerBound="1" eType="#//Transformer_layers/TransformerDecoderLayer"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="TransformerDecoderLayer" eSuperTypes="#//Transformer_layers/Transformer_layers_1"/>
+  </eSubpackages>
+  <eSubpackages name="Linear_layers" nsURI="http://www.eclipse.org/papyrus/AIML/linear/1"
+      nsPrefix="AIML.Linear_layers">
+    <eClassifiers xsi:type="ecore:EClass" name="Linear_layers" abstract="true" eSuperTypes="#//Module/Model"/>
+    <eClassifiers xsi:type="ecore:EClass" name="Identity" eSuperTypes="#//Linear_layers/Linear_layers"/>
+    <eClassifiers xsi:type="ecore:EClass" name="Linear_layers_1" abstract="true" eSuperTypes="#//Linear_layers/Linear_layers">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="out_features" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="bias" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Linear" eSuperTypes="#//Linear_layers/Linear_layers_1">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="in_features" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="activation" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="kernel_initializer" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="bias_initializer" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Bilinear" eSuperTypes="#//Linear_layers/Linear_layers_1">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="in1_features" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="in2_features" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+    </eClassifiers>
+  </eSubpackages>
+  <eSubpackages name="Dropout_layers" nsURI="http://www.eclipse.org/papyrus/AIML/dropout/1"
+      nsPrefix="AIML.Dropout_layers">
+    <eClassifiers xsi:type="ecore:EClass" name="Dropout_layers" abstract="true" eSuperTypes="#//Module/Model">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="p" ordered="false" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="inplace" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="noise_shape" ordered="false"
+          upperBound="-1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="seed" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Dropout" eSuperTypes="#//Dropout_layers/Dropout_layers"/>
+    <eClassifiers xsi:type="ecore:EClass" name="Dropout2d" eSuperTypes="#//Dropout_layers/Dropout_layers"/>
+    <eClassifiers xsi:type="ecore:EClass" name="Dropout3d" eSuperTypes="#//Dropout_layers/Dropout_layers"/>
+    <eClassifiers xsi:type="ecore:EClass" name="AlphaDropout" eSuperTypes="#//Dropout_layers/Dropout_layers"/>
+  </eSubpackages>
+  <eSubpackages name="Sparse_layers" nsURI="http://www.eclipse.org/papyrus/AIML/sparse/1"
+      nsPrefix="AIML.Sparse_layers">
+    <eClassifiers xsi:type="ecore:EClass" name="Sparse_layers" abstract="true" eSuperTypes="#//Module/Model">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="num_embeddings" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="embedding_dim" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="max_norm" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="norm_type" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real">
+        <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+          <details key="originalName" value="norm_type "/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="sparse" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="scale_grad_by_freq" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Embedding" eSuperTypes="#//Sparse_layers/Sparse_layers">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="padding_idx" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="EmbeddingBag" eSuperTypes="#//Sparse_layers/Sparse_layers">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="mode" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="include_last_offset"
+          ordered="false" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+    </eClassifiers>
+  </eSubpackages>
+  <eSubpackages name="Distance_functions" nsURI="http://www.eclipse.org/papyrus/AIML/distance/1"
+      nsPrefix="AIML.Distance_functions">
+    <eClassifiers xsi:type="ecore:EClass" name="Distance_functions" abstract="true"
+        eSuperTypes="#//Module/Model">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="eps" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="CosineSimilarity" eSuperTypes="#//Distance_functions/Distance_functions">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="dim" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="PairwiseDistance" eSuperTypes="#//Distance_functions/Distance_functions">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="p" ordered="false" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="keepdim" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+    </eClassifiers>
+  </eSubpackages>
+  <eSubpackages name="Loss_functions" nsURI="http://www.eclipse.org/papyrus/AIML/loss/1"
+      nsPrefix="AIML.Loss_functions">
+    <eClassifiers xsi:type="ecore:EClass" name="Loss_functions" abstract="true" eSuperTypes="#//Module/Model">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="reduction" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Loss_functions_1" abstract="true"
+        eSuperTypes="#//Loss_functions/Loss_functions">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="size_average" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="reduce" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="L1Loss" eSuperTypes="#//Loss_functions/Loss_functions_1"/>
+    <eClassifiers xsi:type="ecore:EClass" name="MSELoss" eSuperTypes="#//Loss_functions/Loss_functions_1"/>
+    <eClassifiers xsi:type="ecore:EClass" name="CTCLoss" eSuperTypes="#//Loss_functions/Loss_functions">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="blank" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="zero_infinity" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="KLDivLoss" eSuperTypes="#//Loss_functions/Loss_functions_1"/>
+    <eClassifiers xsi:type="ecore:EClass" name="MultiLabelMarginLoss" eSuperTypes="#//Loss_functions/Loss_functions_1"/>
+    <eClassifiers xsi:type="ecore:EClass" name="Loss_functions_1_1" eSuperTypes="#//Loss_functions/Loss_functions_1">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="margin" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Loss_functions_1_2" eSuperTypes="#//Loss_functions/Loss_functions_1">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="weight" ordered="false"
+          eType="#//Tensor/Tensor"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="CosineEmbeddingLoss" eSuperTypes="#//Loss_functions/Loss_functions_1_1"/>
+    <eClassifiers xsi:type="ecore:EClass" name="MarginRankingLoss" eSuperTypes="#//Loss_functions/Loss_functions_1_1"/>
+    <eClassifiers xsi:type="ecore:EClass" name="HingeEmbeddingLoss" eSuperTypes="#//Loss_functions/Loss_functions_1_1"/>
+    <eClassifiers xsi:type="ecore:EClass" name="BCELoss" eSuperTypes="#//Loss_functions/Loss_functions_1_2"/>
+    <eClassifiers xsi:type="ecore:EClass" name="Loss_functions_1_1_1" abstract="true"
+        eSuperTypes="#//Loss_functions/Loss_functions_1_1">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="p" ordered="false" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="MultiMarginLoss" eSuperTypes="#//Loss_functions/Loss_functions_1_1_1">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="weight" ordered="false"
+          eType="#//Tensor/Tensor"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="TripletMarginLoss" eSuperTypes="#//Loss_functions/Loss_functions_1_1_1">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="swap" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Loss_functions_1_2_1" abstract="true"
+        eSuperTypes="#//Loss_functions/Loss_functions_1_2">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="ignore_index" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="CrossEntropyLoss" eSuperTypes="#//Loss_functions/Loss_functions_1_2_1"/>
+    <eClassifiers xsi:type="ecore:EClass" name="NLLLoss" eSuperTypes="#//Loss_functions/Loss_functions_1_2_1"/>
+    <eClassifiers xsi:type="ecore:EClass" name="PoissonNLLLoss" eSuperTypes="#//Loss_functions/Loss_functions_1_2">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="log_input" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="full" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="eps" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="BCEWithLogitsLoss" eSuperTypes="#//Loss_functions/Loss_functions_1_2">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="pos_weight" ordered="false"
+          eType="#//Tensor/Tensor"/>
+    </eClassifiers>
+  </eSubpackages>
+  <eSubpackages name="Vision_layers" nsURI="http://www.eclipse.org/papyrus/AIML/vision/1"
+      nsPrefix="AIML.Vision_layers">
+    <eClassifiers xsi:type="ecore:EClass" name="Vision_layers" abstract="true" eSuperTypes="#//Module/Model"/>
+    <eClassifiers xsi:type="ecore:EClass" name="Vision_layers_1" abstract="true" eSuperTypes="#//Vision_layers/Vision_layers">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="size" ordered="false"
+          upperBound="-1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="scale_factor" ordered="false"
+          upperBound="-1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="PixelShuffle" eSuperTypes="#//Vision_layers/Vision_layers">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="upscale_factor" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Upsample" eSuperTypes="#//Vision_layers/Vision_layers_1">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="mode" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="align_corners" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="UpsamplingNearest2d" eSuperTypes="#//Vision_layers/Vision_layers_1"/>
+    <eClassifiers xsi:type="ecore:EClass" name="UpsamplingBilinear2d" eSuperTypes="#//Vision_layers/Vision_layers_1"/>
+  </eSubpackages>
+  <eSubpackages name="DataParallel_layers" nsURI="http://www.eclipse.org/papyrus/AIML/dataparallel/1"
+      nsPrefix="AIML.DataParallel_layers">
+    <eClassifiers xsi:type="ecore:EClass" name="DataParallel_layers" abstract="true"
+        eSuperTypes="#//Module/Model">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="module" ordered="false"
+          lowerBound="1" eType="#//Module/Model"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="device_ids" ordered="false"
+          upperBound="-1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="output_device" ordered="false"
+          upperBound="-1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="DistributedDataParallel" eSuperTypes="#//DataParallel_layers/DataParallel_layers">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="broadcast_buffers" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="process_group" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="bucket_cap_mb" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="find_unsused_parameters"
+          ordered="false" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="check_reduction" ordered="false"
+          eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="DataParallel" eSuperTypes="#//DataParallel_layers/DataParallel_layers"/>
+  </eSubpackages>
+  <eSubpackages name="Layer_weight_regularizers" nsURI="http:///AIML/Layer_weight_regularizers.ecore"
+      nsPrefix="AIML.Layer_weight_regularizers">
+    <eClassifiers xsi:type="ecore:EClass" name="l1" eSuperTypes="#//Layer_weight_regularizers/ReguWithl1"/>
+    <eClassifiers xsi:type="ecore:EClass" name="ReguWithl1" abstract="true">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="l1" ordered="false" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="l2" eSuperTypes="#//Layer_weight_regularizers/ReguWithl2"/>
+    <eClassifiers xsi:type="ecore:EClass" name="ReguWithl2" abstract="true">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="l2" ordered="false" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="l1_l2" eSuperTypes="#//Layer_weight_regularizers/ReguWithl1 #//Layer_weight_regularizers/ReguWithl2"/>
+  </eSubpackages>
+  <eSubpackages name="Layer_weight_initializers" nsURI="http:///AIML/Layer_weight_initializers.ecore"
+      nsPrefix="AIML.Layer_weight_initializers">
+    <eClassifiers xsi:type="ecore:EClass" name="random_normal" eSuperTypes="#//Layer_weight_initializers/initializer_with_mean_stddev"/>
+    <eClassifiers xsi:type="ecore:EClass" name="initializer_with_mean_stddev" abstract="true"
+        eSuperTypes="#//Layer_weight_initializers/initializer_with_seed">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="mean" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="stddev" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="initializer_with_seed" abstract="true">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="seed" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="random_uniform" eSuperTypes="#//Layer_weight_initializers/initializer_with_seed">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="minval" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="maxval" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="truncated_normal" eSuperTypes="#//Layer_weight_initializers/initializer_with_mean_stddev"/>
+    <eClassifiers xsi:type="ecore:EClass" name="zeros"/>
+    <eClassifiers xsi:type="ecore:EClass" name="ones"/>
+    <eClassifiers xsi:type="ecore:EClass" name="glorot_normal" eSuperTypes="#//Layer_weight_initializers/initializer_with_seed"/>
+    <eClassifiers xsi:type="ecore:EClass" name="glorot_uniform" eSuperTypes="#//Layer_weight_initializers/initializer_with_seed"/>
+    <eClassifiers xsi:type="ecore:EClass" name="identity" eSuperTypes="#//Layer_weight_initializers/initializer_with_gain"/>
+    <eClassifiers xsi:type="ecore:EClass" name="initializer_with_gain" abstract="true">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="gain" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="orthogonal" eSuperTypes="#//Layer_weight_initializers/initializer_with_gain #//Layer_weight_initializers/initializer_with_seed"/>
+    <eClassifiers xsi:type="ecore:EClass" name="constant">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="variance_scaling" eSuperTypes="#//Layer_weight_initializers/initializer_with_seed">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="scale" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Real"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="mode" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="distribution" ordered="false"
+          lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+    </eClassifiers>
+  </eSubpackages>
+</ecore:EPackage>
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/profile/AIML.genmodel b/aiml/org.eclipse.papyrus.aiml.profile/profile/AIML.genmodel
new file mode 100644
index 0000000..383f3f1
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/profile/AIML.genmodel
@@ -0,0 +1,643 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:genmodel="http://www.eclipse.org/uml2/2.2.0/GenModel"
+    copyrightText="Copyright (c) 2020 CEA LIST&#xA;&#xA;All rights reserved. This program and the accompanying materials are&#xA;made available under the terms of the Eclipse Public License v2.0 which&#xA;accompanies this distribution, and is available at&#xA;https://www.eclipse.org/legal/epl-2.0/&#xA;&#xA;SPDX-License-Identifier: EPL-2.0&#xA;"
+    modelDirectory="/org.eclipse.papyrus.aiml.profile/src-gen" modelPluginID="org.eclipse.papyrus.aiml.profile"
+    modelName="AIML" nonNLSMarkers="true" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
+    importerID="org.eclipse.uml2.uml.ecore.importer" complianceLevel="8.0" copyrightFields="false"
+    usedGenPackages="../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../org.eclipse.uml2.types/model/Types.genmodel#//types ../../org.eclipse.uml2.uml/model/UML.genmodel#//uml"
+    operationReflection="true" importOrganizing="true">
+  <genAnnotations source="http://www.eclipse.org/emf/2002/GenModel/importer/org.eclipse.uml2.uml.ecore.importer">
+    <details key="OPPOSITE_ROLE_NAMES" value="IGNORE"/>
+    <details key="DUPLICATE_FEATURES" value="DISCARD"/>
+    <details key="ANNOTATION_DETAILS" value="PROCESS"/>
+    <details key="PROPERTY_DEFAULT_EXPRESSIONS" value="IGNORE"/>
+    <details key="DUPLICATE_FEATURE_INHERITANCE" value="DISCARD"/>
+    <details key="COMMENTS" value="PROCESS"/>
+    <details key="DERIVED_FEATURES" value="PROCESS"/>
+    <details key="SUPER_CLASS_ORDER" value="PROCESS"/>
+    <details key="DUPLICATE_OPERATION_INHERITANCE" value="DISCARD"/>
+    <details key="REDEFINING_OPERATIONS" value="REPORT"/>
+    <details key="INVARIANT_CONSTRAINTS" value="PROCESS"/>
+    <details key="UNION_PROPERTIES" value="REPORT"/>
+    <details key="DUPLICATE_OPERATIONS" value="DISCARD"/>
+    <details key="NON_API_INVARIANTS" value="IGNORE"/>
+    <details key="CAMEL_CASE_NAMES" value="IGNORE"/>
+    <details key="SUBSETTING_PROPERTIES" value="REPORT"/>
+    <details key="OPERATION_BODIES" value="IGNORE"/>
+    <details key="ECORE_TAGGED_VALUES" value="PROCESS"/>
+    <details key="UNTYPED_PROPERTIES" value="REPORT"/>
+    <details key="REDEFINING_PROPERTIES" value="REPORT"/>
+    <details key="INVOCATION_DELEGATES" value="IGNORE"/>
+    <details key="VALIDATION_DELEGATES" value="IGNORE"/>
+  </genAnnotations>
+  <foreignModel>AIML.profile.uml</foreignModel>
+  <genPackages xsi:type="genmodel:GenPackage" prefix="AIML" basePackage="org.eclipse.papyrus.aiml.profile"
+      disposableProviderFactory="true" ecorePackage="AIML.ecore#/">
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//SmoothL1Loss"/>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//SoftMarginLoss"/>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//MultiLabelSoftMarginLoss"/>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Module" basePackage="org.eclipse.papyrus.aiml.profile.AIML"
+        disposableProviderFactory="true" ecorePackage="AIML.ecore#//Module">
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Module/Model">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference AIML.ecore#//Module/Model/base_Class"/>
+        <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" createChild="false"
+            ecoreFeature="ecore:EAttribute AIML.ecore#//Module/Model/name"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference AIML.ecore#//Module/Model/data"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Module/Model/requires_grad"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference AIML.ecore#//Module/Model/subModule"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Module/Model/optimizer"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Module/Model/loss"/>
+      </genClasses>
+    </nestedGenPackages>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Tensor" basePackage="org.eclipse.papyrus.aiml.profile.AIML"
+        disposableProviderFactory="true" ecorePackage="AIML.ecore#//Tensor">
+      <genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="AIML.ecore#//Tensor/EDType">
+        <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="AIML.ecore#//Tensor/EDType/float32"/>
+        <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="AIML.ecore#//Tensor/EDType/float64"/>
+        <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="AIML.ecore#//Tensor/EDType/float16"/>
+        <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="AIML.ecore#//Tensor/EDType/uint8"/>
+        <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="AIML.ecore#//Tensor/EDType/int8"/>
+        <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="AIML.ecore#//Tensor/EDType/int16"/>
+        <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="AIML.ecore#//Tensor/EDType/int32"/>
+        <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="AIML.ecore#//Tensor/EDType/int64"/>
+        <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="AIML.ecore#//Tensor/EDType/bool"/>
+      </genEnums>
+      <genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="AIML.ecore#//Tensor/ETensorTypes">
+        <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="AIML.ecore#//Tensor/ETensorTypes/FloatTensor"/>
+        <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="AIML.ecore#//Tensor/ETensorTypes/DoubleTensor"/>
+        <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="AIML.ecore#//Tensor/ETensorTypes/HalfTensor"/>
+        <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="AIML.ecore#//Tensor/ETensorTypes/ByteTensor"/>
+        <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="AIML.ecore#//Tensor/ETensorTypes/CharTensor"/>
+        <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="AIML.ecore#//Tensor/ETensorTypes/ShortTensor"/>
+        <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="AIML.ecore#//Tensor/ETensorTypes/IntTensor"/>
+        <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="AIML.ecore#//Tensor/ETensorTypes/LongTensor"/>
+        <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="AIML.ecore#//Tensor/ETensorTypes/BoolTensor"/>
+      </genEnums>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Tensor/Tensor">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Tensor/Tensor/data"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Tensor/Tensor/dtype"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference AIML.ecore#//Tensor/Tensor/device"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Tensor/Tensor/requires_grad"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Tensor/Tensor/pin_memory"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Tensor/Tensor/shape"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Tensor/Tensor/name"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference AIML.ecore#//Tensor/Tensor/base_Class"/>
+      </genClasses>
+    </nestedGenPackages>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Datatypes" basePackage="org.eclipse.papyrus.aiml.profile.AIML"
+        disposableProviderFactory="true" ecorePackage="AIML.ecore#//datatypes">
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//datatypes/Device">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//datatypes/Device/type"/>
+      </genClasses>
+    </nestedGenPackages>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Pooling_layers" basePackage="org.eclipse.papyrus.aiml.profile.AIML"
+        disposableProviderFactory="true" ecorePackage="AIML.ecore#//Pooling_layers">
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Pooling_layers/Pooling_layers"/>
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Pooling_layers/Pooling_layers_1">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Pooling_layers/Pooling_layers_1/kernel_size"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Pooling_layers/Pooling_layers_2">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Pooling_layers/Pooling_layers_2/output_size"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Pooling_layers/AdaptativeMaxPool">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Pooling_layers/AdaptativeMaxPool/return_indices"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Pooling_layers/AdaptativeMaxPool1d"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Pooling_layers/AdaptativeMaxPool2d"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Pooling_layers/AdaptativeMaxPool3d"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Pooling_layers/AdaptiveAvgPool3d"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Pooling_layers/AdaptiveAvgPool2d"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Pooling_layers/AdaptiveAvgPool1d"/>
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Pooling_layers/Pooling_layers_1_1">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Pooling_layers/Pooling_layers_1_1/stride"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Pooling_layers/MaxPool1d"/>
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Pooling_layers/MaxPool">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Pooling_layers/MaxPool/dilation"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Pooling_layers/MaxPool/return_indices"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Pooling_layers/Pooling_layers_1_1_1_1">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Pooling_layers/Pooling_layers_1_1_1_1/ceil_mode"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Pooling_layers/Pooling_layers_1_1_1_1/pool_size"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Pooling_layers/Pooling_layers_1_1_1">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Pooling_layers/Pooling_layers_1_1_1/padding"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Pooling_layers/Pooling_layers_1_1_1/padding_k"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Pooling_layers/MaxUnpool1d"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Pooling_layers/AvgPool1d"/>
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Pooling_layers/Pooling_layers_1_1_2_1">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Pooling_layers/Pooling_layers_1_1_2_1/count_include_pad"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Pooling_layers/MaxUnpool2d"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Pooling_layers/MaxUnpool3d"/>
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Pooling_layers/Pooling_layers_1_1_2">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Pooling_layers/Pooling_layers_1_1_2/ceil_mode"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Pooling_layers/LPPool1d"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Pooling_layers/LPPool2d"/>
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Pooling_layers/AvgPool2d3d">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Pooling_layers/AvgPool2d3d/divisor_override"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Pooling_layers/AvgPool2d"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Pooling_layers/AvgPool3d"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Pooling_layers/MaxPool2d"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Pooling_layers/MaxPool3d"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Pooling_layers/FractionalMaxPool2d">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Pooling_layers/FractionalMaxPool2d/output_size"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Pooling_layers/FractionalMaxPool2d/output_ratio"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Pooling_layers/FractionalMaxPool2d/return_indices"/>
+      </genClasses>
+    </nestedGenPackages>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Convolution_layers"
+        basePackage="org.eclipse.papyrus.aiml.profile.AIML" disposableProviderFactory="true"
+        ecorePackage="AIML.ecore#//Convolution_layers">
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Convolution_layers/Convolution">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Convolution_layers/Convolution/in_channels"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Convolution_layers/Convolution/groups"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Convolution_layers/Convolution/biais"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Convolution_layers/Convolution/padding_mode"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Convolution_layers/Convolution/data_format"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Convolution_layers/Convolution/dilation_rate"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Convolution_layers/Convolution/activation"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Convolution_layers/Convolution/bias_initializer"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Convolution_layers/Convolution/activity_regularizer"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Convolution_layers/Convolution/bias_constraint"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Convolution_layers/Convolution/bias_regularizer"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Convolution_layers/Convolution_layers">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Convolution_layers/Convolution_layers/kernel_size"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Convolution_layers/Convolution_layers/stride"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Convolution_layers/Convolution_layers/padding"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Convolution_layers/Convolution_layers/dilation"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Convolution_layers/Unfold"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Convolution_layers/Fold">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Convolution_layers/Fold/output_size"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Convolution_layers/Conv2d"/>
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Convolution_layers/basic">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Convolution_layers/basic/kernel_initializer"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference AIML.ecore#//Convolution_layers/basic/kernel_constraint"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Convolution_layers/basic/kernel_regularizer"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Convolution_layers/LayerWithFilter">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Convolution_layers/LayerWithFilter/out_channels"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Convolution_layers/Conv3d"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Convolution_layers/ConvTranspose1d"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Convolution_layers/ConvTranspose2d"/>
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Convolution_layers/transpose">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Convolution_layers/transpose/output_padding"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Convolution_layers/ConvTranspose3d"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Convolution_layers/Conv1d"/>
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Convolution_layers/Separable">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Convolution_layers/Separable/depth_multiplier"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Convolution_layers/Separable/depthwise_initializer"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Convolution_layers/Separable/pointwise_initializer"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Convolution_layers/Separable/depthwise_regularizer"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Convolution_layers/Separable/poitnwise_regularizer"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Convolution_layers/Separable/depthwise_constraint"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Convolution_layers/Separable/pointwise_constraint"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Convolution_layers/SeparableConv2D"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Convolution_layers/SeparableConv1D"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Convolution_layers/DepthwiseConv2D">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Convolution_layers/DepthwiseConv2D/depth_multiplier"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Convolution_layers/DepthwiseConv2D/depthwise_initializer"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Convolution_layers/DepthwiseConv2D/depthwise_regularizer"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Convolution_layers/DepthwiseConv2D/depthwise_constraint"/>
+      </genClasses>
+    </nestedGenPackages>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Layer_weight_constraints"
+        basePackage="org.eclipse.papyrus.aiml.profile.AIML" disposableProviderFactory="true"
+        ecorePackage="AIML.ecore#//Layer_weight_constraints">
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Layer_weight_constraints/min_max_norm">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Layer_weight_constraints/min_max_norm/min_value"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Layer_weight_constraints/min_max_norm/rate"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Layer_weight_constraints/NormWithMaxValue">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Layer_weight_constraints/NormWithMaxValue/max_value"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Layer_weight_constraints/norm">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Layer_weight_constraints/norm/axis"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Layer_weight_constraints/max_norm"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Layer_weight_constraints/non_neg"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Layer_weight_constraints/radial_constraint"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Layer_weight_constraints/unit_norm"/>
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Layer_weight_constraints/constraints"/>
+    </nestedGenPackages>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Padding_layers" basePackage="org.eclipse.papyrus.aiml.profile.AIML"
+        disposableProviderFactory="true" ecorePackage="AIML.ecore#//Padding_layers">
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Padding_layers/Padding_layers">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Padding_layers/Padding_layers/padding"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Padding_layers/ReflectionPad1d"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Padding_layers/ReflectionPad2d"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Padding_layers/ReplicationPad1d"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Padding_layers/ReplicationPad2d"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Padding_layers/ReplicationPad3d"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Padding_layers/ZeroPad2d"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Padding_layers/ConstantPad1d"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Padding_layers/ConstantPad2d"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Padding_layers/ConstantPad3d"/>
+    </nestedGenPackages>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="NonLinearActivations"
+        basePackage="org.eclipse.papyrus.aiml.profile.AIML" disposableProviderFactory="true"
+        ecorePackage="AIML.ecore#//NonLinearActivations">
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//NonLinearActivations/Nonlinear_activations_weightedsumnonlinearity"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//NonLinearActivations/ELU">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//NonLinearActivations/ELU/alpha"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//NonLinearActivations/Nonlinear_activations_weightedsumnonlinearity_1">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//NonLinearActivations/Nonlinear_activations_weightedsumnonlinearity_1/inplace"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//NonLinearActivations/shrink">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//NonLinearActivations/shrink/lambd"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//NonLinearActivations/LeakyReLU">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//NonLinearActivations/LeakyReLU/negative_slope"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//NonLinearActivations/LogSigmoid"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//NonLinearActivations/MultiheadAttention">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//NonLinearActivations/MultiheadAttention/embed_dim"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//NonLinearActivations/MultiheadAttention/num_heads"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//NonLinearActivations/MultiheadAttention/dropout"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//NonLinearActivations/MultiheadAttention/bias"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//NonLinearActivations/MultiheadAttention/add_bias_kv"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//NonLinearActivations/MultiheadAttention/add_zero_attn"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//NonLinearActivations/MultiheadAttention/kdim"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//NonLinearActivations/MultiheadAttention/vdim"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//NonLinearActivations/PReLU">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//NonLinearActivations/PReLU/num_parameters"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//NonLinearActivations/PReLU/init"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//NonLinearActivations/ReLU"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//NonLinearActivations/ReLU6"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//NonLinearActivations/SELU"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//NonLinearActivations/RReLU">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//NonLinearActivations/RReLU/lower"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//NonLinearActivations/RReLU/upper"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//NonLinearActivations/CELU">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//NonLinearActivations/CELU/alpha"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//NonLinearActivations/GELU"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//NonLinearActivations/Sigmoid"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//NonLinearActivations/Softplus">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//NonLinearActivations/Softplus/beta"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//NonLinearActivations/Softplus/threshold"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//NonLinearActivations/Softshrink"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//NonLinearActivations/Hardshrink"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//NonLinearActivations/Softsign"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//NonLinearActivations/Tanhshrink"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//NonLinearActivations/Tanh"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//NonLinearActivations/Threshold">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//NonLinearActivations/Threshold/threshold"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//NonLinearActivations/Threshold/value"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//NonLinearActivations/Hardtanh">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//NonLinearActivations/Hardtanh/min_val"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//NonLinearActivations/Hardtanh/max_val"/>
+      </genClasses>
+    </nestedGenPackages>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="SoftMinMaxActivations"
+        basePackage="org.eclipse.papyrus.aiml.profile.AIML" disposableProviderFactory="true"
+        ecorePackage="AIML.ecore#//SoftMinMaxActivations">
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//SoftMinMaxActivations/SoftMinMax"/>
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//SoftMinMaxActivations/SoftMinMax_1">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//SoftMinMaxActivations/SoftMinMax_1/dim"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//SoftMinMaxActivations/Softmin"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//SoftMinMaxActivations/Softmax"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//SoftMinMaxActivations/Softmax2d"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//SoftMinMaxActivations/LogSoftmax"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//SoftMinMaxActivations/AdaptiveLogSoftmaxWithLoss">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//SoftMinMaxActivations/AdaptiveLogSoftmaxWithLoss/in_features"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//SoftMinMaxActivations/AdaptiveLogSoftmaxWithLoss/n_classes"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//SoftMinMaxActivations/AdaptiveLogSoftmaxWithLoss/cutoffs"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//SoftMinMaxActivations/AdaptiveLogSoftmaxWithLoss/div_value"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//SoftMinMaxActivations/AdaptiveLogSoftmaxWithLoss/head_biais"/>
+      </genClasses>
+    </nestedGenPackages>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Normalization_layers"
+        basePackage="org.eclipse.papyrus.aiml.profile.AIML" disposableProviderFactory="true"
+        ecorePackage="AIML.ecore#//Normalization_layers">
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Normalization_layers/Normalization_layers"/>
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Normalization_layers/Normalization_layers_1">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Normalization_layers/Normalization_layers_1/eps"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Normalization_layers/LayerNorm">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Normalization_layers/LayerNorm/normalized_shape"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Normalization_layers/LayerNorm/elementwise_affine"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Normalization_layers/LocalResponseNorm">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Normalization_layers/LocalResponseNorm/size"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Normalization_layers/LocalResponseNorm/alpha"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Normalization_layers/LocalResponseNorm/beta"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Normalization_layers/LocalResponseNorm/k"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Normalization_layers/Normalization_layers_1_1">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Normalization_layers/Normalization_layers_1_1/affine"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Normalization_layers/Normalization_layers_1_1_1">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Normalization_layers/Normalization_layers_1_1_1/num_features"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Normalization_layers/Normalization_layers_1_1_1/momentum"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Normalization_layers/Normalization_layers_1_1_1/track_running_stats"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Normalization_layers/GroupNorm">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Normalization_layers/GroupNorm/num_groups"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Normalization_layers/GroupNorm/num_channels"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Normalization_layers/BatchNorm1d"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Normalization_layers/BatchNorm2d"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Normalization_layers/BatchNorm3d"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Normalization_layers/SyncBatchNorm">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Normalization_layers/SyncBatchNorm/process_group"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Normalization_layers/InstanceNorm1d"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Normalization_layers/InstanceNorm2d"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Normalization_layers/InstanceNorm3d"/>
+    </nestedGenPackages>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Recurrent_layers" basePackage="org.eclipse.papyrus.aiml.profile.AIML"
+        disposableProviderFactory="true" ecorePackage="AIML.ecore#//Recurrent_layers">
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Recurrent_layers/Recurrent_layers">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Recurrent_layers/Recurrent_layers/input_size"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Recurrent_layers/Recurrent_layers/hidden_size"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Recurrent_layers/Recurrent_layers/bias_pt"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Recurrent_layers/Recurrent_layers_1">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Recurrent_layers/Recurrent_layers_1/num_layers"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Recurrent_layers/Recurrent_layers_1/batch_first_pt"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Recurrent_layers/Recurrent_layers_1/dropout"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Recurrent_layers/Recurrent_layers_1/bidirectional_pt"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Recurrent_layers/Recurrent_layers_1/activation"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Recurrent_layers/Recurrent_layers_1/recurrent_activation"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Recurrent_layers/Recurrent_layers_1/use_bias"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Recurrent_layers/Recurrent_layers_1/kernel_initializer"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Recurrent_layers/Recurrent_layers_1/recurrent_initializer"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Recurrent_layers/Recurrent_layers_1/bias_initializer"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Recurrent_layers/Recurrent_layers_1/return_sequences"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Recurrent_layers/Recurrent_layers_1/return_state"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference AIML.ecore#//Recurrent_layers/Recurrent_layers_1/bidirectional_k"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Recurrent_layers/Recurrent_layers_1/recurrent_dropout"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Recurrent_layers/RNNCell">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Recurrent_layers/RNNCell/nonlinearity"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Recurrent_layers/LSTMCell"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Recurrent_layers/GRUCell"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Recurrent_layers/RNN">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Recurrent_layers/RNN/nonlinearity"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Recurrent_layers/LSTM"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Recurrent_layers/GRU"/>
+    </nestedGenPackages>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Transformer_layers"
+        basePackage="org.eclipse.papyrus.aiml.profile.AIML" disposableProviderFactory="true"
+        ecorePackage="AIML.ecore#//Transformer_layers">
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Transformer_layers/Transformer_layers"/>
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Transformer_layers/Transformer_layers_1">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Transformer_layers/Transformer_layers_1/d_model"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Transformer_layers/Transformer_layers_1/nhead"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Transformer_layers/Transformer_layers_1/dim_feedforward"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Transformer_layers/Transformer_layers_1/dropout"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Transformer_layers/Transformer_layers_1/activation"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Transformer_layers/Transformer_layers_2">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Transformer_layers/Transformer_layers_2/num_layers"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference AIML.ecore#//Transformer_layers/Transformer_layers_2/norm"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Transformer_layers/Transformer">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Transformer_layers/Transformer/num_encoder_layers"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Transformer_layers/Transformer/num_decoder_layers"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference AIML.ecore#//Transformer_layers/Transformer/custom_encoder"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference AIML.ecore#//Transformer_layers/Transformer/custom_decoder"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Transformer_layers/TransformerEncoder">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference AIML.ecore#//Transformer_layers/TransformerEncoder/encoder_layer"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Transformer_layers/TransformerEncoderLayer"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Transformer_layers/TransformerDecoder">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference AIML.ecore#//Transformer_layers/TransformerDecoder/decoder_layer"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Transformer_layers/TransformerDecoderLayer"/>
+    </nestedGenPackages>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Linear_layers" basePackage="org.eclipse.papyrus.aiml.profile.AIML"
+        disposableProviderFactory="true" ecorePackage="AIML.ecore#//Linear_layers">
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Linear_layers/Linear_layers"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Linear_layers/Identity"/>
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Linear_layers/Linear_layers_1">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Linear_layers/Linear_layers_1/out_features"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Linear_layers/Linear_layers_1/bias"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Linear_layers/Linear">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Linear_layers/Linear/in_features"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Linear_layers/Linear/activation"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Linear_layers/Linear/kernel_initializer"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Linear_layers/Linear/bias_initializer"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Linear_layers/Bilinear">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Linear_layers/Bilinear/in1_features"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Linear_layers/Bilinear/in2_features"/>
+      </genClasses>
+    </nestedGenPackages>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Dropout_layers" basePackage="org.eclipse.papyrus.aiml.profile.AIML"
+        disposableProviderFactory="true" ecorePackage="AIML.ecore#//Dropout_layers">
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Dropout_layers/Dropout_layers">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Dropout_layers/Dropout_layers/p"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Dropout_layers/Dropout_layers/inplace"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Dropout_layers/Dropout_layers/noise_shape"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Dropout_layers/Dropout_layers/seed"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Dropout_layers/Dropout"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Dropout_layers/Dropout2d"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Dropout_layers/Dropout3d"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Dropout_layers/AlphaDropout"/>
+    </nestedGenPackages>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Sparse_layers" basePackage="org.eclipse.papyrus.aiml.profile.AIML"
+        disposableProviderFactory="true" ecorePackage="AIML.ecore#//Sparse_layers">
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Sparse_layers/Sparse_layers">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Sparse_layers/Sparse_layers/num_embeddings"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Sparse_layers/Sparse_layers/embedding_dim"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Sparse_layers/Sparse_layers/max_norm"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Sparse_layers/Sparse_layers/norm_type"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Sparse_layers/Sparse_layers/sparse"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Sparse_layers/Sparse_layers/scale_grad_by_freq"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Sparse_layers/Embedding">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Sparse_layers/Embedding/padding_idx"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Sparse_layers/EmbeddingBag">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Sparse_layers/EmbeddingBag/mode"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Sparse_layers/EmbeddingBag/include_last_offset"/>
+      </genClasses>
+    </nestedGenPackages>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Distance_functions"
+        basePackage="org.eclipse.papyrus.aiml.profile.AIML" disposableProviderFactory="true"
+        ecorePackage="AIML.ecore#//Distance_functions">
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Distance_functions/Distance_functions">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Distance_functions/Distance_functions/eps"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Distance_functions/CosineSimilarity">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Distance_functions/CosineSimilarity/dim"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Distance_functions/PairwiseDistance">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Distance_functions/PairwiseDistance/p"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Distance_functions/PairwiseDistance/keepdim"/>
+      </genClasses>
+    </nestedGenPackages>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Loss_functions" basePackage="org.eclipse.papyrus.aiml.profile.AIML"
+        disposableProviderFactory="true" ecorePackage="AIML.ecore#//Loss_functions">
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Loss_functions/Loss_functions">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Loss_functions/Loss_functions/reduction"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Loss_functions/Loss_functions_1">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Loss_functions/Loss_functions_1/size_average"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Loss_functions/Loss_functions_1/reduce"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Loss_functions/L1Loss"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Loss_functions/MSELoss"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Loss_functions/CTCLoss">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Loss_functions/CTCLoss/blank"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Loss_functions/CTCLoss/zero_infinity"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Loss_functions/KLDivLoss"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Loss_functions/MultiLabelMarginLoss"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Loss_functions/Loss_functions_1_1">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Loss_functions/Loss_functions_1_1/margin"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Loss_functions/Loss_functions_1_2">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference AIML.ecore#//Loss_functions/Loss_functions_1_2/weight"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Loss_functions/CosineEmbeddingLoss"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Loss_functions/MarginRankingLoss"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Loss_functions/HingeEmbeddingLoss"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Loss_functions/BCELoss"/>
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Loss_functions/Loss_functions_1_1_1">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Loss_functions/Loss_functions_1_1_1/p"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Loss_functions/MultiMarginLoss">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference AIML.ecore#//Loss_functions/MultiMarginLoss/weight"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Loss_functions/TripletMarginLoss">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Loss_functions/TripletMarginLoss/swap"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Loss_functions/Loss_functions_1_2_1">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Loss_functions/Loss_functions_1_2_1/ignore_index"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Loss_functions/CrossEntropyLoss"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Loss_functions/NLLLoss"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Loss_functions/PoissonNLLLoss">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Loss_functions/PoissonNLLLoss/log_input"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Loss_functions/PoissonNLLLoss/full"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Loss_functions/PoissonNLLLoss/eps"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Loss_functions/BCEWithLogitsLoss">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference AIML.ecore#//Loss_functions/BCEWithLogitsLoss/pos_weight"/>
+      </genClasses>
+    </nestedGenPackages>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Vision_layers" basePackage="org.eclipse.papyrus.aiml.profile.AIML"
+        disposableProviderFactory="true" ecorePackage="AIML.ecore#//Vision_layers">
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Vision_layers/Vision_layers"/>
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Vision_layers/Vision_layers_1">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Vision_layers/Vision_layers_1/size"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Vision_layers/Vision_layers_1/scale_factor"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Vision_layers/PixelShuffle">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Vision_layers/PixelShuffle/upscale_factor"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Vision_layers/Upsample">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Vision_layers/Upsample/mode"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Vision_layers/Upsample/align_corners"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Vision_layers/UpsamplingNearest2d"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Vision_layers/UpsamplingBilinear2d"/>
+    </nestedGenPackages>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="DataParallel_layers"
+        basePackage="org.eclipse.papyrus.aiml.profile.AIML" disposableProviderFactory="true"
+        ecorePackage="AIML.ecore#//DataParallel_layers">
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//DataParallel_layers/DataParallel_layers">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference AIML.ecore#//DataParallel_layers/DataParallel_layers/module"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//DataParallel_layers/DataParallel_layers/device_ids"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//DataParallel_layers/DataParallel_layers/output_device"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//DataParallel_layers/DistributedDataParallel">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//DataParallel_layers/DistributedDataParallel/broadcast_buffers"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//DataParallel_layers/DistributedDataParallel/process_group"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//DataParallel_layers/DistributedDataParallel/bucket_cap_mb"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//DataParallel_layers/DistributedDataParallel/find_unsused_parameters"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//DataParallel_layers/DistributedDataParallel/check_reduction"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//DataParallel_layers/DataParallel"/>
+    </nestedGenPackages>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Layer_weight_regularizers"
+        basePackage="org.eclipse.papyrus.aiml.profile.AIML" disposableProviderFactory="true"
+        ecorePackage="AIML.ecore#//Layer_weight_regularizers">
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Layer_weight_regularizers/l1"/>
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Layer_weight_regularizers/ReguWithl1">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Layer_weight_regularizers/ReguWithl1/l1"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Layer_weight_regularizers/l2"/>
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Layer_weight_regularizers/ReguWithl2">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Layer_weight_regularizers/ReguWithl2/l2"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Layer_weight_regularizers/l1_l2"/>
+    </nestedGenPackages>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Layer_weight_initializers"
+        basePackage="org.eclipse.papyrus.aiml.profile.AIML" disposableProviderFactory="true"
+        ecorePackage="AIML.ecore#//Layer_weight_initializers">
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Layer_weight_initializers/random_normal"/>
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Layer_weight_initializers/initializer_with_mean_stddev">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Layer_weight_initializers/initializer_with_mean_stddev/mean"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Layer_weight_initializers/initializer_with_mean_stddev/stddev"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Layer_weight_initializers/initializer_with_seed">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Layer_weight_initializers/initializer_with_seed/seed"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Layer_weight_initializers/random_uniform">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Layer_weight_initializers/random_uniform/minval"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Layer_weight_initializers/random_uniform/maxval"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Layer_weight_initializers/truncated_normal"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Layer_weight_initializers/zeros"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Layer_weight_initializers/ones"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Layer_weight_initializers/glorot_normal"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Layer_weight_initializers/glorot_uniform"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Layer_weight_initializers/identity"/>
+      <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="AIML.ecore#//Layer_weight_initializers/initializer_with_gain">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Layer_weight_initializers/initializer_with_gain/gain"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Layer_weight_initializers/orthogonal"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Layer_weight_initializers/constant">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Layer_weight_initializers/constant/value"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="AIML.ecore#//Layer_weight_initializers/variance_scaling">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Layer_weight_initializers/variance_scaling/scale"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Layer_weight_initializers/variance_scaling/mode"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute AIML.ecore#//Layer_weight_initializers/variance_scaling/distribution"/>
+      </genClasses>
+    </nestedGenPackages>
+  </genPackages>
+</genmodel:GenModel>
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/profile/AIML.profile.di b/aiml/org.eclipse.papyrus.aiml.profile/profile/AIML.profile.di
new file mode 100644
index 0000000..247ed5e
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/profile/AIML.profile.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<architecture:ArchitectureDescription xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:architecture="http://www.eclipse.org/papyrus/infra/core/architecture" contextId="org.eclipse.papyrus.uml.architecture.Profile"/>
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/profile/AIML.profile.notation b/aiml/org.eclipse.papyrus.aiml.profile/profile/AIML.profile.notation
new file mode 100644
index 0000000..a3e2ba0
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/profile/AIML.profile.notation
@@ -0,0 +1,13155 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:css="http://www.eclipse.org/papyrus/infra/gmfdiag/css" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.3/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/gmfdiag/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+  <notation:Diagram xmi:id="_tRe00H2KEeqSHNFOHg2_Jw" type="PapyrusUMLProfileDiagram" name="AIML" measurementUnit="Pixel">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Qv6tsYvAEeqlnrZTj0aPoA" source="PapyrusCSSForceValue">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Qv6tsovAEeqlnrZTj0aPoA" key="canonical" value="true"/>
+    </eAnnotations>
+    <children xmi:type="notation:Shape" xmi:id="_1ARFcH2KEeqSHNFOHg2_Jw" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_1AnqwH2KEeqSHNFOHg2_Jw" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1ARFcX2KEeqSHNFOHg2_Jw" x="12300" y="-280" width="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Nu8ksJOPEeqnY_bZg2Ebjg" type="Profile_Shape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_N9c6wJOPEeqnY_bZg2Ebjg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_N9c6wZOPEeqnY_bZg2Ebjg" key="mutable" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Nu9y0JOPEeqnY_bZg2Ebjg" type="Profile_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Nu9y0ZOPEeqnY_bZg2Ebjg" type="Profile_PackagedElementCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Nu9y0pOPEeqnY_bZg2Ebjg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Nu9y05OPEeqnY_bZg2Ebjg"/>
+      </children>
+      <element xmi:type="uml:Profile" href="AIML.profile.uml#_Nr2NYJOPEeqnY_bZg2Ebjg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Nu8ksZOPEeqnY_bZg2Ebjg" x="4540" y="-4"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_BpSA0JT3Eeq5BK6mmo2rWg" type="Profile_Shape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CAV18JT3Eeq5BK6mmo2rWg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CAV18ZT3Eeq5BK6mmo2rWg" key="mutable" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_BpT2AJT3Eeq5BK6mmo2rWg" type="Profile_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_BpT2AZT3Eeq5BK6mmo2rWg" type="Profile_PackagedElementCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_BpT2ApT3Eeq5BK6mmo2rWg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BpT2A5T3Eeq5BK6mmo2rWg"/>
+      </children>
+      <element xmi:type="uml:Profile" href="AIML.profile.uml#_u1dx8JT1Eeq5BK6mmo2rWg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BpSn4JT3Eeq5BK6mmo2rWg"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_BpUdEJT3Eeq5BK6mmo2rWg" type="Profile_Shape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CAV18pT3Eeq5BK6mmo2rWg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CAV185T3Eeq5BK6mmo2rWg" key="mutable" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_BpUdEpT3Eeq5BK6mmo2rWg" type="Profile_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_BpUdE5T3Eeq5BK6mmo2rWg" type="Profile_PackagedElementCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_BpUdFJT3Eeq5BK6mmo2rWg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BpUdFZT3Eeq5BK6mmo2rWg"/>
+      </children>
+      <element xmi:type="uml:Profile" href="AIML.profile.uml#_38DjAJT1Eeq5BK6mmo2rWg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BpUdEZT3Eeq5BK6mmo2rWg" x="260"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_BpVEIJT3Eeq5BK6mmo2rWg" type="Profile_Shape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CAV19JT3Eeq5BK6mmo2rWg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CAV19ZT3Eeq5BK6mmo2rWg" key="mutable" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_BpVEIpT3Eeq5BK6mmo2rWg" type="Profile_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_BpVEI5T3Eeq5BK6mmo2rWg" type="Profile_PackagedElementCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_BpVEJJT3Eeq5BK6mmo2rWg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BpVEJZT3Eeq5BK6mmo2rWg"/>
+      </children>
+      <element xmi:type="uml:Package" href="AIML.profile.uml#_-8tiUJT1Eeq5BK6mmo2rWg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BpVEIZT3Eeq5BK6mmo2rWg" x="520"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_BpVEJpT3Eeq5BK6mmo2rWg" type="Profile_Shape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CAV19pT3Eeq5BK6mmo2rWg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CAV195T3Eeq5BK6mmo2rWg" key="mutable" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_BpVEKJT3Eeq5BK6mmo2rWg" type="Profile_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_BpVEKZT3Eeq5BK6mmo2rWg" type="Profile_PackagedElementCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_BpVEKpT3Eeq5BK6mmo2rWg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BpVEK5T3Eeq5BK6mmo2rWg"/>
+      </children>
+      <element xmi:type="uml:Profile" href="AIML.profile.uml#_Deu8AJT2Eeq5BK6mmo2rWg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BpVEJ5T3Eeq5BK6mmo2rWg" x="780"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_BpVrMJT3Eeq5BK6mmo2rWg" type="Profile_Shape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CAV1-JT3Eeq5BK6mmo2rWg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CAV1-ZT3Eeq5BK6mmo2rWg" key="mutable" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_BpVrMpT3Eeq5BK6mmo2rWg" type="Profile_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_BpVrM5T3Eeq5BK6mmo2rWg" type="Profile_PackagedElementCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_BpVrNJT3Eeq5BK6mmo2rWg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BpVrNZT3Eeq5BK6mmo2rWg"/>
+      </children>
+      <element xmi:type="uml:Profile" href="AIML.profile.uml#_2_xEcJT2Eeq5BK6mmo2rWg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BpVrMZT3Eeq5BK6mmo2rWg" x="1040"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_BpVrNpT3Eeq5BK6mmo2rWg" type="Profile_Shape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CAV1-pT3Eeq5BK6mmo2rWg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CAV1-5T3Eeq5BK6mmo2rWg" key="mutable" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_BpVrOJT3Eeq5BK6mmo2rWg" type="Profile_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_BpVrOZT3Eeq5BK6mmo2rWg" type="Profile_PackagedElementCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_BpVrOpT3Eeq5BK6mmo2rWg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BpVrO5T3Eeq5BK6mmo2rWg"/>
+      </children>
+      <element xmi:type="uml:Profile" href="AIML.profile.uml#_H7fbMJT2Eeq5BK6mmo2rWg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BpVrN5T3Eeq5BK6mmo2rWg" x="1300"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_BpWSQJT3Eeq5BK6mmo2rWg" type="Profile_Shape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CAV1_JT3Eeq5BK6mmo2rWg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CAV1_ZT3Eeq5BK6mmo2rWg" key="mutable" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_BpWSQpT3Eeq5BK6mmo2rWg" type="Profile_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_BpWSQ5T3Eeq5BK6mmo2rWg" type="Profile_PackagedElementCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_BpWSRJT3Eeq5BK6mmo2rWg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BpWSRZT3Eeq5BK6mmo2rWg"/>
+      </children>
+      <element xmi:type="uml:Profile" href="AIML.profile.uml#_K1H6wJT2Eeq5BK6mmo2rWg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BpWSQZT3Eeq5BK6mmo2rWg" x="1640"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_BpWSRpT3Eeq5BK6mmo2rWg" type="Profile_Shape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CAV1_pT3Eeq5BK6mmo2rWg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CAV1_5T3Eeq5BK6mmo2rWg" key="mutable" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_BpWSSJT3Eeq5BK6mmo2rWg" type="Profile_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_BpWSSZT3Eeq5BK6mmo2rWg" type="Profile_PackagedElementCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_BpWSSpT3Eeq5BK6mmo2rWg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BpWSS5T3Eeq5BK6mmo2rWg"/>
+      </children>
+      <element xmi:type="uml:Profile" href="AIML.profile.uml#_N5zMsJT2Eeq5BK6mmo2rWg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BpWSR5T3Eeq5BK6mmo2rWg" x="1900"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_BpW5UJT3Eeq5BK6mmo2rWg" type="Profile_Shape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CAV2AJT3Eeq5BK6mmo2rWg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CAV2AZT3Eeq5BK6mmo2rWg" key="mutable" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_BpW5UpT3Eeq5BK6mmo2rWg" type="Profile_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_BpW5U5T3Eeq5BK6mmo2rWg" type="Profile_PackagedElementCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_BpW5VJT3Eeq5BK6mmo2rWg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BpW5VZT3Eeq5BK6mmo2rWg"/>
+      </children>
+      <element xmi:type="uml:Profile" href="AIML.profile.uml#_RAjiQJT2Eeq5BK6mmo2rWg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BpW5UZT3Eeq5BK6mmo2rWg" x="2160"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_BpW5VpT3Eeq5BK6mmo2rWg" type="Profile_Shape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CAV2ApT3Eeq5BK6mmo2rWg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CAV2A5T3Eeq5BK6mmo2rWg" key="mutable" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_BpXgYJT3Eeq5BK6mmo2rWg" type="Profile_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_BpXgYZT3Eeq5BK6mmo2rWg" type="Profile_PackagedElementCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_BpXgYpT3Eeq5BK6mmo2rWg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BpXgY5T3Eeq5BK6mmo2rWg"/>
+      </children>
+      <element xmi:type="uml:Profile" href="AIML.profile.uml#_T8DDAJT2Eeq5BK6mmo2rWg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BpW5V5T3Eeq5BK6mmo2rWg" x="2420"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_BpXgZJT3Eeq5BK6mmo2rWg" type="Profile_Shape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CAV2BJT3Eeq5BK6mmo2rWg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CAV2BZT3Eeq5BK6mmo2rWg" key="mutable" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_BpXgZpT3Eeq5BK6mmo2rWg" type="Profile_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_BpXgZ5T3Eeq5BK6mmo2rWg" type="Profile_PackagedElementCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_BpXgaJT3Eeq5BK6mmo2rWg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BpXgaZT3Eeq5BK6mmo2rWg"/>
+      </children>
+      <element xmi:type="uml:Profile" href="AIML.profile.uml#_WwqfsJT2Eeq5BK6mmo2rWg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BpXgZZT3Eeq5BK6mmo2rWg" x="2680"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_BpYHcJT3Eeq5BK6mmo2rWg" type="Profile_Shape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CAV2BpT3Eeq5BK6mmo2rWg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CAV2B5T3Eeq5BK6mmo2rWg" key="mutable" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_BpYHcpT3Eeq5BK6mmo2rWg" type="Profile_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_BpYHc5T3Eeq5BK6mmo2rWg" type="Profile_PackagedElementCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_BpYHdJT3Eeq5BK6mmo2rWg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BpYHdZT3Eeq5BK6mmo2rWg"/>
+      </children>
+      <element xmi:type="uml:Profile" href="AIML.profile.uml#_ZUMzcJT2Eeq5BK6mmo2rWg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BpYHcZT3Eeq5BK6mmo2rWg" x="2940"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_BpYugJT3Eeq5BK6mmo2rWg" type="Profile_Shape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CAV2CJT3Eeq5BK6mmo2rWg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CAV2CZT3Eeq5BK6mmo2rWg" key="mutable" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_BpYugpT3Eeq5BK6mmo2rWg" type="Profile_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_BpYug5T3Eeq5BK6mmo2rWg" type="Profile_PackagedElementCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_BpYuhJT3Eeq5BK6mmo2rWg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BpYuhZT3Eeq5BK6mmo2rWg"/>
+      </children>
+      <element xmi:type="uml:Profile" href="AIML.profile.uml#_cKwJ0JT2Eeq5BK6mmo2rWg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BpYugZT3Eeq5BK6mmo2rWg" x="3200"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_BpYuhpT3Eeq5BK6mmo2rWg" type="Profile_Shape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CAV2CpT3Eeq5BK6mmo2rWg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CAV2C5T3Eeq5BK6mmo2rWg" key="mutable" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_BpYuiJT3Eeq5BK6mmo2rWg" type="Profile_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_BpYuiZT3Eeq5BK6mmo2rWg" type="Profile_PackagedElementCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_BpYuipT3Eeq5BK6mmo2rWg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BpYui5T3Eeq5BK6mmo2rWg"/>
+      </children>
+      <element xmi:type="uml:Profile" href="AIML.profile.uml#_fjUoIJT2Eeq5BK6mmo2rWg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BpYuh5T3Eeq5BK6mmo2rWg" x="3460"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_BpYujJT3Eeq5BK6mmo2rWg" type="Profile_Shape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CAV2DJT3Eeq5BK6mmo2rWg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CAV2DZT3Eeq5BK6mmo2rWg" key="mutable" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_BpYujpT3Eeq5BK6mmo2rWg" type="Profile_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_BpYuj5T3Eeq5BK6mmo2rWg" type="Profile_PackagedElementCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_BpYukJT3Eeq5BK6mmo2rWg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BpYukZT3Eeq5BK6mmo2rWg"/>
+      </children>
+      <element xmi:type="uml:Profile" href="AIML.profile.uml#_nZcP0JT2Eeq5BK6mmo2rWg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BpYujZT3Eeq5BK6mmo2rWg" x="3720"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_BpZVkJT3Eeq5BK6mmo2rWg" type="Profile_Shape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CAV2DpT3Eeq5BK6mmo2rWg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CAV2D5T3Eeq5BK6mmo2rWg" key="mutable" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_BpZVkpT3Eeq5BK6mmo2rWg" type="Profile_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_BpZVk5T3Eeq5BK6mmo2rWg" type="Profile_PackagedElementCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_BpZVlJT3Eeq5BK6mmo2rWg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BpZVlZT3Eeq5BK6mmo2rWg"/>
+      </children>
+      <element xmi:type="uml:Profile" href="AIML.profile.uml#_q6FsEJT2Eeq5BK6mmo2rWg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BpZVkZT3Eeq5BK6mmo2rWg" x="3980"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_BpZVlpT3Eeq5BK6mmo2rWg" type="Profile_Shape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CAV2EJT3Eeq5BK6mmo2rWg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CAV2EZT3Eeq5BK6mmo2rWg" key="mutable" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_BpZVmJT3Eeq5BK6mmo2rWg" type="Profile_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_BpZVmZT3Eeq5BK6mmo2rWg" type="Profile_PackagedElementCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_BpZVmpT3Eeq5BK6mmo2rWg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BpZVm5T3Eeq5BK6mmo2rWg"/>
+      </children>
+      <element xmi:type="uml:Profile" href="AIML.profile.uml#_wBUroJT2Eeq5BK6mmo2rWg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BpZVl5T3Eeq5BK6mmo2rWg" x="4240"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_f28t0JauEeq1-Ze45jZMTg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_f28t0ZauEeq1-Ze45jZMTg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_f28t05auEeq1-Ze45jZMTg" 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="_f28t0pauEeq1-Ze45jZMTg" x="12640" y="-280"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_LLRQIK7wEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LUVskK7wEeqhVOlV64dXmA" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LUVska7wEeqhVOlV64dXmA" key="mutable" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_LLTFUK7wEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_LLTFUa7wEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_LLTFUq7wEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_LLTFU67wEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_LLTFVK7wEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LLTFVa7wEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_LLTsYK7wEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_LLTsYa7wEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_LLTsYq7wEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_LLTsY67wEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LLTsZK7wEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_hxbaEJm6Eeq0jfmjFzaebA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LLRQIa7wEeqhVOlV64dXmA"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_LLUTcK7wEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LUVskq7wEeqhVOlV64dXmA" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LUVsk67wEeqhVOlV64dXmA" key="mutable" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_LLUTcq7wEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_LLU6gK7wEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_LLU6ga7wEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_LLU6gq7wEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_LLU6g67wEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LLU6hK7wEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_LLU6ha7wEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_LLU6hq7wEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_LLU6h67wEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_LLU6iK7wEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LLU6ia7wEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_w1CjMJm6Eeq0jfmjFzaebA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LLUTca7wEeqhVOlV64dXmA" x="160"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_LLU6iq7wEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LUWToK7wEeqhVOlV64dXmA" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LUWToa7wEeqhVOlV64dXmA" key="mutable" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_LLVhkK7wEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_LLVhka7wEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_LLVhkq7wEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_LLVhk67wEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_LLVhlK7wEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LLVhla7wEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_LLVhlq7wEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_LLVhl67wEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_LLVhmK7wEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_LLVhma7wEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LLVhmq7wEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_DSn40Jm7Eeq0jfmjFzaebA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LLU6i67wEeqhVOlV64dXmA" x="320"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_LLVhm67wEeqhVOlV64dXmA" type="Profile_Shape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LUWToq7wEeqhVOlV64dXmA" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LUWTo67wEeqhVOlV64dXmA" key="mutable" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_LLWIoK7wEeqhVOlV64dXmA" type="Profile_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_LLWIoa7wEeqhVOlV64dXmA" type="Profile_PackagedElementCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_LLWIoq7wEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LLWIo67wEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Profile" href="AIML.profile.uml#_DtlO0KTlEeqmTOsCAzVBxg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LLVhnK7wEeqhVOlV64dXmA" x="540"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_LLWIpK7wEeqhVOlV64dXmA" type="Profile_Shape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LUWTpK7wEeqhVOlV64dXmA" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LUWTpa7wEeqhVOlV64dXmA" key="mutable" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_LLWvsK7wEeqhVOlV64dXmA" type="Profile_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_LLWvsa7wEeqhVOlV64dXmA" type="Profile_PackagedElementCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_LLWvsq7wEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LLWvs67wEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Profile" href="AIML.profile.uml#_X5a5MKTpEeqmTOsCAzVBxg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LLWIpa7wEeqhVOlV64dXmA" x="800"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_LLWvtK7wEeqhVOlV64dXmA" type="Profile_Shape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LUWTpq7wEeqhVOlV64dXmA" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LUWTp67wEeqhVOlV64dXmA" key="mutable" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_LLXWwK7wEeqhVOlV64dXmA" type="Profile_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_LLXWwa7wEeqhVOlV64dXmA" type="Profile_PackagedElementCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_LLXWwq7wEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LLXWw67wEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Profile" href="AIML.profile.uml#_ZgMWkKWVEeq2dLYfuMvqgg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LLWvta7wEeqhVOlV64dXmA" x="1060"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_MfpSsPmaEeqCRcDdPeQY2A" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_MfpSsfmaEeqCRcDdPeQY2A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Mfp5wPmaEeqCRcDdPeQY2A" 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="_MfpSsvmaEeqCRcDdPeQY2A" x="12500" y="-280"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_tRe00X2KEeqSHNFOHg2_Jw" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_tRe00n2KEeqSHNFOHg2_Jw"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_tRe0032KEeqSHNFOHg2_Jw" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    </styles>
+    <styles xmi:type="notation:CanonicalStyle" xmi:id="_Qv6tsIvAEeqlnrZTj0aPoA"/>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    <edges xmi:type="notation:Connector" xmi:id="_Mfqg0PmaEeqCRcDdPeQY2A" type="StereotypeCommentLink" source="_1ARFcH2KEeqSHNFOHg2_Jw" target="_MfpSsPmaEeqCRcDdPeQY2A">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Mfqg0fmaEeqCRcDdPeQY2A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Mfru8PmaEeqCRcDdPeQY2A" 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="_Mfqg0vmaEeqCRcDdPeQY2A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MfrH4PmaEeqCRcDdPeQY2A"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MfrH4fmaEeqCRcDdPeQY2A"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_m1nccI7UEeq0upQJ9r5s4Q" type="PapyrusUMLProfileDiagram" name="Convolution_layers" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_J4Kf-I8nEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_J4Kf-Y8nEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_J4Kf-o8nEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_J4Kf-48nEeq5HrfdV5ATIg" source="PapyrusCSSForceValue">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_J4Kf_I8nEeq5HrfdV5ATIg" key="collapsed" value="true"/>
+        </eAnnotations>
+        <children xmi:type="notation:Shape" xmi:id="_J4Kf_Y8nEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_xLDlAH5nEeqSHNFOHg2_Jw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_J4Kf_o8nEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_J4KgAY8nEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_PgB_YH5oEeqSHNFOHg2_Jw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_J4KgAo8nEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_J4KgA48nEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_RrmfEH5oEeqSHNFOHg2_Jw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_J4KgBI8nEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_J4KgBY8nEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_UPxE8H5oEeqSHNFOHg2_Jw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_J4KgBo8nEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_NJbPgKG2EeqsNvCDUfZJVA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_NJHtgKG2EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_NJbPgaG2EeqsNvCDUfZJVA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_OvP90KG2EeqsNvCDUfZJVA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_Ou9p8KG2EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_OvP90aG2EeqsNvCDUfZJVA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_SXeowKG2EeqsNvCDUfZJVA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_SXLt0KG2EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_SXeowaG2EeqsNvCDUfZJVA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_TH71UKG2EeqsNvCDUfZJVA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_THvoEKG2EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_TH71UaG2EeqsNvCDUfZJVA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_UilOYKG2EeqsNvCDUfZJVA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_UiUvsKG2EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_UilOYaG2EeqsNvCDUfZJVA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_koIVoKG2EeqsNvCDUfZJVA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_kn6TMKG2EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_koIVoaG2EeqsNvCDUfZJVA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_bGnFMKStEeqmTOsCAzVBxg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_bGMOcKStEeqmTOsCAzVBxg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_bGnFMaStEeqmTOsCAzVBxg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_J4KgB48nEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_J4KgCI8nEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_J4KgCY8nEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J4KgCo8nEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_J4KgC48nEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_J4KgDI8nEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_J4KgDY8nEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_J4KgDo8nEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J4KgD48nEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_5DtswH2KEeqSHNFOHg2_Jw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J4KgE48nEeq5HrfdV5ATIg" x="-1426" y="318"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_J4LuF48nEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_J4LuGI8nEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_J4LuGY8nEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_J4LuGo8nEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_J4LuG48nEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_J4LuHI8nEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J4LuHY8nEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_J4LuHo8nEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_J4LuH48nEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_J4LuII8nEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_J4LuIY8nEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J4LuIo8nEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_AfPLEIVKEeqvud4Ae2T3Lg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J4LuJo8nEeq5HrfdV5ATIg" x="-1506" y="1258"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_J4MVII8nEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_J4MVIY8nEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_J4MVIo8nEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_J4MVI48nEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_J4MVJI8nEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_J4MVJY8nEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J4MVJo8nEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_J4MVJ48nEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_J4MVKI8nEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_J4MVKY8nEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_J4MVKo8nEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J4MVK48nEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_anKPYH5pEeqSHNFOHg2_Jw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J4MVL48nEeq5HrfdV5ATIg" x="-820" y="320" width="217"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_J4OxYI8nEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_J4OxYY8nEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_J4OxYo8nEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_J4OxY48nEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_MKi_YH5qEeqSHNFOHg2_Jw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_J4OxZI8nEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_J4OxZY8nEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_J4OxZo8nEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_J4OxZ48nEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J4OxaI8nEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_J4OxaY8nEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_J4Oxao8nEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_J4Oxa48nEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_J4OxbI8nEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J4OxbY8nEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_ISZCEH5qEeqSHNFOHg2_Jw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J4OxcY8nEeq5HrfdV5ATIg" x="-1100" y="320" width="217"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_J4Oxc48nEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_J4OxdI8nEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_J4OxdY8nEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_J4Oxdo8nEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_J4Oxd48nEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_J4OxeI8nEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J4OxeY8nEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_J4Oxeo8nEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_J4Oxe48nEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_J4OxfI8nEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_J4OxfY8nEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J4Oxfo8nEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_2Ej78IVJEeqvud4Ae2T3Lg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J4Oxgo8nEeq5HrfdV5ATIg" x="-2100" y="1140"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_J4PYcI8nEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_J4PYcY8nEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_J4PYco8nEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_J4PYc48nEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_J4PYdI8nEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_J4PYdY8nEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J4PYdo8nEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_J4PYd48nEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_J4PYeI8nEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_J4PYeY8nEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_J4PYeo8nEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J4PYe48nEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_6j6cIIVJEeqvud4Ae2T3Lg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J4PYf48nEeq5HrfdV5ATIg" x="-1966" y="1138"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_J4PYgI8nEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_J4PYgY8nEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_J4PYgo8nEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_J4PYg48nEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_J4PYhI8nEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_J4PYhY8nEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J4PYho8nEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_J4PYh48nEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_J4PYiI8nEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_J4PYiY8nEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_J4PYio8nEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J4PYi48nEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_8w4C8IVJEeqvud4Ae2T3Lg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J4PYj48nEeq5HrfdV5ATIg" x="-1500" y="940"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_J4P_iI8nEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_J4P_iY8nEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_J4P_io8nEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_J4P_i48nEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_J4P_jI8nEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_J4P_jY8nEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J4P_jo8nEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_J4P_j48nEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_J4P_kI8nEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_J4P_kY8nEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_J4P_ko8nEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J4P_k48nEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#__Er4oIVJEeqvud4Ae2T3Lg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J4P_l48nEeq5HrfdV5ATIg" x="-1646" y="1258"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_J4QmkI8nEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_J4QmkY8nEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_J4Qmko8nEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_J4Qmk48nEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_ZsHuAH5qEeqSHNFOHg2_Jw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_J4QmlI8nEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_J4QmlY8nEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_a-bqcH5qEeqSHNFOHg2_Jw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_J4Qmlo8nEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_J4Qml48nEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_bcYxwH5qEeqSHNFOHg2_Jw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_J4QmmI8nEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_J4QmmY8nEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_cR75sH5qEeqSHNFOHg2_Jw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_J4Qmmo8nEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_J4QmnY8nEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_J4Qmno8nEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_J4Qmn48nEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J4QmoI8nEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_J4QmoY8nEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_J4Qmoo8nEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_J4Qmo48nEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_J4QmpI8nEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J4QmpY8nEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_YZ54MH5qEeqSHNFOHg2_Jw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J4QmqY8nEeq5HrfdV5ATIg" x="-1080" y="20"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_RBuMMKG1EeqsNvCDUfZJVA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_RBuzQKG1EeqsNvCDUfZJVA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_RBuzQaG1EeqsNvCDUfZJVA" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_SpHn0KG1EeqsNvCDUfZJVA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_SowbcKG1EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_SpHn0aG1EeqsNvCDUfZJVA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_RBuzQqG1EeqsNvCDUfZJVA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_RBuzQ6G1EeqsNvCDUfZJVA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_RBuzRKG1EeqsNvCDUfZJVA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RBuzRaG1EeqsNvCDUfZJVA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_RBuzRqG1EeqsNvCDUfZJVA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_RBuzR6G1EeqsNvCDUfZJVA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_RBuzSKG1EeqsNvCDUfZJVA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_RBuzSaG1EeqsNvCDUfZJVA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RBuzSqG1EeqsNvCDUfZJVA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_RBqh0KG1EeqsNvCDUfZJVA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RBuMMaG1EeqsNvCDUfZJVA" x="-1620" y="1120"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_5JYooKG1EeqsNvCDUfZJVA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_5JZPsKG1EeqsNvCDUfZJVA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_5JZPsaG1EeqsNvCDUfZJVA" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_7rjDYKG1EeqsNvCDUfZJVA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_7rUZ4KG1EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_7rjDYaG1EeqsNvCDUfZJVA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_85y_MKG1EeqsNvCDUfZJVA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_85lj0KG1EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_85y_MaG1EeqsNvCDUfZJVA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_alP7cKG2EeqsNvCDUfZJVA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_ak_cwKG2EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_alP7caG2EeqsNvCDUfZJVA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_5JZPsqG1EeqsNvCDUfZJVA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_5JZPs6G1EeqsNvCDUfZJVA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_5JZPtKG1EeqsNvCDUfZJVA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5JZPtaG1EeqsNvCDUfZJVA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_5JZPtqG1EeqsNvCDUfZJVA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_5JZPt6G1EeqsNvCDUfZJVA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_5JZPuKG1EeqsNvCDUfZJVA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_5JZPuaG1EeqsNvCDUfZJVA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5JZPuqG1EeqsNvCDUfZJVA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_5JUXMKG1EeqsNvCDUfZJVA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5JYooaG1EeqsNvCDUfZJVA" x="-1840" y="920"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_g_XCsKG3EeqsNvCDUfZJVA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_g_XpwKG3EeqsNvCDUfZJVA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_g_XpwaG3EeqsNvCDUfZJVA" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_g_XpwqG3EeqsNvCDUfZJVA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_g_Xpw6G3EeqsNvCDUfZJVA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_g_XpxKG3EeqsNvCDUfZJVA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_g_XpxaG3EeqsNvCDUfZJVA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_g_XpxqG3EeqsNvCDUfZJVA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_g_Xpx6G3EeqsNvCDUfZJVA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_g_XpyKG3EeqsNvCDUfZJVA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_g_XpyaG3EeqsNvCDUfZJVA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_g_XpyqG3EeqsNvCDUfZJVA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_g_SxQKG3EeqsNvCDUfZJVA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_g_XCsaG3EeqsNvCDUfZJVA" x="-2240" y="1140"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_d-nZEKG4EeqsNvCDUfZJVA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_d-nZEqG4EeqsNvCDUfZJVA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_d-nZE6G4EeqsNvCDUfZJVA" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_euFuMKG4EeqsNvCDUfZJVA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_etxlIKG4EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_euFuMaG4EeqsNvCDUfZJVA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_gALoMKG4EeqsNvCDUfZJVA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_f_57YKG4EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_gALoMaG4EeqsNvCDUfZJVA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_hwg9YKG4EeqsNvCDUfZJVA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_hwRFwKG4EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_hwg9YaG4EeqsNvCDUfZJVA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_i2yB4KG4EeqsNvCDUfZJVA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_i2jYYKG4EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_i2yB4aG4EeqsNvCDUfZJVA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_lGPjEKG4EeqsNvCDUfZJVA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_lF9PMKG4EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_lGPjEaG4EeqsNvCDUfZJVA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_mtXR4KG4EeqsNvCDUfZJVA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_mtJ2gKG4EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_mtXR4aG4EeqsNvCDUfZJVA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_oTOccKG4EeqsNvCDUfZJVA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_oTAaAKG4EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_oTOccaG4EeqsNvCDUfZJVA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_d-nZFKG4EeqsNvCDUfZJVA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_d-nZFaG4EeqsNvCDUfZJVA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_d-nZFqG4EeqsNvCDUfZJVA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_d-nZF6G4EeqsNvCDUfZJVA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_d-nZGKG4EeqsNvCDUfZJVA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_d-nZGaG4EeqsNvCDUfZJVA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_d-nZGqG4EeqsNvCDUfZJVA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_d-nZG6G4EeqsNvCDUfZJVA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_d-nZHKG4EeqsNvCDUfZJVA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_d-jusKG4EeqsNvCDUfZJVA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_d-nZEaG4EeqsNvCDUfZJVA" x="-1260" y="900"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_08WgIKG4EeqsNvCDUfZJVA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_08WgIqG4EeqsNvCDUfZJVA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_08WgI6G4EeqsNvCDUfZJVA" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_08WgJKG4EeqsNvCDUfZJVA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_08WgJaG4EeqsNvCDUfZJVA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_08WgJqG4EeqsNvCDUfZJVA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_08WgJ6G4EeqsNvCDUfZJVA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_08WgKKG4EeqsNvCDUfZJVA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_08WgKaG4EeqsNvCDUfZJVA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_08WgKqG4EeqsNvCDUfZJVA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_08WgK6G4EeqsNvCDUfZJVA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_08WgLKG4EeqsNvCDUfZJVA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_08Tc0KG4EeqsNvCDUfZJVA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_08WgIaG4EeqsNvCDUfZJVA" x="-1100" y="1180"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_34N0UKG4EeqsNvCDUfZJVA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_34N0UqG4EeqsNvCDUfZJVA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_34N0U6G4EeqsNvCDUfZJVA" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_34N0VKG4EeqsNvCDUfZJVA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_34N0VaG4EeqsNvCDUfZJVA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_34N0VqG4EeqsNvCDUfZJVA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_34N0V6G4EeqsNvCDUfZJVA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_34N0WKG4EeqsNvCDUfZJVA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_34N0WaG4EeqsNvCDUfZJVA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_34N0WqG4EeqsNvCDUfZJVA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_34N0W6G4EeqsNvCDUfZJVA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_34N0XKG4EeqsNvCDUfZJVA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_34MmMKG4EeqsNvCDUfZJVA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_34N0UaG4EeqsNvCDUfZJVA" x="-1260" y="1180"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_IqAhEKG6EeqsNvCDUfZJVA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_IqAhEqG6EeqsNvCDUfZJVA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IqAhE6G6EeqsNvCDUfZJVA" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_SS5G4KG6EeqsNvCDUfZJVA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_SSgFUKG6EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_SS5G4aG6EeqsNvCDUfZJVA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ZHqmUKG6EeqsNvCDUfZJVA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_ZHdK8KG6EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ZHqmUaG6EeqsNvCDUfZJVA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ch__MKG6EeqsNvCDUfZJVA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_chtrUKG6EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ch__MaG6EeqsNvCDUfZJVA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ir0dIKG6EeqsNvCDUfZJVA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_iro28KG6EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ir0dIaG6EeqsNvCDUfZJVA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_IqAhFKG6EeqsNvCDUfZJVA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_IqAhFaG6EeqsNvCDUfZJVA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_IqAhFqG6EeqsNvCDUfZJVA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IqAhF6G6EeqsNvCDUfZJVA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IqAhGKG6EeqsNvCDUfZJVA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_IqAhGaG6EeqsNvCDUfZJVA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_IqAhGqG6EeqsNvCDUfZJVA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_IqAhG6G6EeqsNvCDUfZJVA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IqAhHKG6EeqsNvCDUfZJVA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_Ip7BgKG6EeqsNvCDUfZJVA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IqAhEaG6EeqsNvCDUfZJVA" x="-1080" y="680"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_37SKcKStEeqmTOsCAzVBxg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_37SKcqStEeqmTOsCAzVBxg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_37SKc6StEeqmTOsCAzVBxg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_Nbrw0KSuEeqmTOsCAzVBxg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_NbNPsKSuEeqmTOsCAzVBxg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Nbrw0aSuEeqmTOsCAzVBxg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_37SKdKStEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_37SxgKStEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_37SxgaStEeqmTOsCAzVBxg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_37SxgqStEeqmTOsCAzVBxg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_37Sxg6StEeqmTOsCAzVBxg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_37SxhKStEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_37SxhaStEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_37SxhqStEeqmTOsCAzVBxg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_37Sxh6StEeqmTOsCAzVBxg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_37PHIKStEeqmTOsCAzVBxg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_37SKcaStEeqmTOsCAzVBxg" x="-1440" y="700"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_m1nccY7UEeq0upQJ9r5s4Q" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_m1ncco7UEeq0upQJ9r5s4Q"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_m1ncc47UEeq0upQJ9r5s4Q" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    </styles>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_4YbfkK8YEeqhVOlV64dXmA" name="css_stylesheets" eObjectListValue="_mci3oJm1Eeq8nv7tV9lOqQ"/>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    <edges xmi:type="notation:Connector" xmi:id="_J4Kf8I8nEeq5HrfdV5ATIg" type="Generalization_Edge" source="_J4Kf-I8nEeq5HrfdV5ATIg" target="_J4QmkI8nEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_J4Kf8Y8nEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_J4Kf8o8nEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_J4Kf848nEeq5HrfdV5ATIg" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_J4Kf9I8nEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_JBpp4H5sEeqSHNFOHg2_Jw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_J4Kf9Y8nEeq5HrfdV5ATIg" points="[-576, -350, -643984, -643984]$[-516, -399, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_J4Kf9o8nEeq5HrfdV5ATIg" id="(0.8248587570621468,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_J4Kf948nEeq5HrfdV5ATIg" id="(0.3081761006289308,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_J4P_gI8nEeq5HrfdV5ATIg" type="Generalization_Edge" source="_J4MVII8nEeq5HrfdV5ATIg" target="_J4QmkI8nEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_J4P_gY8nEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_J4P_go8nEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_J4P_g48nEeq5HrfdV5ATIg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_J4P_hI8nEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_Je4_gH5sEeqSHNFOHg2_Jw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_J4P_hY8nEeq5HrfdV5ATIg" points="[-820, 320, -643984, -643984]$[-940, 171, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_J4P_ho8nEeq5HrfdV5ATIg" id="(0.0,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_J4P_h48nEeq5HrfdV5ATIg" id="(0.8860759493670886,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_J4P_mI8nEeq5HrfdV5ATIg" type="Generalization_Edge" source="_J4OxYI8nEeq5HrfdV5ATIg" target="_J4QmkI8nEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_J4P_mY8nEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_J4P_mo8nEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_J4P_m48nEeq5HrfdV5ATIg" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_J4P_nI8nEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_J9Ae4H5sEeqSHNFOHg2_Jw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_J4P_nY8nEeq5HrfdV5ATIg" points="[-370, -270, -643984, -643984]$[-370, -379, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_J4P_no8nEeq5HrfdV5ATIg" id="(0.2764976958525346,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_J4P_n48nEeq5HrfdV5ATIg" id="(0.6329113924050633,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_QS5scKG3EeqsNvCDUfZJVA" type="Generalization_Edge" source="_J4P_iI8nEeq5HrfdV5ATIg" target="_RBuMMKG1EeqsNvCDUfZJVA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_QS5sc6G3EeqsNvCDUfZJVA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_w1-goKG4EeqsNvCDUfZJVA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QS5sdKG3EeqsNvCDUfZJVA" x="-1" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_QS5scaG3EeqsNvCDUfZJVA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_QScZcKG3EeqsNvCDUfZJVA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QS5scqG3EeqsNvCDUfZJVA" points="[-1600, 1258, -643984, -643984]$[-1560, 1223, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QThXgKG3EeqsNvCDUfZJVA" id="(0.4339622641509434,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QThXgaG3EeqsNvCDUfZJVA" id="(0.2702702702702703,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_QuNvcKG3EeqsNvCDUfZJVA" type="Generalization_Edge" source="_J4LuF48nEeq5HrfdV5ATIg" target="_RBuMMKG1EeqsNvCDUfZJVA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_QuNvc6G3EeqsNvCDUfZJVA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_w3SIMKG4EeqsNvCDUfZJVA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QuNvdKG3EeqsNvCDUfZJVA" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_QuNvcaG3EeqsNvCDUfZJVA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_Qt4YQKG3EeqsNvCDUfZJVA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QuNvcqG3EeqsNvCDUfZJVA" points="[-1440, 1258, -643984, -643984]$[-1460, 1223, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QuxJEKG3EeqsNvCDUfZJVA" id="(0.6226415094339622,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QuxwIKG3EeqsNvCDUfZJVA" id="(0.7207207207207207,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_RMTZoKG3EeqsNvCDUfZJVA" type="Generalization_Edge" source="_RBuMMKG1EeqsNvCDUfZJVA" target="_5JYooKG1EeqsNvCDUfZJVA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_RMTZo6G3EeqsNvCDUfZJVA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_w2hTMKG4EeqsNvCDUfZJVA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_RMTZpKG3EeqsNvCDUfZJVA" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_RMTZoaG3EeqsNvCDUfZJVA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_RL6_IKG3EeqsNvCDUfZJVA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RMTZoqG3EeqsNvCDUfZJVA" points="[-1560, 1120, -643984, -643984]$[-1680, 1055, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RMx6wKG3EeqsNvCDUfZJVA" id="(0.2702702702702703,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RMx6waG3EeqsNvCDUfZJVA" id="(0.6986899563318777,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_pumqwKG3EeqsNvCDUfZJVA" type="Generalization_Edge" source="_J4PYcI8nEeq5HrfdV5ATIg" target="_5JYooKG1EeqsNvCDUfZJVA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_pumqw6G3EeqsNvCDUfZJVA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_w2v8sKG4EeqsNvCDUfZJVA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_pumqxKG3EeqsNvCDUfZJVA" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_pumqwaG3EeqsNvCDUfZJVA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_pt11wKG3EeqsNvCDUfZJVA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pumqwqG3EeqsNvCDUfZJVA" points="[-1900, 1138, -643984, -643984]$[-1760, 1055, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pvL5kKG3EeqsNvCDUfZJVA" id="(0.66,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pvL5kaG3EeqsNvCDUfZJVA" id="(0.34934497816593885,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_qNZfkKG3EeqsNvCDUfZJVA" type="Generalization_Edge" source="_J4Oxc48nEeq5HrfdV5ATIg" target="_5JYooKG1EeqsNvCDUfZJVA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_qNbUwKG3EeqsNvCDUfZJVA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_w2L8AKG4EeqsNvCDUfZJVA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_qNbUwaG3EeqsNvCDUfZJVA" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_qNZfkaG3EeqsNvCDUfZJVA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_qNQVoKG3EeqsNvCDUfZJVA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qNZfkqG3EeqsNvCDUfZJVA" points="[-2040, 1140, -643984, -643984]$[-1780, 1055, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qN2LgKG3EeqsNvCDUfZJVA" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qN2LgaG3EeqsNvCDUfZJVA" id="(0.26200873362445415,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_q2CM4KG3EeqsNvCDUfZJVA" type="Generalization_Edge" source="_g_XCsKG3EeqsNvCDUfZJVA" target="_5JYooKG1EeqsNvCDUfZJVA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_q2CM46G3EeqsNvCDUfZJVA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_w25tsKG4EeqsNvCDUfZJVA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_q2CM5KG3EeqsNvCDUfZJVA" x="-1" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_q2CM4aG3EeqsNvCDUfZJVA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_q1mIAKG3EeqsNvCDUfZJVA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_q2CM4qG3EeqsNvCDUfZJVA" points="[-2180, 1140, -643984, -643984]$[-1820, 1055, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_q2s7QKG3EeqsNvCDUfZJVA" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_q2s7QaG3EeqsNvCDUfZJVA" id="(0.08733624454148471,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Kvk74KG5EeqsNvCDUfZJVA" type="Generalization_Edge" source="_08WgIKG4EeqsNvCDUfZJVA" target="_d-nZEKG4EeqsNvCDUfZJVA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Kvk746G5EeqsNvCDUfZJVA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_KDH5kKSuEeqmTOsCAzVBxg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Kvk75KG5EeqsNvCDUfZJVA" x="-2" y="57"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Kvk74aG5EeqsNvCDUfZJVA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_KvNvgKG5EeqsNvCDUfZJVA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Kvk74qG5EeqsNvCDUfZJVA" points="[-1020, 1180, -643984, -643984]$[-1080, 1099, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KwHHYKG5EeqsNvCDUfZJVA" id="(0.7547169811320755,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KwHHYaG5EeqsNvCDUfZJVA" id="(0.7171314741035857,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_L9lnIKG5EeqsNvCDUfZJVA" type="Generalization_Edge" source="_34N0UKG4EeqsNvCDUfZJVA" target="_d-nZEKG4EeqsNvCDUfZJVA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_L9oqcKG5EeqsNvCDUfZJVA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_KCtp4KSuEeqmTOsCAzVBxg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_L9oqcaG5EeqsNvCDUfZJVA" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_L9lnIaG5EeqsNvCDUfZJVA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_L9aA8KG5EeqsNvCDUfZJVA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_L9lnIqG5EeqsNvCDUfZJVA" points="[-1200, 1180, -643984, -643984]$[-1180, 1099, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_L-DhMKG5EeqsNvCDUfZJVA" id="(0.5660377358490566,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_L-DhMaG5EeqsNvCDUfZJVA" id="(0.3187250996015936,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Qv4FcKSuEeqmTOsCAzVBxg" type="Generalization_Edge" source="_5JYooKG1EeqsNvCDUfZJVA" target="_37SKcKStEeqmTOsCAzVBxg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Qv4sgKSuEeqmTOsCAzVBxg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Qv4sgaSuEeqmTOsCAzVBxg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Qv4FcaSuEeqmTOsCAzVBxg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_QvZkUKSuEeqmTOsCAzVBxg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Qv4FcqSuEeqmTOsCAzVBxg" points="[-1660, 920, -643984, -643984]$[-1420, 803, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QwfJcKSuEeqmTOsCAzVBxg" id="(0.7860262008733624,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QwfJcaSuEeqmTOsCAzVBxg" id="(0.0966183574879227,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_RPARcKSuEeqmTOsCAzVBxg" type="Generalization_Edge" source="_J4PYgI8nEeq5HrfdV5ATIg" target="_37SKcKStEeqmTOsCAzVBxg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_RPARc6SuEeqmTOsCAzVBxg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_RPARdKSuEeqmTOsCAzVBxg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_RPARcaSuEeqmTOsCAzVBxg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_ROpsIKSuEeqmTOsCAzVBxg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RPARcqSuEeqmTOsCAzVBxg" points="[-1440, 940, -643984, -643984]$[-1380, 803, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RPfZoKSuEeqmTOsCAzVBxg" id="(0.5660377358490566,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RPfZoaSuEeqmTOsCAzVBxg" id="(0.2898550724637681,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_RwKdwKSuEeqmTOsCAzVBxg" type="Generalization_Edge" source="_d-nZEKG4EeqsNvCDUfZJVA" target="_37SKcKStEeqmTOsCAzVBxg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_RwKdw6SuEeqmTOsCAzVBxg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_RwKdxKSuEeqmTOsCAzVBxg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_RwKdwaSuEeqmTOsCAzVBxg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_Rvo5UKSuEeqmTOsCAzVBxg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RwKdwqSuEeqmTOsCAzVBxg" points="[-1180, 900, -643984, -643984]$[-1280, 803, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RwvFgKSuEeqmTOsCAzVBxg" id="(0.3187250996015936,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RwvFgaSuEeqmTOsCAzVBxg" id="(0.7729468599033816,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_SberoKSuEeqmTOsCAzVBxg" type="Generalization_Edge" source="_37SKcKStEeqmTOsCAzVBxg" target="_J4Kf-I8nEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Sbero6SuEeqmTOsCAzVBxg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_SberpKSuEeqmTOsCAzVBxg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_SberoaSuEeqmTOsCAzVBxg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_SbB_sKSuEeqmTOsCAzVBxg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SberoqSuEeqmTOsCAzVBxg" points="[-1340, 700, -643984, -643984]$[-1340, 597, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ScYqkKSuEeqmTOsCAzVBxg" id="(0.4830917874396135,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ScYqkaSuEeqmTOsCAzVBxg" id="(0.3659574468085106,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_gwdNIKSuEeqmTOsCAzVBxg" type="Generalization_Edge" source="_IqAhEKG6EeqsNvCDUfZJVA" target="_J4Kf-I8nEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_gwdNI6SuEeqmTOsCAzVBxg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_gwdNJKSuEeqmTOsCAzVBxg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_gwdNIaSuEeqmTOsCAzVBxg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_gvxQoKSuEeqmTOsCAzVBxg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gwdNIqSuEeqmTOsCAzVBxg" points="[-1000, 680, -643984, -643984]$[-1220, 581, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gxPQQKSuEeqmTOsCAzVBxg" id="(0.3187250996015936,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gxPQQaSuEeqmTOsCAzVBxg" id="(0.8765957446808511,1.0)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_kJJLUI8lEeq5HrfdV5ATIg" type="PapyrusUMLProfileDiagram" name="Module" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_m2CPYI8lEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cqEVMI8mEeq5HrfdV5ATIg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cqEVMY8mEeq5HrfdV5ATIg" key="canonical" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_m2DdgI8lEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_m2EEkI8lEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UzO1AKWREeq2dLYfuMvqgg" source="PapyrusCSSForceValue">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UzO1AaWREeq2dLYfuMvqgg" key="mutable" value="true"/>
+        </eAnnotations>
+        <children xmi:type="notation:Shape" xmi:id="_sDX28I8lEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_7EMR4IhuEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_sDX28Y8lEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_sDZsII8lEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_7vDMwIhuEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_sDZsIY8lEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_sDaTMI8lEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_9DLHEIhuEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_sDaTMY8lEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_sDa6QI8lEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_ivxlgIvAEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_sDa6QY8lEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="__PMOkLYUEeq1Koq3J5meEA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#__N7qULYUEeq1Koq3J5meEA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="__PM1oLYUEeq1Koq3J5meEA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_AtTyYLYVEeq1Koq3J5meEA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_AtDTsLYVEeq1Koq3J5meEA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_AtTyYbYVEeq1Koq3J5meEA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_m2EEkY8lEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_m2EEko8lEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_m2EEk48lEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_m2EElI8lEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_m2EElY8lEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_m2EElo8lEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_m2EEl48lEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_m2EEmI8lEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_m2EEmY8lEeq5HrfdV5ATIg"/>
+      </children>
+      <styles xmi:type="notation:CanonicalStyle" xmi:id="_cqDuII8mEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_2E9coH2KEeqSHNFOHg2_Jw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_m2CPYY8lEeq5HrfdV5ATIg" x="376" y="313"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_nKeOUI8lEeq5HrfdV5ATIg" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_nKe1YI8lEeq5HrfdV5ATIg" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nKeOUY8lEeq5HrfdV5ATIg" x="394" y="101"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_3vW_8LYUEeq1Koq3J5meEA" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_3vW_8bYUEeq1Koq3J5meEA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_3vXnALYUEeq1Koq3J5meEA" 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="_3vW_8rYUEeq1Koq3J5meEA" x="594" y="101"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_kJJLUY8lEeq5HrfdV5ATIg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_kJJLUo8lEeq5HrfdV5ATIg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_kJJLU48lEeq5HrfdV5ATIg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    </styles>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_g_ZjoK8YEeqhVOlV64dXmA" name="css_stylesheets" eObjectListValue="_mci3oJm1Eeq8nv7tV9lOqQ"/>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    <edges xmi:type="notation:Connector" xmi:id="_nLI8sI8lEeq5HrfdV5ATIg" type="Extension_Edge" source="_m2CPYI8lEeq5HrfdV5ATIg" target="_nKeOUI8lEeq5HrfdV5ATIg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_nLI8sY8lEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Extension" href="AIML.profile.uml#_n3BRAH5rEeqSHNFOHg2_Jw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_nLI8so8lEeq5HrfdV5ATIg" points="[376, 320, -643984, -643984]$[0, 0, -643984, -643984]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_3vXnAbYUEeq1Koq3J5meEA" type="StereotypeCommentLink" source="_nKeOUI8lEeq5HrfdV5ATIg" target="_3vW_8LYUEeq1Koq3J5meEA">
+      <styles xmi:type="notation:FontStyle" xmi:id="_3vYOELYUEeq1Koq3J5meEA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_3vY1ILYUEeq1Koq3J5meEA" 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="_3vYOEbYUEeq1Koq3J5meEA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3vYOErYUEeq1Koq3J5meEA"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3vYOE7YUEeq1Koq3J5meEA"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_xCeOMI8lEeq5HrfdV5ATIg" type="PapyrusUMLProfileDiagram" name="Tensor" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_1c7AQI8lEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jEYGMY8mEeq5HrfdV5ATIg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jEYGMo8mEeq5HrfdV5ATIg" key="canonical" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_1c7nUY8lEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_1c8OYI8lEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jFWWkI8mEeq5HrfdV5ATIg" source="PapyrusCSSForceValue">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jFWWkY8mEeq5HrfdV5ATIg" key="mutable" value="true"/>
+        </eAnnotations>
+        <children xmi:type="notation:Shape" xmi:id="_jEZ7YI8mEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jFWWko8mEeq5HrfdV5ATIg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jFWWk48mEeq5HrfdV5ATIg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_mlHloIhuEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_jEZ7YY8mEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_jEaicI8mEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jFWWlI8mEeq5HrfdV5ATIg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jFWWlY8mEeq5HrfdV5ATIg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_ncDNoIhuEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_jEaicY8mEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_jEbJgI8mEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jFWWlo8mEeq5HrfdV5ATIg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jFWWl48mEeq5HrfdV5ATIg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_oUgfoIhuEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_jEbJgY8mEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_jEbJgo8mEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jFWWmI8mEeq5HrfdV5ATIg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jFWWmY8mEeq5HrfdV5ATIg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_o5TOwIhuEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_jEbJg48mEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_jEbwkI8mEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jFW9oI8mEeq5HrfdV5ATIg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jFW9oY8mEeq5HrfdV5ATIg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_pnJzQIhuEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_jEbwkY8mEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_wpWrsKWvEeq2dLYfuMvqgg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_wocFsKWvEeq2dLYfuMvqgg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_wpWrsaWvEeq2dLYfuMvqgg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_xtNVYKWvEeq2dLYfuMvqgg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_xs8PoKWvEeq2dLYfuMvqgg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_xtNVYaWvEeq2dLYfuMvqgg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_1c8OYY8lEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_1c8OYo8lEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_1c8OY48lEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1c8OZI8lEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_1c8OZY8lEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_1c8OZo8lEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_1c8OZ48lEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_1c8OaI8lEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1c8OaY8lEeq5HrfdV5ATIg"/>
+      </children>
+      <styles xmi:type="notation:CanonicalStyle" xmi:id="_jEYGMI8mEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_kkWnwIhuEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1c7nUI8lEeq5HrfdV5ATIg" x="260" y="340"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_1dH0kI8lEeq5HrfdV5ATIg" type="Enumeration_Shape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kC_DgY8mEeq5HrfdV5ATIg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kC_Dgo8mEeq5HrfdV5ATIg" key="canonical" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_1dH0ko8lEeq5HrfdV5ATIg" type="Enumeration_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_1dIboI8lEeq5HrfdV5ATIg" type="Enumeration_LiteralCompartment">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kEAXMI8mEeq5HrfdV5ATIg" source="PapyrusCSSForceValue">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kEAXMY8mEeq5HrfdV5ATIg" key="mutable" value="true"/>
+        </eAnnotations>
+        <children xmi:type="notation:Shape" xmi:id="_kDARoI8mEeq5HrfdV5ATIg" type="EnumerationLiteral_LiteralLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kEAXMo8mEeq5HrfdV5ATIg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kEAXM48mEeq5HrfdV5ATIg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:EnumerationLiteral" href="AIML.profile.uml#_GeF-8IvIEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kDARoY8mEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_kDA4sI8mEeq5HrfdV5ATIg" type="EnumerationLiteral_LiteralLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kEAXNI8mEeq5HrfdV5ATIg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kEAXNY8mEeq5HrfdV5ATIg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:EnumerationLiteral" href="AIML.profile.uml#_VdQs8IvIEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kDA4sY8mEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_kDA4so8mEeq5HrfdV5ATIg" type="EnumerationLiteral_LiteralLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kEAXNo8mEeq5HrfdV5ATIg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kEAXN48mEeq5HrfdV5ATIg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:EnumerationLiteral" href="AIML.profile.uml#_YIbSsIvIEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kDA4s48mEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_kDBfwI8mEeq5HrfdV5ATIg" type="EnumerationLiteral_LiteralLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kEAXOI8mEeq5HrfdV5ATIg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kEAXOY8mEeq5HrfdV5ATIg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:EnumerationLiteral" href="AIML.profile.uml#_bZFyMIvIEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kDBfwY8mEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_kDCG0I8mEeq5HrfdV5ATIg" type="EnumerationLiteral_LiteralLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kEAXOo8mEeq5HrfdV5ATIg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kEAXO48mEeq5HrfdV5ATIg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:EnumerationLiteral" href="AIML.profile.uml#_czCAoIvIEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kDCG0Y8mEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_kDCG0o8mEeq5HrfdV5ATIg" type="EnumerationLiteral_LiteralLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kEAXPI8mEeq5HrfdV5ATIg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kEAXPY8mEeq5HrfdV5ATIg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:EnumerationLiteral" href="AIML.profile.uml#_dzPgcIvIEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kDCG048mEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_kDCt4I8mEeq5HrfdV5ATIg" type="EnumerationLiteral_LiteralLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kEAXPo8mEeq5HrfdV5ATIg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kEAXP48mEeq5HrfdV5ATIg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:EnumerationLiteral" href="AIML.profile.uml#_ez5sMIvIEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kDCt4Y8mEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_kDDU8I8mEeq5HrfdV5ATIg" type="EnumerationLiteral_LiteralLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kEA-QI8mEeq5HrfdV5ATIg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kEA-QY8mEeq5HrfdV5ATIg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:EnumerationLiteral" href="AIML.profile.uml#_flb20IvIEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kDDU8Y8mEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_kDDU8o8mEeq5HrfdV5ATIg" type="EnumerationLiteral_LiteralLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kEA-Qo8mEeq5HrfdV5ATIg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kEA-Q48mEeq5HrfdV5ATIg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:EnumerationLiteral" href="AIML.profile.uml#_gV4cUIvIEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kDDU848mEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_1dIboY8lEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_1dIboo8lEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_1dIbo48lEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1dIbpI8lEeq5HrfdV5ATIg"/>
+      </children>
+      <styles xmi:type="notation:CanonicalStyle" xmi:id="_kC_DgI8mEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Enumeration" href="AIML.profile.uml#_D6R-YIvIEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1dH0kY8lEeq5HrfdV5ATIg" x="500" y="320"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_1dQ-gI8lEeq5HrfdV5ATIg" type="Enumeration_Shape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ksodcY8mEeq5HrfdV5ATIg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kspEgI8mEeq5HrfdV5ATIg" key="canonical" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_1dRlkI8lEeq5HrfdV5ATIg" type="Enumeration_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_1dRlkY8lEeq5HrfdV5ATIg" type="Enumeration_LiteralCompartment">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kt7d8I8mEeq5HrfdV5ATIg" source="PapyrusCSSForceValue">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kt7d8Y8mEeq5HrfdV5ATIg" key="mutable" value="true"/>
+        </eAnnotations>
+        <children xmi:type="notation:Shape" xmi:id="_ksqSoI8mEeq5HrfdV5ATIg" type="EnumerationLiteral_LiteralLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kt7d8o8mEeq5HrfdV5ATIg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kt7d848mEeq5HrfdV5ATIg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:EnumerationLiteral" href="AIML.profile.uml#_FE7PwIvMEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ksqSoY8mEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ksqSoo8mEeq5HrfdV5ATIg" type="EnumerationLiteral_LiteralLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kt7d9I8mEeq5HrfdV5ATIg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kt7d9Y8mEeq5HrfdV5ATIg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:EnumerationLiteral" href="AIML.profile.uml#_GM6ykIvMEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ksqSo48mEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ksq5sI8mEeq5HrfdV5ATIg" type="EnumerationLiteral_LiteralLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kt7d9o8mEeq5HrfdV5ATIg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kt7d948mEeq5HrfdV5ATIg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:EnumerationLiteral" href="AIML.profile.uml#_IXWp0IvMEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ksq5sY8mEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ksq5so8mEeq5HrfdV5ATIg" type="EnumerationLiteral_LiteralLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kt7d-I8mEeq5HrfdV5ATIg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kt7d-Y8mEeq5HrfdV5ATIg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:EnumerationLiteral" href="AIML.profile.uml#_KEe6AIvMEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ksq5s48mEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ksq5tI8mEeq5HrfdV5ATIg" type="EnumerationLiteral_LiteralLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kt7d-o8mEeq5HrfdV5ATIg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kt7d-48mEeq5HrfdV5ATIg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:EnumerationLiteral" href="AIML.profile.uml#_LzG_AIvMEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ksq5tY8mEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ksrgwI8mEeq5HrfdV5ATIg" type="EnumerationLiteral_LiteralLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kt7d_I8mEeq5HrfdV5ATIg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kt8FAI8mEeq5HrfdV5ATIg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:EnumerationLiteral" href="AIML.profile.uml#_MmTWgIvMEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ksrgwY8mEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ksrgwo8mEeq5HrfdV5ATIg" type="EnumerationLiteral_LiteralLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kt8FAY8mEeq5HrfdV5ATIg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kt8FAo8mEeq5HrfdV5ATIg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:EnumerationLiteral" href="AIML.profile.uml#_Ndwi8IvMEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ksrgw48mEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ksrgxI8mEeq5HrfdV5ATIg" type="EnumerationLiteral_LiteralLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kt8FA48mEeq5HrfdV5ATIg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kt8FBI8mEeq5HrfdV5ATIg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:EnumerationLiteral" href="AIML.profile.uml#_OHKFQIvMEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ksrgxY8mEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_kssH0I8mEeq5HrfdV5ATIg" type="EnumerationLiteral_LiteralLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kt8FBY8mEeq5HrfdV5ATIg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kt8FBo8mEeq5HrfdV5ATIg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:EnumerationLiteral" href="AIML.profile.uml#_O3f9EIvMEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kssH0Y8mEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_1dRlko8lEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_1dRlk48lEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_1dRllI8lEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1dRllY8lEeq5HrfdV5ATIg"/>
+      </children>
+      <styles xmi:type="notation:CanonicalStyle" xmi:id="_ksodcI8mEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Enumeration" href="AIML.profile.uml#_AiQ84IvMEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1dQ-gY8lEeq5HrfdV5ATIg" x="720" y="320"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_If4SAK8eEeqUEZ8AVVPlLA" type="Class_MetaclassShape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_If7VUK8eEeqUEZ8AVVPlLA" source="Stereotype_Annotation">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_If7VUa8eEeqUEZ8AVVPlLA" key="StereotypeWithQualifiedNameList" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_If7VUq8eEeqUEZ8AVVPlLA" key="StereotypeList" value="StandardProfile::Metaclass"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_If7VU68eEeqUEZ8AVVPlLA" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_If7VVK8eEeqUEZ8AVVPlLA" key="PropStereoDisplay" value=""/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_If7VVa8eEeqUEZ8AVVPlLA" key="StereotypePropertyLocation" value="Compartment"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_If6HMK8eEeqUEZ8AVVPlLA" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_If6HMa8eEeqUEZ8AVVPlLA" x="360" y="220"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_ThxeYLBsEeqpLKLYM3OEXg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_ThxeYbBsEeqpLKLYM3OEXg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ThxeY7BsEeqpLKLYM3OEXg" 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="_ThxeYrBsEeqpLKLYM3OEXg" x="560" y="220"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_xCeOMY8lEeq5HrfdV5ATIg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_xCeOMo8lEeq5HrfdV5ATIg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_xCeOM48lEeq5HrfdV5ATIg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    </styles>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    <edges xmi:type="notation:Connector" xmi:id="_JNlskK8eEeqUEZ8AVVPlLA" type="Extension_Edge" source="_1c7AQI8lEeq5HrfdV5ATIg" target="_If4SAK8eEeqUEZ8AVVPlLA">
+      <styles xmi:type="notation:FontStyle" xmi:id="_JNlska8eEeqUEZ8AVVPlLA"/>
+      <element xmi:type="uml:Extension" href="AIML.profile.uml#_JM3T0K8eEeqUEZ8AVVPlLA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JNlskq8eEeqUEZ8AVVPlLA" points="[400, 340, -643984, -643984]$[400, 270, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JORpEK8eEeqUEZ8AVVPlLA" id="(0.7291666666666666,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JOSQIK8eEeqUEZ8AVVPlLA" id="(0.4,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_ThyFcLBsEeqpLKLYM3OEXg" type="StereotypeCommentLink" source="_If4SAK8eEeqUEZ8AVVPlLA" target="_ThxeYLBsEeqpLKLYM3OEXg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_ThyFcbBsEeqpLKLYM3OEXg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ThzTkbBsEeqpLKLYM3OEXg" 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="_ThyFcrBsEeqpLKLYM3OEXg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ThysgLBsEeqpLKLYM3OEXg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ThzTkLBsEeqpLKLYM3OEXg"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_M23iMI8mEeq5HrfdV5ATIg" type="PapyrusUMLProfileDiagram" name="Type of Data" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_ZQV4UJbREeq1-Ze45jZMTg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_ZQWfYJbREeq1-Ze45jZMTg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ZQWfYZbREeq1-Ze45jZMTg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_mwGpEJbREeq1-Ze45jZMTg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_mveW8JbREeq1-Ze45jZMTg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_mwGpEZbREeq1-Ze45jZMTg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_ZQWfYpbREeq1-Ze45jZMTg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ZQWfY5bREeq1-Ze45jZMTg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ZQWfZJbREeq1-Ze45jZMTg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZQWfZZbREeq1-Ze45jZMTg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ZQXGcJbREeq1-Ze45jZMTg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_ZQXGcZbREeq1-Ze45jZMTg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ZQXGcpbREeq1-Ze45jZMTg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ZQXGc5bREeq1-Ze45jZMTg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZQXGdJbREeq1-Ze45jZMTg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_ZQQYwJbREeq1-Ze45jZMTg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZQV4UZbREeq1-Ze45jZMTg" x="380" y="360"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_M23iMY8mEeq5HrfdV5ATIg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_M23iMo8mEeq5HrfdV5ATIg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_M23iM48mEeq5HrfdV5ATIg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    </styles>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_ZJoe4I8nEeq5HrfdV5ATIg" type="PapyrusUMLProfileDiagram" name="Pooling_layers" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_As8REI8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_As8REY8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_As8REo8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_As8RE48oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_tPrdkIVXEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_As8RFI8oEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_As8RFY8oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_uGxdoIVXEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_As8RFo8oEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_As8RF48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_As8RGI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_As8RGY8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_As8RGo8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_As8RG48oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_As8RHI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_As8RHY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_As8RHo8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_As8RH48oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_rL8rQIVXEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_As8RI48oEeq5HrfdV5ATIg" x="-100" y="820"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_As84II8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_As84IY8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_As84Io8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_As84I48oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_Y5DYIIVWEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_As84JI8oEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_As84JY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_As9fMI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_As9fMY8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_As9fMo8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_As9fM48oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_As9fNI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_As9fNY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_As9fNo8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_As9fN48oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_TS3LsIVWEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_As9fO48oEeq5HrfdV5ATIg" x="400" y="980"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_As9fPI8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_As9fPY8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_As9fPo8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_As9fP48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_As9fQI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_As9fQY8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_As9fQo8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_As9fQ48oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_As9fRI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_As9fRY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_As9fRo8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_As9fR48oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_y5HSoIVUEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_As9fS48oEeq5HrfdV5ATIg" x="-160" y="640"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_As_UYI8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_As_UYY8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_As_UYo8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_As_UY48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_As_UZI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_As_UZY8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_As_UZo8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_As_UZ48oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_As_UaI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_As_UaY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_As_Uao8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_As_Ua48oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_vkD30IVTEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_As_Ub48oEeq5HrfdV5ATIg" x="960" y="540"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_AtAih48oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtAiiI8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtAiiY8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtAiio8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtAii48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtAijI8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtAijY8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtAijo8oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtAij48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtAikI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtAikY8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtAiko8oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_b9-hsIVWEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtAilo8oEeq5HrfdV5ATIg" x="420" y="1120"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_AtBwqI8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtBwqY8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtBwqo8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_AtBwq48oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_mqeLgIVUEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_AtBwrI8oEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_jyM2MKZ3EeqIr7xwFiWQGQ" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_jxSQMKZ3EeqIr7xwFiWQGQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_jyM2MaZ3EeqIr7xwFiWQGQ"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtBwrY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtBwro8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtBwr48oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtBwsI8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtBwsY8oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtBwso8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtBws48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtBwtI8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtBwtY8oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_h3EG4IVUEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtBwuY8oEeq5HrfdV5ATIg" x="-300" y="460"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_AtCXsI8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtCXsY8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtCXso8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtCXs48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtCXtI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtCXtY8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtCXto8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtCXt48oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtCXuI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtCXuY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtCXuo8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtCXu48oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_1WhB0IVXEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtCXv48oEeq5HrfdV5ATIg" x="-40" y="980"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_AtDl0I8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtDl0Y8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtDl0o8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_AtDl048oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_K5-DkIVVEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_AtDl1I8oEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtDl1Y8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtDl1o8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtDl148oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtDl2I8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtDl2Y8oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtDl2o8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtDl248oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtDl3I8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtDl3Y8oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_FjbcsIVVEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtDl4Y8oEeq5HrfdV5ATIg" x="380" y="480" width="181" height="81"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_AtEM948oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtEM-I8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtEM-Y8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtEM-o8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtEM-48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtEM_I8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtEM_Y8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtEM_o8oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtEM_48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtENAI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtENAY8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtENAo8oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_VqZVsIVUEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtEz8o8oEeq5HrfdV5ATIg" x="240" y="980"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_AtEz848oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtEz9I8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtEz9Y8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtEz9o8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtEz948oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtEz-I8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtEz-Y8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtEz-o8oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtEz-48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtEz_I8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtEz_Y8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtEz_o8oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_sAviEIVTEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtE0Ao8oEeq5HrfdV5ATIg" x="1240" y="540"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_AtE0A48oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtE0BI8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtE0BY8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtE0Bo8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtE0B48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtE0CI8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtE0CY8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtE0Co8oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtE0C48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtE0DI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtE0DY8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtE0Do8oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_wYbekIVUEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtE0Eo8oEeq5HrfdV5ATIg" x="-280" y="640"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_AtGCII8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtGCIY8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtGCIo8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_AtGCI48oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_vvW-UIVSEeqvavUi0dxRAw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_AtGCJI8oEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtGCJY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtGCJo8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtGCJ48oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtGCKI8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtGCKY8oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtGCKo8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtGCK48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtGCLI8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtGCLY8oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_spFw8IVSEeqvavUi0dxRAw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtGCMY8oEeq5HrfdV5ATIg" x="1060" y="200"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_AtGpII8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtGpIY8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtGpIo8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtGpI48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtGpJI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtGpJY8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtGpJo8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtGpJ48oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtGpKI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtGpKY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtGpKo8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtGpK48oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_nMBrUIVSEeqvavUi0dxRAw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtGpL48oEeq5HrfdV5ATIg" x="480" y="40"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_AtHQMI8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtHQMY8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtHQMo8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtHQM48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtHQNI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtHQNY8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtHQNo8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtHQN48oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtHQOI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtHQOY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtHQOo8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtHQO48oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_dQfZ0IVTEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtHQP48oEeq5HrfdV5ATIg" x="1700" y="540"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_AtHQQY8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtHQQo8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtHQQ48oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtHQRI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtHQRY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtHQRo8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtHQR48oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtHQSI8oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtHQSY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtHQSo8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtHQS48oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtHQTI8oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_ddho4IVWEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtHQUI8oEeq5HrfdV5ATIg" x="580" y="1120"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_AtH3QI8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtH3QY8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtH3Qo8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtH3Q48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtH3RI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtH3RY8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtH3Ro8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtH3R48oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtH3SI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtH3SY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtH3So8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtH3S48oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_cdWFoIVTEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtH3T48oEeq5HrfdV5ATIg" x="1560" y="540"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_AtH3UI8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtH3UY8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtH3Uo8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtH3U48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtH3VI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtH3VY8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtH3Vo8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtH3V48oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtH3WI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtH3WY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtH3Wo8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtH3W48oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_QF-D0IVUEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtH3X48oEeq5HrfdV5ATIg" x="-160" y="980"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_AtIeUI8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtIeUY8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtIeUo8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtIeU48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtIeVI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtIeVY8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtIeVo8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtIeV48oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtIeWI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtIeWY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtIeWo8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtIeW48oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_XxquwIVVEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtIeX48oEeq5HrfdV5ATIg" x="320" y="620"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_AtIeaI8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtIeaY8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtIeao8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_AtIea48oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_cdy_UIVYEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_AtIebI8oEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_AtIebY8oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_dhzaAIVYEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_AtIebo8oEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_AtIeb48oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_fG5IgIVYEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_AtIecI8oEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtIecY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtIeco8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtIec48oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtIedI8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtIedY8oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtIedo8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtIed48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtIeeI8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtIeeY8oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_Y3zwEIVYEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtIefY8oEeq5HrfdV5ATIg" x="700" y="360"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_AtJFYI8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtJFYY8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtJFYo8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_AtJFY48oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_Ayj5QIVWEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_AtJFZI8oEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtJFZY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtJFZo8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtJFZ48oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtJFaI8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtJFaY8oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtJFao8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtJFa48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtJFbI8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtJFbY8oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_6bJEMIVVEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtJFcY8oEeq5HrfdV5ATIg" x="280" y="820" width="161" height="101"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_AtJseo8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtJse48oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtJsfI8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_AtJsfY8oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_CkDW8IVUEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_AtJsfo8oEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtJsf48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtJsgI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtJsgY8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtJsgo8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtJsg48oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtJshI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtJshY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtJsho8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtJsh48oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_qYSzAIVSEeqvavUi0dxRAw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtJsi48oEeq5HrfdV5ATIg" x="320" y="200"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_AtKTgI8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtKTgY8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtKTgo8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtKTg48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtKThI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtKThY8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtKTho8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtKTh48oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtKTiI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtKTiY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtKTio8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtKTi48oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_uVbhgIVTEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtKTj48oEeq5HrfdV5ATIg" x="1100" y="540"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_AtKTl48oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtKTmI8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtKTmY8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_AtKTmo8oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_KnpSkIVXEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_AtKTm48oEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_xB1gQKZ3EeqIr7xwFiWQGQ" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_xBPDUKZ3EeqIr7xwFiWQGQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_xB1gQaZ3EeqIr7xwFiWQGQ"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtKTnI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtKTnY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtKTno8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtKTn48oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtKToI8oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtKToY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtKToo8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtKTo48oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtKTpI8oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_Cfb1UIVXEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtKTqI8oEeq5HrfdV5ATIg" y="640"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_AtKTqY8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtKTqo8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtKTq48oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtK6kI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtK6kY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtK6ko8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtK6k48oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtK6lI8oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtK6lY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtK6lo8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtK6l48oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtK6mI8oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_2J_tMIVXEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtK6nI8oEeq5HrfdV5ATIg" x="80" y="980"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_AtK6nY8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtK6no8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtK6n48oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtK6oI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtK6oY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtK6oo8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtK6o48oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtK6pI8oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtK6pY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtK6po8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtK6p48oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtK6qI8oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_aIzlQIVVEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtK6rI8oEeq5HrfdV5ATIg" x="440" y="620"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_AtK6rY8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtK6ro8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtK6r48oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_AtK6sI8oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_3JChoIVSEeqvavUi0dxRAw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_AtK6sY8oEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtK6so8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtK6s48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtK6tI8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtK6tY8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtK6to8oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtK6t48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtK6uI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtK6uY8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtK6uo8oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_x9fp0IVSEeqvavUi0dxRAw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtK6vo8oEeq5HrfdV5ATIg" x="1500" y="340"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_AtLhoI8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtLhoY8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtLhoo8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtLho48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtLhpI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtLhpY8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtLhpo8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtLhp48oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtLhqI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtLhqY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtLhqo8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtLhq48oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_Y8sCUIVTEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtLhr48oEeq5HrfdV5ATIg" x="1420" y="540"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_AtMIwI8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtMIwY8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtMIwo8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtMIw48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtMIxI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtMIxY8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtMIxo8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtMIx48oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtMIyI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtMIyY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtMIyo8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtMIy48oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_SVcMEIVUEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtMIz48oEeq5HrfdV5ATIg" x="-400" y="640"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_AtMI0I8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtMI0Y8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtMI0o8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_AtMI048oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_K3ga4IVUEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_AtMI1I8oEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtMvwI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtMvwY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtMvwo8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtMvw48oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_AtMvxI8oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_AtMvxY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_AtMvxo8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_AtMvx48oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtMvyI8oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_H6da8IVUEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AtMvzI8oEeq5HrfdV5ATIg" x="20" y="320"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_ZJoe4Y8nEeq5HrfdV5ATIg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_ZJoe4o8nEeq5HrfdV5ATIg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_ZJoe448nEeq5HrfdV5ATIg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    </styles>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_6vmLQK8YEeqhVOlV64dXmA" name="css_stylesheets" eObjectListValue="_mci3oJm1Eeq8nv7tV9lOqQ"/>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    <edges xmi:type="notation:Connector" xmi:id="_As7C8I8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_AtCXsI8oEeq5HrfdV5ATIg" target="_As8REI8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_As7C8Y8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_OGCZII8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_As7C8o8oEeq5HrfdV5ATIg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_As7C848oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_6B2IgIVXEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_As7C9I8oEeq5HrfdV5ATIg" points="[10, 970, -643984, -643984]$[10, 929, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_As7C9Y8oEeq5HrfdV5ATIg" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_As7C9o8oEeq5HrfdV5ATIg" id="(0.5687203791469194,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_As-GQY8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_AtEz848oEeq5HrfdV5ATIg" target="_AtGCII8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_As-GQo8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_As-GQ48oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_As-GRI8oEeq5HrfdV5ATIg" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_As-GRY8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_7a4U0IVTEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_As-GRo8oEeq5HrfdV5ATIg" points="[1290, 530, -643984, -643984]$[1210, 293, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_As-GR48oEeq5HrfdV5ATIg" id="(0.5084745762711864,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_As-GSI8oEeq5HrfdV5ATIg" id="(0.8121827411167513,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_As-tUY8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_AtEM948oEeq5HrfdV5ATIg" target="_AtJFYI8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_As-tUo8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_As-tU48oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_As-tVI8oEeq5HrfdV5ATIg" x="1" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_As-tVY8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_geEBsIVWEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_As-tVo8oEeq5HrfdV5ATIg" points="[190, 970, -643984, -643984]$[250, 911, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_As-tV48oEeq5HrfdV5ATIg" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_As-tWI8oEeq5HrfdV5ATIg" id="(0.37267080745341613,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_As_7cI8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_AtBwqI8oEeq5HrfdV5ATIg" target="_AtMI0I8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtAigI8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_AtAigY8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_AtAigo8oEeq5HrfdV5ATIg" x="-1" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_AtAig48oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_Ud9iUIVVEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AtAihI8oEeq5HrfdV5ATIg" points="[-170, 450, -643984, -643984]$[30, 413, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtAihY8oEeq5HrfdV5ATIg" id="(0.7734806629834254,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtAiho8oEeq5HrfdV5ATIg" id="(0.4819277108433735,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_AtBJkI8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_AtGCII8oEeq5HrfdV5ATIg" target="_AtGpII8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtBJkY8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_AtBJko8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_AtBJk48oEeq5HrfdV5ATIg" x="-633" y="148"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_AtBJlI8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_CV1X8IVYEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AtBJlY8oEeq5HrfdV5ATIg" points="[830, 170, -643984, -643984]$[550, 130, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtBJlo8oEeq5HrfdV5ATIg" id="(0.5076142131979695,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtBJl48oEeq5HrfdV5ATIg" id="(0.8,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_AtBJmY8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_AtLhoI8oEeq5HrfdV5ATIg" target="_AtK6rY8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtBJmo8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_AtBJm48oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_AtBJnI8oEeq5HrfdV5ATIg" x="1" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_AtBJnY8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_g8dVQIVTEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AtBJno8oEeq5HrfdV5ATIg" points="[1450, 530, -643984, -643984]$[1530, 433, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtBJn48oEeq5HrfdV5ATIg" id="(0.46153846153846156,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtBJoI8oEeq5HrfdV5ATIg" id="(0.1895734597156398,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_AtBwoI8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_AtDl0I8oEeq5HrfdV5ATIg" target="_AtMI0I8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtBwoY8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_AtBwoo8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_AtBwo48oEeq5HrfdV5ATIg" x="-155" y="96"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_AtBwpI8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_TaQCkIVVEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AtBwpY8oEeq5HrfdV5ATIg" points="[390, 470, -643984, -643984]$[70, 413, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtBwpo8oEeq5HrfdV5ATIg" id="(0.4419889502762431,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtBwp48oEeq5HrfdV5ATIg" id="(0.7228915662650602,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_AtC-wI8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_AtIeaI8oEeq5HrfdV5ATIg" target="_AtJseo8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtC-wY8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_AtC-wo8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_AtC-w48oEeq5HrfdV5ATIg" x="1" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_AtC-xI8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_hzfRoIVYEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AtC-xY8oEeq5HrfdV5ATIg" points="[770, 450, -643984, -643984]$[470, 293, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtC-xo8oEeq5HrfdV5ATIg" id="(0.2843601895734597,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtC-x48oEeq5HrfdV5ATIg" id="(0.8290155440414507,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_AtC-yI8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_AtKTqY8oEeq5HrfdV5ATIg" target="_As8REI8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtC-yY8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_OGXwUI8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_AtC-yo8oEeq5HrfdV5ATIg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_AtC-y48oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_6loyEIVXEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AtC-zI8oEeq5HrfdV5ATIg" points="[130, 970, -643984, -643984]$[70, 929, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtC-zY8oEeq5HrfdV5ATIg" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtC-zo8oEeq5HrfdV5ATIg" id="(0.8530805687203792,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_AtEM4I8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_AtMIwI8oEeq5HrfdV5ATIg" target="_AtBwqI8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtEM4Y8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_OHWAsI8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_AtEM4o8oEeq5HrfdV5ATIg" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_AtEM448oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_3UmmgIVUEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AtEM5I8oEeq5HrfdV5ATIg" points="[-360, 1360, -643984, -643984]$[-280, 1283, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtEM5Y8oEeq5HrfdV5ATIg" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtEM5o8oEeq5HrfdV5ATIg" id="(0.22099447513812154,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_AtEM6I8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_AtH3UI8oEeq5HrfdV5ATIg" target="_As8REI8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtEM6Y8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_OFHMEI8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_AtEM6o8oEeq5HrfdV5ATIg" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_AtEM648oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_5a1L0IVXEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AtEM7I8oEeq5HrfdV5ATIg" points="[-130, 970, -643984, -643984]$[-70, 929, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtEM7Y8oEeq5HrfdV5ATIg" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtEM7o8oEeq5HrfdV5ATIg" id="(0.1895734597156398,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_AtEM748oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_As_UYI8oEeq5HrfdV5ATIg" target="_AtGCII8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtEM8I8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_AtEM8Y8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_AtEM8o8oEeq5HrfdV5ATIg" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_AtEM848oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_9Q2_AIVTEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AtEM9I8oEeq5HrfdV5ATIg" points="[1010, 530, -643984, -643984]$[1090, 293, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtEM9Y8oEeq5HrfdV5ATIg" id="(0.5084745762711864,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtEM9o8oEeq5HrfdV5ATIg" id="(0.20304568527918782,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_AtFbAI8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_AtHQMI8oEeq5HrfdV5ATIg" target="_AtK6rY8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtFbAY8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_AtFbAo8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_AtFbA48oEeq5HrfdV5ATIg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_AtFbBI8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_iK5eUIVTEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AtFbBY8oEeq5HrfdV5ATIg" points="[1770, 530, -643984, -643984]$[1670, 433, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtFbBo8oEeq5HrfdV5ATIg" id="(0.46153846153846156,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtFbB48oEeq5HrfdV5ATIg" id="(0.8530805687203792,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_AtFbCI8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_As8REI8oEeq5HrfdV5ATIg" target="_AtKTl48oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtFbCY8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_AtFbCo8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_AtFbC48oEeq5HrfdV5ATIg" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_AtFbDI8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_zKvGwIVXEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AtFbDY8oEeq5HrfdV5ATIg" points="[-30, 810, -643984, -643984]$[70, 733, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtFbDo8oEeq5HrfdV5ATIg" id="(0.6635071090047393,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtFbD48oEeq5HrfdV5ATIg" id="(0.418848167539267,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_AtFbEI8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_AtE0A48oEeq5HrfdV5ATIg" target="_AtBwqI8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtFbEY8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_OFpXkI8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_AtFbEo8oEeq5HrfdV5ATIg" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_AtFbE48oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_2i3nkIVUEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AtFbFI8oEeq5HrfdV5ATIg" points="[-250, 630, -643984, -643984]$[-230, 553, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtFbFY8oEeq5HrfdV5ATIg" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtFbFo8oEeq5HrfdV5ATIg" id="(0.4419889502762431,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_AtGCEI8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_AtK6rY8oEeq5HrfdV5ATIg" target="_AtGCII8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtGCEY8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_AtGCEo8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_AtGCE48oEeq5HrfdV5ATIg" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_AtGCFI8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_i7emsIVTEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AtGCFY8oEeq5HrfdV5ATIg" points="[1590, 330, -643984, -643984]$[1230, 293, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtGCFo8oEeq5HrfdV5ATIg" id="(0.47393364928909953,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtGCF48oEeq5HrfdV5ATIg" id="(0.9137055837563451,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_AtGCGI8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_AtK6nY8oEeq5HrfdV5ATIg" target="_AtDl0I8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtGCGY8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_AtGCGo8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_AtGCG48oEeq5HrfdV5ATIg" x="120" y="131"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_AtGCHI8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_dg9M0IVVEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AtGCHY8oEeq5HrfdV5ATIg" points="[450, 610, -643984, -643984]$[450, 551, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtGCHo8oEeq5HrfdV5ATIg" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtGCH48oEeq5HrfdV5ATIg" id="(0.4419889502762431,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_AtHQUY8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_AtJFYI8oEeq5HrfdV5ATIg" target="_AtKTl48oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtHQUo8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_AtHQU48oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_AtHQVI8oEeq5HrfdV5ATIg" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_AtHQVY8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_eWQLMIVXEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AtHQVo8oEeq5HrfdV5ATIg" points="[10, 810, -643984, -643984]$[90, 733, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtHQV48oEeq5HrfdV5ATIg" id="(0.4968944099378882,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtHQWI8oEeq5HrfdV5ATIg" id="(0.837696335078534,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_AtIeYI8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_AtH3QI8oEeq5HrfdV5ATIg" target="_AtK6rY8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtIeYY8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_AtIeYo8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_AtIeY48oEeq5HrfdV5ATIg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_AtIeZI8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_hguf8IVTEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AtIeZY8oEeq5HrfdV5ATIg" points="[1610, 530, -643984, -643984]$[1610, 433, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtIeZo8oEeq5HrfdV5ATIg" id="(0.46153846153846156,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtIeZ48oEeq5HrfdV5ATIg" id="(0.5687203791469194,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_AtJFc48oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_AtMI0I8oEeq5HrfdV5ATIg" target="_AtJseo8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtJFdI8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_AtJFdY8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_AtJFdo8oEeq5HrfdV5ATIg" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_AtJFd48oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_2P_c8IVWEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AtJFeI8oEeq5HrfdV5ATIg" points="[50, 310, -643984, -643984]$[130, 273, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtJFeY8oEeq5HrfdV5ATIg" id="(0.6024096385542169,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtJFeo8oEeq5HrfdV5ATIg" id="(0.41450777202072536,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_AtJFe48oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_AtKTgI8oEeq5HrfdV5ATIg" target="_AtGCII8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtJFfI8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_AtJFfY8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_AtJFfo8oEeq5HrfdV5ATIg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_AtJFf48oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_8DbikIVTEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AtJFgI8oEeq5HrfdV5ATIg" points="[1150, 530, -643984, -643984]$[1150, 293, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtJFgY8oEeq5HrfdV5ATIg" id="(0.5084745762711864,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtJFgo8oEeq5HrfdV5ATIg" id="(0.5076142131979695,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_AtJsco8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_AtIeUI8oEeq5HrfdV5ATIg" target="_AtDl0I8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtJsc48oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_AtJsdI8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_AtJsdY8oEeq5HrfdV5ATIg" x="128" y="114"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_AtJsdo8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_dGXikIVVEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AtJsd48oEeq5HrfdV5ATIg" points="[350, 610, -643984, -643984]$[350, 551, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtJseI8oEeq5HrfdV5ATIg" id="(0.8,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtJseY8oEeq5HrfdV5ATIg" id="(0.11049723756906077,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_AtKTkI8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_As9fPI8oEeq5HrfdV5ATIg" target="_AtBwqI8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtKTkY8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_OG6i4I8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_AtKTko8oEeq5HrfdV5ATIg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_AtKTk48oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_2DdHsIVUEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AtKTlI8oEeq5HrfdV5ATIg" points="[-110, 630, -643984, -643984]$[-170, 553, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtKTlY8oEeq5HrfdV5ATIg" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtKTlo8oEeq5HrfdV5ATIg" id="(0.7734806629834254,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_AtLhsI8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_AtAih48oEeq5HrfdV5ATIg" target="_As84II8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtLhsY8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_AtLhso8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_AtLhs48oEeq5HrfdV5ATIg" x="67" y="98"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_AtLhtI8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_e4Tk0IVWEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AtLhtY8oEeq5HrfdV5ATIg" points="[390, 1110, -643984, -643984]$[410, 1073, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtLhto8oEeq5HrfdV5ATIg" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtLht48oEeq5HrfdV5ATIg" id="(0.36363636363636365,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_AtLhuI8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_AtKTl48oEeq5HrfdV5ATIg" target="_AtBwqI8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtLhuY8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_OEwmwI8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_AtLhuo8oEeq5HrfdV5ATIg" x="-1" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_AtLhu48oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_V3zYMIVXEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AtLhvI8oEeq5HrfdV5ATIg" points="[50, 630, -643984, -643984]$[-129, 510, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtLhvY8oEeq5HrfdV5ATIg" id="(0.31413612565445026,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtLhvo8oEeq5HrfdV5ATIg" id="(1.0,0.5825242718446602)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_AtMIsI8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_As84II8oEeq5HrfdV5ATIg" target="_AtJFYI8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtMIsY8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_AtMIso8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_AtMIs48oEeq5HrfdV5ATIg" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_AtMItI8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_f8tBEIVWEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AtMItY8oEeq5HrfdV5ATIg" points="[410, 970, -643984, -643984]$[310, 911, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtMIto8oEeq5HrfdV5ATIg" id="(0.36363636363636365,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtMIt48oEeq5HrfdV5ATIg" id="(0.7453416149068323,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_AtMIuI8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_AtJseo8oEeq5HrfdV5ATIg" target="_AtGpII8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtMIuY8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_AtMIuo8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_AtMIu48oEeq5HrfdV5ATIg" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_AtMIvI8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_DTFDUIVYEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AtMIvY8oEeq5HrfdV5ATIg" points="[170, 170, -643984, -643984]$[510, 130, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtMIvo8oEeq5HrfdV5ATIg" id="(0.6217616580310881,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtMIv48oEeq5HrfdV5ATIg" id="(0.4,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_AtMvzY8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_AtHQQY8oEeq5HrfdV5ATIg" target="_As84II8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_AtMvzo8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_AtMvz48oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_AtMv0I8oEeq5HrfdV5ATIg" x="8" y="135"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_AtMv0Y8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_fQk64IVWEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AtMv0o8oEeq5HrfdV5ATIg" points="[550, 1110, -643984, -643984]$[510, 1073, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtMv048oEeq5HrfdV5ATIg" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AtMv1I8oEeq5HrfdV5ATIg" id="(0.8181818181818182,1.0)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_dNXaEI8nEeq5HrfdV5ATIg" type="PapyrusUMLProfileDiagram" name="Padding_layers" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_GBLx6Y8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GBLx6o8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GBLx648oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_GBLx7I8oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_UZswkIVZEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_GBLx7Y8oEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GBLx7o8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GBLx748oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GBLx8I8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GBLx8Y8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GBLx8o8oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GBLx848oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GBLx9I8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GBLx9Y8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GBLx9o8oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_w6iwUIVYEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GBLx-o8oEeq5HrfdV5ATIg" x="620" y="80"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_GBLyA48oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GBLyBI8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GBLyBY8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GBLyBo8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GBLyB48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GBLyCI8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GBLyCY8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GBLyCo8oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GBLyC48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GBLyDI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GBLyDY8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GBLyDo8oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_mNvZ8IVZEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GBLyEo8oEeq5HrfdV5ATIg" x="960" y="300"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_GBLyFI8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GBLyFY8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GBLyFo8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GBLyF48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GBLyGI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GBLyGY8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GBLyGo8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GBLyG48oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GBLyHI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GBLyHY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GBLyHo8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GBLyH48oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_aphv4IVZEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GBLyI48oEeq5HrfdV5ATIg" x="260" y="300"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_GBMY8Y8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GBMY8o8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GBMY848oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GBMY9I8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GBMY9Y8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GBMY9o8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GBMY948oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GBMY-I8oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GBMY-Y8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GBMY-o8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GBMY-48oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GBMY_I8oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_sNFGMIVZEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GBMZAI8oEeq5HrfdV5ATIg" x="1220" y="300"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_GBMZAY8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GBMZAo8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GBMZA48oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GBMZBI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GBMZBY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GBMZBo8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GBMZB48oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GBMZCI8oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GBMZCY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GBMZCo8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GBMZC48oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GBMZDI8oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_gxtPEIVZEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GBMZEI8oEeq5HrfdV5ATIg" x="680" y="300"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_GBMZEY8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GBMZEo8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GBMZE48oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GBMZFI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GBMZFY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GBMZFo8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GBMZF48oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GBMZGI8oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GBMZGY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GBMZGo8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GBMZG48oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GBMZHI8oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_okP-UIVZEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GBMZII8oEeq5HrfdV5ATIg" x="1080" y="300"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_GBMZIY8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GBMZIo8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GBMZI48oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GBMZJI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GBMZJY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GBMZJo8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GBMZJ48oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GBMZKI8oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GBMZKY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GBMZKo8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GBMZK48oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GBMZLI8oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_kjrr4IVZEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GBMZMI8oEeq5HrfdV5ATIg" x="820" y="300"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_GBMZMY8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GBMZMo8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GBMZM48oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GBMZNI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GBMZNY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GBMZNo8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GBMZN48oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GBMZOI8oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GBMZOY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GBMZOo8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GBMZO48oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GBMZPI8oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_YlZU8IVZEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GBMZQI8oEeq5HrfdV5ATIg" x="120" y="300"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_GBMZSY8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GBMZSo8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GBMZS48oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GBMZTI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GBMZTY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GBMZTo8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GBMZT48oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GBMZUI8oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GBMZUY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GBMZUo8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GBMZU48oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GBMZVI8oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_cIwG8IVZEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GBMZWI8oEeq5HrfdV5ATIg" x="400" y="300"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_GBNAAI8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GBNAAY8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GBNAAo8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GBNAA48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GBNABI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GBNABY8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GBNABo8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GBNAB48oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GBNACI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GBNACY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GBNACo8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GBNAC48oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_fdB7IIVZEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GBNAD48oEeq5HrfdV5ATIg" x="540" y="300"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_dNXaEY8nEeq5HrfdV5ATIg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_dNXaEo8nEeq5HrfdV5ATIg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_dNXaE48nEeq5HrfdV5ATIg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    </styles>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_8IfQ0K8YEeqhVOlV64dXmA" name="css_stylesheets" eObjectListValue="_mci3oJm1Eeq8nv7tV9lOqQ"/>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    <edges xmi:type="notation:Connector" xmi:id="_GBLK0Y8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_GBMZIY8oEeq5HrfdV5ATIg" target="_GBLx6Y8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GBLK0o8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_GBLK048oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_GBLK1I8oEeq5HrfdV5ATIg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_GBLK1Y8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_5Tm3kIVZEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GBLK1o8oEeq5HrfdV5ATIg" points="[870, 290, -643984, -643984]$[690, 173, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GBLK148oEeq5HrfdV5ATIg" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GBLK2I8oEeq5HrfdV5ATIg" id="(0.54421768707483,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_GBLx4Y8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_GBMZMY8oEeq5HrfdV5ATIg" target="_GBLx6Y8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GBLx4o8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_GBLx448oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_GBLx5I8oEeq5HrfdV5ATIg" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_GBLx5Y8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_zJF2EIVZEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GBLx5o8oEeq5HrfdV5ATIg" points="[150, 290, -643984, -643984]$[630, 173, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GBLx548oEeq5HrfdV5ATIg" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GBLx6I8oEeq5HrfdV5ATIg" id="(0.1360544217687075,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_GBLx-48oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_GBMZAY8oEeq5HrfdV5ATIg" target="_GBLx6Y8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GBLx_I8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_GBLx_Y8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_GBLx_o8oEeq5HrfdV5ATIg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_GBLx_48oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_4uA3MIVZEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GBLyAI8oEeq5HrfdV5ATIg" points="[730, 290, -643984, -643984]$[650, 173, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GBLyAY8oEeq5HrfdV5ATIg" id="(0.5714285714285714,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GBLyAo8oEeq5HrfdV5ATIg" id="(0.272108843537415,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_GBLyJI8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_GBLyFI8oEeq5HrfdV5ATIg" target="_GBLx6Y8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GBLyJY8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_GBLyJo8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_GBLyJ48oEeq5HrfdV5ATIg" x="-1" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_GBLyKI8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_0IHqIIVZEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GBLyKY8oEeq5HrfdV5ATIg" points="[310, 290, -643984, -643984]$[630, 173, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GBLyKo8oEeq5HrfdV5ATIg" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GBLyK48oEeq5HrfdV5ATIg" id="(0.1360544217687075,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_GBMZQY8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_GBLyA48oEeq5HrfdV5ATIg" target="_GBLx6Y8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GBMZQo8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_GBMZQ48oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_GBMZRI8oEeq5HrfdV5ATIg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_GBMZRY8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_6g_QsIVZEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GBMZRo8oEeq5HrfdV5ATIg" points="[1010, 290, -643984, -643984]$[730, 173, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GBMZR48oEeq5HrfdV5ATIg" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GBMZSI8oEeq5HrfdV5ATIg" id="(0.8163265306122449,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_GBNAEI8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_GBMY8Y8oEeq5HrfdV5ATIg" target="_GBLx6Y8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GBNAEY8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_GBNAEo8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_GBNAE48oEeq5HrfdV5ATIg" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_GBNAFI8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_7vcA0IVZEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GBNAFY8oEeq5HrfdV5ATIg" points="[1270, 290, -643984, -643984]$[730, 173, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GBNAFo8oEeq5HrfdV5ATIg" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GBNAF48oEeq5HrfdV5ATIg" id="(0.8163265306122449,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_GBNAGI8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_GBNAAI8oEeq5HrfdV5ATIg" target="_GBLx6Y8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GBNAGY8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_GBNAGo8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_GBNAG48oEeq5HrfdV5ATIg" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_GBNAHI8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_3Rpm4IVZEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GBNAHY8oEeq5HrfdV5ATIg" points="[590, 290, -643984, -643984]$[650, 173, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GBNAHo8oEeq5HrfdV5ATIg" id="(0.5714285714285714,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GBNAH48oEeq5HrfdV5ATIg" id="(0.272108843537415,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_GBNAII8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_GBMZSY8oEeq5HrfdV5ATIg" target="_GBLx6Y8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GBNAIY8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_GBNAIo8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_GBNAI48oEeq5HrfdV5ATIg" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_GBNAJI8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_2srRkIVZEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GBNAJY8oEeq5HrfdV5ATIg" points="[450, 290, -643984, -643984]$[650, 173, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GBNAJo8oEeq5HrfdV5ATIg" id="(0.5714285714285714,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GBNAJ48oEeq5HrfdV5ATIg" id="(0.272108843537415,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_GBNAKI8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_GBMZEY8oEeq5HrfdV5ATIg" target="_GBLx6Y8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GBNAKY8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_GBNAKo8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_GBNAK48oEeq5HrfdV5ATIg" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_GBNALI8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_7KBmoIVZEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GBNALY8oEeq5HrfdV5ATIg" points="[1130, 290, -643984, -643984]$[730, 173, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GBNALo8oEeq5HrfdV5ATIg" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GBNAL48oEeq5HrfdV5ATIg" id="(0.8163265306122449,1.0)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_qs6IYI8nEeq5HrfdV5ATIg" type="PapyrusUMLProfileDiagram" name="Non-linear_activations_(weighted sum, nonlinearity)" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_dny20I8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dny20Y8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dny20o8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_dny2048oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_vrowYIVcEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_dny21I8oEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dny21Y8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dny21o8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dny2148oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dny22I8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dny22Y8oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dny22o8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dny2248oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dny23I8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dny23Y8oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_uYqFkIVcEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dny24Y8oEeq5HrfdV5ATIg" x="980" y="500"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_dny24o8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dny2448oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dny25I8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_dny25Y8oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_Ki9qEIVbEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_dny25o8oEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dny2548oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dny26I8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dny26Y8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dny26o8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dny2648oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dny27I8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dny27Y8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dny27o8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dny2748oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_Im3JwIVbEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dny2848oEeq5HrfdV5ATIg" x="700" y="320"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_dnzd6I8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dnzd6Y8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dnzd6o8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dnzd648oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dnzd7I8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dnzd7Y8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dnzd7o8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dnzd748oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dnzd8I8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dnzd8Y8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dnzd8o8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dnzd848oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_-FB30IVcEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dnzd948oEeq5HrfdV5ATIg" x="2080" y="340"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_dnzd-I8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dnzd-Y8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dnzd-o8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_dnzd-48oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_MoLDEIVbEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_dnzd_I8oEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dnzd_Y8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dnzd_o8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dnzd_48oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dnzeAI8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dnzeAY8oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dnzeAo8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dnzeA48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dnzeBI8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn0E8I8oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_FFiYEIVbEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn0E9I8oEeq5HrfdV5ATIg" x="20" y="500"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_dn0E_Y8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dn0E_o8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dn0E_48oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_dn0FAI8oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_QsGykIVbEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_dn0FAY8oEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dn0FAo8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dn0FA48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dn0FBI8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn0FBY8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dn0FBo8oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dn0FB48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dn0FCI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dn0FCY8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn0FCo8oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_O0zSsIVbEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn0FDo8oEeq5HrfdV5ATIg" x="1660" y="320"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_dn0FFo8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dn0FF48oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dn0FGI8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dn0sAI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dn0sAY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dn0sAo8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn0sA48oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dn0sBI8oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dn0sBY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dn0sBo8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dn0sB48oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn0sCI8oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_AwFawIVbEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn0sDI8oEeq5HrfdV5ATIg" x="1560" y="40"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_dn0sFI8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dn0sFY8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dn0sFo8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dn0sF48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dn0sGI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dn0sGY8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn0sGo8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dn0sG48oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dn0sHI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dn0sHY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dn0sHo8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn0sH48oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_Tr5SkIVdEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn0sI48oEeq5HrfdV5ATIg" x="1640" y="500"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_dn0sK48oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dn0sLI8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dn0sLY8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dn0sLo8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dn0sL48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dn0sMI8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn0sMY8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dn0sMo8oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dn0sM48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dn0sNI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dn0sNY8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn0sNo8oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_PQkzQIVcEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn0sOo8oEeq5HrfdV5ATIg" x="1200" y="500"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_dn1TII8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dn1TIY8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dn1TIo8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dn1TI48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dn1TJI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dn1TJY8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn1TJo8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dn1TJ48oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dn1TKI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dn1TKY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dn1TKo8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn1TK48oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_kIQXUIVdEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn1TL48oEeq5HrfdV5ATIg" x="3080" y="340"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_dn2hMI8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dn2hMY8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dn2hMo8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_dn2hM48oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_pyKbkIVcEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_dn2hNI8oEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_dn2hNY8oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_qj-TAIVcEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_dn2hNo8oEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dn2hN48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dn2hOI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dn2hOY8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn2hOo8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dn2hO48oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dn2hPI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dn2hPY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dn2hPo8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn2hP48oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_oPGGUIVcEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn2hQ48oEeq5HrfdV5ATIg" x="480" y="500"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_dn2hRI8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dn2hRY8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dn2hRo8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dn2hR48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dn2hSI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dn2hSY8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn2hSo8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dn2hS48oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dn2hTI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dn2hTY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dn2hTo8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn2hT48oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_Q1o3IIVdEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn2hU48oEeq5HrfdV5ATIg" x="1774" y="497"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_dn3IQI8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dn3IQY8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dn3IQo8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_dn3IQ48oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_FZhZIIVdEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_dn3IRI8oEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_dn3IRY8oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_KHN3UIVdEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_dn3IRo8oEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dn3IR48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dn3ISI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dn3ISY8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn3ISo8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dn3IS48oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dn3ITI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dn3ITY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dn3ITo8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn3IT48oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_AXPyEIVdEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn3IU48oEeq5HrfdV5ATIg" x="1880" y="340"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_dn3vXo8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dn3vX48oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dn3vYI8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dn3vYY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dn3vYo8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dn3vY48oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn3vZI8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dn3vZY8oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dn3vZo8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dn3vZ48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dn3vaI8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn3vaY8oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_ef3LcIVdEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn3vbY8oEeq5HrfdV5ATIg" x="3220" y="340"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_dn3vbo8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dn3vb48oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dn3vcI8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_dn3vcY8oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_H7n-8IVcEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_dn3vco8oEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_dn3vc48oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_J_NnUIVcEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_dn3vdI8oEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dn3vdY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dn3vdo8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dn3vd48oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn3veI8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dn3veY8oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dn3veo8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dn3ve48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dn3vfI8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn3vfY8oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_FyhkcIVcEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn3vgY8oEeq5HrfdV5ATIg" x="2680" y="340"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_dn3vg48oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dn3vhI8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dn3vhY8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dn3vho8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dn3vh48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dn3viI8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn3viY8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dn3vio8oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dn3vi48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dn3vjI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dn3vjY8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn3vjo8oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_T9yJQIVcEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn3vko8oEeq5HrfdV5ATIg" x="1440" y="500"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_dn4WZ48oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dn4WaI8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dn4WaY8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_dn4Wao8oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_6bNcAIVdEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_dn4Wa48oEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_dn4WbI8oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_7aGGIIVdEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_dn4WbY8oEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dn4Wbo8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dn4Wb48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dn4WcI8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn4WcY8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dn4Wco8oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dn4Wc48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dn4WdI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dn4WdY8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn4Wdo8oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_4wdxcIVdEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn4Weo8oEeq5HrfdV5ATIg" x="720" y="500"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_dn4Wg48oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dn4WhI8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dn4WhY8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dn4Who8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dn4Wh48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dn4WiI8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn4WiY8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dn4Wio8oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dn4Wi48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dn4WjI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dn4WjY8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn4Wjo8oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#__HL4YIVcEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn4Wko8oEeq5HrfdV5ATIg" x="2200" y="340"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_dn49d48oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dn49eI8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dn49eY8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dn49eo8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dn49e48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dn49fI8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn49fY8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dn49fo8oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dn49f48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dn49gI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dn49gY8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn49go8oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_Q694gIVcEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn49ho8oEeq5HrfdV5ATIg" x="1320" y="500"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_dn49iI8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dn49iY8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dn49io8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_dn49i48oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_oCRnwIVbEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_dn49jI8oEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_dn49jY8oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_pXDCUIVbEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_dn49jo8oEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_dn49j48oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_qHZhMIVbEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_dn49kI8oEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_dn49kY8oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_qxdK0IVbEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_dn49ko8oEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_dn49k48oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_rp_8YIVbEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_dn49lI8oEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_dn49lY8oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_uscZsIVbEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_dn49lo8oEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_dn49l48oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_wd6XUIVbEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_dn49mI8oEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_dn49mY8oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_w_bI8IVbEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_dn49mo8oEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dn49m48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dn49nI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dn49nY8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn49no8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dn49n48oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dn49oI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dn49oY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dn49oo8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn49o48oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_mNXUkIVbEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn49p48oEeq5HrfdV5ATIg" x="2439" y="343"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_dn5kiI8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dn5kiY8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dn5kio8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dn5ki48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dn5kjI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dn5kjY8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn5kjo8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dn5kj48oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dn5kkI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dn5kkY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dn5kko8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn5kk48oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_hnumMIVbEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn5kl48oEeq5HrfdV5ATIg" x="2320" y="340"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_dn5kmI8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dn5kmY8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dn5kmo8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_dn5km48oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_VlPEsIVbEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_dn5knI8oEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dn5knY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dn5kno8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dn5kn48oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn5koI8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dn5koY8oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dn5koo8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dn5ko48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dn5kpI8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn5kpY8oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_T1MDYIVbEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn5kqY8oEeq5HrfdV5ATIg" x="220" y="500"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_dn5kqo8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dn5kq48oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dn5krI8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dn5krY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dn5kro8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dn5kr48oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn5ksI8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dn5ksY8oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dn5kso8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dn5ks48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dn5ktI8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn5ktY8oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_dgIz0IVdEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dn5kuY8oEeq5HrfdV5ATIg" x="2940" y="340"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_ymR5wJa5Eeq1-Ze45jZMTg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_ymWLMJa5Eeq1-Ze45jZMTg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ymWLMZa5Eeq1-Ze45jZMTg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_3IDb0Ja5Eeq1-Ze45jZMTg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_3HW4QJa5Eeq1-Ze45jZMTg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_3IDb0Za5Eeq1-Ze45jZMTg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_62CJcJa5Eeq1-Ze45jZMTg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_60q3gJa5Eeq1-Ze45jZMTg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_62CJcZa5Eeq1-Ze45jZMTg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_ymWLMpa5Eeq1-Ze45jZMTg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ymWLM5a5Eeq1-Ze45jZMTg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ymWLNJa5Eeq1-Ze45jZMTg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ymWLNZa5Eeq1-Ze45jZMTg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ymWLNpa5Eeq1-Ze45jZMTg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_ymWLN5a5Eeq1-Ze45jZMTg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ymWLOJa5Eeq1-Ze45jZMTg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ymWLOZa5Eeq1-Ze45jZMTg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ymWLOpa5Eeq1-Ze45jZMTg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_ymNBQJa5Eeq1-Ze45jZMTg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ymR5wZa5Eeq1-Ze45jZMTg" x="-240" y="500"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_qs6IYY8nEeq5HrfdV5ATIg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_qs6IYo8nEeq5HrfdV5ATIg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_qs6IY48nEeq5HrfdV5ATIg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    </styles>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_9hsfcK8YEeqhVOlV64dXmA" name="css_stylesheets" eObjectListValue="_mci3oJm1Eeq8nv7tV9lOqQ"/>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    <edges xmi:type="notation:Connector" xmi:id="_dnxosI8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_dn4WZ48oEeq5HrfdV5ATIg" target="_dny24o8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dnxosY8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_dnyPwI8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_dnyPwY8oEeq5HrfdV5ATIg" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_dnyPwo8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_8qf-EIVdEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dnyPw48oEeq5HrfdV5ATIg" points="[810, 490, -643984, -643984]$[870, 413, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dnyPxI8oEeq5HrfdV5ATIg" id="(0.5347593582887701,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dnyPxY8oEeq5HrfdV5ATIg" id="(0.5980066445182725,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_dnzd4I8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_dn4Wg48oEeq5HrfdV5ATIg" target="_dn0FFo8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dnzd4Y8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lzyA0I8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_dnzd4o8oEeq5HrfdV5ATIg" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_dnzd448oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_heXHcIVeEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dnzd5I8oEeq5HrfdV5ATIg" points="[2230, 330, -643984, -643984]$[1750, 130, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dnzd5Y8oEeq5HrfdV5ATIg" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dnzd5o8oEeq5HrfdV5ATIg" id="(0.6920415224913494,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_dn0E9Y8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_dn2hRI8oEeq5HrfdV5ATIg" target="_dn0E_Y8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dn0E9o8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_dn0E948oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_dn0E-I8oEeq5HrfdV5ATIg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_dn0E-Y8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_WoPu8IVdEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dn0E-o8oEeq5HrfdV5ATIg" points="[1810, 487, -643984, -643984]$[1750, 413, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dn0E-48oEeq5HrfdV5ATIg" id="(0.46,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dn0E_I8oEeq5HrfdV5ATIg" id="(0.5847953216374269,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_dn0FD48oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_dnzd6I8oEeq5HrfdV5ATIg" target="_dn0FFo8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dn0FEI8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lzGrYI8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_dn0FEY8oEeq5HrfdV5ATIg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_dn0FEo8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_SfSgEIVeEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dn0FE48oEeq5HrfdV5ATIg" points="[2110, 330, -643984, -643984]$[1650, 130, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dn0FFI8oEeq5HrfdV5ATIg" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dn0FFY8oEeq5HrfdV5ATIg" id="(0.3460207612456747,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_dn0sDY8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_dn1TII8oEeq5HrfdV5ATIg" target="_dn0FFo8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dn0sDo8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_l1zaEI8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_dn0sD48oEeq5HrfdV5ATIg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_dn0sEI8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_dbS6oIVeEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dn0sEY8oEeq5HrfdV5ATIg" points="[3110, 330, -643984, -643984]$[1810, 130, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dn0sEo8oEeq5HrfdV5ATIg" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dn0sE48oEeq5HrfdV5ATIg" id="(0.8996539792387543,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_dn0sJI8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_dn49iI8oEeq5HrfdV5ATIg" target="_dn0FFo8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dn0sJY8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_l0J0QI8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_dn0sJo8oEeq5HrfdV5ATIg" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_dn0sJ48oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_gMwVoIVeEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dn0sKI8oEeq5HrfdV5ATIg" points="[2510, 333, -643984, -643984]$[1790, 130, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dn0sKY8oEeq5HrfdV5ATIg" id="(0.38571428571428573,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dn0sKo8oEeq5HrfdV5ATIg" id="(0.8304498269896193,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_dn1TEI8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_dn0sFI8oEeq5HrfdV5ATIg" target="_dn0E_Y8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dn1TEY8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_dn1TEo8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_dn1TE48oEeq5HrfdV5ATIg" x="1" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_dn1TFI8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_WKteYIVdEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dn1TFY8oEeq5HrfdV5ATIg" points="[1670, 490, -643984, -643984]$[1710, 413, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dn1TFo8oEeq5HrfdV5ATIg" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dn1TF48oEeq5HrfdV5ATIg" id="(0.3508771929824561,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_dn1TGI8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_dn0E_Y8oEeq5HrfdV5ATIg" target="_dn0FFo8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dn1TGY8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_l0hAoI8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_dn1TGo8oEeq5HrfdV5ATIg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_dn1TG48oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_Kab40IVeEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dn1THI8oEeq5HrfdV5ATIg" points="[1730, 310, -643984, -643984]$[1590, 130, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dn1THY8oEeq5HrfdV5ATIg" id="(0.4678362573099415,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dn1THo8oEeq5HrfdV5ATIg" id="(0.1384083044982699,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_dn1TMI8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_dn49d48oEeq5HrfdV5ATIg" target="_dny24o8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dn1TMY8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_dn1TMo8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_dn1TM48oEeq5HrfdV5ATIg" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_dn1TNI8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_XLnXMIVcEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dn1TNY8oEeq5HrfdV5ATIg" points="[1250, 490, -643984, -643984]$[950, 413, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dn1TNo8oEeq5HrfdV5ATIg" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dn1TN48oEeq5HrfdV5ATIg" id="(0.8637873754152824,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_dn16II8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_dnzd-I8oEeq5HrfdV5ATIg" target="_dny24o8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dn16IY8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_dn16Io8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_dn16I48oEeq5HrfdV5ATIg" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_dn16JI8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_ckA0sIVbEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dn16JY8oEeq5HrfdV5ATIg" points="[170, 490, -643984, -643984]$[230, 413, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dn16Jo8oEeq5HrfdV5ATIg" id="(0.6024096385542169,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dn16J48oEeq5HrfdV5ATIg" id="(0.0664451827242525,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_dn16KI8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_dn5kqo8oEeq5HrfdV5ATIg" target="_dn0FFo8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dn16KY8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_l2mEQI8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_dn16Ko8oEeq5HrfdV5ATIg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_dn16K48oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_esL6wIVeEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dn16LI8oEeq5HrfdV5ATIg" points="[2970, 330, -643984, -643984]$[1810, 130, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dn16LY8oEeq5HrfdV5ATIg" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dn16Lo8oEeq5HrfdV5ATIg" id="(0.8996539792387543,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_dn16L48oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_dny24o8oEeq5HrfdV5ATIg" target="_dn0FFo8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dn16MI8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_dn16MY8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_dn16Mo8oEeq5HrfdV5ATIg" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_dn16M48oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_dfBEYIVbEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dn16NI8oEeq5HrfdV5ATIg" points="[310, 310, -643984, -643984]$[390, 270, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dn16NY8oEeq5HrfdV5ATIg" id="(0.5980066445182725,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dn16No8oEeq5HrfdV5ATIg" id="(0.0,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_dn16N48oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_dny20I8oEeq5HrfdV5ATIg" target="_dny24o8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dn16OI8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_dn16OY8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_dn16Oo8oEeq5HrfdV5ATIg" x="-1" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_dn16O48oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_ymuBcIVcEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dn16PI8oEeq5HrfdV5ATIg" points="[1070, 490, -643984, -643984]$[910, 413, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dn16PY8oEeq5HrfdV5ATIg" id="(0.6024096385542169,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dn16Po8oEeq5HrfdV5ATIg" id="(0.7308970099667774,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_dn16P48oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_dn5kmI8oEeq5HrfdV5ATIg" target="_dny24o8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dn16QI8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_dn16QY8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_dn16Qo8oEeq5HrfdV5ATIg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_dn16Q48oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_dEj9AIVbEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dn16RI8oEeq5HrfdV5ATIg" points="[410, 490, -643984, -643984]$[370, 413, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dn16RY8oEeq5HrfdV5ATIg" id="(0.18604651162790697,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dn16Ro8oEeq5HrfdV5ATIg" id="(0.39867109634551495,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_dn2hVY8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_dn3vXo8oEeq5HrfdV5ATIg" target="_dn0FFo8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dn2hVo8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_l2MboI8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_dn2hV48oEeq5HrfdV5ATIg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_dn2hWI8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_bY_rsIVeEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dn2hWY8oEeq5HrfdV5ATIg" points="[3270, 330, -643984, -643984]$[1810, 130, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dn2hWo8oEeq5HrfdV5ATIg" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dn2hW48oEeq5HrfdV5ATIg" id="(0.8996539792387543,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_dn3IVI8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_dn2hMI8oEeq5HrfdV5ATIg" target="_dny24o8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dn3vUI8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_dn3vUY8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_dn3vUo8oEeq5HrfdV5ATIg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_dn3vU48oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_yH-P8IVcEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dn3vVI8oEeq5HrfdV5ATIg" points="[570, 490, -643984, -643984]$[570, 413, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dn3vVY8oEeq5HrfdV5ATIg" id="(0.5952380952380952,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dn3vVo8oEeq5HrfdV5ATIg" id="(0.53156146179402,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_dn3vV48oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_dn3vbo8oEeq5HrfdV5ATIg" target="_dn0FFo8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dn3vWI8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lzee0I8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_dn3vWY8oEeq5HrfdV5ATIg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_dn3vWo8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_fZNY0IVeEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dn3vW48oEeq5HrfdV5ATIg" points="[2750, 330, -643984, -643984]$[1810, 130, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dn3vXI8oEeq5HrfdV5ATIg" id="(0.35398230088495575,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dn3vXY8oEeq5HrfdV5ATIg" id="(0.8996539792387543,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_dn4WYI8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_dn3IQI8oEeq5HrfdV5ATIg" target="_dn0FFo8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dn4WYY8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_l1WHEI8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_dn4WYo8oEeq5HrfdV5ATIg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_dn4WY48oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_LicCsIVeEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dn4WZI8oEeq5HrfdV5ATIg" points="[1910, 330, -643984, -643984]$[1630, 130, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dn4WZY8oEeq5HrfdV5ATIg" id="(0.21390374331550802,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dn4WZo8oEeq5HrfdV5ATIg" id="(0.2768166089965398,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_dn4We48oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_dn0sK48oEeq5HrfdV5ATIg" target="_dny24o8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dn4WfI8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_dn4WfY8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_dn4Wfo8oEeq5HrfdV5ATIg" x="-1" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_dn4Wf48oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_WsaSsIVcEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dn4WgI8oEeq5HrfdV5ATIg" points="[1110, 490, -643984, -643984]$[950, 413, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dn4WgY8oEeq5HrfdV5ATIg" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dn4Wgo8oEeq5HrfdV5ATIg" id="(0.8637873754152824,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_dn49cI8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_dn5kiI8oEeq5HrfdV5ATIg" target="_dn0FFo8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dn49cY8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_l06pQI8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_dn49co8oEeq5HrfdV5ATIg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_dn49c48oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_g0PMYIVeEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dn49dI8oEeq5HrfdV5ATIg" points="[2350, 330, -643984, -643984]$[1770, 130, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dn49dY8oEeq5HrfdV5ATIg" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dn49do8oEeq5HrfdV5ATIg" id="(0.7612456747404844,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_dn5kgI8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_dn3vg48oEeq5HrfdV5ATIg" target="_dny24o8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dn5kgY8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_dn5kgo8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_dn5kg48oEeq5HrfdV5ATIg" x="-37" y="65"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_dn5khI8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_X3PuIIVcEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dn5khY8oEeq5HrfdV5ATIg" points="[1330, 490, -643984, -643984]$[950, 413, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dn5kho8oEeq5HrfdV5ATIg" id="(0.2,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dn5kh48oEeq5HrfdV5ATIg" id="(0.8637873754152824,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_CX7NkJa6Eeq1-Ze45jZMTg" type="Generalization_Edge" source="_ymR5wJa5Eeq1-Ze45jZMTg" target="_dny24o8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_CX70oJa6Eeq1-Ze45jZMTg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CX70oZa6Eeq1-Ze45jZMTg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_CX7NkZa6Eeq1-Ze45jZMTg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_CXDD0Ja6Eeq1-Ze45jZMTg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CX7Nkpa6Eeq1-Ze45jZMTg" points="[-160, 500, -643984, -643984]$[700, 420, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CYzXUJa6Eeq1-Ze45jZMTg" id="(0.6106870229007634,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CYzXUZa6Eeq1-Ze45jZMTg" id="(0.0,0.970873786407767)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_yrnO4I8oEeq5HrfdV5ATIg" type="PapyrusUMLProfileDiagram" name="Non-linear_activations_(other)" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_1B_QeI8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_1B_QeY8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_1B_Qeo8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_1B_Qe48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_1B_QfI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_1B_QfY8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1B_Qfo8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_1B_Qf48oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_1B_QgI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_1B_QgY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_1B_Qgo8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1B_Qg48oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_lbyw4IVfEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1B_Qh48oEeq5HrfdV5ATIg" x="-840" y="380"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_1B_QiI8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_1B_QiY8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_1B_Qio8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_1B_Qi48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_1B_QjI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_1B_QjY8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1B_Qjo8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_1B_Qj48oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_1B_QkI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_1B_QkY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_1B_Qko8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1B_Qk48oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_qeP-IIVfEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1B_Ql48oEeq5HrfdV5ATIg" x="-600" y="380"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_1B_3cI8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_1B_3cY8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_1B_3co8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_1B_3c48oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_zzHbwIVfEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_1B_3dI8oEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_1B_3dY8oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_09lDwIVfEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_1B_3do8oEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_1B_3d48oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_1jP8oIVfEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_1B_3eI8oEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_1B_3eY8oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_2sVroIVfEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_1B_3eo8oEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_1B_3e48oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_3ZGrAIVfEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_1B_3fI8oEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_1B_3fY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_1B_3fo8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_1B_3f48oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1B_3gI8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_1B_3gY8oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_1B_3go8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_1B_3g48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_1B_3hI8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1B_3hY8oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_vpbpkIVfEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1B_3iY8oEeq5HrfdV5ATIg" x="-260" y="180"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_1B_3io8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_1B_3i48oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_1B_3jI8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_1B_3jY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_1B_3jo8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_1B_3j48oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1B_3kI8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_1B_3kY8oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_1B_3ko8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_1B_3k48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_1B_3lI8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1B_3lY8oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_nBjNwIVfEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1B_3mY8oEeq5HrfdV5ATIg" x="-720" y="380"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_1B_3oo8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_1B_3o48oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_1B_3pI8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_1B_3pY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_1B_3po8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_1B_3p48oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1B_3qI8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_1B_3qY8oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_1B_3qo8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_1B_3q48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_1B_3rI8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1B_3rY8oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_HyCdwIVfEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1B_3sY8oEeq5HrfdV5ATIg" x="-640"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_1CAeg48oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_1CAehI8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_1CAehY8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_1CAeho8oEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_f3_xIIVfEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_1CAeh48oEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_1CAeiI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_1CAeiY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_1CAeio8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1CAei48oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_1CAejI8oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_1CAejY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_1CAejo8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_1CAej48oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1CAekI8oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_en-TsIVfEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1CAelI8oEeq5HrfdV5ATIg" x="-740" y="180"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_1CBFkI8oEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_1CBFkY8oEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_1CBFko8oEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_1CBFk48oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_1CBFlI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_1CBFlY8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1CBFlo8oEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_1CBFl48oEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_1CBFmI8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_1CBFmY8oEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_1CBFmo8oEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1CBFm48oEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_n_v7YIVfEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1CBFn48oEeq5HrfdV5ATIg" x="-420" y="180"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_yrnO4Y8oEeq5HrfdV5ATIg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_yrnO4o8oEeq5HrfdV5ATIg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_yrnO448oEeq5HrfdV5ATIg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    </styles>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_-mK0MK8YEeqhVOlV64dXmA" name="css_stylesheets" eObjectListValue="_mci3oJm1Eeq8nv7tV9lOqQ"/>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    <edges xmi:type="notation:Connector" xmi:id="_1B_QYI8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_1B_3cI8oEeq5HrfdV5ATIg" target="_1B_3oo8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_1B_QYY8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1B_QYo8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_1B_QY48oEeq5HrfdV5ATIg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_1B_QZI8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_8okZgIVfEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_1B_QZY8oEeq5HrfdV5ATIg" points="[-170, 170, -643984, -643984]$[-510, 90, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1B_QZo8oEeq5HrfdV5ATIg" id="(0.5154639175257731,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1B_QZ48oEeq5HrfdV5ATIg" id="(0.8092485549132948,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_1B_QaI8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_1B_QeI8oEeq5HrfdV5ATIg" target="_1CAeg48oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_1B_QaY8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1B_Qao8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_1B_Qa48oEeq5HrfdV5ATIg" x="24" y="118"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_1B_QbI8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#__rKAwIVfEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_1B_QbY8oEeq5HrfdV5ATIg" points="[-790, 370, -643984, -643984]$[-710, 273, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1B_Qbo8oEeq5HrfdV5ATIg" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1B_Qb48oEeq5HrfdV5ATIg" id="(0.21621621621621623,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_1B_QcI8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_1B_QiI8oEeq5HrfdV5ATIg" target="_1CAeg48oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_1B_QcY8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1B_Qco8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_1B_Qc48oEeq5HrfdV5ATIg" x="-1" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_1B_QdI8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_-m_OAIVfEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_1B_QdY8oEeq5HrfdV5ATIg" points="[-550, 370, -643984, -643984]$[-610, 273, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1B_Qdo8oEeq5HrfdV5ATIg" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1B_Qd48oEeq5HrfdV5ATIg" id="(0.7567567567567568,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_1B_QmI8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_1CBFkI8oEeq5HrfdV5ATIg" target="_1B_3oo8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_1B_QmY8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1B_Qmo8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_1B_Qm48oEeq5HrfdV5ATIg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_1B_QnI8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_9EA_YIVfEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_1B_QnY8oEeq5HrfdV5ATIg" points="[-390, 170, -643984, -643984]$[-530, 90, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1B_Qno8oEeq5HrfdV5ATIg" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1B_Qn48oEeq5HrfdV5ATIg" id="(0.6936416184971098,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_1B_3mo8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_1B_3io8oEeq5HrfdV5ATIg" target="_1CAeg48oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_1B_3m48oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1B_3nI8oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_1B_3nY8oEeq5HrfdV5ATIg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_1B_3no8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#__G9ukIVfEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_1B_3n48oEeq5HrfdV5ATIg" points="[-670, 370, -643984, -643984]$[-670, 273, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1B_3oI8oEeq5HrfdV5ATIg" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1B_3oY8oEeq5HrfdV5ATIg" id="(0.43243243243243246,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_1CAelY8oEeq5HrfdV5ATIg" type="Generalization_Edge" source="_1CAeg48oEeq5HrfdV5ATIg" target="_1B_3oo8oEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_1CAelo8oEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1CAel48oEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_1CAemI8oEeq5HrfdV5ATIg" x="1" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_1CAemY8oEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_98A-YIVfEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_1CAemo8oEeq5HrfdV5ATIg" points="[-630, 170, -643984, -643984]$[-610, 90, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1CAem48oEeq5HrfdV5ATIg" id="(0.6486486486486487,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1CAenI8oEeq5HrfdV5ATIg" id="(0.23121387283236994,1.0)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_9sdGII8oEeq5HrfdV5ATIg" type="PapyrusUMLProfileDiagram" name="Normalization_layers" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_CqmbII8pEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_CqmbIY8pEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_CqmbIo8pEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_CqmbI48pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_CqmbJI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_CqmbJY8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CqmbJo8pEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_CqmbJ48pEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_CqmbKI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_CqmbKY8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_CqmbKo8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CqmbK48pEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_GDAowIViEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CqmbL48pEeq5HrfdV5ATIg" x="780" y="-380"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_CqnCMY8pEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_CqnCMo8pEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_CqnCM48pEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_CqnCNI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_CqnCNY8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_CqnCNo8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CqnCN48pEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_CqnCOI8pEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_CqnCOY8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_CqnCOo8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_CqnCO48pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CqnCPI8pEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_ws_i4IVgEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CqnCQI8pEeq5HrfdV5ATIg" x="200" y="-1120"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_CqnCT48pEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_CqnCUI8pEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_CqnCUY8pEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_CqnCUo8pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_iVdAIIVhEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_CqnCU48pEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_CqnCVI8pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_ygFbsIVhEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_CqnCVY8pEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_CqnCVo8pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_2tKgIIVhEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_CqnCV48pEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_CqnCWI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_CqnCWY8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_CqnCWo8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CqnCW48pEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_CqnCXI8pEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_CqnCXY8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_CqnCXo8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_CqnCX48pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CqnCYI8pEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_fbbfAIVhEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CqnCZI8pEeq5HrfdV5ATIg" x="940" y="-600"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_CqnCZo8pEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_CqnCZ48pEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_CqnCaI8pEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_CqnCaY8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_CqnCao8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_CqnCa48pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CqnCbI8pEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_CqnCbY8pEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_CqnCbo8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_CqnCb48pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_CqnCcI8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CqnCcY8pEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_ELXxsIViEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CqnCdY8pEeq5HrfdV5ATIg" x="640" y="-380"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_CqnpQI8pEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_CqnpQY8pEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_CqnpQo8pEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_CqnpQ48pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_CqnpRI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_CqnpRY8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CqnpRo8pEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_CqnpR48pEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_CqnpSI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_CqnpSY8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_CqnpSo8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CqnpS48pEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_OF6vQIViEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CqnpT48pEeq5HrfdV5ATIg" x="1200" y="-380"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_CqnpUI8pEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_CqnpUY8pEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_CqnpUo8pEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_CqnpU48pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_gvtxYIVhEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_CqnpVI8pEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_CqnpVY8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_CqnpVo8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_CqnpV48pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CqnpWI8pEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_CqnpWY8pEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_CqnpWo8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_CqnpW48pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_CqnpXI8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CqnpXY8pEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_bf7SwIVhEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CqnpYY8pEeq5HrfdV5ATIg" x="320" y="-760"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_CqnpcI8pEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_CqnpcY8pEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Cqnpco8pEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_Cqnpc48pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_Qt56oIVhEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_CqnpdI8pEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_CqnpdY8pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_RjEoEIVhEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Cqnpdo8pEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_Cqnpd48pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_SBd0QIVhEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_CqnpeI8pEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_CqnpeY8pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_SVdHQIVhEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Cqnpeo8pEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Cqnpe48pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_CqnpfI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_CqnpfY8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Cqnpfo8pEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Cqnpf48pEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_CqnpgI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_CqnpgY8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Cqnpgo8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Cqnpg48pEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_ILIBQIVhEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Cqnph48pEeq5HrfdV5ATIg" x="520" y="-960"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_CqoQUI8pEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_CqoQUY8pEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_CqoQUo8pEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_CqoQU48pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_4_83kIVgEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_CqoQVI8pEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_CqoQVY8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_CqoQVo8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_CqoQV48pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CqoQWI8pEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_CqoQWY8pEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_CqoQWo8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_CqoQW48pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_CqoQXI8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CqoQXY8pEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_2ZKbgIVgEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CqoQYY8pEeq5HrfdV5ATIg" x="60" y="-940"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_CqoQbI8pEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_CqoQbY8pEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_CqoQbo8pEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_CqoQb48pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_CqoQcI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_CqoQcY8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CqoQco8pEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_CqoQc48pEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_CqoQdI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_CqoQdY8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_CqoQdo8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CqoQd48pEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_RKVigIViEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CqoQe48pEeq5HrfdV5ATIg" x="1320" y="-380"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_CqoQi48pEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_CqoQjI8pEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_CqoQjY8pEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_CqoQjo8pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_mNNU0IVhEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_CqoQj48pEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_CqoQkI8pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_njZrsIVhEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_CqoQkY8pEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_CqoQko8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_CqoQk48pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_CqoQlI8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CqoQlY8pEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_CqoQlo8pEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_CqoQl48pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_CqoQmI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_CqoQmY8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CqoQmo8pEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_kVSw8IVhEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CqoQno8pEeq5HrfdV5ATIg" x="260" y="-600"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Cqo3Z48pEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Cqo3aI8pEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Cqo3aY8pEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_Cqo3ao8pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_KI-OAIVhEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Cqo3a48pEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_Cqo3bI8pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_OsXgsIVhEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Cqo3bY8pEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Cqo3bo8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Cqo3b48pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Cqo3cI8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Cqo3cY8pEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Cqo3co8pEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Cqo3c48pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Cqo3dI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Cqo3dY8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Cqo3do8pEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_GstigIVhEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Cqo3eo8pEeq5HrfdV5ATIg" y="-760"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Cqo3i48pEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Cqo3jI8pEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Cqo3jY8pEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_Cqo3jo8pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_K2rMEIViEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Cqo3j48pEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Cqo3kI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Cqo3kY8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Cqo3ko8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Cqo3k48pEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Cqo3lI8pEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Cqo3lY8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Cqo3lo8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Cqo3l48pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Cqo3mI8pEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_Ikef8IViEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Cqo3nI8pEeq5HrfdV5ATIg" x="940" y="-380"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Cqpefo8pEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Cqpef48pEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_CqpegI8pEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_CqpegY8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Cqpego8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Cqpeg48pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CqpehI8pEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_CqpehY8pEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Cqpeho8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Cqpeh48pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_CqpeiI8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CqpeiY8pEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_BDZUIIViEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CqpejY8pEeq5HrfdV5ATIg" x="500" y="-380"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Cqpelo8pEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Cqpel48pEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_CqpemI8pEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_CqpemY8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Cqpemo8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Cqpem48pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CqpenI8pEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_CqpenY8pEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Cqpeno8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Cqpen48pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_CqpeoI8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CqpeoY8pEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_SiGmsIViEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CqpepY8pEeq5HrfdV5ATIg" x="1440" y="-380"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_9sdGIY8oEeq5HrfdV5ATIg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_9sdGIo8oEeq5HrfdV5ATIg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_9sdGI48oEeq5HrfdV5ATIg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    </styles>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_AF9zAK8ZEeqhVOlV64dXmA" name="css_stylesheets" eObjectListValue="_mci3oJm1Eeq8nv7tV9lOqQ"/>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    <edges xmi:type="notation:Connector" xmi:id="_CqnCQY8pEeq5HrfdV5ATIg" type="Generalization_Edge" source="_CqmbII8pEeq5HrfdV5ATIg" target="_CqnCT48pEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_CqnCQo8pEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_LHoR0I8pEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CqnCQ48pEeq5HrfdV5ATIg" x="1" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_CqnCRI8pEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_ZlFhQIViEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CqnCRY8pEeq5HrfdV5ATIg" points="[810, -390, -643984, -643984]$[970, -475, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CqnCRo8pEeq5HrfdV5ATIg" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CqnCR48pEeq5HrfdV5ATIg" id="(0.1652892561983471,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_CqnCSI8pEeq5HrfdV5ATIg" type="Generalization_Edge" source="_CqoQbI8pEeq5HrfdV5ATIg" target="_CqnCT48pEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_CqnCSY8pEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_LIf0gI8pEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CqnCSo8pEeq5HrfdV5ATIg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_CqnCS48pEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_a9amIIViEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CqnCTI8pEeq5HrfdV5ATIg" points="[1370, -390, -643984, -643984]$[1130, -475, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CqnCTY8pEeq5HrfdV5ATIg" id="(0.594059405940594,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CqnCTo8pEeq5HrfdV5ATIg" id="(0.8264462809917356,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_CqnpYo8pEeq5HrfdV5ATIg" type="Generalization_Edge" source="_CqnCZo8pEeq5HrfdV5ATIg" target="_CqnCT48pEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_CqnpY48pEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_LHbdgI8pEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CqnpZI8pEeq5HrfdV5ATIg" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_CqnpZY8pEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_YkOhMIViEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CqnpZo8pEeq5HrfdV5ATIg" points="[670, -390, -643984, -643984]$[970, -475, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CqnpZ48pEeq5HrfdV5ATIg" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CqnpaI8pEeq5HrfdV5ATIg" id="(0.1652892561983471,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_CqnpaY8pEeq5HrfdV5ATIg" type="Generalization_Edge" source="_Cqpefo8pEeq5HrfdV5ATIg" target="_CqnCT48pEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Cqnpao8pEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_LHSTkI8pEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Cqnpa48pEeq5HrfdV5ATIg" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_CqnpbI8pEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_XsCU8IViEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CqnpbY8pEeq5HrfdV5ATIg" points="[510, -390, -643984, -643984]$[950, -475, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Cqnpbo8pEeq5HrfdV5ATIg" id="(0.2,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Cqnpb48pEeq5HrfdV5ATIg" id="(0.08264462809917356,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_CqoQZI8pEeq5HrfdV5ATIg" type="Generalization_Edge" source="_CqnCT48pEeq5HrfdV5ATIg" target="_CqnpUI8pEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_CqoQZY8pEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_CqoQZo8pEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CqoQZ48pEeq5HrfdV5ATIg" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_CqoQaI8pEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_67JjgIVhEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CqoQaY8pEeq5HrfdV5ATIg" points="[590, -610, -643984, -643984]$[450, -667, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CqoQao8pEeq5HrfdV5ATIg" id="(0.3305785123966942,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CqoQa48pEeq5HrfdV5ATIg" id="(0.8383233532934131,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_CqoQfI8pEeq5HrfdV5ATIg" type="Generalization_Edge" source="_CqoQUI8pEeq5HrfdV5ATIg" target="_CqnCMY8pEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_CqoQfY8pEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_LIz9kI8pEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CqoQfo8pEeq5HrfdV5ATIg" x="1" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_CqoQf48pEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_UxrSEIVhEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CqoQgI8pEeq5HrfdV5ATIg" points="[170, -950, -643984, -643984]$[210, -1030, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CqoQgY8pEeq5HrfdV5ATIg" id="(0.7741935483870968,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CqoQgo8pEeq5HrfdV5ATIg" id="(0.16129032258064516,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_CqoQhI8pEeq5HrfdV5ATIg" type="Generalization_Edge" source="_Cqo3Z48pEeq5HrfdV5ATIg" target="_CqoQUI8pEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_CqoQhY8pEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_LJGRcI8pEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CqoQho8pEeq5HrfdV5ATIg" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_CqoQh48pEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_WYnasIVhEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CqoQiI8pEeq5HrfdV5ATIg" points="[10, -770, -643984, -643984]$[70, -847, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CqoQiY8pEeq5HrfdV5ATIg" id="(0.08403361344537816,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CqoQio8pEeq5HrfdV5ATIg" id="(0.12903225806451613,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Cqo3YI8pEeq5HrfdV5ATIg" type="Generalization_Edge" source="_CqnpUI8pEeq5HrfdV5ATIg" target="_CqoQUI8pEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Cqo3YY8pEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_LJw_0I8pEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Cqo3Yo8pEeq5HrfdV5ATIg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Cqo3Y48pEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_sCPOgIVhEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Cqo3ZI8pEeq5HrfdV5ATIg" points="[330, -770, -643984, -643984]$[170, -847, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Cqo3ZY8pEeq5HrfdV5ATIg" id="(0.11976047904191617,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Cqo3Zo8pEeq5HrfdV5ATIg" id="(0.7741935483870968,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Cqo3fY8pEeq5HrfdV5ATIg" type="Generalization_Edge" source="_Cqo3i48pEeq5HrfdV5ATIg" target="_CqnCT48pEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Cqo3fo8pEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_LH2UQI8pEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Cqo3f48pEeq5HrfdV5ATIg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Cqo3gI8pEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_aLhPIIViEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Cqo3gY8pEeq5HrfdV5ATIg" points="[1050, -390, -643984, -643984]$[1050, -475, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Cqo3go8pEeq5HrfdV5ATIg" id="(0.5529953917050692,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Cqo3g48pEeq5HrfdV5ATIg" id="(0.49586776859504134,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Cqo3hI8pEeq5HrfdV5ATIg" type="Generalization_Edge" source="_CqoQi48pEeq5HrfdV5ATIg" target="_CqnpUI8pEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Cqo3hY8pEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_LJcPsI8pEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Cqo3ho8pEeq5HrfdV5ATIg" x="1" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Cqo3h48pEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_qWp2cIVhEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Cqo3iI8pEeq5HrfdV5ATIg" points="[410, -610, -643984, -643984]$[410, -667, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Cqo3iY8pEeq5HrfdV5ATIg" id="(0.2803738317757009,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Cqo3io8pEeq5HrfdV5ATIg" id="(0.11976047904191617,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_CqpecI8pEeq5HrfdV5ATIg" type="Generalization_Edge" source="_CqnpQI8pEeq5HrfdV5ATIg" target="_CqnCT48pEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_CqpecY8pEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_LIEWsI8pEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Cqpeco8pEeq5HrfdV5ATIg" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Cqpec48pEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_alo_UIViEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CqpedI8pEeq5HrfdV5ATIg" points="[1230, -390, -643984, -643984]$[1090, -475, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CqpedY8pEeq5HrfdV5ATIg" id="(0.39603960396039606,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Cqpedo8pEeq5HrfdV5ATIg" id="(0.6611570247933884,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Cqped48pEeq5HrfdV5ATIg" type="Generalization_Edge" source="_Cqpelo8pEeq5HrfdV5ATIg" target="_CqnCT48pEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_CqpeeI8pEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_LHGtYI8pEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CqpeeY8pEeq5HrfdV5ATIg" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Cqpeeo8pEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_baXn4IViEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Cqpee48pEeq5HrfdV5ATIg" points="[1470, -390, -643984, -643984]$[1130, -475, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CqpefI8pEeq5HrfdV5ATIg" id="(0.39603960396039606,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CqpefY8pEeq5HrfdV5ATIg" id="(0.8264462809917356,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Cqpejo8pEeq5HrfdV5ATIg" type="Generalization_Edge" source="_CqnpcI8pEeq5HrfdV5ATIg" target="_CqnCMY8pEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Cqpej48pEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_CqpekI8pEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CqpekY8pEeq5HrfdV5ATIg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Cqpeko8pEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_UQtTAIVhEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Cqpek48pEeq5HrfdV5ATIg" points="[450, -970, -643984, -643984]$[290, -1030, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CqpelI8pEeq5HrfdV5ATIg" id="(0.24096385542168675,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CqpelY8pEeq5HrfdV5ATIg" id="(0.8064516129032258,1.0)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_SKxkcI8pEeq5HrfdV5ATIg" type="PapyrusUMLProfileDiagram" name="Recurrent_layers" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_usfGEK8VEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_usfGEa8VEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_usfGEq8VEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_usfGE68VEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_AP36kIVkEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_usfGFK8VEeqhVOlV64dXmA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_usfGFa8VEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_usfGFq8VEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_usfGF68VEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_usfGGK8VEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_usfGGa8VEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_usfGGq8VEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_usfGG68VEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_usfGHK8VEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_usfGHa8VEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_-5MbgIVjEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_usfGIa8VEeqhVOlV64dXmA" x="460" y="220"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_ushiUK8VEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_ushiUa8VEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ushiUq8VEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_ushiU68VEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ushiVK8VEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ushiVa8VEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ushiVq8VEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ushiV68VEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_ushiWK8VEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ushiWa8VEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ushiWq8VEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ushiW68VEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_CfAEkIVkEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ushiX68VEeqhVOlV64dXmA" x="720" y="220"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_ushiYK8VEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_ushiYa8VEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ushiYq8VEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_ushiY68VEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_495hwIVjEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ushiZK8VEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ushiZa8VEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_6la5MIVjEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ushiZq8VEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ushiZ68VEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_7-lrkIVjEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ushiaK8VEeqhVOlV64dXmA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_ushiaa8VEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ushiaq8VEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ushia68VEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ushibK8VEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ushiba8VEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_ushibq8VEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ushib68VEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ushicK8VEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ushica8VEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_tHLn4IViEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ushida8VEeqhVOlV64dXmA" x="420" y="20"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_ushidq8VEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_ushid68VEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ushieK8VEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_ushiea8VEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_iaV_0IVkEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ushieq8VEeqhVOlV64dXmA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_ushie68VEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ushifK8VEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ushifa8VEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ushifq8VEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ushif68VEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_ushigK8VEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ushiga8VEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ushigq8VEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ushig68VEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_f3AgYIVkEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ushih68VEeqhVOlV64dXmA" x="50" y="530"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_usiJYK8VEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_usiJYa8VEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_usiJYq8VEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_usiJY68VEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_Mgv2UIVkEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_usiJZK8VEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_usiJZa8VEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_NmsKsIVkEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_usiJZq8VEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_usiJZ68VEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_bIpT0IVkEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_usiJaK8VEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_usiJaa8VEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_dH_VYIVkEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_usiJaq8VEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_usiJa68VEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_GM1kwKaAEeqIr7xwFiWQGQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_usiJbK8VEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_usiJba8VEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_M26QEKaAEeqIr7xwFiWQGQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_usiJbq8VEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_usiJb68VEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_OalCQKaAEeqIr7xwFiWQGQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_usiJcK8VEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_usiJca8VEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_PFb9IKaAEeqIr7xwFiWQGQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_usiJcq8VEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_usiJc68VEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_TQ4C0KaAEeqIr7xwFiWQGQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_usiJdK8VEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_usiJda8VEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_uo4gUKaBEeqIr7xwFiWQGQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_usiJdq8VEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_usiJd68VEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_zjmG0KaBEeqIr7xwFiWQGQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_usiJeK8VEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_usiJea8VEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_0y_SIKaBEeqIr7xwFiWQGQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_usiJeq8VEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_usiJe68VEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_7QlAoKaBEeqIr7xwFiWQGQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_usiJfK8VEeqhVOlV64dXmA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_usiJfa8VEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_usiJfq8VEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_usiJf68VEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_usiJgK8VEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_usiJga8VEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_usiJgq8VEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_usiJg68VEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_usiJhK8VEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_usiJha8VEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_w_eSoIVjEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_usiJia8VEeqhVOlV64dXmA" x="190" y="190"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_usjXgK8VEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_usjXga8VEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_usjXgq8VEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_usjXg68VEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_usjXhK8VEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_usjXha8VEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_usjXhq8VEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_usjXh68VEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_usjXiK8VEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_usjXia8VEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_usjXiq8VEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_usjXi68VEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_EdBQcIVkEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_usjXj68VEeqhVOlV64dXmA" x="860" y="220"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_usjXkK8VEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_usjXka8VEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_usjXkq8VEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_usjXk68VEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_usjXlK8VEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_usjXla8VEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_usjXlq8VEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_usjXl68VEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_usjXmK8VEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_usjXma8VEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_usjXmq8VEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_usjXm68VEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_kOLU8IVkEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_usjXn68VEeqhVOlV64dXmA" x="290" y="530"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_usjXoK8VEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_usjXoa8VEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_usjXoq8VEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_usjXo68VEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_usjXpK8VEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_usjXpa8VEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_usjXpq8VEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_usjXp68VEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_usjXqK8VEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_usjXqa8VEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_usjXqq8VEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_usjXq68VEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_l8ROcIVkEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_usjXr68VEeqhVOlV64dXmA" x="430" y="530"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_SKxkcY8pEeq5HrfdV5ATIg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_SKxkco8pEeq5HrfdV5ATIg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_SKxkc48pEeq5HrfdV5ATIg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    </styles>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_BUBhkK8ZEeqhVOlV64dXmA" name="css_stylesheets" eObjectListValue="_mci3oJm1Eeq8nv7tV9lOqQ"/>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    <edges xmi:type="notation:Connector" xmi:id="_usiJiq8VEeqhVOlV64dXmA" type="Generalization_Edge" source="_usjXoK8VEeqhVOlV64dXmA" target="_usiJYK8VEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_usiJi68VEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_usiJjK8VEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_usiJja8VEeqhVOlV64dXmA" x="-2" y="57"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_usiJjq8VEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_qv_cIIVkEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_usiJj68VEeqhVOlV64dXmA" points="[430, 410, -643984, -643984]$[330, 341, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_usiJkK8VEeqhVOlV64dXmA" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_usiJka8VEeqhVOlV64dXmA" id="(0.8264462809917356,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_usiJkq8VEeqhVOlV64dXmA" type="Generalization_Edge" source="_usjXkK8VEeqhVOlV64dXmA" target="_usiJYK8VEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_usiJk68VEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_usiJlK8VEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_usiJla8VEeqhVOlV64dXmA" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_usiJlq8VEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_p2PwsIVkEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_usiJl68VEeqhVOlV64dXmA" points="[310, 410, -643984, -643984]$[290, 341, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_usiJmK8VEeqhVOlV64dXmA" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_usiJma8VEeqhVOlV64dXmA" id="(0.5785123966942148,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_usiwcK8VEeqhVOlV64dXmA" type="Generalization_Edge" source="_ushiUK8VEeqhVOlV64dXmA" target="_ushiYK8VEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_usiwca8VEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_usiwcq8VEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_usiwc68VEeqhVOlV64dXmA" x="-2" y="57"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_usiwdK8VEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_sMLGQIVkEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_usiwda8VEeqhVOlV64dXmA" points="[730, 190, -643984, -643984]$[550, 125, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_usiwdq8VEeqhVOlV64dXmA" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_usiwd68VEeqhVOlV64dXmA" id="(0.8080808080808081,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_usiweK8VEeqhVOlV64dXmA" type="Generalization_Edge" source="_ushidq8VEeqhVOlV64dXmA" target="_usiJYK8VEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_usiwea8VEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_usiweq8VEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_usiwe68VEeqhVOlV64dXmA" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_usiwfK8VEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_pXFIcIVkEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_usiwfa8VEeqhVOlV64dXmA" points="[150, 410, -643984, -643984]$[230, 341, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_usiwfq8VEeqhVOlV64dXmA" id="(0.6976744186046512,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_usiwf68VEeqhVOlV64dXmA" id="(0.3305785123966942,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_usj-kK8VEeqhVOlV64dXmA" type="Generalization_Edge" source="_usiJYK8VEeqhVOlV64dXmA" target="_ushiYK8VEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_usj-ka8VEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_usj-kq8VEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_usj-k68VEeqhVOlV64dXmA" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_usj-lK8VEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_tTUUgIVkEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_usj-la8VEeqhVOlV64dXmA" points="[270, 190, -643984, -643984]$[450, 125, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_usj-lq8VEeqhVOlV64dXmA" id="(0.49586776859504134,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_usj-l68VEeqhVOlV64dXmA" id="(0.3048780487804878,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_usj-mK8VEeqhVOlV64dXmA" type="Generalization_Edge" source="_usjXgK8VEeqhVOlV64dXmA" target="_ushiYK8VEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_usj-ma8VEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_usj-mq8VEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_usj-m68VEeqhVOlV64dXmA" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_usj-nK8VEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_svnxkIVkEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_usj-na8VEeqhVOlV64dXmA" points="[870, 190, -643984, -643984]$[570, 125, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_usj-nq8VEeqhVOlV64dXmA" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_usj-n68VEeqhVOlV64dXmA" id="(0.9090909090909091,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_usj-oK8VEeqhVOlV64dXmA" type="Generalization_Edge" source="_usfGEK8VEeqhVOlV64dXmA" target="_ushiYK8VEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_usj-oa8VEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_usj-oq8VEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_usj-o68VEeqhVOlV64dXmA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_usj-pK8VEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_rjgjwIVkEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_usj-pa8VEeqhVOlV64dXmA" points="[530, 190, -643984, -643984]$[530, 125, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_usj-pq8VEeqhVOlV64dXmA" id="(0.5,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_usj-p68VEeqhVOlV64dXmA" id="(0.7070707070707071,1.0)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_WSK3oI8pEeq5HrfdV5ATIg" type="PapyrusUMLProfileDiagram" name="Transformer_layers" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_efoBQI8pEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_efoBQY8pEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_efoBQo8pEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_efoBQ48pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_MA0HIIVmEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_efoBRI8pEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_efoBRY8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_efoBRo8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_efoBR48pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_efoBSI8pEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_efoBSY8pEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_efoBSo8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_efoBS48pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_efoBTI8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_efoBTY8pEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_Ku6aYIVmEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_efoBUY8pEeq5HrfdV5ATIg" x="11030" y="1150"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_efooX48pEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_efooYI8pEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_efooYY8pEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_efooYo8pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_sbCMMIVlEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_efooY48pEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_efooZI8pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_tmddgIVlEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_efooZY8pEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_efooZo8pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_uFbRcIVlEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_efooZ48pEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_efooaI8pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_v6pGoIVlEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_efooaY8pEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_efooao8pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_wuIZEIVlEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_efooa48pEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_efoobI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_efoobY8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_efoobo8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_efoob48pEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_efoocI8pEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_efoocY8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_efooco8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_efooc48pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_efoodI8pEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_gsKxUIVlEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_efooeI8pEeq5HrfdV5ATIg" x="10350" y="890"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_efpPYI8pEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_efpPYY8pEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_efpPYo8pEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_efpPY48pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_efpPZI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_efpPZY8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_efpPZo8pEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_efpPZ48pEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_efpPaI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_efpPaY8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_efpPao8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_efpPa48pEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_-aqagIVlEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_efpPb48pEeq5HrfdV5ATIg" x="10370" y="1150"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_efpPeI8pEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_efpPeY8pEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_efpPeo8pEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_efpPe48pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_efpPfI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_efpPfY8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_efpPfo8pEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_efpPf48pEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_efpPgI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_efpPgY8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_efpPgo8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_efpPg48pEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_zItakIVkEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_efpPh48pEeq5HrfdV5ATIg" x="10669" y="694"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_efpPiI8pEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_efpPiY8pEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_efpPio8pEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_efpPi48pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_mZVvgIVlEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_efpPjI8pEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_efpPjY8pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_oByUAIVlEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_efpPjo8pEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_efpPj48pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_efpPkI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_efpPkY8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_efpPko8pEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_efpPk48pEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_efpPlI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_efpPlY8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_efpPlo8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_efpPl48pEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_kfJ6wIVlEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_efpPm48pEeq5HrfdV5ATIg" x="10850" y="890"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_efpPpY8pEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_efpPpo8pEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_efpPp48pEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_efpPqI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_efpPqY8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_efpPqo8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_efpPq48pEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_efpPrI8pEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_efpPrY8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_efpPro8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_efpPr48pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_efpPsI8pEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_AIIo8IVmEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_efp2cI8pEeq5HrfdV5ATIg" x="10550" y="1150"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_efp2f48pEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_efp2gI8pEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_efp2gY8pEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_efp2go8pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_2FyaQIVlEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_efp2g48pEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_efp2hI8pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_4EeUgIVlEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_efp2hY8pEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_efp2ho8pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_606b0IVlEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_efp2h48pEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_efp2iI8pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_8LVcMIVlEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_efp2iY8pEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_efp2io8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_efp2i48pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_efp2jI8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_efp2jY8pEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_efp2jo8pEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_efp2j48pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_efp2kI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_efp2kY8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_efp2ko8pEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_0gXUkIVlEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_efp2lo8pEeq5HrfdV5ATIg" x="10090" y="1150"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_efp2l48pEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_efp2mI8pEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_efp2mY8pEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_efp2mo8pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_Nai6MIVmEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_efp2m48pEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_efp2nI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_efp2nY8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_efp2no8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_efp2n48pEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_efp2oI8pEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_efp2oY8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_efp2oo8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_efp2o48pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_efp2pI8pEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_JjphIIVmEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_efp2qI8pEeq5HrfdV5ATIg" x="10750" y="1150"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_WSK3oY8pEeq5HrfdV5ATIg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_WSK3oo8pEeq5HrfdV5ATIg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_WSK3o48pEeq5HrfdV5ATIg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    </styles>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_DJMTcK8ZEeqhVOlV64dXmA" name="css_stylesheets" eObjectListValue="_mci3oJm1Eeq8nv7tV9lOqQ"/>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    <edges xmi:type="notation:Connector" xmi:id="_efooUI8pEeq5HrfdV5ATIg" type="Generalization_Edge" source="_efpPYI8pEeq5HrfdV5ATIg" target="_efooX48pEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_efooUY8pEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_efooUo8pEeq5HrfdV5ATIg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_efooU48pEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_GrExgIVmEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_efooVI8pEeq5HrfdV5ATIg" points="[10420, 1140, -643984, -643984]$[10420, 1047, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_efooVY8pEeq5HrfdV5ATIg" id="(0.40540540540540543,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_efooVo8pEeq5HrfdV5ATIg" id="(0.3524229074889868,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_efooV48pEeq5HrfdV5ATIg" type="Generalization_Edge" source="_efp2f48pEeq5HrfdV5ATIg" target="_efooX48pEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_efooWI8pEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_efooWY8pEeq5HrfdV5ATIg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_efooWo8pEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_GMzhIIVmEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_efooW48pEeq5HrfdV5ATIg" points="[10220, 1140, -643984, -643984]$[10380, 1047, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_efooXI8pEeq5HrfdV5ATIg" id="(0.5645161290322581,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_efooXY8pEeq5HrfdV5ATIg" id="(0.1762114537444934,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_efooeY8pEeq5HrfdV5ATIg" type="Generalization_Edge" source="_efooX48pEeq5HrfdV5ATIg" target="_efpPeI8pEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_efooeo8pEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_efooe48pEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_efoofI8pEeq5HrfdV5ATIg" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_efoofY8pEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_SF09kIVmEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_efoofo8pEeq5HrfdV5ATIg" points="[10500, 880, -643984, -643984]$[10700, 800, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_efoof48pEeq5HrfdV5ATIg" id="(0.7048458149779736,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_efoogI8pEeq5HrfdV5ATIg" id="(0.36283185840707965,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_efpPcY8pEeq5HrfdV5ATIg" type="Generalization_Edge" source="_efp2l48pEeq5HrfdV5ATIg" target="_efpPiI8pEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_efpPco8pEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_efpPc48pEeq5HrfdV5ATIg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_efpPdI8pEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_P0nv8IVmEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_efpPdY8pEeq5HrfdV5ATIg" points="[10860, 1140, -643984, -643984]$[10920, 999, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_efpPdo8pEeq5HrfdV5ATIg" id="(0.5714285714285714,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_efpPd48pEeq5HrfdV5ATIg" id="(0.40609137055837563,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_efpPnI8pEeq5HrfdV5ATIg" type="Generalization_Edge" source="_efpPiI8pEeq5HrfdV5ATIg" target="_efpPeI8pEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_efpPnY8pEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_efpPno8pEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_efpPn48pEeq5HrfdV5ATIg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_efpPoI8pEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_RehtAIVmEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_efpPoY8pEeq5HrfdV5ATIg" points="[10940, 880, -643984, -643984]$[10740, 800, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_efpPoo8pEeq5HrfdV5ATIg" id="(0.5076142131979695,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_efpPo48pEeq5HrfdV5ATIg" id="(0.7168141592920354,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_efp2cY8pEeq5HrfdV5ATIg" type="Generalization_Edge" source="_efpPpY8pEeq5HrfdV5ATIg" target="_efooX48pEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_efp2co8pEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_efp2c48pEeq5HrfdV5ATIg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_efp2dI8pEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_HJqyAIVmEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_efp2dY8pEeq5HrfdV5ATIg" points="[10580, 1140, -643984, -643984]$[10500, 1047, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_efp2do8pEeq5HrfdV5ATIg" id="(0.272108843537415,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_efp2d48pEeq5HrfdV5ATIg" id="(0.7048458149779736,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_efp2eI8pEeq5HrfdV5ATIg" type="Generalization_Edge" source="_efoBQI8pEeq5HrfdV5ATIg" target="_efpPiI8pEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_efp2eY8pEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_efp2eo8pEeq5HrfdV5ATIg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_efp2e48pEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_QhQMcIVmEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_efp2fI8pEeq5HrfdV5ATIg" points="[11120, 1140, -643984, -643984]$[10980, 999, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_efp2fY8pEeq5HrfdV5ATIg" id="(0.47619047619047616,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_efp2fo8pEeq5HrfdV5ATIg" id="(0.7106598984771574,1.0)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_hjW4AI8pEeq5HrfdV5ATIg" type="PapyrusUMLProfileDiagram" name="Linear_layers" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_jxs-4I8pEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_jxs-4Y8pEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_jxs-4o8pEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_jxs-448pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_jxs-5I8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_jxs-5Y8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jxs-5o8pEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_jxs-548pEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_jxs-6I8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_jxs-6Y8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_jxs-6o8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jxs-648pEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_c_eM8IhhEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jxs-748pEeq5HrfdV5ATIg" x="11970" y="930"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_jxuNB48pEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_jxuNCI8pEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_jxuNCY8pEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_jxuNCo8pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_snPzEIhhEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_jxuNC48pEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_1xPYAKZeEeqIr7xwFiWQGQ" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_1w4LoKZeEeqIr7xwFiWQGQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_1xPYAaZeEeqIr7xwFiWQGQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_eKSGEKZkEeqIr7xwFiWQGQ" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_eJ6SoKZkEeqIr7xwFiWQGQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_eKSGEaZkEeqIr7xwFiWQGQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_f9-RQKZkEeqIr7xwFiWQGQ" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_f9qvQKZkEeqIr7xwFiWQGQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_f9-RQaZkEeqIr7xwFiWQGQ"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_jxuNDI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_jxuNDY8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_jxuNDo8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jxuND48pEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_jxuNEI8pEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_jxuNEY8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_jxuNEo8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_jxuNE48pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jxuNFI8pEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_ozz9sIhhEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jxuNGI8pEeq5HrfdV5ATIg" x="11370" y="1210"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_jxu0J48pEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_jxu0KI8pEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_jxu0KY8pEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_jxu0Ko8pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_lYOnoIhhEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_jxvbII8pEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_jxvbIY8pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_m2y3YIhhEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_jxvbIo8pEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_jxvbI48pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_jxvbJI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_jxvbJY8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jxvbJo8pEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_jxvbJ48pEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_jxvbKI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_jxvbKY8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_jxvbKo8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jxvbK48pEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_hGyAkIhhEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jxvbL48pEeq5HrfdV5ATIg" x="11550" y="930"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_jxvbMI8pEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_jxvbMY8pEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_jxvbMo8pEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_jxvbM48pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_jxvbNI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_jxvbNY8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jxvbNo8pEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_jxvbN48pEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_jxvbOI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_jxvbOY8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_jxvbOo8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jxvbO48pEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_ThvuQIhhEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jxvbP48pEeq5HrfdV5ATIg" x="11710" y="690"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_jxvbQI8pEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_jxvbQY8pEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_jxvbQo8pEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_jxvbQ48pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_u5YNwIhhEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_jxvbRI8pEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_jxvbRY8pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_wboqsIhhEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_jxvbRo8pEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_jxvbR48pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_jxvbSI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_jxvbSY8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jxvbSo8pEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_jxvbS48pEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_jxvbTI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_jxvbTY8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_jxvbTo8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jxvbT48pEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_pJFqIIhhEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jxvbU48pEeq5HrfdV5ATIg" x="11750" y="1210"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_hjW4AY8pEeq5HrfdV5ATIg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_hjW4Ao8pEeq5HrfdV5ATIg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_hjW4A48pEeq5HrfdV5ATIg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    </styles>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_EIEWgK8ZEeqhVOlV64dXmA" name="css_stylesheets" eObjectListValue="_mci3oJm1Eeq8nv7tV9lOqQ"/>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    <edges xmi:type="notation:Connector" xmi:id="_jxuNAI8pEeq5HrfdV5ATIg" type="Generalization_Edge" source="_jxvbQI8pEeq5HrfdV5ATIg" target="_jxu0J48pEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_jxuNAY8pEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_jxuNAo8pEeq5HrfdV5ATIg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_jxuNA48pEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_4ugf0IhhEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jxuNBI8pEeq5HrfdV5ATIg" points="[11820, 1200, -643984, -643984]$[11700, 1039, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jxuNBY8pEeq5HrfdV5ATIg" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jxuNBo8pEeq5HrfdV5ATIg" id="(0.7920792079207921,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_jxu0Eo8pEeq5HrfdV5ATIg" type="Generalization_Edge" source="_jxs-4I8pEeq5HrfdV5ATIg" target="_jxvbMI8pEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_jxu0E48pEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_jxu0FI8pEeq5HrfdV5ATIg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_jxu0FY8pEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_5QYd0IhhEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jxu0Fo8pEeq5HrfdV5ATIg" points="[12000, 920, -643984, -643984]$[11780, 780, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jxu0F48pEeq5HrfdV5ATIg" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jxu0GI8pEeq5HrfdV5ATIg" id="(0.8,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_jxu0GY8pEeq5HrfdV5ATIg" type="Generalization_Edge" source="_jxu0J48pEeq5HrfdV5ATIg" target="_jxvbMI8pEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_jxu0Go8pEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_jxu0G48pEeq5HrfdV5ATIg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_jxu0HI8pEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_58n4wIhhEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jxu0HY8pEeq5HrfdV5ATIg" points="[11660, 920, -643984, -643984]$[11720, 780, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jxu0Ho8pEeq5HrfdV5ATIg" id="(0.594059405940594,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jxu0H48pEeq5HrfdV5ATIg" id="(0.2,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_jxu0II8pEeq5HrfdV5ATIg" type="Generalization_Edge" source="_jxuNB48pEeq5HrfdV5ATIg" target="_jxu0J48pEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_jxu0IY8pEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_jxu0Io8pEeq5HrfdV5ATIg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_jxu0I48pEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_4MFvQIhhEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jxu0JI8pEeq5HrfdV5ATIg" points="[11520, 1200, -643984, -643984]$[11600, 1039, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jxu0JY8pEeq5HrfdV5ATIg" id="(0.8247422680412371,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jxu0Jo8pEeq5HrfdV5ATIg" id="(0.297029702970297,1.0)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_mvx5kI8pEeq5HrfdV5ATIg" type="PapyrusUMLProfileDiagram" name="Dropout_layers" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_ouSNoY8pEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_ouSNoo8pEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ouSNo48pEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_ouSNpI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ouSNpY8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ouSNpo8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ouSNp48pEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ouSNqI8pEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_ouSNqY8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ouSNqo8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ouSNq48pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ouSNrI8pEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_O7XjkIhiEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ouSNsI8pEeq5HrfdV5ATIg" x="-380" y="280"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_ouSNuY8pEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_ouSNuo8pEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ouSNu48pEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_ouSNvI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ouSNvY8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ouSNvo8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ouSNv48pEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ouSNwI8pEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_ouSNwY8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ouSNwo8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ouSNw48pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ouSNxI8pEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_QF418IhiEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ouSNyI8pEeq5HrfdV5ATIg" x="40" y="280"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_ouS0t48pEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_ouS0uI8pEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ouS0uY8pEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_ouS0uo8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ouS0u48pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ouS0vI8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ouS0vY8pEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ouS0vo8pEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_ouS0v48pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ouS0wI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ouS0wY8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ouS0wo8pEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_Proi4IhiEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ouS0xo8pEeq5HrfdV5ATIg" x="-100" y="280"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_ouS0x48pEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_ouS0yI8pEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ouS0yY8pEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_ouS0yo8pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_L5uXgIhiEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ouS0y48pEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ouS0zI8pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_Mxr6QIhiEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ouS0zY8pEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_k8lLIKcmEeqkzM30xo7jnw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_k7wEsKcmEeqkzM30xo7jnw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_k8lLIacmEeqkzM30xo7jnw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_m_34kKcmEeqkzM30xo7jnw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_m_lksKcmEeqkzM30xo7jnw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_m_34kacmEeqkzM30xo7jnw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_ouS0zo8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ouS0z48pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ouS00I8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ouS00Y8pEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ouS00o8pEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_ouS0048pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ouS01I8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ouS01Y8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ouS01o8pEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_JJr40IhiEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ouS02o8pEeq5HrfdV5ATIg" x="-220" y="20"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_ouS0248pEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_ouS03I8pEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ouS03Y8pEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_ouS03o8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ouS0348pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ouS04I8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ouS04Y8pEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ouS04o8pEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_ouS0448pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ouS05I8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ouS05Y8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ouS05o8pEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_PMP4MIhiEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ouS06o8pEeq5HrfdV5ATIg" x="-240" y="280"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_mvx5kY8pEeq5HrfdV5ATIg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_mvx5ko8pEeq5HrfdV5ATIg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_mvx5k48pEeq5HrfdV5ATIg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    </styles>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_tG8kQK8YEeqhVOlV64dXmA" name="css_stylesheets" eObjectListValue="_mci3oJm1Eeq8nv7tV9lOqQ"/>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    <edges xmi:type="notation:Connector" xmi:id="_ouSNsY8pEeq5HrfdV5ATIg" type="Generalization_Edge" source="_ouSNoY8pEeq5HrfdV5ATIg" target="_ouS0x48pEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_ouSNso8pEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_FDJJYI81Eeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ouSNs48pEeq5HrfdV5ATIg" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_ouSNtI8pEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_rp92AIhiEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ouSNtY8pEeq5HrfdV5ATIg" points="[-350, 270, -643984, -643984]$[-210, 129, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ouSNto8pEeq5HrfdV5ATIg" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ouSNt48pEeq5HrfdV5ATIg" id="(0.11428571428571428,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_ouS0sI8pEeq5HrfdV5ATIg" type="Generalization_Edge" source="_ouS0248pEeq5HrfdV5ATIg" target="_ouS0x48pEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_ouS0sY8pEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_FDFfAI81Eeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ouS0so8pEeq5HrfdV5ATIg" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_ouS0s48pEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_sKSU0IhiEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ouS0tI8pEeq5HrfdV5ATIg" points="[-190, 270, -643984, -643984]$[-190, 129, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ouS0tY8pEeq5HrfdV5ATIg" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ouS0to8pEeq5HrfdV5ATIg" id="(0.22857142857142856,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_ouS0648pEeq5HrfdV5ATIg" type="Generalization_Edge" source="_ouS0t48pEeq5HrfdV5ATIg" target="_ouS0x48pEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_ouS07I8pEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_FDMzwI81Eeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ouS07Y8pEeq5HrfdV5ATIg" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_ouS07o8pEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_srztgIhiEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ouS0748pEeq5HrfdV5ATIg" points="[-50, 270, -643984, -643984]$[-90, 129, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ouS08I8pEeq5HrfdV5ATIg" id="(0.2,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ouS08Y8pEeq5HrfdV5ATIg" id="(0.8,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_ouS08o8pEeq5HrfdV5ATIg" type="Generalization_Edge" source="_ouSNuY8pEeq5HrfdV5ATIg" target="_ouS0x48pEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_ouS0848pEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_FDQeII81Eeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ouS09I8pEeq5HrfdV5ATIg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_ouS09Y8pEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_t3zmkIhiEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ouS09o8pEeq5HrfdV5ATIg" points="[70, 270, -643984, -643984]$[-70, 129, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ouS0948pEeq5HrfdV5ATIg" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ouS0-I8pEeq5HrfdV5ATIg" id="(0.9142857142857143,1.0)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_rsBxII8pEeq5HrfdV5ATIg" type="PapyrusUMLProfileDiagram" name="Sparse_layers" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_y6OdMI8pEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_y6OdMY8pEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_y6OdMo8pEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_y6OdM48pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_ytrT4IhjEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_y6OdNI8pEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_y6OdNY8pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_z2sxcIhjEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_y6OdNo8pEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_y6OdN48pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_y6OdOI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_y6OdOY8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y6OdOo8pEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_y6OdO48pEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_y6OdPI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_y6OdPY8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_y6OdPo8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y6OdP48pEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_kIoWEIhjEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y6OdQ48pEeq5HrfdV5ATIg" x="13050" y="950"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_y6OdRI8pEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_y6OdRY8pEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_y6OdRo8pEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_y6OdR48pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_w7GjAIhjEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_y6OdSI8pEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_y6OdSY8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_y6OdSo8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_y6OdS48pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y6OdTI8pEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_y6OdTY8pEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_y6OdTo8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_y6OdT48pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_y6OdUI8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y6OdUY8pEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_HDvqkIhjEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y6OdVY8pEeq5HrfdV5ATIg" x="12810" y="950"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_y6OdVo8pEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_y6OdV48pEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_y6OdWI8pEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_y6OdWY8pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_nWwe8IhjEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_y6OdWo8pEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_y6OdW48pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_p2G2QIhjEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_y6OdXI8pEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_y6OdXY8pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_sIOC0IhjEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_y6OdXo8pEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_y6OdX48pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_tKafoIhjEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_y6OdYI8pEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_y6OdYY8pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_vicuAIhjEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_y6OdYo8pEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_UjqNsJm5Eeq0jfmjFzaebA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_UjbkMJm5Eeq0jfmjFzaebA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_UjqNsZm5Eeq0jfmjFzaebA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_y6OdY48pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_y6OdZI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_y6OdZY8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y6OdZo8pEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_y6OdZ48pEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_y6OdaI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_y6OdaY8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_y6Odao8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y6Oda48pEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_AdGtwIhjEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y6Odb48pEeq5HrfdV5ATIg" x="12930" y="690"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_rsBxIY8pEeq5HrfdV5ATIg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_rsBxIo8pEeq5HrfdV5ATIg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_rsBxI48pEeq5HrfdV5ATIg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    </styles>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_ulEvIK8YEeqhVOlV64dXmA" name="css_stylesheets" eObjectListValue="_mci3oJm1Eeq8nv7tV9lOqQ"/>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    <edges xmi:type="notation:Connector" xmi:id="_y6N2II8pEeq5HrfdV5ATIg" type="Generalization_Edge" source="_y6OdRI8pEeq5HrfdV5ATIg" target="_y6OdVo8pEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_y6N2IY8pEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_y6N2Io8pEeq5HrfdV5ATIg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_y6N2I48pEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_7zj6UIhjEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_y6N2JI8pEeq5HrfdV5ATIg" points="[12920, 940, -643984, -643984]$[12980, 847, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_y6N2JY8pEeq5HrfdV5ATIg" id="(0.594059405940594,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_y6N2Jo8pEeq5HrfdV5ATIg" id="(0.2575107296137339,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_y6PEQI8pEeq5HrfdV5ATIg" type="Generalization_Edge" source="_y6OdMI8pEeq5HrfdV5ATIg" target="_y6OdVo8pEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_y6PEQY8pEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_y6PEQo8pEeq5HrfdV5ATIg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_y6PEQ48pEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_8S-aMIhjEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_y6PERI8pEeq5HrfdV5ATIg" points="[13160, 940, -643984, -643984]$[13080, 847, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_y6PERY8pEeq5HrfdV5ATIg" id="(0.5128205128205128,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_y6PERo8pEeq5HrfdV5ATIg" id="(0.6866952789699571,1.0)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_uj59MI8pEeq5HrfdV5ATIg" type="PapyrusUMLProfileDiagram" name="Distance_functions" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_128F_o8pEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_128F_48pEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_128GAI8pEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_128GAY8pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_D1Gu4IhkEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_128GAo8pEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_128GA48pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_128GBI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_128GBY8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_128GBo8pEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_128GB48pEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_128GCI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_128GCY8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_128GCo8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_128GC48pEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_9-4iYIhjEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_128GD48pEeq5HrfdV5ATIg" x="13550" y="690"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_128GEI8pEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_128GEY8pEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_128GEo8pEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_128GE48pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_Km4ksIhkEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_128GFI8pEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_128GFY8pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_LieqQIhkEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_128GFo8pEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_128GF48pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_128GGI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_128GGY8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_128GGo8pEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_128GG48pEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_128GHI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_128GHY8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_128GHo8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_128GH48pEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_F-SB4IhkEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_128GI48pEeq5HrfdV5ATIg" x="13690" y="950"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_128tAY8pEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_128tAo8pEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_128tA48pEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_128tBI8pEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_JmnagIhkEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_128tBY8pEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_128tBo8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_128tB48pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_128tCI8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_128tCY8pEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_128tCo8pEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_128tC48pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_128tDI8pEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_128tDY8pEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_128tDo8pEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_Ff9uMIhkEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_128tEo8pEeq5HrfdV5ATIg" x="13450" y="950"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_uj59MY8pEeq5HrfdV5ATIg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_uj59Mo8pEeq5HrfdV5ATIg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_uj59M48pEeq5HrfdV5ATIg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    </styles>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_vzoM8K8YEeqhVOlV64dXmA" name="css_stylesheets" eObjectListValue="_mci3oJm1Eeq8nv7tV9lOqQ"/>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    <edges xmi:type="notation:Connector" xmi:id="_128F8I8pEeq5HrfdV5ATIg" type="Generalization_Edge" source="_128GEI8pEeq5HrfdV5ATIg" target="_128F_o8pEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_128F8Y8pEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_128F8o8pEeq5HrfdV5ATIg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_128F848pEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_RFcjkIhkEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_128F9I8pEeq5HrfdV5ATIg" points="[13720, 940, -643984, -643984]$[13660, 783, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_128F9Y8pEeq5HrfdV5ATIg" id="(0.2185792349726776,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_128F9o8pEeq5HrfdV5ATIg" id="(0.7741935483870968,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_128F948pEeq5HrfdV5ATIg" type="Generalization_Edge" source="_128tAY8pEeq5HrfdV5ATIg" target="_128F_o8pEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_128F-I8pEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_128F-Y8pEeq5HrfdV5ATIg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_128F-o8pEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_QjaNgIhkEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_128F-48pEeq5HrfdV5ATIg" points="[13540, 940, -643984, -643984]$[13580, 783, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_128F_I8pEeq5HrfdV5ATIg" id="(0.6329113924050633,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_128F_Y8pEeq5HrfdV5ATIg" id="(0.25806451612903225,1.0)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_5sQxsI8pEeq5HrfdV5ATIg" type="PapyrusUMLProfileDiagram" name="Loss_functions" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_LajYYI8qEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_LajYYY8qEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_LajYYo8qEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_LajYY48qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_LajYZI8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_LajYZY8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LajYZo8qEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_LajYZ48qEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_LajYaI8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_LajYaY8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_LajYao8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LajYa48qEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_oavnUIhqEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LajYb48qEeq5HrfdV5ATIg" x="2800" y="780"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Laj_eo8qEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Laj_e48qEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Laj_fI8qEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_Laj_fY8qEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_4J95QIhqEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Laj_fo8qEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_Laj_f48qEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_5TNZQIhqEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Laj_gI8qEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_Laj_gY8qEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_6KGlAIhqEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Laj_go8qEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Laj_g48qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Laj_hI8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Laj_hY8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Laj_ho8qEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Laj_h48qEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Laj_iI8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Laj_iY8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Laj_io8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Laj_i48qEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_0iSA4IhqEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Laj_j48qEeq5HrfdV5ATIg" x="2160" y="560"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Laj_kY8qEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Laj_ko8qEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Laj_k48qEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_Laj_lI8qEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_Hr6rkIhoEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Laj_lY8qEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_Laj_lo8qEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_KRcjYIhoEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Laj_l48qEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Laj_mI8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Laj_mY8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Laj_mo8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Laj_m48qEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Laj_nI8qEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Laj_nY8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Laj_no8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Laj_n48qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Laj_oI8qEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_F2VqAIhoEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Laj_pI8qEeq5HrfdV5ATIg" x="1100" y="60"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Laj_vY8qEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Laj_vo8qEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Laj_v48qEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Laj_wI8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Laj_wY8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Laj_wo8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Laj_w48qEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Laj_xI8qEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Laj_xY8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Laj_xo8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Laj_x48qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Laj_yI8qEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_sYrucIhoEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Laj_zI8qEeq5HrfdV5ATIg" x="960" y="320"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_LakmiI8qEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_LakmiY8qEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Lakmio8qEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_Lakmi48qEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_fsyDkIhoEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_LakmjI8qEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_LakmjY8qEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_g54v4IhoEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Lakmjo8qEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Lakmj48qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_LakmkI8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_LakmkY8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Lakmko8qEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Lakmk48qEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_LakmlI8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_LakmlY8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Lakmlo8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Lakml48qEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_dgekEIhoEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Lakmm48qEeq5HrfdV5ATIg" x="20" y="60"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_LakmpI8qEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_LakmpY8qEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Lakmpo8qEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Lakmp48qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_LakmqI8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_LakmqY8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Lakmqo8qEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Lakmq48qEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_LakmrI8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_LakmrY8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Lakmro8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Lakmr48qEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_UW5JYIhoEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Lakms48qEeq5HrfdV5ATIg" x="660" y="320"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_LakmtI8qEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_LakmtY8qEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Lakmto8qEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_Lakmt48qEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_qCV-oIhnEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_LakmuI8qEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_LakmuY8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Lakmuo8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Lakmu48qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LakmvI8qEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_LakmvY8qEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Lakmvo8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Lakmv48qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_LakmwI8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LakmwY8qEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_oNze4IhnEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LakmxY8qEeq5HrfdV5ATIg" x="500" y="-180"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Lakmxo8qEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Lakmx48qEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_LakmyI8qEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_LakmyY8qEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_e4iGsIhpEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Lakmyo8qEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Lakmy48qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_LakmzI8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_LakmzY8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Lakmzo8qEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Lakmz48qEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Lakm0I8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Lakm0Y8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Lakm0o8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Lakm048qEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_cSDMoIhpEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Lakm148qEeq5HrfdV5ATIg" x="2500" y="320"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_LalNkI8qEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_LalNkY8qEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_LalNko8qEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_LalNk48qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_LalNlI8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_LalNlY8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LalNlo8qEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_LalNl48qEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_LalNmI8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_LalNmY8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_LalNmo8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LalNm48qEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_yCiS4IhoEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LalNn48qEeq5HrfdV5ATIg" x="1100" y="320"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_LalNoI8qEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_LalNoY8qEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_LalNoo8qEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_LalNo48qEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_2xgRgIhqEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_LalNpI8qEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_LalNpY8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_LalNpo8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_LalNp48qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LalNqI8qEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_LalNqY8qEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_LalNqo8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_LalNq48qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_LalNrI8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LalNrY8qEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_1ml9kIhqEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LalNsY8qEeq5HrfdV5ATIg" x="2400" y="560"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_LalNuo8qEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_LalNu48qEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_LalNvI8qEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_LalNvY8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_LalNvo8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_LalNv48qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LalNwI8qEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_LalNwY8qEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_LalNwo8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_LalNw48qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_LalNxI8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LalNxY8qEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_v673wIhpEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LalNyY8qEeq5HrfdV5ATIg" x="1580" y="520"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_LalN248qEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_LalN3I8qEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_LalN3Y8qEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_LalN3o8qEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_LlDOYIhqEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_LalN348qEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_LalN4I8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_LalN4Y8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_LalN4o8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LalN448qEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_LalN5I8qEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_LalN5Y8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_LalN5o8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_LalN548qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LalN6I8qEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_J1LMMIhqEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LalN7I8qEeq5HrfdV5ATIg" x="1920" y="760"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_LalN7Y8qEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_LalN7o8qEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_LalN748qEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_LalN8I8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_LalN8Y8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_LalN8o8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LalN848qEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_LalN9I8qEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_LalN9Y8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_LalN9o8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_LalN948qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LalN-I8qEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_XkZnMIhoEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LalN_I8qEeq5HrfdV5ATIg" x="800" y="320"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Lal0oI8qEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Lal0oY8qEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Lal0oo8qEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_Lal0o48qEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_dvGZcIhpEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Lal0pI8qEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Lal0pY8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Lal0po8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Lal0p48qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Lal0qI8qEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Lal0qY8qEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Lal0qo8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Lal0q48qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Lal0rI8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Lal0rY8qEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_TXEOoIhpEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Lal0sY8qEeq5HrfdV5ATIg" x="1520" y="320"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Lal0u48qEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Lal0vI8qEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Lal0vY8qEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_Lal0vo8qEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_NFUHQIhqEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Lal0v48qEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Lal0wI8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Lal0wY8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Lal0wo8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Lal0w48qEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Lal0xI8qEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Lal0xY8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Lal0xo8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Lal0x48qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Lal0yI8qEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_JaQx0IhqEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Lal0zI8qEeq5HrfdV5ATIg" x="1720" y="760"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Lal01Y8qEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Lal01o8qEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Lal0148qEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Lal02I8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Lal02Y8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Lal02o8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Lal0248qEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Lal03I8qEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Lal03Y8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Lal03o8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Lal0348qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Lal04I8qEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_6OX2cIhpEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Lal05I8qEeq5HrfdV5ATIg" x="2640" y="560"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Lal07Y8qEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Lal07o8qEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Lal0748qEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_Lal08I8qEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_kXdYEIhqEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Lal08Y8qEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Lal08o8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Lal0848qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Lal09I8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Lal09Y8qEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Lal09o8qEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Lal0948qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Lal0-I8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Lal0-Y8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Lal0-o8qEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_hqxIUIhqEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Lal0_o8qEeq5HrfdV5ATIg" x="2800" y="560"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Lal0_48qEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Lal1AI8qEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Lal1AY8qEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Lal1Ao8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Lal1A48qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Lal1BI8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Lal1BY8qEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Lal1Bo8qEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Lal1B48qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Lal1CI8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Lal1CY8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Lal1Co8qEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_pWuucIhqEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Lal1Do8qEeq5HrfdV5ATIg" x="2940" y="780"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Lal1F48qEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Lal1GI8qEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Lal1GY8qEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_Lal1Go8qEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_HB3XEIhqEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Lal1G48qEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Lal1HI8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Lal1HY8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Lal1Ho8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Lal1H48qEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Lal1II8qEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Lal1IY8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Lal1Io8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Lal1I48qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Lal1JI8qEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_DrSc0IhqEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Lal1KI8qEeq5HrfdV5ATIg" x="1800" y="520"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_LambyI8qEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_LambyY8qEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Lambyo8qEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Lamby48qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_LambzI8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_LambzY8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Lambzo8qEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Lambz48qEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Lamb0I8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Lamb0Y8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Lamb0o8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Lamb048qEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_o24mMIhpEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Lamb148qEeq5HrfdV5ATIg" x="1280" y="520"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_LanCwI8qEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_LanCwY8qEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_LanCwo8qEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_LanCw48qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_LanCxI8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_LanCxY8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LanCxo8qEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_LanCx48qEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_LanCyI8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_LanCyY8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_LanCyo8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LanCy48qEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_uaWOwIhpEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LanCz48qEeq5HrfdV5ATIg" x="1440" y="520"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_hxfEcJm6Eeq0jfmjFzaebA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_hxfrgJm6Eeq0jfmjFzaebA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_hxfrgZm6Eeq0jfmjFzaebA" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_hxfrgpm6Eeq0jfmjFzaebA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_hxfrg5m6Eeq0jfmjFzaebA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_hxfrhJm6Eeq0jfmjFzaebA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hxfrhZm6Eeq0jfmjFzaebA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_hxfrhpm6Eeq0jfmjFzaebA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_hxfrh5m6Eeq0jfmjFzaebA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_hxfriJm6Eeq0jfmjFzaebA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_hxfriZm6Eeq0jfmjFzaebA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hxfripm6Eeq0jfmjFzaebA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_hxbaEJm6Eeq0jfmjFzaebA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hxfEcZm6Eeq0jfmjFzaebA" x="520" y="320"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_w1FmgJm6Eeq0jfmjFzaebA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w1GNkJm6Eeq0jfmjFzaebA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w1GNkZm6Eeq0jfmjFzaebA" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w1GNkpm6Eeq0jfmjFzaebA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w1GNk5m6Eeq0jfmjFzaebA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w1GNlJm6Eeq0jfmjFzaebA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w1GNlZm6Eeq0jfmjFzaebA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w1GNlpm6Eeq0jfmjFzaebA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w1GNl5m6Eeq0jfmjFzaebA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w1GNmJm6Eeq0jfmjFzaebA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w1GNmZm6Eeq0jfmjFzaebA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w1GNmpm6Eeq0jfmjFzaebA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_w1CjMJm6Eeq0jfmjFzaebA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w1FmgZm6Eeq0jfmjFzaebA" x="380" y="320"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_DSsxUJm7Eeq0jfmjFzaebA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_DStYYJm7Eeq0jfmjFzaebA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_DStYYZm7Eeq0jfmjFzaebA" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_DStYYpm7Eeq0jfmjFzaebA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_DStYY5m7Eeq0jfmjFzaebA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_DStYZJm7Eeq0jfmjFzaebA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DStYZZm7Eeq0jfmjFzaebA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_DStYZpm7Eeq0jfmjFzaebA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_DStYZ5m7Eeq0jfmjFzaebA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_DStYaJm7Eeq0jfmjFzaebA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_DStYaZm7Eeq0jfmjFzaebA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DStYapm7Eeq0jfmjFzaebA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_DSn40Jm7Eeq0jfmjFzaebA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DSsxUZm7Eeq0jfmjFzaebA" x="1980" y="560"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_5sQxsY8pEeq5HrfdV5ATIg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_5sQxso8pEeq5HrfdV5ATIg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_5sQxs48pEeq5HrfdV5ATIg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    </styles>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_xUzEwK8YEeqhVOlV64dXmA" name="css_stylesheets" eObjectListValue="_mci3oJm1Eeq8nv7tV9lOqQ"/>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    <edges xmi:type="notation:Connector" xmi:id="_LajYcI8qEeq5HrfdV5ATIg" type="Generalization_Edge" source="_LalN7Y8qEeq5HrfdV5ATIg" target="_Laj_kY8qEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_LajYcY8qEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_LajYco8qEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_LajYc48qEeq5HrfdV5ATIg" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_LajYdI8qEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_PLRRsIhrEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LajYdY8qEeq5HrfdV5ATIg" points="[595, 315, -643984, -643984]$[915, 173, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LajYdo8qEeq5HrfdV5ATIg" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LajYd48qEeq5HrfdV5ATIg" id="(0.297029702970297,0.9971988795518194)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Laj_cY8qEeq5HrfdV5ATIg" type="Generalization_Edge" source="_LalNuo8qEeq5HrfdV5ATIg" target="_Lal0oI8qEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Laj_co8qEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Laj_c48qEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Laj_dI8qEeq5HrfdV5ATIg" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Laj_dY8qEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_0GpqQIhpEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Laj_do8qEeq5HrfdV5ATIg" points="[1355, 515, -643984, -643984]$[1215, 418, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Laj_d48qEeq5HrfdV5ATIg" id="(0.15503875968992248,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Laj_eI8qEeq5HrfdV5ATIg" id="(0.34285714285714286,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Laj_pY8qEeq5HrfdV5ATIg" type="Generalization_Edge" source="_LalNkI8qEeq5HrfdV5ATIg" target="_Laj_kY8qEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Laj_po8qEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Laj_p48qEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Laj_qI8qEeq5HrfdV5ATIg" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Laj_qY8qEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_OBMEMIhrEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Laj_qo8qEeq5HrfdV5ATIg" points="[935, 315, -643984, -643984]$[955, 173, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Laj_q48qEeq5HrfdV5ATIg" id="(0.6153846153846154,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Laj_rI8qEeq5HrfdV5ATIg" id="(0.49504950495049505,0.9971988795518194)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Laj_rY8qEeq5HrfdV5ATIg" type="Generalization_Edge" source="_Lal1F48qEeq5HrfdV5ATIg" target="_Lal0oI8qEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Laj_ro8qEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Laj_r48qEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Laj_sI8qEeq5HrfdV5ATIg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Laj_sY8qEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_UcGuoIhqEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Laj_so8qEeq5HrfdV5ATIg" points="[1575, 515, -643984, -643984]$[1415, 418, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Laj_s48qEeq5HrfdV5ATIg" id="(0.1388888888888889,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Laj_tI8qEeq5HrfdV5ATIg" id="(0.8,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Laj_tY8qEeq5HrfdV5ATIg" type="Generalization_Edge" source="_LajYYI8qEeq5HrfdV5ATIg" target="_Lal07Y8qEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Laj_to8qEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Laj_t48qEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Laj_uI8qEeq5HrfdV5ATIg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Laj_uY8qEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_rT8pEIhqEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Laj_uo8qEeq5HrfdV5ATIg" points="[2490, 775, -643984, -643984]$[2490, 658, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Laj_u48qEeq5HrfdV5ATIg" id="(0.5660377358490566,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Laj_vI8qEeq5HrfdV5ATIg" id="(0.2926829268292683,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Laj_zY8qEeq5HrfdV5ATIg" type="Generalization_Edge" source="_Laj_eo8qEeq5HrfdV5ATIg" target="_Lakmxo8qEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Laj_zo8qEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Laj_z48qEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Laj_0I8qEeq5HrfdV5ATIg" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Laj_0Y8qEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_H58ZIIhrEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Laj_0o8qEeq5HrfdV5ATIg" points="[2055, 555, -643984, -643984]$[2275, 417, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Laj_048qEeq5HrfdV5ATIg" id="(0.7486631016042781,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Laj_1I8qEeq5HrfdV5ATIg" id="(0.11560693641618497,0.9967637540453059)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_LakmgI8qEeq5HrfdV5ATIg" type="Generalization_Edge" source="_Laj_vY8qEeq5HrfdV5ATIg" target="_Laj_kY8qEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_LakmgY8qEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Lakmgo8qEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Lakmg48qEeq5HrfdV5ATIg" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_LakmhI8qEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_Ojop8IhrEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LakmhY8qEeq5HrfdV5ATIg" points="[795, 315, -643984, -643984]$[935, 173, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Lakmho8qEeq5HrfdV5ATIg" id="(0.8,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Lakmh48qEeq5HrfdV5ATIg" id="(0.39603960396039606,0.9971988795518194)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_LakmnI8qEeq5HrfdV5ATIg" type="Generalization_Edge" source="_Lal01Y8qEeq5HrfdV5ATIg" target="_Lakmxo8qEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_LakmnY8qEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Lakmno8qEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Lakmn48qEeq5HrfdV5ATIg" x="-1" y="57"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_LakmoI8qEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_7bTjoIhpEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LakmoY8qEeq5HrfdV5ATIg" points="[2430, 575, -643984, -643984]$[2310, 418, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Lakmoo8qEeq5HrfdV5ATIg" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Lakmo48qEeq5HrfdV5ATIg" id="(0.8092485549132948,0.9805825242718447)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Lakm2I8qEeq5HrfdV5ATIg" type="Generalization_Edge" source="_Lakmxo8qEeq5HrfdV5ATIg" target="_Laj_kY8qEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Lakm2Y8qEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Lakm2o8qEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Lakm248qEeq5HrfdV5ATIg" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Lakm3I8qEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_L6mLIIhrEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Lakm3Y8qEeq5HrfdV5ATIg" points="[2275, 315, -643984, -643984]$[1035, 173, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Lakm3o8qEeq5HrfdV5ATIg" id="(0.11560693641618497,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Lakm348qEeq5HrfdV5ATIg" id="(0.8910891089108911,0.9971988795518194)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_LalNso8qEeq5HrfdV5ATIg" type="Generalization_Edge" source="_Lal0oI8qEeq5HrfdV5ATIg" target="_Laj_kY8qEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_LalNs48qEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_LalNtI8qEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_LalNtY8qEeq5HrfdV5ATIg" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_LalNto8qEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_KmOZMIhrEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LalNt48qEeq5HrfdV5ATIg" points="[1315, 315, -643984, -643984]$[1015, 173, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LalNuI8qEeq5HrfdV5ATIg" id="(0.22857142857142856,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LalNuY8qEeq5HrfdV5ATIg" id="(0.7920792079207921,0.9971988795518194)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_LalNyo8qEeq5HrfdV5ATIg" type="Generalization_Edge" source="_LakmiI8qEeq5HrfdV5ATIg" target="_LakmtI8qEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_LalNy48qEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8aQoAI80Eeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_LalNzI8qEeq5HrfdV5ATIg" x="-1" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_LalNzY8qEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_YDZI8IhrEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LalNzo8qEeq5HrfdV5ATIg" points="[130, 50, -643984, -643984]$[550, -88, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LalNz48qEeq5HrfdV5ATIg" id="(0.5970149253731343,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LalN0I8qEeq5HrfdV5ATIg" id="(0.3191489361702128,0.996763754045307)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_LalN0Y8qEeq5HrfdV5ATIg" type="Generalization_Edge" source="_Lal0u48qEeq5HrfdV5ATIg" target="_Lal1F48qEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_LalN0o8qEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_LalN048qEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_LalN1I8qEeq5HrfdV5ATIg" x="1" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_LalN1Y8qEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_THXJQIhqEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LalN1o8qEeq5HrfdV5ATIg" points="[1535, 755, -643984, -643984]$[1595, 618, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LalN148qEeq5HrfdV5ATIg" id="(0.3468208092485549,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LalN2I8qEeq5HrfdV5ATIg" id="(0.2777777777777778,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_LalN_Y8qEeq5HrfdV5ATIg" type="Generalization_Edge" source="_LambyI8qEeq5HrfdV5ATIg" target="_Lal0oI8qEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_LalN_o8qEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_LalN_48qEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_LalOAI8qEeq5HrfdV5ATIg" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_LalOAY8qEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_sErX4IhpEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LalOAo8qEeq5HrfdV5ATIg" points="[1155, 515, -643984, -643984]$[1175, 418, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LalOA48qEeq5HrfdV5ATIg" id="(0.45112781954887216,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LalOBI8qEeq5HrfdV5ATIg" id="(0.11428571428571428,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Lal0s48qEeq5HrfdV5ATIg" type="Generalization_Edge" source="_LalNoI8qEeq5HrfdV5ATIg" target="_Lakmxo8qEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Lal0tI8qEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Lal0tY8qEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Lal0to8qEeq5HrfdV5ATIg" x="1" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Lal0t48qEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_HRZLYIhrEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Lal0uI8qEeq5HrfdV5ATIg" points="[2275, 555, -643984, -643984]$[2335, 417, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Lal0uY8qEeq5HrfdV5ATIg" id="(0.6091370558375635,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Lal0uo8qEeq5HrfdV5ATIg" id="(0.4624277456647399,0.9967637540453059)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Lal0zY8qEeq5HrfdV5ATIg" type="Generalization_Edge" source="_Lal0_48qEeq5HrfdV5ATIg" target="_Lal07Y8qEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Lal0zo8qEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Lal0z48qEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Lal00I8qEeq5HrfdV5ATIg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Lal00Y8qEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_qQK34IhqEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Lal00o8qEeq5HrfdV5ATIg" points="[2650, 795, -643984, -643984]$[2590, 658, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Lal0048qEeq5HrfdV5ATIg" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Lal01I8qEeq5HrfdV5ATIg" id="(0.7804878048780488,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Lal05Y8qEeq5HrfdV5ATIg" type="Generalization_Edge" source="_LakmpI8qEeq5HrfdV5ATIg" target="_Laj_kY8qEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Lal05o8qEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Lal0548qEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Lal06I8qEeq5HrfdV5ATIg" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Lal06Y8qEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_PzV-UIhrEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Lal06o8qEeq5HrfdV5ATIg" points="[475, 315, -643984, -643984]$[875, 173, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Lal0648qEeq5HrfdV5ATIg" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Lal07I8qEeq5HrfdV5ATIg" id="(0.09900990099009901,0.9971988795518194)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Lal1D48qEeq5HrfdV5ATIg" type="Generalization_Edge" source="_LanCwI8qEeq5HrfdV5ATIg" target="_Lal0oI8qEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Lal1EI8qEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Lal1EY8qEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Lal1Eo8qEeq5HrfdV5ATIg" x="-1" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Lal1E48qEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_zEGoIIhpEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Lal1FI8qEeq5HrfdV5ATIg" points="[1235, 515, -643984, -643984]$[1195, 418, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Lal1FY8qEeq5HrfdV5ATIg" id="(0.3418803418803419,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Lal1Fo8qEeq5HrfdV5ATIg" id="(0.22857142857142856,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_LambsI8qEeq5HrfdV5ATIg" type="Generalization_Edge" source="_Laj_kY8qEeq5HrfdV5ATIg" target="_LakmtI8qEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_LambsY8qEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8ass4I80Eeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Lambso8qEeq5HrfdV5ATIg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Lambs48qEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_YyIeQIhrEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LambtI8qEeq5HrfdV5ATIg" points="[1150, 50, -643984, -643984]$[630, -88, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LambtY8qEeq5HrfdV5ATIg" id="(0.297029702970297,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Lambto8qEeq5HrfdV5ATIg" id="(0.7446808510638298,0.996763754045307)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_LambuI8qEeq5HrfdV5ATIg" type="Generalization_Edge" source="_LalN248qEeq5HrfdV5ATIg" target="_Lal1F48qEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_LambuY8qEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Lambuo8qEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Lambu48qEeq5HrfdV5ATIg" x="-1" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_LambvI8qEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_ToeSQIhqEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LambvY8qEeq5HrfdV5ATIg" points="[1715, 755, -643984, -643984]$[1655, 618, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Lambvo8qEeq5HrfdV5ATIg" id="(0.24390243902439024,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Lambv48qEeq5HrfdV5ATIg" id="(0.6944444444444444,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_LambwI8qEeq5HrfdV5ATIg" type="Generalization_Edge" source="_Lal07Y8qEeq5HrfdV5ATIg" target="_Lakmxo8qEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_LambwY8qEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Lambwo8qEeq5HrfdV5ATIg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Lambw48qEeq5HrfdV5ATIg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_LambxI8qEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_uCkygIhqEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LambxY8qEeq5HrfdV5ATIg" points="[2490, 555, -643984, -643984]$[2410, 418, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Lambxo8qEeq5HrfdV5ATIg" id="(0.2926829268292683,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Lambx48qEeq5HrfdV5ATIg" id="(0.9942196531791907,0.970873786407767)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_mJdKQJm6Eeq0jfmjFzaebA" type="Generalization_Edge" source="_hxfEcJm6Eeq0jfmjFzaebA" target="_Laj_kY8qEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_mJdKQ5m6Eeq0jfmjFzaebA" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_mJdKRJm6Eeq0jfmjFzaebA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_mJdKQZm6Eeq0jfmjFzaebA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_mI2tUJm6Eeq0jfmjFzaebA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mJdKQpm6Eeq0jfmjFzaebA" points="[600, 320, -643984, -643984]$[1100, 171, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mKpdEJm6Eeq0jfmjFzaebA" id="(0.8,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mKpdEZm6Eeq0jfmjFzaebA" id="(0.0,0.9327731092436975)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_0s93AJm6Eeq0jfmjFzaebA" type="Generalization_Edge" source="_w1FmgJm6Eeq0jfmjFzaebA" target="_Laj_kY8qEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_0s93A5m6Eeq0jfmjFzaebA" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_0s93BJm6Eeq0jfmjFzaebA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_0s93AZm6Eeq0jfmjFzaebA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_0seHwJm6Eeq0jfmjFzaebA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0s93Apm6Eeq0jfmjFzaebA" points="[460, 320, -643984, -643984]$[1100, 169, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0uEDMJm6Eeq0jfmjFzaebA" id="(0.8,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0uEDMZm6Eeq0jfmjFzaebA" id="(0.0,0.9159663865546218)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_HyzfcJm7Eeq0jfmjFzaebA" type="Generalization_Edge" source="_DSsxUJm7Eeq0jfmjFzaebA" target="_Lakmxo8qEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Hy0GgJm7Eeq0jfmjFzaebA" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Hy0GgZm7Eeq0jfmjFzaebA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_HyzfcZm7Eeq0jfmjFzaebA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_HyWzgJm7Eeq0jfmjFzaebA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Hyzfcpm7Eeq0jfmjFzaebA" points="[2100, 560, -643984, -643984]$[2500, 400, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Hz0zIJm7Eeq0jfmjFzaebA" id="(0.7947019867549668,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Hz0zIZm7Eeq0jfmjFzaebA" id="(0.0,0.7766990291262136)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_8ZhpMI8pEeq5HrfdV5ATIg" type="PapyrusUMLProfileDiagram" name="Vision_layers" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_D9vorY8qEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_D9voro8qEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_D9vor48qEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_D9vosI8qEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_-r78AIhrEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_D9vosY8qEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_D9voso8qEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#___G0EIhrEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_D9vos48qEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_D9votI8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_D9votY8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_D9voto8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D9vot48qEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_D9vouI8qEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_D9vouY8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_D9vouo8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_D9vou48qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D9vovI8qEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_9D3yAIhrEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D9vowI8qEeq5HrfdV5ATIg" x="17490" y="1090"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_D9vow48qEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_D9voxI8qEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_D9voxY8qEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_D9voxo8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_D9vox48qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_D9voyI8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D9voyY8qEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_D9voyo8qEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_D9voy48qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_D9vozI8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_D9vozY8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D9vozo8qEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_FiUlAIhsEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D9vo0o8qEeq5HrfdV5ATIg" x="17890" y="1090"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_D9wPoI8qEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_D9wPoY8qEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_D9wPoo8qEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_D9wPo48qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_D9wPpI8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_D9wPpY8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D9wPpo8qEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_D9wPp48qEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_D9wPqI8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_D9wPqY8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_D9wPqo8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D9wPq48qEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_ExzHAIhsEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D9wPr48qEeq5HrfdV5ATIg" x="17730" y="1090"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_D9wPsI8qEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_D9wPsY8qEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_D9wPso8qEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_D9wPs48qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_D9wPtI8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_D9wPtY8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D9wPto8qEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_D9wPt48qEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_D9wPuI8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_D9wPuY8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_D9wPuo8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D9wPu48qEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_iLwgEIhrEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D9wPv48qEeq5HrfdV5ATIg" x="17830" y="690"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_D9wPwI8qEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_D9wPwY8qEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_D9wPwo8qEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_D9wPw48qEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_507w0IhrEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_D9wPxI8qEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_D9wPxY8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_D9wPxo8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_D9wPx48qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D9wPyI8qEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_D9wPyY8qEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_D9wPyo8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_D9wPy48qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_D9wPzI8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D9wPzY8qEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_2p5YMIhrEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D9wP0Y8qEeq5HrfdV5ATIg" x="17970" y="870"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_D9wP0o8qEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_D9wP048qEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_D9wP1I8qEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_D9wP1Y8qEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_xJ4sQIhrEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_D9wP1o8qEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_D9wP148qEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_yEO0oIhrEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_D9wP2I8qEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_D9wP2Y8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_D9wP2o8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_D9wP248qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D9wP3I8qEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_D9wP3Y8qEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_D9wP3o8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_D9wP348qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_D9wP4I8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D9wP4Y8qEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_t32TwIhrEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D9wP5Y8qEeq5HrfdV5ATIg" x="17610" y="870"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_8ZhpMY8pEeq5HrfdV5ATIg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_8ZhpMo8pEeq5HrfdV5ATIg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_8ZhpM48pEeq5HrfdV5ATIg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    </styles>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_y_tHYK8YEeqhVOlV64dXmA" name="css_stylesheets" eObjectListValue="_mci3oJm1Eeq8nv7tV9lOqQ"/>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    <edges xmi:type="notation:Connector" xmi:id="_D9vBgI8qEeq5HrfdV5ATIg" type="Generalization_Edge" source="_D9wP0o8qEeq5HrfdV5ATIg" target="_D9wPsI8qEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_D9vBgY8qEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_D9vBgo8qEeq5HrfdV5ATIg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_D9vBg48qEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_MhVlkIhsEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_D9vBhI8qEeq5HrfdV5ATIg" points="[17740, 860, -643984, -643984]$[17860, 780, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D9vBhY8qEeq5HrfdV5ATIg" id="(0.7035175879396985,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D9vBho8qEeq5HrfdV5ATIg" id="(0.4,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_D9vokY8qEeq5HrfdV5ATIg" type="Generalization_Edge" source="_D9wPwI8qEeq5HrfdV5ATIg" target="_D9wPsI8qEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_D9voko8qEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_D9vok48qEeq5HrfdV5ATIg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_D9volI8qEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_L7Zm8IhsEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_D9volY8qEeq5HrfdV5ATIg" points="[18060, 860, -643984, -643984]$[17900, 780, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D9volo8qEeq5HrfdV5ATIg" id="(0.4694835680751174,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D9vol48qEeq5HrfdV5ATIg" id="(0.8,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_D9vomI8qEeq5HrfdV5ATIg" type="Generalization_Edge" source="_D9wPoI8qEeq5HrfdV5ATIg" target="_D9wP0o8qEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_D9vomY8qEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_D9vomo8qEeq5HrfdV5ATIg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_D9vom48qEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_KqD64IhsEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_D9vonI8qEeq5HrfdV5ATIg" points="[17780, 1080, -643984, -643984]$[17700, 978, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D9vonY8qEeq5HrfdV5ATIg" id="(0.46153846153846156,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D9vono8qEeq5HrfdV5ATIg" id="(0.5025125628140703,0.9971988795518204)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_D9von48qEeq5HrfdV5ATIg" type="Generalization_Edge" source="_D9vorY8qEeq5HrfdV5ATIg" target="_D9wP0o8qEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_D9vooI8qEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_D9vooY8qEeq5HrfdV5ATIg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_D9vooo8qEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_KFjfoIhsEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_D9voo48qEeq5HrfdV5ATIg" points="[17620, 1080, -643984, -643984]$[17640, 978, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D9vopI8qEeq5HrfdV5ATIg" id="(0.6763285024154589,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D9vopY8qEeq5HrfdV5ATIg" id="(0.20100502512562815,0.9971988795518204)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_D9vopo8qEeq5HrfdV5ATIg" type="Generalization_Edge" source="_D9vow48qEeq5HrfdV5ATIg" target="_D9wP0o8qEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_D9vop48qEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_D9voqI8qEeq5HrfdV5ATIg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_D9voqY8qEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_LUKn0IhsEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_D9voqo8qEeq5HrfdV5ATIg" points="[17940, 1080, -643984, -643984]$[17760, 978, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D9voq48qEeq5HrfdV5ATIg" id="(0.46511627906976744,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D9vorI8qEeq5HrfdV5ATIg" id="(0.8040201005025126,0.9971988795518204)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_-5u8II8pEeq5HrfdV5ATIg" type="PapyrusUMLProfileDiagram" name="DataParallel_layers_(multi-GPU, distributed)" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_BNa2B48qEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_BNa2CI8qEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_BNa2CY8qEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_BNa2Co8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_BNa2C48qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_BNa2DI8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BNa2DY8qEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_BNa2Do8qEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_BNa2D48qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_BNa2EI8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_BNa2EY8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BNa2Eo8qEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_2bnZsIhtEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BNa2Fo8qEeq5HrfdV5ATIg" x="18650" y="950"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_BNa2F48qEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_BNa2GI8qEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_BNa2GY8qEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_BNa2Go8qEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_rBanQIhtEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_BNa2G48qEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_BNa2HI8qEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_r6Q60IhtEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_BNa2HY8qEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_BNa2Ho8qEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_stpfkIhtEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_BNa2H48qEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_BNa2II8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_BNa2IY8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_BNa2Io8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BNa2I48qEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_BNa2JI8qEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_BNa2JY8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_BNa2Jo8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_BNa2J48qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BNa2KI8qEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_jq9XEIhtEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BNa2LI8qEeq5HrfdV5ATIg" x="18370" y="690"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_BNa2LY8qEeq5HrfdV5ATIg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_BNa2Lo8qEeq5HrfdV5ATIg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_BNa2L48qEeq5HrfdV5ATIg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_BNa2MI8qEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_vpBrkIhtEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_BNa2MY8qEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_BNa2Mo8qEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_xG4JoIhtEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_BNa2M48qEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_BNa2NI8qEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_yJonIIhtEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_BNa2NY8qEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_BNa2No8qEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_zcpuMIhtEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_BNa2N48qEeq5HrfdV5ATIg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_BNa2OI8qEeq5HrfdV5ATIg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_1KdT0IhtEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_BNa2OY8qEeq5HrfdV5ATIg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_BNa2Oo8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_BNa2O48qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_BNa2PI8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BNa2PY8qEeq5HrfdV5ATIg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_BNa2Po8qEeq5HrfdV5ATIg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_BNa2P48qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_BNa2QI8qEeq5HrfdV5ATIg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_BNa2QY8qEeq5HrfdV5ATIg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BNa2Qo8qEeq5HrfdV5ATIg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_tsGr4IhtEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BNa2Ro8qEeq5HrfdV5ATIg" x="18310" y="950"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_-5u8IY8pEeq5HrfdV5ATIg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_-5u8Io8pEeq5HrfdV5ATIg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_-5u8I48pEeq5HrfdV5ATIg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    </styles>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_z8xzoK8YEeqhVOlV64dXmA" name="css_stylesheets" eObjectListValue="_mci3oJm1Eeq8nv7tV9lOqQ"/>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    <edges xmi:type="notation:Connector" xmi:id="_BNaO8I8qEeq5HrfdV5ATIg" type="Generalization_Edge" source="_BNa2LY8qEeq5HrfdV5ATIg" target="_BNa2F48qEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_BNaO8Y8qEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_BNaO8o8qEeq5HrfdV5ATIg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_BNaO848qEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_5KbJUIhtEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_BNaO9I8qEeq5HrfdV5ATIg" points="[18420, 940, -643984, -643984]$[18440, 814, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BNaO9Y8qEeq5HrfdV5ATIg" id="(0.44280442804428044,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BNaO9o8qEeq5HrfdV5ATIg" id="(0.3225806451612903,0.9975308641975306)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_BNa2AI8qEeq5HrfdV5ATIg" type="Generalization_Edge" source="_BNa2B48qEeq5HrfdV5ATIg" target="_BNa2F48qEeq5HrfdV5ATIg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_BNa2AY8qEeq5HrfdV5ATIg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_BNa2Ao8qEeq5HrfdV5ATIg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_BNa2A48qEeq5HrfdV5ATIg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_4pLdcIhtEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_BNa2BI8qEeq5HrfdV5ATIg" points="[18680, 940, -643984, -643984]$[18560, 814, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BNa2BY8qEeq5HrfdV5ATIg" id="(0.30303030303030304,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BNa2Bo8qEeq5HrfdV5ATIg" id="(0.8064516129032258,0.9975308641975306)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_3Dkw8JT3Eeq5BK6mmo2rWg" type="PapyrusUMLProfileDiagram" name="Convolution_layers" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_O7mR6K8WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_O7mR6a8WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_O7mR6q8WEeqhVOlV64dXmA" visible="false" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_O7mR668WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_O7mR7K8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_O7mR7a8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7mR7q8WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_O7mR768WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_O7mR8K8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_O7mR8a8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_O7mR8q8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7mR868WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_AfPLEIVKEeqvud4Ae2T3Lg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7mR968WEeqhVOlV64dXmA" x="580" y="800" width="121" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_O7mR-K8WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_O7mR-a8WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_O7mR-q8WEeqhVOlV64dXmA" visible="false" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_O7mR-68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_O7mR_K8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_O7mR_a8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7mR_q8WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_O7mR_68WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_O7mSAK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_O7mSAa8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_O7mSAq8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7mSA68WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_6j6cIIVJEeqvud4Ae2T3Lg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7mSB68WEeqhVOlV64dXmA" x="300" y="800" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_O7m48K8WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_O7m48a8WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_O7m48q8WEeqhVOlV64dXmA" visible="false" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_O7m4868WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_O7m49K8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_O7m49a8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7m49q8WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_O7m4968WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_O7m4-K8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_O7m4-a8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_O7m4-q8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7m4-68WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_2Ej78IVJEeqvud4Ae2T3Lg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7m4_68WEeqhVOlV64dXmA" x="160" y="800" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_O7m5AK8WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_O7m5Aa8WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_O7m5Aq8WEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_O7m5A68WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_NbNPsKSuEeqmTOsCAzVBxg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_O7m5BK8WEeqhVOlV64dXmA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_O7m5Ba8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_O7m5Bq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_O7m5B68WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7m5CK8WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_O7m5Ca8WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_O7m5Cq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_O7m5C68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_O7m5DK8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7m5Da8WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_37PHIKStEeqmTOsCAzVBxg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7m5Ea8WEeqhVOlV64dXmA" x="480" y="420" width="241" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_O7m5Iq8WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_O7m5I68WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_O7m5JK8WEeqhVOlV64dXmA" visible="false" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_O7m5Ja8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_O7m5Jq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_O7m5J68WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7m5KK8WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_O7m5Ka8WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_O7m5Kq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_O7m5K68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_O7m5LK8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7m5La8WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_08Tc0KG4EeqsNvCDUfZJVA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7m5Ma8WEeqhVOlV64dXmA" x="920" y="800" width="121" height="58"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_O7m5Mq8WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_O7m5M68WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_O7m5NK8WEeqhVOlV64dXmA" visible="false" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_O7m5Na8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_O7m5Nq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_O7m5N68WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7m5OK8WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_O7m5Oa8WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_O7m5Oq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_O7m5O68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_O7m5PK8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7m5Pa8WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#__Er4oIVJEeqvud4Ae2T3Lg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7m5Qa8WEeqhVOlV64dXmA" x="440" y="800" width="121" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_O7ngJa8WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_O7ngJq8WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_O7ngJ68WEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_O7ngKK8WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_SowbcKG1EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_O7ngKa8WEeqhVOlV64dXmA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_O7ngKq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_O7ngK68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_O7ngLK8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7ngLa8WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_O7ngLq8WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_O7ngL68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_O7ngMK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_O7ngMa8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7ngMq8WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_RBqh0KG1EeqsNvCDUfZJVA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7ngNq8WEeqhVOlV64dXmA" x="440" y="700" width="261" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_O7ngN68WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_O7ngOK8WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_O7ngOa8WEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_O7ngOq8WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_etxlIKG4EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_O7ngO68WEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_O7ngPK8WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_f_57YKG4EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_O7ngPa8WEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_O7ngPq8WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_hwRFwKG4EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_O7ngP68WEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_O7ngQK8WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_i2jYYKG4EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_O7ngQa8WEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_O7ngQq8WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_lF9PMKG4EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_O7ngQ68WEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_O7ngRK8WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_mtJ2gKG4EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_O7ngRa8WEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_O7ngRq8WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_oTAaAKG4EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_O7ngR68WEeqhVOlV64dXmA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_O7ngSK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_O7ngSa8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_O7ngSq8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7ngS68WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_O7ngTK8WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_O7ngTa8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_O7ngTq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_O7ngT68WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7ngUK8WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_d-jusKG4EeqsNvCDUfZJVA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7ngVK8WEeqhVOlV64dXmA" x="780" y="560" width="261" height="161"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_O7oHEK8WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_O7oHEa8WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_O7oHEq8WEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_O7oHE68WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_7rUZ4KG1EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_O7oHFK8WEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_O7oHFa8WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_85lj0KG1EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_O7oHFq8WEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_O7oHF68WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_ak_cwKG2EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_O7oHGK8WEeqhVOlV64dXmA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_O7oHGa8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_O7oHGq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_O7oHG68WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7oHHK8WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_O7oHHa8WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_O7oHHq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_O7oHH68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_O7oHIK8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7oHIa8WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_5JUXMKG1EeqsNvCDUfZJVA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7oHJa8WEeqhVOlV64dXmA" x="260" y="560" width="241" height="101"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_O7oHJq8WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_O7oHJ68WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_O7oHKK8WEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_O7oHKa8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_O7oHKq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_O7oHK68WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7oHLK8WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_O7oHLa8WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_O7oHLq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_O7oHL68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_O7oHMK8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7oHMa8WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_8w4C8IVJEeqvud4Ae2T3Lg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7oHNa8WEeqhVOlV64dXmA" x="540" y="560"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_O7oHNq8WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_O7oHN68WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_O7oHOK8WEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_O7oHOa8WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_MKi_YH5qEeqSHNFOHg2_Jw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_O7oHOq8WEeqhVOlV64dXmA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_O7oHO68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_O7oHPK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_O7oHPa8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7oHPq8WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_O7oHP68WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_O7oHQK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_O7oHQa8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_O7oHQq8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7oHQ68WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_ISZCEH5qEeqSHNFOHg2_Jw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7oHR68WEeqhVOlV64dXmA" x="60" y="220" width="181" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_O7oHSK8WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_O7oHSa8WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_O7oHSq8WEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_O7oHS68WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_ZsHuAH5qEeqSHNFOHg2_Jw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_O7oHTK8WEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_O7oHTa8WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_a-bqcH5qEeqSHNFOHg2_Jw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_O7oHTq8WEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_O7oHT68WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_bcYxwH5qEeqSHNFOHg2_Jw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_O7oHUK8WEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_O7oHUa8WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_cR75sH5qEeqSHNFOHg2_Jw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_O7oHUq8WEeqhVOlV64dXmA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_O7oHU68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_O7oHVK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_O7oHVa8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7oHVq8WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_O7oHV68WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_O7oHWK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_O7oHWa8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_O7oHWq8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7oHW68WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_YZ54MH5qEeqSHNFOHg2_Jw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7oHX68WEeqhVOlV64dXmA" x="60" y="20" width="381" height="121"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_O7oHYK8WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_O7oHYa8WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_O7oHYq8WEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_O7oHY68WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_SSgFUKG6EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_O7oHZK8WEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_O7oHZa8WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_ZHdK8KG6EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_O7ouIK8WEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_O7ouIa8WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_chtrUKG6EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_O7ouIq8WEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_O7ouI68WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_iro28KG6EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_O7ouJK8WEeqhVOlV64dXmA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_O7ouJa8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_O7ouJq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_O7ouJ68WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7ouKK8WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_O7ouKa8WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_O7ouKq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_O7ouK68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_O7ouLK8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7ouLa8WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_Ip7BgKG6EeqsNvCDUfZJVA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7ouMa8WEeqhVOlV64dXmA" x="780" y="340" width="261"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_O7ouMq8WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_O7ouM68WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_O7ouNK8WEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_O7ouNa8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_O7ouNq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_O7ouN68WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7ouOK8WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_O7ouOa8WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_O7ouOq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_O7ouO68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_O7ouPK8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7ouPa8WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_anKPYH5pEeqSHNFOHg2_Jw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7ouQa8WEeqhVOlV64dXmA" x="280" y="220" width="161" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_O7ouYa8WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_O7ouYq8WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_O7ouY68WEeqhVOlV64dXmA" visible="false" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_O7ouZK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_O7ouZa8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_O7ouZq8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7ouZ68WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_O7ouaK8WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_O7ouaa8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_O7ouaq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_O7oua68WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7oubK8WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_34MmMKG4EeqsNvCDUfZJVA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7oucK8WEeqhVOlV64dXmA" x="780" y="800" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_O7ouca8WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_O7oucq8WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_O7ouc68WEeqhVOlV64dXmA" visible="false" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_O7oudK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_O7ouda8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_O7oudq8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7oud68WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_O7oueK8WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_O7ouea8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_O7oueq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_O7oue68WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7oufK8WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_g_SxQKG3EeqsNvCDUfZJVA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7ougK8WEeqhVOlV64dXmA" x="40" y="800" height="61"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_O7pVOK8WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_O7pVOa8WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_O7pVOq8WEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_O7pVO68WEeqhVOlV64dXmA" source="PapyrusCSSForceValue">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_O7pVPK8WEeqhVOlV64dXmA" key="collapsed" value="true"/>
+        </eAnnotations>
+        <children xmi:type="notation:Shape" xmi:id="_O7pVPa8WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_xLDlAH5nEeqSHNFOHg2_Jw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_O7pVPq8WEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_O7pVP68WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_PgB_YH5oEeqSHNFOHg2_Jw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_O7pVQK8WEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_O7pVQa8WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_RrmfEH5oEeqSHNFOHg2_Jw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_O7pVQq8WEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_O7pVQ68WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_UPxE8H5oEeqSHNFOHg2_Jw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_O7pVRK8WEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_O7pVRa8WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_NJHtgKG2EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_O7pVRq8WEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_O7pVR68WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_Ou9p8KG2EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_O7pVSK8WEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_O7pVSa8WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_SXLt0KG2EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_O7pVSq8WEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_O7pVS68WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_THvoEKG2EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_O7pVTK8WEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_O7pVTa8WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_UiUvsKG2EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_O7pVTq8WEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_O7pVT68WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_kn6TMKG2EeqsNvCDUfZJVA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_O7pVUK8WEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_O7pVUa8WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_bGMOcKStEeqmTOsCAzVBxg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_O7pVUq8WEeqhVOlV64dXmA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_O7pVU68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_O7pVVK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_O7pVVa8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7pVVq8WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_O7pVV68WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_O7pVWK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_O7pVWa8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_O7pVWq8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7pVW68WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_5DtswH2KEeqSHNFOHg2_Jw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O7pVX68WEeqhVOlV64dXmA" x="480" y="160" width="241" height="221"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_3DkxwZT3Eeq5BK6mmo2rWg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_3DkxwpT3Eeq5BK6mmo2rWg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_3Dkxw5T3Eeq5BK6mmo2rWg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_Nr2NYJOPEeqnY_bZg2Ebjg"/>
+    </styles>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_KngOIJnbEeqZJ7Fgbu454w" name="css_stylesheets" eObjectListValue="_mci3oJm1Eeq8nv7tV9lOqQ"/>
+    <edges xmi:type="notation:Connector" xmi:id="_3DkxxJT3Eeq5BK6mmo2rWg" type="Generalization_Edge">
+      <children xmi:type="notation:DecorationNode" xmi:id="_3DkxxZT3Eeq5BK6mmo2rWg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_3DkxxpT3Eeq5BK6mmo2rWg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_3Dkxx5T3Eeq5BK6mmo2rWg" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_3DkxyJT3Eeq5BK6mmo2rWg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3DkxyZT3Eeq5BK6mmo2rWg" points="[-676, 628, -643984, -643984]$[-716, 418, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3DkxypT3Eeq5BK6mmo2rWg" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3Dkxy5T3Eeq5BK6mmo2rWg" id="(0.7373271889400922,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_3DkxzJT3Eeq5BK6mmo2rWg" type="Generalization_Edge">
+      <children xmi:type="notation:DecorationNode" xmi:id="_3DkxzZT3Eeq5BK6mmo2rWg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_3DkxzpT3Eeq5BK6mmo2rWg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_3Dkxz5T3Eeq5BK6mmo2rWg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_3Dkx0JT3Eeq5BK6mmo2rWg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3Dkx0ZT3Eeq5BK6mmo2rWg" points="[-1356, 628, -643984, -643984]$[-1336, 475, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3Dkx0pT3Eeq5BK6mmo2rWg" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3Dkx05T3Eeq5BK6mmo2rWg" id="(0.4608294930875576,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_3Dkx1JT3Eeq5BK6mmo2rWg" type="Generalization_Edge">
+      <children xmi:type="notation:DecorationNode" xmi:id="_3Dkx1ZT3Eeq5BK6mmo2rWg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_3Dkx1pT3Eeq5BK6mmo2rWg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_3Dkx15T3Eeq5BK6mmo2rWg" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_3Dkx2JT3Eeq5BK6mmo2rWg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3Dkx2ZT3Eeq5BK6mmo2rWg" points="[-1760, 1362, -643984, -643984]$[-1440, 1207, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3Dkx2pT3Eeq5BK6mmo2rWg" id="(0.54,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3Dkx25T3Eeq5BK6mmo2rWg" id="(0.4608294930875576,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_3Dkx3JT3Eeq5BK6mmo2rWg" type="Generalization_Edge">
+      <children xmi:type="notation:DecorationNode" xmi:id="_3Dkx3ZT3Eeq5BK6mmo2rWg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_3Dkx3pT3Eeq5BK6mmo2rWg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_3Dkx35T3Eeq5BK6mmo2rWg" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_3Dkx4JT3Eeq5BK6mmo2rWg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3Dkx4ZT3Eeq5BK6mmo2rWg" points="[-576, -350, -643984, -643984]$[-516, -399, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3Dkx4pT3Eeq5BK6mmo2rWg" id="(0.8248587570621468,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3Dkx45T3Eeq5BK6mmo2rWg" id="(0.3081761006289308,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_3Dkx5JT3Eeq5BK6mmo2rWg" type="Generalization_Edge">
+      <children xmi:type="notation:DecorationNode" xmi:id="_3Dkx5ZT3Eeq5BK6mmo2rWg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_3Dkx5pT3Eeq5BK6mmo2rWg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_3Dkx55T3Eeq5BK6mmo2rWg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_3Dkx6JT3Eeq5BK6mmo2rWg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3Dkx6ZT3Eeq5BK6mmo2rWg" points="[-1216, 628, -643984, -643984]$[-1336, 475, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3Dkx6pT3Eeq5BK6mmo2rWg" id="(0.5660377358490566,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3Dkx65T3Eeq5BK6mmo2rWg" id="(0.4608294930875576,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_3Dkx7JT3Eeq5BK6mmo2rWg" type="Generalization_Edge">
+      <children xmi:type="notation:DecorationNode" xmi:id="_3Dkx7ZT3Eeq5BK6mmo2rWg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_3Dkx7pT3Eeq5BK6mmo2rWg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_3Dkx75T3Eeq5BK6mmo2rWg" x="-1" y="57"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_3Dkx8JT3Eeq5BK6mmo2rWg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3Dkx8ZT3Eeq5BK6mmo2rWg" points="[-916, 628, -643984, -643984]$[-1356, 475, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3Dkx8pT3Eeq5BK6mmo2rWg" id="(0.7547169811320755,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3Dkx85T3Eeq5BK6mmo2rWg" id="(0.3686635944700461,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_3Dkx9JT3Eeq5BK6mmo2rWg" type="Generalization_Edge">
+      <children xmi:type="notation:DecorationNode" xmi:id="_3Dkx9ZT3Eeq5BK6mmo2rWg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_3Dkx9pT3Eeq5BK6mmo2rWg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_3Dkx95T3Eeq5BK6mmo2rWg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_3Dkx-JT3Eeq5BK6mmo2rWg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3Dkx-ZT3Eeq5BK6mmo2rWg" points="[-1096, 628, -643984, -643984]$[-1336, 475, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3Dkx-pT3Eeq5BK6mmo2rWg" id="(0.37735849056603776,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3Dkx-5T3Eeq5BK6mmo2rWg" id="(0.4608294930875576,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_3Dkx_JT3Eeq5BK6mmo2rWg" type="Generalization_Edge">
+      <children xmi:type="notation:DecorationNode" xmi:id="_3Dkx_ZT3Eeq5BK6mmo2rWg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_3Dkx_pT3Eeq5BK6mmo2rWg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_3Dkx_5T3Eeq5BK6mmo2rWg" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_3DkyAJT3Eeq5BK6mmo2rWg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3DkyAZT3Eeq5BK6mmo2rWg" points="[-1640, 1360, -643984, -643984]$[-1440, 1207, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3DkyApT3Eeq5BK6mmo2rWg" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3DkyA5T3Eeq5BK6mmo2rWg" id="(0.4858757062146893,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_3DkyBJT3Eeq5BK6mmo2rWg" type="Generalization_Edge">
+      <children xmi:type="notation:DecorationNode" xmi:id="_3DkyBZT3Eeq5BK6mmo2rWg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_3DkyBpT3Eeq5BK6mmo2rWg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_3DkyB5T3Eeq5BK6mmo2rWg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_3DkyCJT3Eeq5BK6mmo2rWg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3DkyCZT3Eeq5BK6mmo2rWg" points="[-416, 628, -643984, -643984]$[-416, 411, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3DkyCpT3Eeq5BK6mmo2rWg" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3DkyC5T3Eeq5BK6mmo2rWg" id="(0.7373271889400922,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_3DkyDJT3Eeq5BK6mmo2rWg" type="Generalization_Edge">
+      <children xmi:type="notation:DecorationNode" xmi:id="_3DkyDZT3Eeq5BK6mmo2rWg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_3DkyDpT3Eeq5BK6mmo2rWg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_3DkyD5T3Eeq5BK6mmo2rWg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_3DkyEJT3Eeq5BK6mmo2rWg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3DkyEZT3Eeq5BK6mmo2rWg" points="[-576, 310, -643984, -643984]$[-670, 270, -643984, -643984]$[-959, 161, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3DkyEpT3Eeq5BK6mmo2rWg" id="(0.0,0.02)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3DkyE5T3Eeq5BK6mmo2rWg" id="(0.8238993710691824,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_3DkyFJT3Eeq5BK6mmo2rWg" type="Generalization_Edge">
+      <children xmi:type="notation:DecorationNode" xmi:id="_3DkyFZT3Eeq5BK6mmo2rWg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_3DkyFpT3Eeq5BK6mmo2rWg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_3DkyF5T3Eeq5BK6mmo2rWg" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_3DkyGJT3Eeq5BK6mmo2rWg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3DkyGZT3Eeq5BK6mmo2rWg" points="[-370, -270, -643984, -643984]$[-370, -379, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3DkyGpT3Eeq5BK6mmo2rWg" id="(0.30414746543778803,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3DkyG5T3Eeq5BK6mmo2rWg" id="(0.6163522012578616,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_O7lq0K8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_O7oHYK8WEeqhVOlV64dXmA" target="_O7pVOK8WEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_O7lq0a8WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="__xikQPjcEeq6c-2opUmylw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_O7lq0q8WEeqhVOlV64dXmA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_O7lq068WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_gvxQoKSuEeqmTOsCAzVBxg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_O7lq1K8WEeqhVOlV64dXmA" points="[780, 360, -643984, -643984]$[681, 360, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O7lq1a8WEeqhVOlV64dXmA" id="(0.0,0.136986301369863)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O7lq1q8WEeqhVOlV64dXmA" id="(1.0,0.9049773755656109)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_O7mR4K8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_O7oHNq8WEeqhVOlV64dXmA" target="_O7oHSK8WEeqhVOlV64dXmA" routing="Rectilinear">
+      <children xmi:type="notation:DecorationNode" xmi:id="_O7mR4a8WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_O7mR4q8WEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_O7mR468WEeqhVOlV64dXmA" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_O7mR5K8WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_J9Ae4H5sEeqSHNFOHg2_Jw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_O7mR5a8WEeqhVOlV64dXmA" points="[160, 220, -643984, -643984]$[160, 180, -643984, -643984]$[160, 141, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O7mR5q8WEeqhVOlV64dXmA" id="(0.5524861878453039,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O7mR568WEeqhVOlV64dXmA" id="(0.26246719160104987,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_O7mSCK8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_O7ngJa8WEeqhVOlV64dXmA" target="_O7oHEK8WEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_O7mSCa8WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_O7mSCq8WEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_O7mSC68WEeqhVOlV64dXmA" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_O7mSDK8WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_RL6_IKG3EeqsNvCDUfZJVA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_O7mSDa8WEeqhVOlV64dXmA" points="[460, 880, -643984, -643984]$[460, 820, -643984, -643984]$[460, 781, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O7mSDq8WEeqhVOlV64dXmA" id="(0.07662835249042145,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O7mSD68WEeqhVOlV64dXmA" id="(0.8298755186721992,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_O7mSEK8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_O7ouYa8WEeqhVOlV64dXmA" target="_O7ngN68WEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_O7mSEa8WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_O7mSEq8WEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_O7mSE68WEeqhVOlV64dXmA" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_O7mSFK8WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_L9aA8KG5EeqsNvCDUfZJVA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_O7mSFa8WEeqhVOlV64dXmA" points="[880, 800, -643984, -643984]$[880, 760, -643984, -643984]$[840, 760, -643984, -643984]$[840, 721, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O7mSFq8WEeqhVOlV64dXmA" id="(0.5309734513274337,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O7mSF68WEeqhVOlV64dXmA" id="(0.22988505747126436,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_O7m5Eq8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_O7pVOK8WEeqhVOlV64dXmA" target="_O7oHSK8WEeqhVOlV64dXmA" routing="Rectilinear">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GcXyoPjfEeq6c-2opUmylw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GcXyofjfEeq6c-2opUmylw" key="routing" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_O7m5E68WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_O7m5FK8WEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_O7m5Fa8WEeqhVOlV64dXmA" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_O7m5Fq8WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_JBpp4H5sEeqSHNFOHg2_Jw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_O7m5F68WEeqhVOlV64dXmA" points="[560, 160, -643984, -643984]$[560, 100, -643984, -643984]$[900, 100, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O7m5GK8WEeqhVOlV64dXmA" id="(0.4979253112033195,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O7m5Ga8WEeqhVOlV64dXmA" id="(1.0,0.6611570247933884)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_O7m5Gq8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_O7mR6K8WEeqhVOlV64dXmA" target="_O7ngJa8WEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_O7m5G68WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_O7m5HK8WEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_O7m5Ha8WEeqhVOlV64dXmA" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_O7m5Hq8WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_Qt4YQKG3EeqsNvCDUfZJVA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_O7m5H68WEeqhVOlV64dXmA" points="[640, 920, -643984, -643984]$[640, 860, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O7m5IK8WEeqhVOlV64dXmA" id="(0.49586776859504134,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O7m5Ia8WEeqhVOlV64dXmA" id="(0.7662835249042146,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_O7ngAK8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_O7ouMq8WEeqhVOlV64dXmA" target="_O7oHSK8WEeqhVOlV64dXmA" routing="Rectilinear">
+      <children xmi:type="notation:DecorationNode" xmi:id="_O7ngAa8WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_O7ngAq8WEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_O7ngA68WEeqhVOlV64dXmA" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_O7ngBK8WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_Je4_gH5sEeqSHNFOHg2_Jw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_O7ngBa8WEeqhVOlV64dXmA" points="[360, 220, -643984, -643984]$[360, 141, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O7ngBq8WEeqhVOlV64dXmA" id="(0.4968944099378882,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O7ngB68WEeqhVOlV64dXmA" id="(0.7874015748031497,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_O7ngCK8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_O7ouca8WEeqhVOlV64dXmA" target="_O7oHEK8WEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_O7ngCa8WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_O7ngCq8WEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_O7ngC68WEeqhVOlV64dXmA" x="-1" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_O7ngDK8WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_q1mIAKG3EeqsNvCDUfZJVA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_O7ngDa8WEeqhVOlV64dXmA" points="[80, 800, -643984, -643984]$[80, 720, -643984, -643984]$[320, 720, -643984, -643984]$[320, 661, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O7ngDq8WEeqhVOlV64dXmA" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O7ngD68WEeqhVOlV64dXmA" id="(0.24896265560165975,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_O7ngEK8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_O7oHEK8WEeqhVOlV64dXmA" target="_O7m5AK8WEeqhVOlV64dXmA" routing="Tree">
+      <children xmi:type="notation:DecorationNode" xmi:id="_O7ngEa8WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_JDepsPjdEeq6c-2opUmylw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_O7ngEq8WEeqhVOlV64dXmA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_O7ngE68WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_QvZkUKSuEeqmTOsCAzVBxg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_O7ngFK8WEeqhVOlV64dXmA" points="[340, 770, -643984, -643984]$[340, 640, -643984, -643984]$[680, 640, -643984, -643984]$[680, 560, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O7ngFa8WEeqhVOlV64dXmA" id="(0.33195020746887965,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O7ngFq8WEeqhVOlV64dXmA" id="(0.8298755186721992,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_O7ngF68WEeqhVOlV64dXmA" type="Generalization_Edge" source="_O7ngN68WEeqhVOlV64dXmA" target="_O7m5AK8WEeqhVOlV64dXmA" routing="Tree">
+      <children xmi:type="notation:DecorationNode" xmi:id="_O7ngGK8WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_JE1UkPjdEeq6c-2opUmylw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_O7ngGa8WEeqhVOlV64dXmA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_O7ngGq8WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_Rvo5UKSuEeqmTOsCAzVBxg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_O7ngG68WEeqhVOlV64dXmA" points="[920, 560, -643984, -643984]$[920, 520, -643984, -643984]$[600, 520, -643984, -643984]$[600, 481, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O7ngHK8WEeqhVOlV64dXmA" id="(0.5363984674329502,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O7ngHa8WEeqhVOlV64dXmA" id="(0.4979253112033195,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_O7ngHq8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_O7m5AK8WEeqhVOlV64dXmA" target="_O7pVOK8WEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_O7ngH68WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="__yEIsPjcEeq6c-2opUmylw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_O7ngIK8WEeqhVOlV64dXmA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_O7ngIa8WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_SbB_sKSuEeqmTOsCAzVBxg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_O7ngIq8WEeqhVOlV64dXmA" points="[660, 420, -643984, -643984]$[660, 400, -643984, -643984]$[680, 400, -643984, -643984]$[680, 381, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O7ngI68WEeqhVOlV64dXmA" id="(0.4979253112033195,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O7ngJK8WEeqhVOlV64dXmA" id="(0.4979253112033195,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_O7ouQq8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_O7mR-K8WEeqhVOlV64dXmA" target="_O7oHEK8WEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_O7ouQ68WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_O7ouRK8WEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_O7ouRa8WEeqhVOlV64dXmA" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_O7ouRq8WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_pt11wKG3EeqsNvCDUfZJVA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_O7ouR68WEeqhVOlV64dXmA" points="[360, 800, -643984, -643984]$[360, 720, -643984, -643984]$[320, 720, -643984, -643984]$[320, 661, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O7ouSK8WEeqhVOlV64dXmA" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O7ouSa8WEeqhVOlV64dXmA" id="(0.24896265560165975,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_O7ouSq8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_O7oHJq8WEeqhVOlV64dXmA" target="_O7m5AK8WEeqhVOlV64dXmA" routing="Tree">
+      <children xmi:type="notation:DecorationNode" xmi:id="_O7ouS68WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_JFW5APjdEeq6c-2opUmylw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_O7ouTK8WEeqhVOlV64dXmA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_O7ouTa8WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_ROpsIKSuEeqmTOsCAzVBxg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_O7ouTq8WEeqhVOlV64dXmA" points="[600, 560, -643984, -643984]$[600, 520, -643984, -643984]$[720, 520, -643984, -643984]$[720, 481, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O7ouT68WEeqhVOlV64dXmA" id="(0.5357142857142857,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O7ouUK8WEeqhVOlV64dXmA" id="(0.8298755186721992,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_O7ouUa8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_O7m48K8WEeqhVOlV64dXmA" target="_O7oHEK8WEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_O7ouUq8WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_O7ouU68WEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_O7ouVK8WEeqhVOlV64dXmA" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_O7ouVa8WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_qNQVoKG3EeqsNvCDUfZJVA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_O7ouVq8WEeqhVOlV64dXmA" points="[200, 800, -643984, -643984]$[200, 720, -643984, -643984]$[320, 720, -643984, -643984]$[320, 661, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O7ouV68WEeqhVOlV64dXmA" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O7ouWK8WEeqhVOlV64dXmA" id="(0.24896265560165975,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_O7ouWa8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_O7m5Iq8WEeqhVOlV64dXmA" target="_O7ngN68WEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_O7ouWq8WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_O7ouW68WEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_O7ouXK8WEeqhVOlV64dXmA" x="-2" y="57"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_O7ouXa8WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_KvNvgKG5EeqsNvCDUfZJVA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_O7ouXq8WEeqhVOlV64dXmA" points="[1020, 800, -643984, -643984]$[1020, 760, -643984, -643984]$[980, 760, -643984, -643984]$[980, 721, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O7ouX68WEeqhVOlV64dXmA" id="(0.49586776859504134,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O7ouYK8WEeqhVOlV64dXmA" id="(0.7662835249042146,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_O7pVMK8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_O7m5Mq8WEeqhVOlV64dXmA" target="_O7ngJa8WEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_O7pVMa8WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_O7pVMq8WEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_O7pVM68WEeqhVOlV64dXmA" x="-1" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_O7pVNK8WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_QScZcKG3EeqsNvCDUfZJVA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_O7pVNa8WEeqhVOlV64dXmA" points="[500, 920, -643984, -643984]$[500, 860, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O7pVNq8WEeqhVOlV64dXmA" id="(0.49586776859504134,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O7pVN68WEeqhVOlV64dXmA" id="(0.22988505747126436,1.0)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_xkHZcJUJEeqWd_6S3mbYXg" type="PapyrusUMLProfileDiagram" name="Module" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_h8FXiKD4Eeqvvbr3PHPJ5Q" type="Stereotype_Shape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_h8FXiaD4Eeqvvbr3PHPJ5Q" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_h8FXiqD4Eeqvvbr3PHPJ5Q" key="canonical" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_h8FXi6D4Eeqvvbr3PHPJ5Q" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_h8FXjKD4Eeqvvbr3PHPJ5Q" type="Stereotype_AttributeCompartment">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BDTAYOawEeq2yMJqys2DtQ" source="PapyrusCSSForceValue">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BDTncOawEeq2yMJqys2DtQ" key="mutable" value="true"/>
+        </eAnnotations>
+        <children xmi:type="notation:Shape" xmi:id="_h8FXjaD4Eeqvvbr3PHPJ5Q" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_7EMR4IhuEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_h8FXjqD4Eeqvvbr3PHPJ5Q"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_h8FXj6D4Eeqvvbr3PHPJ5Q" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_7vDMwIhuEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_h8FXkKD4Eeqvvbr3PHPJ5Q"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_h8FXkaD4Eeqvvbr3PHPJ5Q" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_9DLHEIhuEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_h8FXkqD4Eeqvvbr3PHPJ5Q"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_h8FXk6D4Eeqvvbr3PHPJ5Q" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_ivxlgIvAEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_h8FXlKD4Eeqvvbr3PHPJ5Q"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_A_YwwOawEeq2yMJqys2DtQ" type="Property_ClassAttributeLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BDTnceawEeq2yMJqys2DtQ" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BDTncuawEeq2yMJqys2DtQ" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:Property" href="AIML.profile.uml#__N7qULYUEeq1Koq3J5meEA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_A_YwweawEeq2yMJqys2DtQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_A_YwwuawEeq2yMJqys2DtQ" type="Property_ClassAttributeLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BDTnc-awEeq2yMJqys2DtQ" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BDTndOawEeq2yMJqys2DtQ" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_AtDTsLYVEeq1Koq3J5meEA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_A_Yww-awEeq2yMJqys2DtQ"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_h8FXlaD4Eeqvvbr3PHPJ5Q"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_h8FXlqD4Eeqvvbr3PHPJ5Q"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_h8FXl6D4Eeqvvbr3PHPJ5Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h8FXmKD4Eeqvvbr3PHPJ5Q"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_h8FXmaD4Eeqvvbr3PHPJ5Q" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_h8FXmqD4Eeqvvbr3PHPJ5Q"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_h8FXm6D4Eeqvvbr3PHPJ5Q"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_h8FXnKD4Eeqvvbr3PHPJ5Q"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h8FXnaD4Eeqvvbr3PHPJ5Q"/>
+      </children>
+      <styles xmi:type="notation:CanonicalStyle" xmi:id="_h8FXnqD4Eeqvvbr3PHPJ5Q"/>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_2E9coH2KEeqSHNFOHg2_Jw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h8FXoqD4Eeqvvbr3PHPJ5Q" x="386" y="323"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_h8FXpKD4Eeqvvbr3PHPJ5Q" type="Class_MetaclassShape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_h8FXpaD4Eeqvvbr3PHPJ5Q" type="Class_MetaclassNameLabel"/>
+      <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h8FXtKD4Eeqvvbr3PHPJ5Q" x="404" y="111"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Ti8EYPmcEeqCRcDdPeQY2A" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_Ti8EYfmcEeqCRcDdPeQY2A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Ti8EY_mcEeqCRcDdPeQY2A" 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="_Ti8EYvmcEeqCRcDdPeQY2A" x="604" y="111"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_xkHZcZUJEeqWd_6S3mbYXg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_xkHZcpUJEeqWd_6S3mbYXg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_xkHZc5UJEeqWd_6S3mbYXg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_u1dx8JT1Eeq5BK6mmo2rWg"/>
+    </styles>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_u1dx8JT1Eeq5BK6mmo2rWg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_h8KP-KD4Eeqvvbr3PHPJ5Q" type="Extension_Edge" source="_h8FXiKD4Eeqvvbr3PHPJ5Q" target="_h8FXpKD4Eeqvvbr3PHPJ5Q">
+      <styles xmi:type="notation:FontStyle" xmi:id="_h8KP-aD4Eeqvvbr3PHPJ5Q"/>
+      <element xmi:type="uml:Extension" href="AIML.profile.uml#_n3BRAH5rEeqSHNFOHg2_Jw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_h8KP-qD4Eeqvvbr3PHPJ5Q" points="[376, 320, -643984, -643984]$[0, 0, -643984, -643984]"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Ti8EZPmcEeqCRcDdPeQY2A" type="StereotypeCommentLink" source="_h8FXpKD4Eeqvvbr3PHPJ5Q" target="_Ti8EYPmcEeqCRcDdPeQY2A">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Ti8EZfmcEeqCRcDdPeQY2A"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Ti8EafmcEeqCRcDdPeQY2A" 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="_Ti8EZvmcEeqCRcDdPeQY2A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ti8EZ_mcEeqCRcDdPeQY2A"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ti8EaPmcEeqCRcDdPeQY2A"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_yrEacJUJEeqWd_6S3mbYXg" type="PapyrusUMLProfileDiagram" name="Tensor" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_XZMIMJUKEeqWd_6S3mbYXg" type="Stereotype_Shape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XZMIMZUKEeqWd_6S3mbYXg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XZMIMpUKEeqWd_6S3mbYXg" key="canonical" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_XZMIM5UKEeqWd_6S3mbYXg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_XZMINJUKEeqWd_6S3mbYXg" type="Stereotype_AttributeCompartment">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XZMINZUKEeqWd_6S3mbYXg" source="PapyrusCSSForceValue">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XZMINpUKEeqWd_6S3mbYXg" key="mutable" value="true"/>
+        </eAnnotations>
+        <children xmi:type="notation:Shape" xmi:id="_XZMIN5UKEeqWd_6S3mbYXg" type="Property_ClassAttributeLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XZMIOJUKEeqWd_6S3mbYXg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XZMIOZUKEeqWd_6S3mbYXg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_mlHloIhuEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_XZMIOpUKEeqWd_6S3mbYXg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_XZMIO5UKEeqWd_6S3mbYXg" type="Property_ClassAttributeLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XZMIPJUKEeqWd_6S3mbYXg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XZMIPZUKEeqWd_6S3mbYXg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_ncDNoIhuEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_XZMIPpUKEeqWd_6S3mbYXg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_XZMIP5UKEeqWd_6S3mbYXg" type="Property_ClassAttributeLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XZMIQJUKEeqWd_6S3mbYXg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XZMIQZUKEeqWd_6S3mbYXg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_oUgfoIhuEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_XZMIQpUKEeqWd_6S3mbYXg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_XZMIQ5UKEeqWd_6S3mbYXg" type="Property_ClassAttributeLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XZMIRJUKEeqWd_6S3mbYXg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XZMIRZUKEeqWd_6S3mbYXg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_o5TOwIhuEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_XZMIRpUKEeqWd_6S3mbYXg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_XZMIR5UKEeqWd_6S3mbYXg" type="Property_ClassAttributeLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XZMISJUKEeqWd_6S3mbYXg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XZMISZUKEeqWd_6S3mbYXg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_pnJzQIhuEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_XZMISpUKEeqWd_6S3mbYXg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_MZFSoK7mEeqHv_gpM7iTmA" type="Property_ClassAttributeLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MgvZ0K7mEeqHv_gpM7iTmA" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MgwA4K7mEeqHv_gpM7iTmA" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_wocFsKWvEeq2dLYfuMvqgg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_MZFSoa7mEeqHv_gpM7iTmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_MZHu4K7mEeqHv_gpM7iTmA" type="Property_ClassAttributeLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MgwA4a7mEeqHv_gpM7iTmA" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MgwA4q7mEeqHv_gpM7iTmA" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_xs8PoKWvEeq2dLYfuMvqgg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_MZHu4a7mEeqHv_gpM7iTmA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_XZMIS5UKEeqWd_6S3mbYXg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_XZMITJUKEeqWd_6S3mbYXg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_XZMITZUKEeqWd_6S3mbYXg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XZMITpUKEeqWd_6S3mbYXg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_XZMIT5UKEeqWd_6S3mbYXg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_XZMIUJUKEeqWd_6S3mbYXg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_XZMIUZUKEeqWd_6S3mbYXg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_XZMIUpUKEeqWd_6S3mbYXg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XZMIU5UKEeqWd_6S3mbYXg"/>
+      </children>
+      <styles xmi:type="notation:CanonicalStyle" xmi:id="_XZMIVJUKEeqWd_6S3mbYXg"/>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_kkWnwIhuEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XZMIWJUKEeqWd_6S3mbYXg" x="270" y="350"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_XZN9YJUKEeqWd_6S3mbYXg" type="Enumeration_Shape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XZN9YZUKEeqWd_6S3mbYXg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XZN9YpUKEeqWd_6S3mbYXg" key="canonical" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_XZN9Y5UKEeqWd_6S3mbYXg" type="Enumeration_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_XZN9ZJUKEeqWd_6S3mbYXg" type="Enumeration_LiteralCompartment">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XZN9ZZUKEeqWd_6S3mbYXg" source="PapyrusCSSForceValue">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XZN9ZpUKEeqWd_6S3mbYXg" key="mutable" value="true"/>
+        </eAnnotations>
+        <children xmi:type="notation:Shape" xmi:id="_XZN9Z5UKEeqWd_6S3mbYXg" type="EnumerationLiteral_LiteralLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XZN9aJUKEeqWd_6S3mbYXg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XZN9aZUKEeqWd_6S3mbYXg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:EnumerationLiteral" href="AIML.profile.uml#_GeF-8IvIEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_XZN9apUKEeqWd_6S3mbYXg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_XZN9a5UKEeqWd_6S3mbYXg" type="EnumerationLiteral_LiteralLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XZN9bJUKEeqWd_6S3mbYXg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XZN9bZUKEeqWd_6S3mbYXg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:EnumerationLiteral" href="AIML.profile.uml#_VdQs8IvIEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_XZN9bpUKEeqWd_6S3mbYXg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_XZN9b5UKEeqWd_6S3mbYXg" type="EnumerationLiteral_LiteralLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XZN9cJUKEeqWd_6S3mbYXg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XZN9cZUKEeqWd_6S3mbYXg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:EnumerationLiteral" href="AIML.profile.uml#_YIbSsIvIEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_XZN9cpUKEeqWd_6S3mbYXg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_XZN9c5UKEeqWd_6S3mbYXg" type="EnumerationLiteral_LiteralLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XZN9dJUKEeqWd_6S3mbYXg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XZN9dZUKEeqWd_6S3mbYXg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:EnumerationLiteral" href="AIML.profile.uml#_bZFyMIvIEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_XZN9dpUKEeqWd_6S3mbYXg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_XZN9d5UKEeqWd_6S3mbYXg" type="EnumerationLiteral_LiteralLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XZN9eJUKEeqWd_6S3mbYXg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XZN9eZUKEeqWd_6S3mbYXg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:EnumerationLiteral" href="AIML.profile.uml#_czCAoIvIEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_XZN9epUKEeqWd_6S3mbYXg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_XZN9e5UKEeqWd_6S3mbYXg" type="EnumerationLiteral_LiteralLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XZN9fJUKEeqWd_6S3mbYXg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XZN9fZUKEeqWd_6S3mbYXg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:EnumerationLiteral" href="AIML.profile.uml#_dzPgcIvIEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_XZN9fpUKEeqWd_6S3mbYXg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_XZN9f5UKEeqWd_6S3mbYXg" type="EnumerationLiteral_LiteralLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XZN9gJUKEeqWd_6S3mbYXg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XZN9gZUKEeqWd_6S3mbYXg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:EnumerationLiteral" href="AIML.profile.uml#_ez5sMIvIEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_XZN9gpUKEeqWd_6S3mbYXg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_XZN9g5UKEeqWd_6S3mbYXg" type="EnumerationLiteral_LiteralLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XZN9hJUKEeqWd_6S3mbYXg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XZN9hZUKEeqWd_6S3mbYXg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:EnumerationLiteral" href="AIML.profile.uml#_flb20IvIEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_XZN9hpUKEeqWd_6S3mbYXg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_XZN9h5UKEeqWd_6S3mbYXg" type="EnumerationLiteral_LiteralLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XZN9iJUKEeqWd_6S3mbYXg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XZN9iZUKEeqWd_6S3mbYXg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:EnumerationLiteral" href="AIML.profile.uml#_gV4cUIvIEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_XZN9ipUKEeqWd_6S3mbYXg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_XZN9i5UKEeqWd_6S3mbYXg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_XZN9jJUKEeqWd_6S3mbYXg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_XZN9jZUKEeqWd_6S3mbYXg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XZN9jpUKEeqWd_6S3mbYXg"/>
+      </children>
+      <styles xmi:type="notation:CanonicalStyle" xmi:id="_XZN9j5UKEeqWd_6S3mbYXg"/>
+      <element xmi:type="uml:Enumeration" href="AIML.profile.uml#_D6R-YIvIEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XZN9k5UKEeqWd_6S3mbYXg" x="510" y="330"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_XZPLgJUKEeqWd_6S3mbYXg" type="Enumeration_Shape">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XZPLgZUKEeqWd_6S3mbYXg" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XZPLgpUKEeqWd_6S3mbYXg" key="canonical" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_XZPLg5UKEeqWd_6S3mbYXg" type="Enumeration_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_XZPLhJUKEeqWd_6S3mbYXg" type="Enumeration_LiteralCompartment">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XZPLhZUKEeqWd_6S3mbYXg" source="PapyrusCSSForceValue">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XZPLhpUKEeqWd_6S3mbYXg" key="mutable" value="true"/>
+        </eAnnotations>
+        <children xmi:type="notation:Shape" xmi:id="_XZPLh5UKEeqWd_6S3mbYXg" type="EnumerationLiteral_LiteralLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XZPLiJUKEeqWd_6S3mbYXg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XZPLiZUKEeqWd_6S3mbYXg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:EnumerationLiteral" href="AIML.profile.uml#_FE7PwIvMEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_XZPLipUKEeqWd_6S3mbYXg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_XZPLi5UKEeqWd_6S3mbYXg" type="EnumerationLiteral_LiteralLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XZPLjJUKEeqWd_6S3mbYXg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XZPLjZUKEeqWd_6S3mbYXg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:EnumerationLiteral" href="AIML.profile.uml#_GM6ykIvMEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_XZPLjpUKEeqWd_6S3mbYXg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_XZPLj5UKEeqWd_6S3mbYXg" type="EnumerationLiteral_LiteralLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XZPLkJUKEeqWd_6S3mbYXg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XZPLkZUKEeqWd_6S3mbYXg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:EnumerationLiteral" href="AIML.profile.uml#_IXWp0IvMEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_XZPLkpUKEeqWd_6S3mbYXg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_XZPLk5UKEeqWd_6S3mbYXg" type="EnumerationLiteral_LiteralLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XZPLlJUKEeqWd_6S3mbYXg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XZPLlZUKEeqWd_6S3mbYXg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:EnumerationLiteral" href="AIML.profile.uml#_KEe6AIvMEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_XZPLlpUKEeqWd_6S3mbYXg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_XZPLl5UKEeqWd_6S3mbYXg" type="EnumerationLiteral_LiteralLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XZPLmJUKEeqWd_6S3mbYXg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XZPLmZUKEeqWd_6S3mbYXg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:EnumerationLiteral" href="AIML.profile.uml#_LzG_AIvMEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_XZPLmpUKEeqWd_6S3mbYXg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_XZPLm5UKEeqWd_6S3mbYXg" type="EnumerationLiteral_LiteralLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XZPLnJUKEeqWd_6S3mbYXg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XZPLnZUKEeqWd_6S3mbYXg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:EnumerationLiteral" href="AIML.profile.uml#_MmTWgIvMEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_XZPLnpUKEeqWd_6S3mbYXg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_XZPLn5UKEeqWd_6S3mbYXg" type="EnumerationLiteral_LiteralLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XZPLoJUKEeqWd_6S3mbYXg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XZPLoZUKEeqWd_6S3mbYXg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:EnumerationLiteral" href="AIML.profile.uml#_Ndwi8IvMEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_XZPLopUKEeqWd_6S3mbYXg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_XZPLo5UKEeqWd_6S3mbYXg" type="EnumerationLiteral_LiteralLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XZPLpJUKEeqWd_6S3mbYXg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XZPLpZUKEeqWd_6S3mbYXg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:EnumerationLiteral" href="AIML.profile.uml#_OHKFQIvMEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_XZPLppUKEeqWd_6S3mbYXg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_XZPLp5UKEeqWd_6S3mbYXg" type="EnumerationLiteral_LiteralLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XZPLqJUKEeqWd_6S3mbYXg" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XZPLqZUKEeqWd_6S3mbYXg" key="mutable" value="true"/>
+          </eAnnotations>
+          <element xmi:type="uml:EnumerationLiteral" href="AIML.profile.uml#_O3f9EIvMEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_XZPLqpUKEeqWd_6S3mbYXg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_XZPLq5UKEeqWd_6S3mbYXg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_XZPLrJUKEeqWd_6S3mbYXg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_XZPLrZUKEeqWd_6S3mbYXg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XZPLrpUKEeqWd_6S3mbYXg"/>
+      </children>
+      <styles xmi:type="notation:CanonicalStyle" xmi:id="_XZPLr5UKEeqWd_6S3mbYXg"/>
+      <element xmi:type="uml:Enumeration" href="AIML.profile.uml#_AiQ84IvMEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XZPLs5UKEeqWd_6S3mbYXg" x="730" y="330"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_yrEacZUJEeqWd_6S3mbYXg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_yrEacpUJEeqWd_6S3mbYXg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_yrEac5UJEeqWd_6S3mbYXg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_38DjAJT1Eeq5BK6mmo2rWg"/>
+    </styles>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_38DjAJT1Eeq5BK6mmo2rWg"/>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_0Oxo4JUJEeqWd_6S3mbYXg" type="PapyrusUMLProfileDiagram" name="Type of Data" measurementUnit="Pixel">
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_0Oxo4ZUJEeqWd_6S3mbYXg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_0Oxo4pUJEeqWd_6S3mbYXg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_0Oxo45UJEeqWd_6S3mbYXg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Package" href="AIML.profile.uml#_-8tiUJT1Eeq5BK6mmo2rWg"/>
+    </styles>
+    <element xmi:type="uml:Package" href="AIML.profile.uml#_-8tiUJT1Eeq5BK6mmo2rWg"/>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_10d0UJUJEeqWd_6S3mbYXg" type="PapyrusUMLProfileDiagram" name="Pooling_layers" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_8sExCK8WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sExCa8WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sExCq8WEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sExC68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sExDK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sExDa8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sExDq8WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sExD68WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sExEK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sExEa8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sExEq8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sExE68WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_vkD30IVTEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sExF68WEeqhVOlV64dXmA" x="970" y="550"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8sExGK8WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sExGa8WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sExGq8WEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sExG68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sExHK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sExHa8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sExHq8WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sExH68WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sExIK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sExIa8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sExIq8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sExI68WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_nMBrUIVSEeqvavUi0dxRAw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sExJ68WEeqhVOlV64dXmA" x="490" y="50"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8sExKK8WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sExKa8WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sExKq8WEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sExK68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sExLK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sExLa8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sExLq8WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sExL68WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sExMK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sExMa8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sExMq8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sExM68WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_sAviEIVTEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sExN68WEeqhVOlV64dXmA" x="1250" y="550"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8sFYAK8WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sFYAa8WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sFYAq8WEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sFYA68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sFYBK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sFYBa8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sFYBq8WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sFYB68WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sFYCK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sFYCa8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sFYCq8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sFYC68WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_QF-D0IVUEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sFYD68WEeqhVOlV64dXmA" x="-150" y="990"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8sFYGK8WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sFYGa8WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sFYGq8WEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sFYG68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sFYHK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sFYHa8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sFYHq8WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sFYH68WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sFYIK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sFYIa8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sFYIq8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sFYI68WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_Y8sCUIVTEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sFYJ68WEeqhVOlV64dXmA" x="1430" y="550"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8sFYOK8WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sFYOa8WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sFYOq8WEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_8sFYO68WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_tPrdkIVXEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_8sFYPK8WEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_8sFYPa8WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_uGxdoIVXEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_8sFYPq8WEeqhVOlV64dXmA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sFYP68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sFYQK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sFYQa8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sFYQq8WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sFYQ68WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sFYRK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sFYRa8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sFYRq8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sFYR68WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_rL8rQIVXEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sFYS68WEeqhVOlV64dXmA" x="-90" y="830"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8sFYXK8WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sFYXa8WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sFYXq8WEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_8sFYX68WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_vvW-UIVSEeqvavUi0dxRAw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_8sFYYK8WEeqhVOlV64dXmA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sFYYa8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sFYYq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sFYY68WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sFYZK8WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sFYZa8WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sFYZq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sFYZ68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sFYaK8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sFYaa8WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_spFw8IVSEeqvavUi0dxRAw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sFYba8WEeqhVOlV64dXmA" x="1070" y="210"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8sF_F68WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sF_GK8WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sF_Ga8WEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_8sF_Gq8WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_CkDW8IVUEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_8sF_G68WEeqhVOlV64dXmA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sF_HK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sF_Ha8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sF_Hq8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sF_H68WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sF_IK8WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sF_Ia8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sF_Iq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sF_I68WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sF_JK8WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_qYSzAIVSEeqvavUi0dxRAw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sF_KK8WEeqhVOlV64dXmA" x="330" y="210"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8sF_Ma8WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sF_Mq8WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sF_M68WEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_8sF_NK8WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_K3ga4IVUEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_8sF_Na8WEeqhVOlV64dXmA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sF_Nq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sF_N68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sF_OK8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sF_Oa8WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sF_Oq8WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sF_O68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sF_PK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sF_Pa8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sF_Pq8WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_H6da8IVUEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sF_Qq8WEeqhVOlV64dXmA" x="30" y="330"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8sF_S68WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sF_TK8WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sF_Ta8WEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sF_Tq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sF_T68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sF_UK8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sF_Ua8WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sF_Uq8WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sF_U68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sF_VK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sF_Va8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sF_Vq8WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_cdWFoIVTEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sF_Wq8WEeqhVOlV64dXmA" x="1570" y="550"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8sF_Y68WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sF_ZK8WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sF_Za8WEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sF_Zq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sF_Z68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sF_aK8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sF_aa8WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sF_aq8WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sF_a68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sF_bK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sF_ba8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sF_bq8WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_2J_tMIVXEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sF_cq8WEeqhVOlV64dXmA" x="90" y="990"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8sF_c68WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sF_dK8WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sF_da8WEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sF_dq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sF_d68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sF_eK8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sF_ea8WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sF_eq8WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sF_e68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sF_fK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sF_fa8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sF_fq8WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_XxquwIVVEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sF_gq8WEeqhVOlV64dXmA" x="330" y="630"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8sF_g68WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sF_hK8WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sF_ha8WEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_8sF_hq8WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_cdy_UIVYEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_8sF_h68WEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_8sF_iK8WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_dhzaAIVYEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_8sF_ia8WEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_8sF_iq8WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_fG5IgIVYEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_8sF_i68WEeqhVOlV64dXmA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sF_jK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sF_ja8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sF_jq8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sF_j68WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sF_kK8WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sF_ka8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sF_kq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sF_k68WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sF_lK8WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_Y3zwEIVYEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sF_mK8WEeqhVOlV64dXmA" x="710" y="370"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8sGmIK8WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sGmIa8WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sGmIq8WEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_8sGmI68WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_Y5DYIIVWEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_8sGmJK8WEeqhVOlV64dXmA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sGmJa8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sGmJq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sGmJ68WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sGmKK8WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sGmKa8WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sGmKq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sGmK68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sGmLK8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sGmLa8WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_TS3LsIVWEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sGmMa8WEeqhVOlV64dXmA" x="410" y="990"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8sGmSq8WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sGmS68WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sGmTK8WEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sGmTa8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sGmTq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sGmT68WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sGmUK8WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sGmUa8WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sGmUq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sGmU68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sGmVK8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sGmVa8WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_b9-hsIVWEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sGmWa8WEeqhVOlV64dXmA" x="430" y="1130"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8sGmWq8WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sGmW68WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sGmXK8WEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sGmXa8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sGmXq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sGmX68WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sGmYK8WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sGmYa8WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sGmYq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sGmY68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sGmZK8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sGmZa8WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_uVbhgIVTEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sGmaa8WEeqhVOlV64dXmA" x="1110" y="550"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8sGmaq8WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sGma68WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sGmbK8WEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sGmba8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sGmbq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sGmb68WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sGmcK8WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sGmca8WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sGmcq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sGmc68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sGmdK8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sGmda8WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_ddho4IVWEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sGmea8WEeqhVOlV64dXmA" x="590" y="1130"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8sGmeq8WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sGme68WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sGmfK8WEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_8sGmfa8WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_mqeLgIVUEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_8sGmfq8WEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_8sGmf68WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_jxSQMKZ3EeqIr7xwFiWQGQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_8sGmgK8WEeqhVOlV64dXmA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sGmga8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sGmgq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sGmg68WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sGmhK8WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sGmha8WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sGmhq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sGmh68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sGmiK8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sGmia8WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_h3EG4IVUEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sGmja8WEeqhVOlV64dXmA" x="-290" y="470"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8sGmjq8WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sGmj68WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sGmkK8WEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_8sGmka8WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_Ayj5QIVWEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_8sGmkq8WEeqhVOlV64dXmA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sGmk68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sGmlK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sGmla8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sGmlq8WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sGml68WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sGmmK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sGmma8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sGmmq8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sGmm68WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_6bJEMIVVEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sGmn68WEeqhVOlV64dXmA" x="290" y="830" width="161" height="101"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8sHNUK8WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sHNUa8WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sHNUq8WEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_8sHNU68WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_KnpSkIVXEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_8sHNVK8WEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_8sHNVa8WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_xBPDUKZ3EeqIr7xwFiWQGQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_8sHNVq8WEeqhVOlV64dXmA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sHNV68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sHNWK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sHNWa8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sHNWq8WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sHNW68WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sHNXK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sHNXa8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sHNXq8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sHNX68WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_Cfb1UIVXEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sHNY68WEeqhVOlV64dXmA" x="10" y="650"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8sHNdK8WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sHNda8WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sHNdq8WEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sHNd68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sHNeK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sHNea8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sHNeq8WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sHNe68WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sHNfK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sHNfa8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sHNfq8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sHNf68WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_1WhB0IVXEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sHNg68WEeqhVOlV64dXmA" x="-30" y="990"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8sHNhK8WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sH0QK8WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sH0Qa8WEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sH0Qq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sH0Q68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sH0RK8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sH0Ra8WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sH0Rq8WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sH0R68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sH0SK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sH0Sa8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sH0Sq8WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_y5HSoIVUEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sH0Tq8WEeqhVOlV64dXmA" x="-150" y="650"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8sH0T68WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sH0UK8WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sH0Ua8WEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sH0Uq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sH0U68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sH0VK8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sH0Va8WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sH0Vq8WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sH0V68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sH0WK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sH0Wa8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sH0Wq8WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_wYbekIVUEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sH0Xq8WEeqhVOlV64dXmA" x="-270" y="650"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8sH0X68WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sH0YK8WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sH0Ya8WEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_8sH0Yq8WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_3JChoIVSEeqvavUi0dxRAw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_8sH0Y68WEeqhVOlV64dXmA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sH0ZK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sH0Za8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sH0Zq8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sH0Z68WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sH0aK8WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sH0aa8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sH0aq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sH0a68WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sH0bK8WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_x9fp0IVSEeqvavUi0dxRAw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sH0cK8WEeqhVOlV64dXmA" x="1510" y="350"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8sH0ea8WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sH0eq8WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sH0e68WEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sH0fK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sH0fa8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sH0fq8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sH0f68WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sH0gK8WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sH0ga8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sH0gq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sH0g68WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sH0hK8WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_aIzlQIVVEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sH0iK8WEeqhVOlV64dXmA" x="450" y="630"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8sH0ia8WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sH0iq8WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sH0i68WEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sH0jK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sH0ja8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sH0jq8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sH0j68WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sH0kK8WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sH0ka8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sH0kq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sH0k68WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sH0lK8WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_dQfZ0IVTEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sH0mK8WEeqhVOlV64dXmA" x="1710" y="550"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8sIbWK8WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sIbWa8WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sIbWq8WEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sIbW68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sIbXK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sIbXa8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sIbXq8WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sIbX68WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sIbYK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sIbYa8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sIbYq8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sIbY68WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_VqZVsIVUEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sIbZ68WEeqhVOlV64dXmA" x="250" y="990"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8sIbeK8WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sIbea8WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sIbeq8WEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sIbe68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sIbfK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sIbfa8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sIbfq8WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sIbf68WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sIbgK8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sIbga8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sIbgq8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sIbg68WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_SVcMEIVUEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sIbh68WEeqhVOlV64dXmA" x="-390" y="650"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_8sIbiK8WEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sIbia8WEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sIbiq8WEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_8sIbi68WEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_K5-DkIVVEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_8sIbjK8WEeqhVOlV64dXmA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sIbja8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sIbjq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sIbj68WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sIbkK8WEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8sIbka8WEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8sIbkq8WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_8sIbk68WEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_8sIblK8WEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sIbla8WEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_FjbcsIVVEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8sIbma8WEeqhVOlV64dXmA" x="390" y="490" width="181" height="81"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_10d0UZUJEeqWd_6S3mbYXg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_10d0UpUJEeqWd_6S3mbYXg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_10d0U5UJEeqWd_6S3mbYXg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_Deu8AJT2Eeq5BK6mmo2rWg"/>
+    </styles>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_7YfQoJm2Eeq8nv7tV9lOqQ" name="css_stylesheets" eObjectListValue="_mci3oJm1Eeq8nv7tV9lOqQ"/>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_Deu8AJT2Eeq5BK6mmo2rWg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_8sEJ4K8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_8sExKK8WEeqhVOlV64dXmA" target="_8sFYXK8WEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sEJ4a8WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8sEJ4q8WEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8sEJ468WEeqhVOlV64dXmA" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8sEJ5K8WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_7a4U0IVTEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8sEJ5a8WEeqhVOlV64dXmA" points="[1290, 530, -643984, -643984]$[1210, 293, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sEJ5q8WEeqhVOlV64dXmA" id="(0.5084745762711864,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sEJ568WEeqhVOlV64dXmA" id="(0.8121827411167513,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8sEw8K8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_8sIbiK8WEeqhVOlV64dXmA" target="_8sF_Ma8WEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sEw8a8WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8sEw8q8WEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8sEw868WEeqhVOlV64dXmA" x="-155" y="96"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8sEw9K8WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_TaQCkIVVEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8sEw9a8WEeqhVOlV64dXmA" points="[390, 470, -643984, -643984]$[70, 413, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sEw9q8WEeqhVOlV64dXmA" id="(0.4419889502762431,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sEw968WEeqhVOlV64dXmA" id="(0.7228915662650602,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8sEw-K8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_8sIbWK8WEeqhVOlV64dXmA" target="_8sGmjq8WEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sEw-a8WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8sEw-q8WEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8sEw-68WEeqhVOlV64dXmA" x="1" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8sEw_K8WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_geEBsIVWEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8sEw_a8WEeqhVOlV64dXmA" points="[190, 970, -643984, -643984]$[250, 911, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sEw_q8WEeqhVOlV64dXmA" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sEw_68WEeqhVOlV64dXmA" id="(0.37267080745341613,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8sExAK8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_8sH0T68WEeqhVOlV64dXmA" target="_8sGmeq8WEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sExAa8WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8sExAq8WEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8sExA68WEeqhVOlV64dXmA" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8sExBK8WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_2i3nkIVUEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8sExBa8WEeqhVOlV64dXmA" points="[-250, 630, -643984, -643984]$[-230, 553, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sExBq8WEeqhVOlV64dXmA" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sExB68WEeqhVOlV64dXmA" id="(0.4419889502762431,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8sExOK8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_8sF_c68WEeqhVOlV64dXmA" target="_8sIbiK8WEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sExOa8WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8sExOq8WEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8sExO68WEeqhVOlV64dXmA" x="128" y="114"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8sExPK8WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_dGXikIVVEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8sExPa8WEeqhVOlV64dXmA" points="[350, 610, -643984, -643984]$[350, 551, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sExPq8WEeqhVOlV64dXmA" id="(0.8,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sExP68WEeqhVOlV64dXmA" id="(0.11049723756906077,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8sFYEK8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_8sGmjq8WEeqhVOlV64dXmA" target="_8sHNUK8WEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sFYEa8WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8sFYEq8WEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8sFYE68WEeqhVOlV64dXmA" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8sFYFK8WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_eWQLMIVXEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8sFYFa8WEeqhVOlV64dXmA" points="[10, 810, -643984, -643984]$[90, 733, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sFYFq8WEeqhVOlV64dXmA" id="(0.4968944099378882,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sFYF68WEeqhVOlV64dXmA" id="(0.837696335078534,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8sFYKK8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_8sF_S68WEeqhVOlV64dXmA" target="_8sH0X68WEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sFYKa8WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8sFYKq8WEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8sFYK68WEeqhVOlV64dXmA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8sFYLK8WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_hguf8IVTEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8sFYLa8WEeqhVOlV64dXmA" points="[1610, 530, -643984, -643984]$[1610, 433, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sFYLq8WEeqhVOlV64dXmA" id="(0.46153846153846156,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sFYL68WEeqhVOlV64dXmA" id="(0.5687203791469194,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8sFYMK8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_8sGmSq8WEeqhVOlV64dXmA" target="_8sGmIK8WEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sFYMa8WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8sFYMq8WEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8sFYM68WEeqhVOlV64dXmA" x="67" y="98"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8sFYNK8WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_e4Tk0IVWEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8sFYNa8WEeqhVOlV64dXmA" points="[390, 1110, -643984, -643984]$[410, 1073, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sFYNq8WEeqhVOlV64dXmA" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sFYN68WEeqhVOlV64dXmA" id="(0.36363636363636365,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8sFYTK8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_8sGmWq8WEeqhVOlV64dXmA" target="_8sFYXK8WEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sFYTa8WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8sFYTq8WEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8sFYT68WEeqhVOlV64dXmA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8sFYUK8WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_8DbikIVTEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8sFYUa8WEeqhVOlV64dXmA" points="[1150, 530, -643984, -643984]$[1150, 293, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sFYUq8WEeqhVOlV64dXmA" id="(0.5084745762711864,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sFYU68WEeqhVOlV64dXmA" id="(0.5076142131979695,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8sFYVK8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_8sFYAK8WEeqhVOlV64dXmA" target="_8sFYOK8WEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sFYVa8WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8sFYVq8WEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8sFYV68WEeqhVOlV64dXmA" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8sFYWK8WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_5a1L0IVXEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8sFYWa8WEeqhVOlV64dXmA" points="[-130, 970, -643984, -643984]$[-70, 929, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sFYWq8WEeqhVOlV64dXmA" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sFYW68WEeqhVOlV64dXmA" id="(0.1895734597156398,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8sFYbq8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_8sF_Y68WEeqhVOlV64dXmA" target="_8sFYOK8WEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sF_EK8WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8sF_Ea8WEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8sF_Eq8WEeqhVOlV64dXmA" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8sF_E68WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_6loyEIVXEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8sF_FK8WEeqhVOlV64dXmA" points="[130, 970, -643984, -643984]$[70, 929, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sF_Fa8WEeqhVOlV64dXmA" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sF_Fq8WEeqhVOlV64dXmA" id="(0.8530805687203792,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8sF_Ka8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_8sFYOK8WEeqhVOlV64dXmA" target="_8sHNUK8WEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sF_Kq8WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8sF_K68WEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8sF_LK8WEeqhVOlV64dXmA" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8sF_La8WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_zKvGwIVXEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8sF_Lq8WEeqhVOlV64dXmA" points="[-30, 810, -643984, -643984]$[70, 733, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sF_L68WEeqhVOlV64dXmA" id="(0.6635071090047393,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sF_MK8WEeqhVOlV64dXmA" id="(0.418848167539267,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8sF_Q68WEeqhVOlV64dXmA" type="Generalization_Edge" source="_8sGmeq8WEeqhVOlV64dXmA" target="_8sF_Ma8WEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sF_RK8WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8sF_Ra8WEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8sF_Rq8WEeqhVOlV64dXmA" x="-1" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8sF_R68WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_Ud9iUIVVEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8sF_SK8WEeqhVOlV64dXmA" points="[-170, 450, -643984, -643984]$[30, 413, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sF_Sa8WEeqhVOlV64dXmA" id="(0.7734806629834254,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sF_Sq8WEeqhVOlV64dXmA" id="(0.4819277108433735,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8sF_W68WEeqhVOlV64dXmA" type="Generalization_Edge" source="_8sF_g68WEeqhVOlV64dXmA" target="_8sF_F68WEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sF_XK8WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8sF_Xa8WEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8sF_Xq8WEeqhVOlV64dXmA" x="1" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8sF_X68WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_hzfRoIVYEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8sF_YK8WEeqhVOlV64dXmA" points="[770, 450, -643984, -643984]$[470, 293, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sF_Ya8WEeqhVOlV64dXmA" id="(0.2843601895734597,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sF_Yq8WEeqhVOlV64dXmA" id="(0.8290155440414507,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8sGmMq8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_8sGmaq8WEeqhVOlV64dXmA" target="_8sGmIK8WEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sGmM68WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8sGmNK8WEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8sGmNa8WEeqhVOlV64dXmA" x="8" y="135"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8sGmNq8WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_fQk64IVWEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8sGmN68WEeqhVOlV64dXmA" points="[550, 1110, -643984, -643984]$[510, 1073, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sGmOK8WEeqhVOlV64dXmA" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sGmOa8WEeqhVOlV64dXmA" id="(0.8181818181818182,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8sGmOq8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_8sF_F68WEeqhVOlV64dXmA" target="_8sExGK8WEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sGmO68WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8sGmPK8WEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8sGmPa8WEeqhVOlV64dXmA" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8sGmPq8WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_DTFDUIVYEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8sGmP68WEeqhVOlV64dXmA" points="[170, 170, -643984, -643984]$[510, 130, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sGmQK8WEeqhVOlV64dXmA" id="(0.6217616580310881,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sGmQa8WEeqhVOlV64dXmA" id="(0.4,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8sGmQq8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_8sExCK8WEeqhVOlV64dXmA" target="_8sFYXK8WEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sGmQ68WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8sGmRK8WEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8sGmRa8WEeqhVOlV64dXmA" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8sGmRq8WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_9Q2_AIVTEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8sGmR68WEeqhVOlV64dXmA" points="[1010, 530, -643984, -643984]$[1090, 293, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sGmSK8WEeqhVOlV64dXmA" id="(0.5084745762711864,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sGmSa8WEeqhVOlV64dXmA" id="(0.20304568527918782,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8sHNMK8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_8sH0X68WEeqhVOlV64dXmA" target="_8sFYXK8WEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sHNMa8WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8sHNMq8WEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8sHNM68WEeqhVOlV64dXmA" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8sHNNK8WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_i7emsIVTEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8sHNNa8WEeqhVOlV64dXmA" points="[1590, 330, -643984, -643984]$[1230, 293, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sHNNq8WEeqhVOlV64dXmA" id="(0.47393364928909953,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sHNN68WEeqhVOlV64dXmA" id="(0.9137055837563451,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8sHNOK8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_8sFYGK8WEeqhVOlV64dXmA" target="_8sH0X68WEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sHNOa8WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8sHNOq8WEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8sHNO68WEeqhVOlV64dXmA" x="1" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8sHNPK8WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_g8dVQIVTEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8sHNPa8WEeqhVOlV64dXmA" points="[1450, 530, -643984, -643984]$[1530, 433, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sHNPq8WEeqhVOlV64dXmA" id="(0.46153846153846156,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sHNP68WEeqhVOlV64dXmA" id="(0.1895734597156398,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8sHNQK8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_8sHNhK8WEeqhVOlV64dXmA" target="_8sGmeq8WEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sHNQa8WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8sHNQq8WEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8sHNQ68WEeqhVOlV64dXmA" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8sHNRK8WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_2DdHsIVUEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8sHNRa8WEeqhVOlV64dXmA" points="[-110, 630, -643984, -643984]$[-170, 553, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sHNRq8WEeqhVOlV64dXmA" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sHNR68WEeqhVOlV64dXmA" id="(0.7734806629834254,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8sHNSK8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_8sGmIK8WEeqhVOlV64dXmA" target="_8sGmjq8WEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sHNSa8WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8sHNSq8WEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8sHNS68WEeqhVOlV64dXmA" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8sHNTK8WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_f8tBEIVWEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8sHNTa8WEeqhVOlV64dXmA" points="[410, 970, -643984, -643984]$[310, 911, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sHNTq8WEeqhVOlV64dXmA" id="(0.36363636363636365,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sHNT68WEeqhVOlV64dXmA" id="(0.7453416149068323,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8sHNZK8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_8sF_Ma8WEeqhVOlV64dXmA" target="_8sF_F68WEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sHNZa8WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8sHNZq8WEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8sHNZ68WEeqhVOlV64dXmA" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8sHNaK8WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_2P_c8IVWEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8sHNaa8WEeqhVOlV64dXmA" points="[50, 310, -643984, -643984]$[130, 273, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sHNaq8WEeqhVOlV64dXmA" id="(0.6024096385542169,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sHNa68WEeqhVOlV64dXmA" id="(0.41450777202072536,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8sHNbK8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_8sIbeK8WEeqhVOlV64dXmA" target="_8sGmeq8WEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sHNba8WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8sHNbq8WEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8sHNb68WEeqhVOlV64dXmA" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8sHNcK8WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_3UmmgIVUEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8sHNca8WEeqhVOlV64dXmA" points="[-360, 1360, -643984, -643984]$[-280, 1283, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sHNcq8WEeqhVOlV64dXmA" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sHNc68WEeqhVOlV64dXmA" id="(0.22099447513812154,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8sH0ca8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_8sHNUK8WEeqhVOlV64dXmA" target="_8sGmeq8WEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sH0cq8WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8sH0c68WEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8sH0dK8WEeqhVOlV64dXmA" x="-1" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8sH0da8WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_V3zYMIVXEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8sH0dq8WEeqhVOlV64dXmA" points="[50, 630, -643984, -643984]$[-129, 510, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sH0d68WEeqhVOlV64dXmA" id="(0.31413612565445026,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sH0eK8WEeqhVOlV64dXmA" id="(1.0,0.5825242718446602)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8sIbUK8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_8sH0ia8WEeqhVOlV64dXmA" target="_8sH0X68WEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sIbUa8WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8sIbUq8WEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8sIbU68WEeqhVOlV64dXmA" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8sIbVK8WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_iK5eUIVTEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8sIbVa8WEeqhVOlV64dXmA" points="[1770, 530, -643984, -643984]$[1670, 433, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sIbVq8WEeqhVOlV64dXmA" id="(0.46153846153846156,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sIbV68WEeqhVOlV64dXmA" id="(0.8530805687203792,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8sIbaK8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_8sHNdK8WEeqhVOlV64dXmA" target="_8sFYOK8WEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sIbaa8WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8sIbaq8WEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8sIba68WEeqhVOlV64dXmA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8sIbbK8WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_6B2IgIVXEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8sIbba8WEeqhVOlV64dXmA" points="[10, 970, -643984, -643984]$[10, 929, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sIbbq8WEeqhVOlV64dXmA" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sIbb68WEeqhVOlV64dXmA" id="(0.5687203791469194,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8sIbcK8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_8sH0ea8WEeqhVOlV64dXmA" target="_8sIbiK8WEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sIbca8WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8sIbcq8WEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8sIbc68WEeqhVOlV64dXmA" x="120" y="131"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8sIbdK8WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_dg9M0IVVEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8sIbda8WEeqhVOlV64dXmA" points="[450, 610, -643984, -643984]$[450, 551, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sIbdq8WEeqhVOlV64dXmA" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sIbd68WEeqhVOlV64dXmA" id="(0.4419889502762431,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8sIbmq8WEeqhVOlV64dXmA" type="Generalization_Edge" source="_8sFYXK8WEeqhVOlV64dXmA" target="_8sExGK8WEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8sIbm68WEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8sIbnK8WEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8sIbna8WEeqhVOlV64dXmA" x="-633" y="148"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8sIbnq8WEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_CV1X8IVYEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8sIbn68WEeqhVOlV64dXmA" points="[830, 170, -643984, -643984]$[550, 130, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sIboK8WEeqhVOlV64dXmA" id="(0.5076142131979695,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8sIboa8WEeqhVOlV64dXmA" id="(0.8,1.0)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_3ORf4JUJEeqWd_6S3mbYXg" type="PapyrusUMLProfileDiagram" name="Padding_layers" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_cE3XsJULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_cE3XsZULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_cE3XspULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_cE3Xs5ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_cE3XtJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_cE3XtZULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cE3XtpULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_cE3Xt5ULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_cE3XuJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_cE3XuZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_cE3XupULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cE3Xu5ULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_okP-UIVZEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cE3Xv5ULEeqfMc95BD27pw" x="1090" y="310"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_cE3-wJULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_cE3-wZULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_cE3-wpULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_cE3-w5ULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_UZswkIVZEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_cE3-xJULEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_cE3-xZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_cE3-xpULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_cE3-x5ULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cE3-yJULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_cE3-yZULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_cE3-ypULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_cE3-y5ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_cE3-zJULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cE3-zZULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_w6iwUIVYEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cE3-0ZULEeqfMc95BD27pw" x="630" y="90"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_cE4l0JULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_cE4l0ZULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_cE4l0pULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_cE4l05ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_cE4l1JULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_cE4l1ZULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cE4l1pULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_cE4l15ULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_cE4l2JULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_cE4l2ZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_cE4l2pULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cE4l25ULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_cIwG8IVZEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cE4l35ULEeqfMc95BD27pw" x="410" y="310"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_cE5z8ZULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_cE5z8pULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_cE5z85ULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_cE5z9JULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_cE5z9ZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_cE5z9pULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cE5z95ULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_cE5z-JULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_cE5z-ZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_cE5z-pULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_cE5z-5ULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cE5z_JULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_fdB7IIVZEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cE50AJULEeqfMc95BD27pw" x="550" y="310"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_cE50AZULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_cE50ApULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_cE50A5ULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_cE50BJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_cE50BZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_cE50BpULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cE50B5ULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_cE50CJULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_cE50CZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_cE50CpULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_cE50C5ULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cE50DJULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_aphv4IVZEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cE50EJULEeqfMc95BD27pw" x="270" y="310"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_cE6bAJULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_cE6bAZULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_cE6bApULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_cE6bA5ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_cE6bBJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_cE6bBZULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cE6bBpULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_cE6bB5ULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_cE6bCJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_cE6bCZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_cE6bCpULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cE6bC5ULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_sNFGMIVZEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cE6bD5ULEeqfMc95BD27pw" x="1230" y="310"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_cE7CIJULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_cE7CIZULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_cE7CIpULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_cE7CI5ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_cE7CJJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_cE7CJZULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cE7CJpULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_cE7CJ5ULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_cE7CKJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_cE7CKZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_cE7CKpULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cE7CK5ULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_gxtPEIVZEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cE7CL5ULEeqfMc95BD27pw" x="690" y="310"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_cE7pIJULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_cE7pIZULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_cE7pIpULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_cE7pI5ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_cE7pJJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_cE7pJZULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cE7pJpULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_cE7pJ5ULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_cE7pKJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_cE7pKZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_cE7pKpULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cE7pK5ULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_kjrr4IVZEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cE7pL5ULEeqfMc95BD27pw" x="830" y="310"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_cE7pOZULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_cE7pOpULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_cE7pO5ULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_cE7pPJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_cE7pPZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_cE7pPpULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cE7pP5ULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_cE7pQJULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_cE7pQZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_cE7pQpULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_cE7pQ5ULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cE7pRJULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_mNvZ8IVZEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cE7pSJULEeqfMc95BD27pw" x="970" y="310"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_cE83QZULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_cE83QpULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_cE83Q5ULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_cE83RJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_cE83RZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_cE83RpULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cE83R5ULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_cE83SJULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_cE83SZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_cE83SpULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_cE83S5ULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cE83TJULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_YlZU8IVZEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cE83UJULEeqfMc95BD27pw" x="130" y="310"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_3ORf4ZUJEeqWd_6S3mbYXg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_3ORf4pUJEeqWd_6S3mbYXg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_3ORf45UJEeqWd_6S3mbYXg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_2_xEcJT2Eeq5BK6mmo2rWg"/>
+    </styles>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_2_xEcJT2Eeq5BK6mmo2rWg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_cE5M4JULEeqfMc95BD27pw" type="Generalization_Edge" source="_cE4l0JULEeqfMc95BD27pw" target="_cE3-wJULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_cE5M4ZULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_cE5M4pULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_cE5M45ULEeqfMc95BD27pw" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_cE5M5JULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_2srRkIVZEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_cE5M5ZULEeqfMc95BD27pw" points="[450, 290, -643984, -643984]$[650, 173, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cE5M5pULEeqfMc95BD27pw" id="(0.5714285714285714,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cE5M55ULEeqfMc95BD27pw" id="(0.272108843537415,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_cE5M6ZULEeqfMc95BD27pw" type="Generalization_Edge" source="_cE3XsJULEeqfMc95BD27pw" target="_cE3-wJULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_cE5M6pULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_cE5M65ULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_cE5M7JULEeqfMc95BD27pw" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_cE5M7ZULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_7KBmoIVZEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_cE5M7pULEeqfMc95BD27pw" points="[1130, 290, -643984, -643984]$[730, 173, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cE5M75ULEeqfMc95BD27pw" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cE5M8JULEeqfMc95BD27pw" id="(0.8163265306122449,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_cE6bEJULEeqfMc95BD27pw" type="Generalization_Edge" source="_cE5z8ZULEeqfMc95BD27pw" target="_cE3-wJULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_cE6bEZULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_cE6bEpULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_cE6bE5ULEeqfMc95BD27pw" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_cE6bFJULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_3Rpm4IVZEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_cE6bFZULEeqfMc95BD27pw" points="[590, 290, -643984, -643984]$[650, 173, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cE6bFpULEeqfMc95BD27pw" id="(0.5714285714285714,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cE6bF5ULEeqfMc95BD27pw" id="(0.272108843537415,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_cE7CEJULEeqfMc95BD27pw" type="Generalization_Edge" source="_cE50AZULEeqfMc95BD27pw" target="_cE3-wJULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_cE7CEZULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_cE7CEpULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_cE7CE5ULEeqfMc95BD27pw" x="-1" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_cE7CFJULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_0IHqIIVZEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_cE7CFZULEeqfMc95BD27pw" points="[310, 290, -643984, -643984]$[630, 173, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cE7CFpULEeqfMc95BD27pw" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cE7CF5ULEeqfMc95BD27pw" id="(0.1360544217687075,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_cE7CGJULEeqfMc95BD27pw" type="Generalization_Edge" source="_cE83QZULEeqfMc95BD27pw" target="_cE3-wJULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_cE7CGZULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_cE7CGpULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_cE7CG5ULEeqfMc95BD27pw" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_cE7CHJULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_zJF2EIVZEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_cE7CHZULEeqfMc95BD27pw" points="[150, 290, -643984, -643984]$[630, 173, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cE7CHpULEeqfMc95BD27pw" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cE7CH5ULEeqfMc95BD27pw" id="(0.1360544217687075,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_cE7pMJULEeqfMc95BD27pw" type="Generalization_Edge" source="_cE7pOZULEeqfMc95BD27pw" target="_cE3-wJULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_cE7pMZULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_cE7pMpULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_cE7pM5ULEeqfMc95BD27pw" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_cE7pNJULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_6g_QsIVZEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_cE7pNZULEeqfMc95BD27pw" points="[1010, 290, -643984, -643984]$[730, 173, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cE7pNpULEeqfMc95BD27pw" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cE7pN5ULEeqfMc95BD27pw" id="(0.8163265306122449,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_cE8QMJULEeqfMc95BD27pw" type="Generalization_Edge" source="_cE7CIJULEeqfMc95BD27pw" target="_cE3-wJULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_cE8QMZULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_cE8QMpULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_cE8QM5ULEeqfMc95BD27pw" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_cE8QNJULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_4uA3MIVZEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_cE8QNZULEeqfMc95BD27pw" points="[730, 290, -643984, -643984]$[650, 173, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cE8QNpULEeqfMc95BD27pw" id="(0.5714285714285714,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cE8QN5ULEeqfMc95BD27pw" id="(0.272108843537415,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_cE8QOJULEeqfMc95BD27pw" type="Generalization_Edge" source="_cE7pIJULEeqfMc95BD27pw" target="_cE3-wJULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_cE8QOZULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_cE8QOpULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_cE8QO5ULEeqfMc95BD27pw" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_cE8QPJULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_5Tm3kIVZEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_cE8QPZULEeqfMc95BD27pw" points="[870, 290, -643984, -643984]$[690, 173, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cE8QPpULEeqfMc95BD27pw" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cE8QP5ULEeqfMc95BD27pw" id="(0.54421768707483,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_cE8QQJULEeqfMc95BD27pw" type="Generalization_Edge" source="_cE6bAJULEeqfMc95BD27pw" target="_cE3-wJULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_cE8QQZULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_cE8QQpULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_cE8QQ5ULEeqfMc95BD27pw" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_cE8QRJULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_7vcA0IVZEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_cE8QRZULEeqfMc95BD27pw" points="[1270, 290, -643984, -643984]$[730, 173, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cE8QRpULEeqfMc95BD27pw" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cE8QR5ULEeqfMc95BD27pw" id="(0.8163265306122449,1.0)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_43OasJUJEeqWd_6S3mbYXg" type="PapyrusUMLProfileDiagram" name="Non-linear_activations_(weighted sum, nonlinearity)" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_kUJtUJULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUJtUZULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kUJtUpULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kUJtU5ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kUJtVJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kUJtVZULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUJtVpULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kUJtV5ULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kUJtWJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kUJtWZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kUJtWpULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUJtW5ULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_-FB30IVcEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUJtX5ULEeqfMc95BD27pw" x="2090" y="350"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_kUK7eJULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUK7eZULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kUK7epULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kUK7e5ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kUK7fJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kUK7fZULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUK7fpULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kUK7f5ULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kUK7gJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kUK7gZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kUK7gpULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUK7g5ULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_T9yJQIVcEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUK7h5ULEeqfMc95BD27pw" x="1450" y="510"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_kULiiJULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kULiiZULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kULiipULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kULii5ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kULijJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kULijZULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kULijpULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kULij5ULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kULikJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kULikZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kULikpULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kULik5ULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_ef3LcIVdEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kULil5ULEeqfMc95BD27pw" x="3230" y="350"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_kUMJmJULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUMJmZULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kUMJmpULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_kUMJm5ULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_MoLDEIVbEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kUMJnJULEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kUMJnZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kUMJnpULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kUMJn5ULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUMJoJULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kUMJoZULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kUMJopULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kUMJo5ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kUMJpJULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUMJpZULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_FFiYEIVbEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUMJqZULEeqfMc95BD27pw" x="30" y="510"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_kUMJqpULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUMJq5ULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kUMJrJULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kUMJrZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kUMJrpULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kUMJr5ULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUMJsJULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kUMJsZULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kUMJspULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kUMJs5ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kUMJtJULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUMJtZULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_Q694gIVcEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUMJuZULEeqfMc95BD27pw" x="1330" y="510"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_kUMwoJULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUMwoZULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kUMwopULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_kUMwo5ULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_H7n-8IVcEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kUMwpJULEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_kUMwpZULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_J_NnUIVcEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kUMwppULEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kUMwp5ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kUMwqJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kUMwqZULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUMwqpULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kUMwq5ULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kUMwrJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kUMwrZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kUMwrpULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUMwr5ULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_FyhkcIVcEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUMws5ULEeqfMc95BD27pw" x="2690" y="350"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_kUNXsJULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUNXsZULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kUNXspULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kUNXs5ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kUNXtJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kUNXtZULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUNXtpULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kUNXt5ULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kUNXuJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kUNXuZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kUNXupULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUNXu5ULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_dgIz0IVdEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUNXv5ULEeqfMc95BD27pw" x="2950" y="350"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_kUN-wJULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUN-wZULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kUN-wpULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_kUN-w5ULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_QsGykIVbEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kUN-xJULEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kUN-xZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kUN-xpULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kUN-x5ULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUN-yJULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kUN-yZULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kUN-ypULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kUN-y5ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kUN-zJULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUN-zZULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_O0zSsIVbEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUN-0ZULEeqfMc95BD27pw" x="1670" y="330"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_kUN-65ULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUN-7JULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kUN-7ZULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_kUN-7pULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_vrowYIVcEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kUN-75ULEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kUN-8JULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kUN-8ZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kUN-8pULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUN-85ULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kUN-9JULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kUN-9ZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kUN-9pULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kUN-95ULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUN--JULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_uYqFkIVcEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUN-_JULEeqfMc95BD27pw" x="990" y="510"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_kUN-_ZULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUN-_pULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kUN-_5ULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_kUN_AJULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_FZhZIIVdEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kUN_AZULEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_kUN_ApULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_KHN3UIVdEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kUN_A5ULEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kUN_BJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kUN_BZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kUN_BpULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUN_B5ULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kUN_CJULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kUN_CZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kUN_CpULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kUN_C5ULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUN_DJULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_AXPyEIVdEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUN_EJULEeqfMc95BD27pw" x="1890" y="350"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_kUOl2JULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUOl2ZULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kUOl2pULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kUOl25ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kUOl3JULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kUOl3ZULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUOl3pULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kUOl35ULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kUOl4JULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kUOl4ZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kUOl4pULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUOl45ULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_hnumMIVbEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUOl55ULEeqfMc95BD27pw" x="2330" y="350"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_kUOl6JULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUOl6ZULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kUOl6pULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kUOl65ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kUOl7JULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kUOl7ZULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUOl7pULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kUOl75ULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kUOl8JULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kUOl8ZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kUOl8pULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUOl85ULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_PQkzQIVcEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUOl95ULEeqfMc95BD27pw" x="1210" y="510"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_kUOmAJULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUOmAZULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kUOmApULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kUOmA5ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kUOmBJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kUOmBZULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUOmBpULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kUOmB5ULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kUOmCJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kUOmCZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kUOmCpULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUOmC5ULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#__HL4YIVcEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUOmD5ULEeqfMc95BD27pw" x="2210" y="350"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_kUOmEZULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUOmEpULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kUOmE5ULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_kUOmFJULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_pyKbkIVcEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kUOmFZULEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_kUOmFpULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_qj-TAIVcEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kUOmF5ULEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kUOmGJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kUOmGZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kUOmGpULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUOmG5ULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kUOmHJULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kUOmHZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kUOmHpULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kUOmH5ULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUOmIJULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_oPGGUIVcEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUOmJJULEeqfMc95BD27pw" x="490" y="510"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_kUPM4JULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUPM4ZULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kUPM4pULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_kUPM45ULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_oCRnwIVbEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kUPM5JULEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_kUPM5ZULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_pXDCUIVbEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kUPM5pULEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_kUPM55ULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_qHZhMIVbEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kUPM6JULEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_kUPM6ZULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_qxdK0IVbEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kUPM6pULEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_kUPM65ULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_rp_8YIVbEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kUPM7JULEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_kUPM7ZULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_uscZsIVbEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kUPM7pULEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_kUPM75ULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_wd6XUIVbEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kUPM8JULEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_kUPM8ZULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_w_bI8IVbEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kUPM8pULEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kUPM85ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kUPM9JULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kUPM9ZULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUPM9pULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kUPM95ULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kUPM-JULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kUPM-ZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kUPM-pULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUPM-5ULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_mNXUkIVbEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUPM_5ULEeqfMc95BD27pw" x="2449" y="353"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_kUPz8JULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUPz8ZULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kUPz8pULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_kUPz85ULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_Ki9qEIVbEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kUPz9JULEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kUPz9ZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kUPz9pULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kUPz95ULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUPz-JULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kUPz-ZULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kUPz-pULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kUPz-5ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kUPz_JULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUPz_ZULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_Im3JwIVbEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUP0AZULEeqfMc95BD27pw" x="710" y="330"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_kUP0ApULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUP0A5ULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kUP0BJULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kUP0BZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kUP0BpULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kUP0B5ULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUP0CJULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kUP0CZULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kUP0CpULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kUP0C5ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kUP0DJULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUP0DZULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_Tr5SkIVdEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUP0EZULEeqfMc95BD27pw" x="1650" y="510"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_kUP0GpULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUP0G5ULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kUP0HJULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kUP0HZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kUP0HpULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kUP0H5ULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUP0IJULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kUP0IZULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kUP0IpULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kUP0I5ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kUP0JJULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUP0JZULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_AwFawIVbEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUP0KZULEeqfMc95BD27pw" x="1570" y="50"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_kUQbAJULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUQbAZULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kUQbApULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kUQbA5ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kUQbBJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kUQbBZULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUQbBpULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kUQbB5ULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kUQbCJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kUQbCZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kUQbCpULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUQbC5ULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_kIQXUIVdEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUQbD5ULEeqfMc95BD27pw" x="3090" y="350"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_kUQbGZULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUQbGpULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kUQbG5ULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_kUQbHJULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_6bNcAIVdEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kUQbHZULEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_kUQbHpULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_7aGGIIVdEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kUQbH5ULEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kUQbIJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kUQbIZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kUQbIpULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUQbI5ULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kUQbJJULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kUQbJZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kUQbJpULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kUQbJ5ULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUQbKJULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_4wdxcIVdEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUQbLJULEeqfMc95BD27pw" x="730" y="510"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_kUQbLpULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUQbL5ULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kUQbMJULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kUQbMZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kUQbMpULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kUQbM5ULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUQbNJULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kUQbNZULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kUQbNpULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kUQbN5ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kUQbOJULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUQbOZULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_Q1o3IIVdEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kUQbPZULEeqfMc95BD27pw" x="1784" y="507"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_kURCEJULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kURCEZULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kURCEpULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_kURCE5ULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_VlPEsIVbEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kURCFJULEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kURCFZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kURCFpULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kURCF5ULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kURCGJULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_kURCGZULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_kURCGpULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_kURCG5ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_kURCHJULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kURCHZULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_T1MDYIVbEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kURCIZULEeqfMc95BD27pw" x="230" y="510"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_43OasZUJEeqWd_6S3mbYXg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_43OaspUJEeqWd_6S3mbYXg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_43Oas5UJEeqWd_6S3mbYXg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_H7fbMJT2Eeq5BK6mmo2rWg"/>
+    </styles>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_C6QOkJnbEeqZJ7Fgbu454w" name="css_stylesheets" eObjectListValue="_mci3oJm1Eeq8nv7tV9lOqQ"/>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_H7fbMJT2Eeq5BK6mmo2rWg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_kUIfMJULEeqfMc95BD27pw" type="Generalization_Edge" source="_kUN-wJULEeqfMc95BD27pw" target="_kUP0GpULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUIfMZULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_kUIfMpULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_kUIfM5ULEeqfMc95BD27pw" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_kUIfNJULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_Kab40IVeEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kUIfNZULEeqfMc95BD27pw" points="[1730, 310, -643984, -643984]$[1590, 130, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUIfNpULEeqfMc95BD27pw" id="(0.4678362573099415,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUIfN5ULEeqfMc95BD27pw" id="(0.1384083044982699,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_kUKUYJULEeqfMc95BD27pw" type="Generalization_Edge" source="_kUQbAJULEeqfMc95BD27pw" target="_kUP0GpULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUKUYZULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_kUKUYpULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_kUKUY5ULEeqfMc95BD27pw" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_kUKUZJULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_dbS6oIVeEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kUKUZZULEeqfMc95BD27pw" points="[3110, 330, -643984, -643984]$[1810, 130, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUKUZpULEeqfMc95BD27pw" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUKUZ5ULEeqfMc95BD27pw" id="(0.8996539792387543,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_kUK7cJULEeqfMc95BD27pw" type="Generalization_Edge" source="_kUMwoJULEeqfMc95BD27pw" target="_kUP0GpULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUK7cZULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_kUK7cpULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_kUK7c5ULEeqfMc95BD27pw" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_kUK7dJULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_fZNY0IVeEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kUK7dZULEeqfMc95BD27pw" points="[2750, 330, -643984, -643984]$[1810, 130, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUK7dpULEeqfMc95BD27pw" id="(0.35398230088495575,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUK7d5ULEeqfMc95BD27pw" id="(0.8996539792387543,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_kULigJULEeqfMc95BD27pw" type="Generalization_Edge" source="_kULiiJULEeqfMc95BD27pw" target="_kUP0GpULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kULigZULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_kULigpULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_kULig5ULEeqfMc95BD27pw" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_kULihJULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_bY_rsIVeEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kULihZULEeqfMc95BD27pw" points="[3270, 330, -643984, -643984]$[1810, 130, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kULihpULEeqfMc95BD27pw" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kULih5ULEeqfMc95BD27pw" id="(0.8996539792387543,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_kUMJkJULEeqfMc95BD27pw" type="Generalization_Edge" source="_kUMJmJULEeqfMc95BD27pw" target="_kUPz8JULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUMJkZULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_kUMJkpULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_kUMJk5ULEeqfMc95BD27pw" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_kUMJlJULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_ckA0sIVbEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kUMJlZULEeqfMc95BD27pw" points="[170, 490, -643984, -643984]$[230, 413, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUMJlpULEeqfMc95BD27pw" id="(0.6024096385542169,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUMJl5ULEeqfMc95BD27pw" id="(0.0664451827242525,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_kUMwtZULEeqfMc95BD27pw" type="Generalization_Edge" source="_kURCEJULEeqfMc95BD27pw" target="_kUPz8JULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUMwtpULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_kUMwt5ULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_kUMwuJULEeqfMc95BD27pw" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_kUMwuZULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_dEj9AIVbEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kUMwupULEeqfMc95BD27pw" points="[410, 490, -643984, -643984]$[370, 413, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUMwu5ULEeqfMc95BD27pw" id="(0.18604651162790697,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUMwvJULEeqfMc95BD27pw" id="(0.39867109634551495,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_kUNXwJULEeqfMc95BD27pw" type="Generalization_Edge" source="_kUNXsJULEeqfMc95BD27pw" target="_kUP0GpULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUNXwZULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_kUNXwpULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_kUNXw5ULEeqfMc95BD27pw" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_kUNXxJULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_esL6wIVeEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kUNXxZULEeqfMc95BD27pw" points="[2970, 330, -643984, -643984]$[1810, 130, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUNXxpULEeqfMc95BD27pw" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUNXx5ULEeqfMc95BD27pw" id="(0.8996539792387543,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_kUNXyJULEeqfMc95BD27pw" type="Generalization_Edge" source="_kUK7eJULEeqfMc95BD27pw" target="_kUPz8JULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUNXyZULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_kUNXypULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_kUNXy5ULEeqfMc95BD27pw" x="-37" y="65"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_kUNXzJULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_X3PuIIVcEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kUNXzZULEeqfMc95BD27pw" points="[1330, 490, -643984, -643984]$[950, 413, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUNXzpULEeqfMc95BD27pw" id="(0.2,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUNXz5ULEeqfMc95BD27pw" id="(0.8637873754152824,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_kUNX0JULEeqfMc95BD27pw" type="Generalization_Edge" source="_kUPM4JULEeqfMc95BD27pw" target="_kUP0GpULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUNX0ZULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_kUNX0pULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_kUNX05ULEeqfMc95BD27pw" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_kUNX1JULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_gMwVoIVeEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kUNX1ZULEeqfMc95BD27pw" points="[2510, 333, -643984, -643984]$[1790, 130, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUNX1pULEeqfMc95BD27pw" id="(0.38571428571428573,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUNX15ULEeqfMc95BD27pw" id="(0.8304498269896193,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_kUNX2JULEeqfMc95BD27pw" type="Generalization_Edge" source="_kUJtUJULEeqfMc95BD27pw" target="_kUP0GpULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUNX2ZULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_kUNX2pULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_kUNX25ULEeqfMc95BD27pw" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_kUNX3JULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_SfSgEIVeEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kUNX3ZULEeqfMc95BD27pw" points="[2110, 330, -643984, -643984]$[1650, 130, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUNX3pULEeqfMc95BD27pw" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUNX35ULEeqfMc95BD27pw" id="(0.3460207612456747,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_kUN-0pULEeqfMc95BD27pw" type="Generalization_Edge" source="_kUMJqpULEeqfMc95BD27pw" target="_kUPz8JULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUN-05ULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_kUN-1JULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_kUN-1ZULEeqfMc95BD27pw" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_kUN-1pULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_XLnXMIVcEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kUN-15ULEeqfMc95BD27pw" points="[1250, 490, -643984, -643984]$[950, 413, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUN-2JULEeqfMc95BD27pw" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUN-2ZULEeqfMc95BD27pw" id="(0.8637873754152824,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_kUN-2pULEeqfMc95BD27pw" type="Generalization_Edge" source="_kUOmEZULEeqfMc95BD27pw" target="_kUPz8JULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUN-25ULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_kUN-3JULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_kUN-3ZULEeqfMc95BD27pw" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_kUN-3pULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_yH-P8IVcEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kUN-35ULEeqfMc95BD27pw" points="[570, 490, -643984, -643984]$[570, 413, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUN-4JULEeqfMc95BD27pw" id="(0.5952380952380952,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUN-4ZULEeqfMc95BD27pw" id="(0.53156146179402,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_kUN-45ULEeqfMc95BD27pw" type="Generalization_Edge" source="_kUOmAJULEeqfMc95BD27pw" target="_kUP0GpULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUN-5JULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_kUN-5ZULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_kUN-5pULEeqfMc95BD27pw" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_kUN-55ULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_heXHcIVeEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kUN-6JULEeqfMc95BD27pw" points="[2230, 330, -643984, -643984]$[1750, 130, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUN-6ZULEeqfMc95BD27pw" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUN-6pULEeqfMc95BD27pw" id="(0.6920415224913494,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_kUOl0JULEeqfMc95BD27pw" type="Generalization_Edge" source="_kUQbLpULEeqfMc95BD27pw" target="_kUN-wJULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUOl0ZULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_kUOl0pULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_kUOl05ULEeqfMc95BD27pw" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_kUOl1JULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_WoPu8IVdEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kUOl1ZULEeqfMc95BD27pw" points="[1810, 487, -643984, -643984]$[1750, 413, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUOl1pULEeqfMc95BD27pw" id="(0.46,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUOl15ULEeqfMc95BD27pw" id="(0.5847953216374269,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_kUOl-JULEeqfMc95BD27pw" type="Generalization_Edge" source="_kUOl2JULEeqfMc95BD27pw" target="_kUP0GpULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUOl-ZULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_kUOl-pULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_kUOl-5ULEeqfMc95BD27pw" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_kUOl_JULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_g0PMYIVeEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kUOl_ZULEeqfMc95BD27pw" points="[2350, 330, -643984, -643984]$[1770, 130, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUOl_pULEeqfMc95BD27pw" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUOl_5ULEeqfMc95BD27pw" id="(0.7612456747404844,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_kUPNAJULEeqfMc95BD27pw" type="Generalization_Edge" source="_kUN-_ZULEeqfMc95BD27pw" target="_kUP0GpULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUPNAZULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_kUPNApULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_kUPNA5ULEeqfMc95BD27pw" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_kUPNBJULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_LicCsIVeEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kUPNBZULEeqfMc95BD27pw" points="[1910, 330, -643984, -643984]$[1630, 130, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUPNBpULEeqfMc95BD27pw" id="(0.21390374331550802,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUPNB5ULEeqfMc95BD27pw" id="(0.2768166089965398,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_kUPNCZULEeqfMc95BD27pw" type="Generalization_Edge" source="_kUPz8JULEeqfMc95BD27pw" target="_kUP0GpULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUPNCpULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_kUPNC5ULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_kUPNDJULEeqfMc95BD27pw" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_kUPNDZULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_dfBEYIVbEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kUPNDpULEeqfMc95BD27pw" points="[310, 310, -643984, -643984]$[390, 270, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUPND5ULEeqfMc95BD27pw" id="(0.5980066445182725,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUPNEJULEeqfMc95BD27pw" id="(0.0,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_kUPNEZULEeqfMc95BD27pw" type="Generalization_Edge" source="_kUP0ApULEeqfMc95BD27pw" target="_kUN-wJULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUPNEpULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_kUPNE5ULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_kUPNFJULEeqfMc95BD27pw" x="1" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_kUPNFZULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_WKteYIVdEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kUPNFpULEeqfMc95BD27pw" points="[1670, 490, -643984, -643984]$[1710, 413, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUPNF5ULEeqfMc95BD27pw" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUPNGJULEeqfMc95BD27pw" id="(0.3508771929824561,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_kUPNGpULEeqfMc95BD27pw" type="Generalization_Edge" source="_kUQbGZULEeqfMc95BD27pw" target="_kUPz8JULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUPNG5ULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_kUPNHJULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_kUPNHZULEeqfMc95BD27pw" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_kUPNHpULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_8qf-EIVdEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kUPNH5ULEeqfMc95BD27pw" points="[810, 490, -643984, -643984]$[870, 413, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUPNIJULEeqfMc95BD27pw" id="(0.5347593582887701,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUPNIZULEeqfMc95BD27pw" id="(0.5980066445182725,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_kUP0EpULEeqfMc95BD27pw" type="Generalization_Edge" source="_kUN-65ULEeqfMc95BD27pw" target="_kUPz8JULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUP0E5ULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_kUP0FJULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_kUP0FZULEeqfMc95BD27pw" x="-1" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_kUP0FpULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_ymuBcIVcEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kUP0F5ULEeqfMc95BD27pw" points="[1070, 490, -643984, -643984]$[910, 413, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUP0GJULEeqfMc95BD27pw" id="(0.6024096385542169,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUP0GZULEeqfMc95BD27pw" id="(0.7308970099667774,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_kUQbEJULEeqfMc95BD27pw" type="Generalization_Edge" source="_kUOl6JULEeqfMc95BD27pw" target="_kUPz8JULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kUQbEZULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_kUQbEpULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_kUQbE5ULEeqfMc95BD27pw" x="-1" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_kUQbFJULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_WsaSsIVcEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kUQbFZULEeqfMc95BD27pw" points="[1110, 490, -643984, -643984]$[950, 413, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUQbFpULEeqfMc95BD27pw" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kUQbF5ULEeqfMc95BD27pw" id="(0.8637873754152824,1.0)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_6JCn4JUJEeqWd_6S3mbYXg" type="PapyrusUMLProfileDiagram" name="Non-linear_activations_(other)" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_y2OPoJULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_y2OPoZULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_y2OPopULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_y2OPo5ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_y2OPpJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_y2OPpZULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y2OPppULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_y2OPp5ULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_y2OPqJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_y2OPqZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_y2OPqpULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y2OPq5ULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_n_v7YIVfEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y2OPr5ULEeqfMc95BD27pw" x="-410" y="190"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_y2PdwJULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_y2PdwZULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_y2PdwpULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_y2Pdw5ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_y2PdxJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_y2PdxZULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y2PdxpULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_y2Pdx5ULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_y2PdyJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_y2PdyZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_y2PdypULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y2Pdy5ULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_lbyw4IVfEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y2Pdz5ULEeqfMc95BD27pw" x="-830" y="390"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_y2Qr4JULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_y2Qr4ZULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_y2Qr4pULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_y2Qr45ULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_zzHbwIVfEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_y2Qr5JULEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_y2Qr5ZULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_09lDwIVfEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_y2Qr5pULEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_y2Qr55ULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_1jP8oIVfEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_y2Qr6JULEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_y2Qr6ZULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_2sVroIVfEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_y2Qr6pULEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_y2Qr65ULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_3ZGrAIVfEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_y2Qr7JULEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_y2Qr7ZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_y2Qr7pULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_y2Qr75ULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y2Qr8JULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_y2Qr8ZULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_y2Qr8pULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_y2Qr85ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_y2Qr9JULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y2Qr9ZULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_vpbpkIVfEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y2Qr-ZULEeqfMc95BD27pw" x="-250" y="190"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_y2R6CZULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_y2R6CpULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_y2R6C5ULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_y2R6DJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_y2R6DZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_y2R6DpULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y2R6D5ULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_y2R6EJULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_y2R6EZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_y2R6EpULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_y2R6E5ULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y2R6FJULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_nBjNwIVfEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y2R6GJULEeqfMc95BD27pw" x="-710" y="390"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_y2ShEJULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_y2ShEZULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_y2ShEpULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_y2ShE5ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_y2ShFJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_y2ShFZULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y2ShFpULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_y2ShF5ULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_y2ShGJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_y2ShGZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_y2ShGpULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y2ShG5ULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_HyCdwIVfEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y2ShH5ULEeqfMc95BD27pw" x="-630" y="10"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_y2TIKJULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_y2TIKZULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_y2TIKpULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_y2TIK5ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_y2TILJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_y2TILZULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y2TILpULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_y2TIL5ULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_y2TIMJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_y2TIMZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_y2TIMpULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y2TIM5ULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_qeP-IIVfEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y2TIN5ULEeqfMc95BD27pw" x="-590" y="390"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_y2TvMJULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_y2TvMZULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_y2TvMpULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_y2TvM5ULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_f3_xIIVfEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_y2TvNJULEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_y2TvNZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_y2TvNpULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_y2TvN5ULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y2TvOJULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_y2TvOZULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_y2TvOpULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_y2TvO5ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_y2TvPJULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y2TvPZULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_en-TsIVfEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_y2TvQZULEeqfMc95BD27pw" x="-730" y="190"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_6JCn4ZUJEeqWd_6S3mbYXg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_6JCn4pUJEeqWd_6S3mbYXg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_6JCn45UJEeqWd_6S3mbYXg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_K1H6wJT2Eeq5BK6mmo2rWg"/>
+    </styles>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_K1H6wJT2Eeq5BK6mmo2rWg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_y2QE0JULEeqfMc95BD27pw" type="Generalization_Edge" source="_y2TvMJULEeqfMc95BD27pw" target="_y2ShEJULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_y2QE0ZULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_y2QE0pULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_y2QE05ULEeqfMc95BD27pw" x="1" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_y2QE1JULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_98A-YIVfEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_y2QE1ZULEeqfMc95BD27pw" points="[-630, 170, -643984, -643984]$[-610, 90, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_y2QE1pULEeqfMc95BD27pw" id="(0.6486486486486487,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_y2QE15ULEeqfMc95BD27pw" id="(0.23121387283236994,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_y2RS8JULEeqfMc95BD27pw" type="Generalization_Edge" source="_y2Qr4JULEeqfMc95BD27pw" target="_y2ShEJULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_y2RS8ZULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_y2RS8pULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_y2RS85ULEeqfMc95BD27pw" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_y2RS9JULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_8okZgIVfEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_y2RS9ZULEeqfMc95BD27pw" points="[-170, 170, -643984, -643984]$[-510, 90, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_y2RS9pULEeqfMc95BD27pw" id="(0.5154639175257731,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_y2RS95ULEeqfMc95BD27pw" id="(0.8092485549132948,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_y2RS-JULEeqfMc95BD27pw" type="Generalization_Edge" source="_y2TIKJULEeqfMc95BD27pw" target="_y2TvMJULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_y2RS-ZULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_y2RS-pULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_y2RS-5ULEeqfMc95BD27pw" x="-1" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_y2RS_JULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_-m_OAIVfEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_y2RS_ZULEeqfMc95BD27pw" points="[-550, 370, -643984, -643984]$[-610, 273, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_y2RS_pULEeqfMc95BD27pw" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_y2RS_5ULEeqfMc95BD27pw" id="(0.7567567567567568,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_y2R6AJULEeqfMc95BD27pw" type="Generalization_Edge" source="_y2PdwJULEeqfMc95BD27pw" target="_y2TvMJULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_y2R6AZULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_y2R6ApULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_y2R6A5ULEeqfMc95BD27pw" x="24" y="118"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_y2R6BJULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#__rKAwIVfEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_y2R6BZULEeqfMc95BD27pw" points="[-790, 370, -643984, -643984]$[-710, 273, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_y2R6BpULEeqfMc95BD27pw" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_y2R6B5ULEeqfMc95BD27pw" id="(0.21621621621621623,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_y2TIIJULEeqfMc95BD27pw" type="Generalization_Edge" source="_y2OPoJULEeqfMc95BD27pw" target="_y2ShEJULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_y2TIIZULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_y2TIIpULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_y2TII5ULEeqfMc95BD27pw" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_y2TIJJULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_9EA_YIVfEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_y2TIJZULEeqfMc95BD27pw" points="[-390, 170, -643984, -643984]$[-530, 90, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_y2TIJpULEeqfMc95BD27pw" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_y2TIJ5ULEeqfMc95BD27pw" id="(0.6936416184971098,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_y2TIOJULEeqfMc95BD27pw" type="Generalization_Edge" source="_y2R6CZULEeqfMc95BD27pw" target="_y2TvMJULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_y2TIOZULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_y2TIOpULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_y2TIO5ULEeqfMc95BD27pw" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_y2TIPJULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#__G9ukIVfEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_y2TIPZULEeqfMc95BD27pw" points="[-670, 370, -643984, -643984]$[-670, 273, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_y2TIPpULEeqfMc95BD27pw" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_y2TIP5ULEeqfMc95BD27pw" id="(0.43243243243243246,1.0)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_7PFC4JUJEeqWd_6S3mbYXg" type="PapyrusUMLProfileDiagram" name="Normalization_layers" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="__By0oJULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="__By0oZULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="__By0opULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="__By0o5ULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_KI-OAIVhEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="__By0pJULEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="__By0pZULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_OsXgsIVhEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="__By0ppULEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="__By0p5ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="__By0qJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="__By0qZULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__By0qpULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="__By0q5ULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="__By0rJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="__By0rZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="__By0rpULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__By0r5ULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_GstigIVhEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="__By0s5ULEeqfMc95BD27pw" x="10" y="-750"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="__B0p0JULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="__B0p0ZULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="__B0p0pULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="__B0p05ULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_iVdAIIVhEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="__B0p1JULEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="__B0p1ZULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_ygFbsIVhEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="__B0p1pULEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="__B0p15ULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_2tKgIIVhEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="__B0p2JULEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="__B0p2ZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="__B0p2pULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="__B0p25ULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__B0p3JULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="__B0p3ZULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="__B0p3pULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="__B0p35ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="__B0p4JULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__B0p4ZULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_fbbfAIVhEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="__B0p5ZULEeqfMc95BD27pw" x="950" y="-590"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="__B0p5pULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="__B0p55ULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="__B0p6JULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="__B0p6ZULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_gvtxYIVhEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="__B0p6pULEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="__B0p65ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="__B0p7JULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="__B0p7ZULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__B0p7pULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="__B0p75ULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="__B0p8JULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="__B0p8ZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="__B0p8pULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__B0p85ULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_bf7SwIVhEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="__B0p95ULEeqfMc95BD27pw" x="330" y="-750"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="__B1Q6ZULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="__B1Q6pULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="__B1Q65ULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="__B1Q7JULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="__B1Q7ZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="__B1Q7pULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__B1Q75ULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="__B1Q8JULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="__B1Q8ZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="__B1Q8pULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="__B1Q85ULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__B1Q9JULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_BDZUIIViEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="__B1Q-JULEeqfMc95BD27pw" x="510" y="-370"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="__B138JULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="__B138ZULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="__B138pULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="__B1385ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="__B139JULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="__B139ZULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__B139pULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="__B1395ULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="__B13-JULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="__B13-ZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="__B13-pULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__B13-5ULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_OF6vQIViEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="__B13_5ULEeqfMc95BD27pw" x="1210" y="-370"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="__B14AJULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="__B14AZULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="__B14ApULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="__B14A5ULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_mNNU0IVhEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="__B14BJULEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="__B14BZULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_njZrsIVhEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="__B14BpULEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="__B14B5ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="__B14CJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="__B14CZULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__B14CpULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="__B14C5ULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="__B14DJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="__B14DZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="__B14DpULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__B14D5ULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_kVSw8IVhEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="__B14E5ULEeqfMc95BD27pw" x="270" y="-590"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="__B14FJULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="__B14FZULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="__B14FpULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="__B14F5ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="__B14GJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="__B14GZULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__B14GpULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="__B14G5ULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="__B14HJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="__B14HZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="__B14HpULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__B14H5ULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_SiGmsIViEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="__B14I5ULEeqfMc95BD27pw" x="1450" y="-370"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="__B2fApULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="__B2fA5ULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="__B2fBJULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="__B2fBZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="__B2fBpULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="__B2fB5ULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__B2fCJULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="__B2fCZULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="__B2fCpULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="__B2fC5ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="__B2fDJULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__B2fDZULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_ws_i4IVgEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="__B2fEZULEeqfMc95BD27pw" x="210" y="-1110"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="__B3GEZULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="__B3GEpULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="__B3GE5ULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="__B3GFJULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_K2rMEIViEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="__B3GFZULEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="__B3GFpULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="__B3GF5ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="__B3GGJULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__B3GGZULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="__B3GGpULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="__B3GG5ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="__B3GHJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="__B3GHZULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__B3GHpULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_Ikef8IViEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="__B3GIpULEeqfMc95BD27pw" x="950" y="-370"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="__B3tKJULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="__B3tKZULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="__B3tKpULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="__B3tK5ULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_Qt56oIVhEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="__B3tLJULEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="__B3tLZULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_RjEoEIVhEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="__B3tLpULEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="__B3tL5ULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_SBd0QIVhEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="__B3tMJULEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="__B3tMZULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_SVdHQIVhEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="__B3tMpULEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="__B3tM5ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="__B3tNJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="__B3tNZULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__B3tNpULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="__B3tN5ULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="__B3tOJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="__B3tOZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="__B3tOpULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__B3tO5ULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_ILIBQIVhEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="__B3tP5ULEeqfMc95BD27pw" x="530" y="-950"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="__B5iUJULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="__B5iUZULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="__B5iUpULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="__B5iU5ULEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_4_83kIVgEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="__B5iVJULEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="__B5iVZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="__B5iVpULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="__B5iV5ULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__B5iWJULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="__B5iWZULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="__B5iWpULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="__B5iW5ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="__B5iXJULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__B5iXZULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_2ZKbgIVgEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="__B5iYZULEeqfMc95BD27pw" x="70" y="-930"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="__B5iYpULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="__B5iY5ULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="__B5iZJULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="__B5iZZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="__B5iZpULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="__B5iZ5ULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__B5iaJULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="__B5iaZULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="__B5iapULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="__B5ia5ULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="__B5ibJULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__B5ibZULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_GDAowIViEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="__B5icZULEeqfMc95BD27pw" x="790" y="-370"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="__B6JgZULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="__B6JgpULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="__B6Jg5ULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="__B6JhJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="__B6JhZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="__B6JhpULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__B6Jh5ULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="__B6JiJULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="__B6JiZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="__B6JipULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="__B6Ji5ULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__B6JjJULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_ELXxsIViEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="__B6JkJULEeqfMc95BD27pw" x="650" y="-370"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="__B6weZULEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="__B6wepULEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="__B6we5ULEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="__B6wfJULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="__B6wfZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="__B6wfpULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__B6wf5ULEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="__B6wgJULEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="__B6wgZULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="__B6wgpULEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="__B6wg5ULEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__B6whJULEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_RKVigIViEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="__B6wiJULEeqfMc95BD27pw" x="1330" y="-370"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_7PFC4ZUJEeqWd_6S3mbYXg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_7PFC4pUJEeqWd_6S3mbYXg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_7PFC45UJEeqWd_6S3mbYXg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_N5zMsJT2Eeq5BK6mmo2rWg"/>
+    </styles>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_N5zMsJT2Eeq5BK6mmo2rWg"/>
+    <edges xmi:type="notation:Connector" xmi:id="__B0CwJULEeqfMc95BD27pw" type="Generalization_Edge" source="__B0p5pULEeqfMc95BD27pw" target="__B5iUJULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="__B0CwZULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="__B0CwpULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="__B0Cw5ULEeqfMc95BD27pw" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="__B0CxJULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_sCPOgIVhEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__B0CxZULEeqfMc95BD27pw" points="[330, -770, -643984, -643984]$[170, -847, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__B0CxpULEeqfMc95BD27pw" id="(0.11976047904191617,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="__B0Cx5ULEeqfMc95BD27pw" id="(0.7741935483870968,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="__B1Q4ZULEeqfMc95BD27pw" type="Generalization_Edge" source="__B138JULEeqfMc95BD27pw" target="__B0p0JULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="__B1Q4pULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="__B1Q45ULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="__B1Q5JULEeqfMc95BD27pw" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="__B1Q5ZULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_alo_UIViEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__B1Q5pULEeqfMc95BD27pw" points="[1230, -390, -643984, -643984]$[1090, -475, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__B1Q55ULEeqfMc95BD27pw" id="(0.39603960396039606,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="__B1Q6JULEeqfMc95BD27pw" id="(0.6611570247933884,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="__B2fEpULEeqfMc95BD27pw" type="Generalization_Edge" source="__By0oJULEeqfMc95BD27pw" target="__B5iUJULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="__B2fE5ULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="__B2fFJULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="__B2fFZULEeqfMc95BD27pw" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="__B2fFpULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_WYnasIVhEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__B2fF5ULEeqfMc95BD27pw" points="[10, -770, -643984, -643984]$[70, -847, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__B2fGJULEeqfMc95BD27pw" id="(0.08403361344537816,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="__B2fGZULEeqfMc95BD27pw" id="(0.12903225806451613,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="__B3tIJULEeqfMc95BD27pw" type="Generalization_Edge" source="__B6weZULEeqfMc95BD27pw" target="__B0p0JULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="__B3tIZULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="__B3tIpULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="__B3tI5ULEeqfMc95BD27pw" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="__B3tJJULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_a9amIIViEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__B3tJZULEeqfMc95BD27pw" points="[1370, -390, -643984, -643984]$[1130, -475, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__B3tJpULEeqfMc95BD27pw" id="(0.594059405940594,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="__B3tJ5ULEeqfMc95BD27pw" id="(0.8264462809917356,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="__B4UMJULEeqfMc95BD27pw" type="Generalization_Edge" source="__B5iYpULEeqfMc95BD27pw" target="__B0p0JULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="__B4UMZULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="__B4UMpULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="__B4UM5ULEeqfMc95BD27pw" x="1" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="__B4UNJULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_ZlFhQIViEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__B4UNZULEeqfMc95BD27pw" points="[810, -390, -643984, -643984]$[970, -475, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__B4UNpULEeqfMc95BD27pw" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="__B4UN5ULEeqfMc95BD27pw" id="(0.1652892561983471,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="__B47QJULEeqfMc95BD27pw" type="Generalization_Edge" source="__B0p0JULEeqfMc95BD27pw" target="__B0p5pULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="__B47QZULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="__B47QpULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="__B47Q5ULEeqfMc95BD27pw" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="__B47RJULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_67JjgIVhEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__B47RZULEeqfMc95BD27pw" points="[590, -610, -643984, -643984]$[450, -667, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__B47RpULEeqfMc95BD27pw" id="(0.3305785123966942,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="__B47R5ULEeqfMc95BD27pw" id="(0.8383233532934131,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="__B47SZULEeqfMc95BD27pw" type="Generalization_Edge" source="__B5iUJULEeqfMc95BD27pw" target="__B2fApULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="__B47SpULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="__B47S5ULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="__B47TJULEeqfMc95BD27pw" x="1" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="__B47TZULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_UxrSEIVhEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__B47TpULEeqfMc95BD27pw" points="[170, -950, -643984, -643984]$[210, -1030, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__B47T5ULEeqfMc95BD27pw" id="(0.7741935483870968,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="__B47UJULEeqfMc95BD27pw" id="(0.16129032258064516,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="__B5icpULEeqfMc95BD27pw" type="Generalization_Edge" source="__B1Q6ZULEeqfMc95BD27pw" target="__B0p0JULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="__B5ic5ULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="__B5idJULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="__B5idZULEeqfMc95BD27pw" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="__B5idpULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_XsCU8IViEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__B5id5ULEeqfMc95BD27pw" points="[510, -390, -643984, -643984]$[950, -475, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__B5ieJULEeqfMc95BD27pw" id="(0.2,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="__B5ieZULEeqfMc95BD27pw" id="(0.08264462809917356,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="__B6JYJULEeqfMc95BD27pw" type="Generalization_Edge" source="__B3GEZULEeqfMc95BD27pw" target="__B0p0JULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="__B6JYZULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="__B6JYpULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="__B6JY5ULEeqfMc95BD27pw" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="__B6JZJULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_aLhPIIViEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__B6JZZULEeqfMc95BD27pw" points="[1050, -390, -643984, -643984]$[1050, -475, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__B6JZpULEeqfMc95BD27pw" id="(0.5529953917050692,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="__B6JZ5ULEeqfMc95BD27pw" id="(0.49586776859504134,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="__B6JaJULEeqfMc95BD27pw" type="Generalization_Edge" source="__B14AJULEeqfMc95BD27pw" target="__B0p5pULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="__B6JaZULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="__B6JapULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="__B6Ja5ULEeqfMc95BD27pw" x="1" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="__B6JbJULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_qWp2cIVhEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__B6JbZULEeqfMc95BD27pw" points="[410, -610, -643984, -643984]$[410, -667, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__B6JbpULEeqfMc95BD27pw" id="(0.2803738317757009,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="__B6Jb5ULEeqfMc95BD27pw" id="(0.11976047904191617,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="__B6JcZULEeqfMc95BD27pw" type="Generalization_Edge" source="__B14FJULEeqfMc95BD27pw" target="__B0p0JULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="__B6JcpULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="__B6Jc5ULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="__B6JdJULEeqfMc95BD27pw" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="__B6JdZULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_baXn4IViEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__B6JdpULEeqfMc95BD27pw" points="[1470, -390, -643984, -643984]$[1130, -475, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__B6Jd5ULEeqfMc95BD27pw" id="(0.39603960396039606,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="__B6JeJULEeqfMc95BD27pw" id="(0.8264462809917356,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="__B6JeZULEeqfMc95BD27pw" type="Generalization_Edge" source="__B3tKJULEeqfMc95BD27pw" target="__B2fApULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="__B6JepULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="__B6Je5ULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="__B6JfJULEeqfMc95BD27pw" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="__B6JfZULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_UQtTAIVhEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__B6JfpULEeqfMc95BD27pw" points="[450, -970, -643984, -643984]$[290, -1030, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__B6Jf5ULEeqfMc95BD27pw" id="(0.24096385542168675,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="__B6JgJULEeqfMc95BD27pw" id="(0.8064516129032258,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="__B6wcZULEeqfMc95BD27pw" type="Generalization_Edge" source="__B6JgZULEeqfMc95BD27pw" target="__B0p0JULEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="__B6wcpULEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="__B6wc5ULEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="__B6wdJULEeqfMc95BD27pw" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="__B6wdZULEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_YkOhMIViEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__B6wdpULEeqfMc95BD27pw" points="[670, -390, -643984, -643984]$[970, -475, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__B6wd5ULEeqfMc95BD27pw" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="__B6weJULEeqfMc95BD27pw" id="(0.1652892561983471,1.0)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_8k-e0JUJEeqWd_6S3mbYXg" type="PapyrusUMLProfileDiagram" name="Recurrent_layers" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_IBabAJUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_IBabAZUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IBabApUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_IBabA5UMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_AP36kIVkEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_IBabBJUMEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_IBabBZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_IBabBpUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_IBabB5UMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IBabCJUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IBabCZUMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_IBabCpUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_IBabC5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_IBabDJUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IBabDZUMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_-5MbgIVjEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IBabEZUMEeqfMc95BD27pw" x="450" y="210"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_IBbpIJUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_IBbpIZUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IBbpIpUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_IBbpI5UMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_495hwIVjEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_IBbpJJUMEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_IBbpJZUMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_6la5MIVjEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_IBbpJpUMEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_IBbpJ5UMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_7-lrkIVjEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_IBbpKJUMEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_IBbpKZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_IBbpKpUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_IBbpK5UMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IBbpLJUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IBbpLZUMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_IBbpLpUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_IBbpL5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_IBbpMJUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IBbpMZUMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_tHLn4IViEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IBbpNZUMEeqfMc95BD27pw" x="410" y="10"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_IBcQMJUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_IBcQMZUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IBcQMpUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_IBcQM5UMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_iaV_0IVkEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_IBcQNJUMEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_IBcQNZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_IBcQNpUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_IBcQN5UMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IBcQOJUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IBcQOZUMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_IBcQOpUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_IBcQO5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_IBcQPJUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IBcQPZUMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_f3AgYIVkEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IBcQQZUMEeqfMc95BD27pw" x="40" y="520"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_IBc3SJUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_IBc3SZUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IBc3SpUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_IBc3S5UMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_Mgv2UIVkEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_IBc3TJUMEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_IBc3TZUMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_NmsKsIVkEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_IBc3TpUMEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_IBc3T5UMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_bIpT0IVkEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_IBc3UJUMEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_IBc3UZUMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_dH_VYIVkEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_IBc3UpUMEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_GNDAIKaAEeqIr7xwFiWQGQ" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_GM1kwKaAEeqIr7xwFiWQGQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_GNDAIaaAEeqIr7xwFiWQGQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_M3Mj8KaAEeqIr7xwFiWQGQ" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_M26QEKaAEeqIr7xwFiWQGQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_M3Mj8aaAEeqIr7xwFiWQGQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_OaydoKaAEeqIr7xwFiWQGQ" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_OalCQKaAEeqIr7xwFiWQGQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_OaydoaaAEeqIr7xwFiWQGQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_PFwtQKaAEeqIr7xwFiWQGQ" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_PFb9IKaAEeqIr7xwFiWQGQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_PFwtQaaAEeqIr7xwFiWQGQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_TRIhgKaAEeqIr7xwFiWQGQ" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_TQ4C0KaAEeqIr7xwFiWQGQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_TRIhgaaAEeqIr7xwFiWQGQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_upKNIKaBEeqIr7xwFiWQGQ" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_uo4gUKaBEeqIr7xwFiWQGQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_upKNIaaBEeqIr7xwFiWQGQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_zj8sIKaBEeqIr7xwFiWQGQ" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_zjmG0KaBEeqIr7xwFiWQGQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_zj8sIaaBEeqIr7xwFiWQGQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_0zS0IKaBEeqIr7xwFiWQGQ" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_0y_SIKaBEeqIr7xwFiWQGQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_0zS0IaaBEeqIr7xwFiWQGQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_7RCToKaBEeqIr7xwFiWQGQ" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_7QlAoKaBEeqIr7xwFiWQGQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_7RCToaaBEeqIr7xwFiWQGQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ugwuwOauEeq2yMJqys2DtQ" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_ugELMOauEeq2yMJqys2DtQ"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_ugwuweauEeq2yMJqys2DtQ"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_IBc3U5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_IBc3VJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_IBc3VZUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IBc3VpUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IBc3V5UMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_IBc3WJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_IBc3WZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_IBc3WpUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IBc3W5UMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_w_eSoIVjEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IBc3X5UMEeqfMc95BD27pw" x="180" y="180"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_IBdeUJUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_IBdeUZUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IBdeUpUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_IBdeU5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_IBdeVJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_IBdeVZUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IBdeVpUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IBdeV5UMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_IBdeWJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_IBdeWZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_IBdeWpUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IBdeW5UMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_l8ROcIVkEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IBdeX5UMEeqfMc95BD27pw" x="420" y="520"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_IBeFYJUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_IBeFYZUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IBeFYpUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_IBeFY5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_IBeFZJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_IBeFZZUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IBeFZpUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IBeFZ5UMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_IBeFaJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_IBeFaZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_IBeFapUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IBeFa5UMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_EdBQcIVkEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IBeFb5UMEeqfMc95BD27pw" x="850" y="210"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_IBescJUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_IBescZUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IBescpUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_IBesc5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_IBesdJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_IBesdZUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IBesdpUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IBesd5UMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_IBeseJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_IBeseZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_IBesepUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IBese5UMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_CfAEkIVkEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IBesf5UMEeqfMc95BD27pw" x="710" y="210"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_IBfTj5UMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_IBfTkJUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IBfTkZUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_IBfTkpUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_IBfTk5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_IBfTlJUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IBfTlZUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IBfTlpUMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_IBfTl5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_IBfTmJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_IBfTmZUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IBfTmpUMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_kOLU8IVkEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IBfTnpUMEeqfMc95BD27pw" x="280" y="520"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_8k-e0ZUJEeqWd_6S3mbYXg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_8k-e0pUJEeqWd_6S3mbYXg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_8k-e05UJEeqWd_6S3mbYXg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_RAjiQJT2Eeq5BK6mmo2rWg"/>
+    </styles>
+    <styles xmi:type="notation:BooleanValueStyle" xmi:id="_GVw4cPmcEeqCRcDdPeQY2A" name="rulergrid.viewgrid"/>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_RAjiQJT2Eeq5BK6mmo2rWg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_IBcQQpUMEeqfMc95BD27pw" type="Generalization_Edge" source="_IBeFYJUMEeqfMc95BD27pw" target="_IBbpIJUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_IBcQQ5UMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_IBcQRJUMEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_IBcQRZUMEeqfMc95BD27pw" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_IBcQRpUMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_svnxkIVkEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IBcQR5UMEeqfMc95BD27pw" points="[870, 190, -643984, -643984]$[570, 125, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_IBcQSJUMEeqfMc95BD27pw" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_IBcQSZUMEeqfMc95BD27pw" id="(0.9090909090909091,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_IBc3QJUMEeqfMc95BD27pw" type="Generalization_Edge" source="_IBdeUJUMEeqfMc95BD27pw" target="_IBc3SJUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_IBc3QZUMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_IBc3QpUMEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_IBc3Q5UMEeqfMc95BD27pw" x="-2" y="57"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_IBc3RJUMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_qv_cIIVkEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IBc3RZUMEeqfMc95BD27pw" points="[430, 410, -643984, -643984]$[330, 341, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_IBc3RpUMEeqfMc95BD27pw" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_IBc3R5UMEeqfMc95BD27pw" id="(0.8264462809917356,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_IBesgJUMEeqfMc95BD27pw" type="Generalization_Edge" source="_IBescJUMEeqfMc95BD27pw" target="_IBbpIJUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_IBesgZUMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_IBesgpUMEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_IBesg5UMEeqfMc95BD27pw" x="-2" y="57"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_IBeshJUMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_sMLGQIVkEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IBeshZUMEeqfMc95BD27pw" points="[730, 190, -643984, -643984]$[550, 125, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_IBeshpUMEeqfMc95BD27pw" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_IBesh5UMEeqfMc95BD27pw" id="(0.8080808080808081,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_IBesiJUMEeqfMc95BD27pw" type="Generalization_Edge" source="_IBfTj5UMEeqfMc95BD27pw" target="_IBc3SJUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_IBesiZUMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_IBesipUMEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_IBesi5UMEeqfMc95BD27pw" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_IBesjJUMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_p2PwsIVkEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IBesjZUMEeqfMc95BD27pw" points="[310, 410, -643984, -643984]$[290, 341, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_IBesjpUMEeqfMc95BD27pw" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_IBesj5UMEeqfMc95BD27pw" id="(0.5785123966942148,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_IBeskJUMEeqfMc95BD27pw" type="Generalization_Edge" source="_IBcQMJUMEeqfMc95BD27pw" target="_IBc3SJUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_IBeskZUMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_IBeskpUMEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_IBesk5UMEeqfMc95BD27pw" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_IBeslJUMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_pXFIcIVkEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IBeslZUMEeqfMc95BD27pw" points="[150, 410, -643984, -643984]$[230, 341, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_IBeslpUMEeqfMc95BD27pw" id="(0.6976744186046512,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_IBesl5UMEeqfMc95BD27pw" id="(0.3305785123966942,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_IBesmJUMEeqfMc95BD27pw" type="Generalization_Edge" source="_IBc3SJUMEeqfMc95BD27pw" target="_IBbpIJUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_IBfTgJUMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_IBfTgZUMEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_IBfTgpUMEeqfMc95BD27pw" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_IBfTg5UMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_tTUUgIVkEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IBfThJUMEeqfMc95BD27pw" points="[270, 190, -643984, -643984]$[450, 125, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_IBfThZUMEeqfMc95BD27pw" id="(0.49586776859504134,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_IBfThpUMEeqfMc95BD27pw" id="(0.3048780487804878,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_IBfTh5UMEeqfMc95BD27pw" type="Generalization_Edge" source="_IBabAJUMEeqfMc95BD27pw" target="_IBbpIJUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_IBfTiJUMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_IBfTiZUMEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_IBfTipUMEeqfMc95BD27pw" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_IBfTi5UMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_rjgjwIVkEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IBfTjJUMEeqfMc95BD27pw" points="[530, 190, -643984, -643984]$[530, 125, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_IBfTjZUMEeqfMc95BD27pw" id="(0.5,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_IBfTjpUMEeqfMc95BD27pw" id="(0.7070707070707071,1.0)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_90F9UJUJEeqWd_6S3mbYXg" type="PapyrusUMLProfileDiagram" name="Transformer_layers" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_QyNiR5UMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_QyNiSJUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_QyNiSZUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_QyNiSpUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_QyNiS5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_QyNiTJUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QyNiTZUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_QyNiTpUMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_QyNiT5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_QyNiUJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_QyNiUZUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QyNiUpUMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_-aqagIVlEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QyNiVpUMEeqfMc95BD27pw" x="10380" y="1160"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_QyNiX5UMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_QyNiYJUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_QyNiYZUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_QyNiYpUMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_Nai6MIVmEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_QyNiY5UMEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_QyNiZJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_QyNiZZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_QyNiZpUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QyNiZ5UMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_QyNiaJUMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_QyNiaZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_QyNiapUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_QyNia5UMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QyNibJUMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_JjphIIVmEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QyNicJUMEeqfMc95BD27pw" x="10760" y="1160"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_QyNieJUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_QyNieZUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_QyNiepUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_QyNie5UMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_sbCMMIVlEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_QyNifJUMEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_QyNifZUMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_tmddgIVlEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_QyNifpUMEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_QyNif5UMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_uFbRcIVlEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_QyNigJUMEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_QyNigZUMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_v6pGoIVlEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_QyNigpUMEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_QyNig5UMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_wuIZEIVlEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_QyNihJUMEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_QyNihZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_QyNihpUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_QyNih5UMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QyNiiJUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_QyNiiZUMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_QyNiipUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_QyNii5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_QyNijJUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QyNijZUMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_gsKxUIVlEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QyNikZUMEeqfMc95BD27pw" x="10360" y="900"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_QyNik5UMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_QyNilJUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_QyNilZUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_QyNilpUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_QyNil5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_QyNimJUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QyNimZUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_QyNimpUMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_QyNim5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_QyNinJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_QyNinZUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QyNinpUMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_zItakIVkEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QyNiopUMEeqfMc95BD27pw" x="10679" y="704"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_QyOJUJUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_QyOJUZUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_QyOJUpUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_QyOJU5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_QyOJVJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_QyOJVZUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QyOJVpUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_QyOJV5UMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_QyOJWJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_QyOJWZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_QyOJWpUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QyOJW5UMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_AIIo8IVmEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QyOJX5UMEeqfMc95BD27pw" x="10560" y="1160"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_QyOJYJUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_QyOJYZUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_QyOJYpUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_QyOJY5UMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_mZVvgIVlEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_QyOJZJUMEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_QyOJZZUMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_oByUAIVlEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_QyOJZpUMEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_QyOJZ5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_QyOJaJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_QyOJaZUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QyOJapUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_QyOJa5UMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_QyOJbJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_QyOJbZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_QyOJbpUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QyOJb5UMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_kfJ6wIVlEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QyOJc5UMEeqfMc95BD27pw" x="10860" y="900"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_QyOJdJUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_QyOJdZUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_QyOJdpUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_QyOJd5UMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_2FyaQIVlEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_QyOJeJUMEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_QyOJeZUMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_4EeUgIVlEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_QyOJepUMEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_QyOJe5UMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_606b0IVlEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_QyOJfJUMEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_QyOJfZUMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_8LVcMIVlEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_QyOJfpUMEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_QyOJf5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_QyOJgJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_QyOJgZUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QyOJgpUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_QyOJg5UMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_QyOJhJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_QyOJhZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_QyOJhpUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QyOJh5UMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_0gXUkIVlEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QyOJi5UMEeqfMc95BD27pw" x="10100" y="1160"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_QyOJjJUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_QyOJjZUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_QyOJjpUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_QyOJj5UMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_MA0HIIVmEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_QyOJkJUMEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_QyOJkZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_QyOJkpUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_QyOJk5UMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QyOJlJUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_QyOJlZUMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_QyOJlpUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_QyOJl5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_QyOJmJUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QyOJmZUMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_Ku6aYIVmEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QyOJnZUMEeqfMc95BD27pw" x="11040" y="1160"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_90F9UZUJEeqWd_6S3mbYXg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_90F9UpUJEeqWd_6S3mbYXg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_90F9U5UJEeqWd_6S3mbYXg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_T8DDAJT2Eeq5BK6mmo2rWg"/>
+    </styles>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_T8DDAJT2Eeq5BK6mmo2rWg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_QyM7MJUMEeqfMc95BD27pw" type="Generalization_Edge" source="_QyOJdJUMEeqfMc95BD27pw" target="_QyNieJUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_QyM7MZUMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QyM7MpUMEeqfMc95BD27pw" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_QyM7M5UMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_GMzhIIVmEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QyM7NJUMEeqfMc95BD27pw" points="[10220, 1140, -643984, -643984]$[10380, 1047, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QyM7NZUMEeqfMc95BD27pw" id="(0.5645161290322581,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QyM7NpUMEeqfMc95BD27pw" id="(0.1762114537444934,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_QyNiQJUMEeqfMc95BD27pw" type="Generalization_Edge" source="_QyOJjJUMEeqfMc95BD27pw" target="_QyOJYJUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_QyNiQZUMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QyNiQpUMEeqfMc95BD27pw" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_QyNiQ5UMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_QhQMcIVmEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QyNiRJUMEeqfMc95BD27pw" points="[11120, 1140, -643984, -643984]$[10980, 999, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QyNiRZUMEeqfMc95BD27pw" id="(0.47619047619047616,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QyNiRpUMEeqfMc95BD27pw" id="(0.7106598984771574,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_QyNiV5UMEeqfMc95BD27pw" type="Generalization_Edge" source="_QyNieJUMEeqfMc95BD27pw" target="_QyNik5UMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_QyNiWJUMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QyNiWZUMEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QyNiWpUMEeqfMc95BD27pw" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_QyNiW5UMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_SF09kIVmEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QyNiXJUMEeqfMc95BD27pw" points="[10500, 880, -643984, -643984]$[10700, 800, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QyNiXZUMEeqfMc95BD27pw" id="(0.7048458149779736,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QyNiXpUMEeqfMc95BD27pw" id="(0.36283185840707965,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_QyNicZUMEeqfMc95BD27pw" type="Generalization_Edge" source="_QyNiR5UMEeqfMc95BD27pw" target="_QyNieJUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_QyNicpUMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QyNic5UMEeqfMc95BD27pw" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_QyNidJUMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_GrExgIVmEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QyNidZUMEeqfMc95BD27pw" points="[10420, 1140, -643984, -643984]$[10420, 1047, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QyNidpUMEeqfMc95BD27pw" id="(0.40540540540540543,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QyNid5UMEeqfMc95BD27pw" id="(0.3524229074889868,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_QyOJnpUMEeqfMc95BD27pw" type="Generalization_Edge" source="_QyOJYJUMEeqfMc95BD27pw" target="_QyNik5UMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_QyOJn5UMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_QyOJoJUMEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QyOJoZUMEeqfMc95BD27pw" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_QyOJopUMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_RehtAIVmEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QyOJo5UMEeqfMc95BD27pw" points="[10940, 880, -643984, -643984]$[10740, 800, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QyOJpJUMEeqfMc95BD27pw" id="(0.5076142131979695,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QyOJpZUMEeqfMc95BD27pw" id="(0.7168141592920354,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_QyOJp5UMEeqfMc95BD27pw" type="Generalization_Edge" source="_QyNiX5UMEeqfMc95BD27pw" target="_QyOJYJUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_QyOJqJUMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QyOJqZUMEeqfMc95BD27pw" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_QyOJqpUMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_P0nv8IVmEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QyOJq5UMEeqfMc95BD27pw" points="[10860, 1140, -643984, -643984]$[10920, 999, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QyOJrJUMEeqfMc95BD27pw" id="(0.5714285714285714,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QyOJrZUMEeqfMc95BD27pw" id="(0.40609137055837563,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_QyOJrpUMEeqfMc95BD27pw" type="Generalization_Edge" source="_QyOJUJUMEeqfMc95BD27pw" target="_QyNieJUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_QyOJr5UMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_QyOJsJUMEeqfMc95BD27pw" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_QyOJsZUMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_HJqyAIVmEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QyOJspUMEeqfMc95BD27pw" points="[10580, 1140, -643984, -643984]$[10500, 1047, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QyOJs5UMEeqfMc95BD27pw" id="(0.272108843537415,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QyOJtJUMEeqfMc95BD27pw" id="(0.7048458149779736,1.0)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="__VnacJUJEeqWd_6S3mbYXg" type="PapyrusUMLProfileDiagram" name="Linear_layers" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_e_03gJUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_e_03gZUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_e_03gpUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_e_03g5UMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_snPzEIhhEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_e_03hJUMEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_e_03hZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_e_03hpUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_e_03h5UMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_e_03iJUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_e_03iZUMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_e_03ipUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_e_03i5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_e_03jJUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_e_03jZUMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_ozz9sIhhEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_e_03kZUMEeqfMc95BD27pw" x="11380" y="1220"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_e_03kpUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_e_03k5UMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_e_03lJUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_e_03lZUMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_u5YNwIhhEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_e_03lpUMEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_e_03l5UMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_wboqsIhhEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_e_03mJUMEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_e_03mZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_e_03mpUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_e_03m5UMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_e_03nJUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_e_03nZUMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_e_03npUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_e_03n5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_e_03oJUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_e_03oZUMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_pJFqIIhhEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_e_03pZUMEeqfMc95BD27pw" x="11760" y="1220"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_e_03ppUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_e_03p5UMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_e_03qJUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_e_03qZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_e_03qpUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_e_03q5UMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_e_03rJUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_e_03rZUMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_e_03rpUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_e_03r5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_e_03sJUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_e_03sZUMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_c_eM8IhhEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_e_03tZUMEeqfMc95BD27pw" x="11980" y="940"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_e_1ekJUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_e_1ekZUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_e_1ekpUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_e_1ek5UMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_lYOnoIhhEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_e_1elJUMEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_e_1elZUMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_m2y3YIhhEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_e_1elpUMEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_e_1el5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_e_1emJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_e_1emZUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_e_1empUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_e_1em5UMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_e_1enJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_e_1enZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_e_1enpUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_e_1en5UMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_hGyAkIhhEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_e_1eo5UMEeqfMc95BD27pw" x="11560" y="940"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_e_1epJUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_e_1epZUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_e_1eppUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_e_1ep5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_e_1eqJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_e_1eqZUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_e_1eqpUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_e_1eq5UMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_e_1erJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_e_1erZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_e_1erpUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_e_1er5UMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_ThvuQIhhEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_e_1es5UMEeqfMc95BD27pw" x="11720" y="700"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="__VnacZUJEeqWd_6S3mbYXg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="__VnacpUJEeqWd_6S3mbYXg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="__Vnac5UJEeqWd_6S3mbYXg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_WwqfsJT2Eeq5BK6mmo2rWg"/>
+    </styles>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_WwqfsJT2Eeq5BK6mmo2rWg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_e_zpYJUMEeqfMc95BD27pw" type="Generalization_Edge" source="_e_03ppUMEeqfMc95BD27pw" target="_e_1epJUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_e_zpYZUMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_e_zpYpUMEeqfMc95BD27pw" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_e_zpY5UMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_5QYd0IhhEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_e_zpZJUMEeqfMc95BD27pw" points="[12000, 920, -643984, -643984]$[11780, 780, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_e_zpZZUMEeqfMc95BD27pw" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_e_zpZpUMEeqfMc95BD27pw" id="(0.8,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_e_0QcZUMEeqfMc95BD27pw" type="Generalization_Edge" source="_e_03kpUMEeqfMc95BD27pw" target="_e_1ekJUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_e_0QcpUMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_e_0Qc5UMEeqfMc95BD27pw" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_e_0QdJUMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_4ugf0IhhEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_e_0QdZUMEeqfMc95BD27pw" points="[11820, 1200, -643984, -643984]$[11700, 1039, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_e_0QdpUMEeqfMc95BD27pw" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_e_0Qd5UMEeqfMc95BD27pw" id="(0.7920792079207921,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_e_0QeJUMEeqfMc95BD27pw" type="Generalization_Edge" source="_e_03gJUMEeqfMc95BD27pw" target="_e_1ekJUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_e_0QeZUMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_e_0QepUMEeqfMc95BD27pw" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_e_0Qe5UMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_4MFvQIhhEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_e_0QfJUMEeqfMc95BD27pw" points="[11520, 1200, -643984, -643984]$[11600, 1039, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_e_0QfZUMEeqfMc95BD27pw" id="(0.8247422680412371,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_e_0QfpUMEeqfMc95BD27pw" id="(0.297029702970297,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_e_0Qf5UMEeqfMc95BD27pw" type="Generalization_Edge" source="_e_1ekJUMEeqfMc95BD27pw" target="_e_1epJUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_e_0QgJUMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_e_0QgZUMEeqfMc95BD27pw" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_e_0QgpUMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_58n4wIhhEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_e_0Qg5UMEeqfMc95BD27pw" points="[11660, 920, -643984, -643984]$[11720, 780, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_e_0QhJUMEeqfMc95BD27pw" id="(0.594059405940594,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_e_0QhZUMEeqfMc95BD27pw" id="(0.2,1.0)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_Ahgl0JUKEeqWd_6S3mbYXg" type="PapyrusUMLProfileDiagram" name="Dropout_layers" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_MzKwUK8XEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_MzKwUa8XEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_MzKwUq8XEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_MzKwU68XEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_MzKwVK8XEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_MzKwVa8XEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MzKwVq8XEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_MzKwV68XEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_MzKwWK8XEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_MzKwWa8XEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_MzKwWq8XEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MzKwW68XEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_QF418IhiEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MzKwX68XEeqhVOlV64dXmA" x="50" y="290"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_MzLXYK8XEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_MzLXYa8XEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_MzLXYq8XEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_MzLXY68XEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_MzLXZK8XEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_MzLXZa8XEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MzLXZq8XEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_MzLXZ68XEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_MzLXaK8XEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_MzLXaa8XEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_MzLXaq8XEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MzLXa68XEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_O7XjkIhiEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MzLXb68XEeqhVOlV64dXmA" x="-370" y="290"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_MzLXcK8XEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_MzLXca8XEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_MzLXcq8XEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_MzLXc68XEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_MzLXdK8XEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_MzLXda8XEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MzLXdq8XEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_MzLXd68XEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_MzLXeK8XEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_MzLXea8XEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_MzLXeq8XEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MzLXe68XEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_Proi4IhiEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MzLXf68XEeqhVOlV64dXmA" x="-90" y="290"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_MzLXiK8XEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_MzLXia8XEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_MzLXiq8XEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_MzLXi68XEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_L5uXgIhiEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_MzLXjK8XEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_MzLXja8XEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_Mxr6QIhiEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_MzLXjq8XEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_MzLXj68XEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_k7wEsKcmEeqkzM30xo7jnw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_MzLXkK8XEeqhVOlV64dXmA"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_MzLXka8XEeqhVOlV64dXmA" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_m_lksKcmEeqkzM30xo7jnw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_MzLXkq8XEeqhVOlV64dXmA"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_MzLXk68XEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_MzLXlK8XEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_MzLXla8XEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MzLXlq8XEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_MzLXl68XEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_MzLXmK8XEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_MzLXma8XEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_MzLXmq8XEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MzLXm68XEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_JJr40IhiEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MzLXn68XEeqhVOlV64dXmA" x="-210" y="30"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_MzLXoK8XEeqhVOlV64dXmA" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_MzLXoa8XEeqhVOlV64dXmA" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_MzLXoq8XEeqhVOlV64dXmA" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_MzLXo68XEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_MzLXpK8XEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_MzLXpa8XEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MzLXpq8XEeqhVOlV64dXmA"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_MzLXp68XEeqhVOlV64dXmA" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_MzLXqK8XEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_MzLXqa8XEeqhVOlV64dXmA"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_MzLXqq8XEeqhVOlV64dXmA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MzLXq68XEeqhVOlV64dXmA"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_PMP4MIhiEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MzLXr68XEeqhVOlV64dXmA" x="-230" y="290"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_Ahgl0ZUKEeqWd_6S3mbYXg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_Ahgl0pUKEeqWd_6S3mbYXg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_Ahgl05UKEeqWd_6S3mbYXg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_ZUMzcJT2Eeq5BK6mmo2rWg"/>
+    </styles>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_ZUMzcJT2Eeq5BK6mmo2rWg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_MzLXgK8XEeqhVOlV64dXmA" type="Generalization_Edge" source="_MzLXYK8XEeqhVOlV64dXmA" target="_MzLXiK8XEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_MzLXga8XEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_MzLXgq8XEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_MzLXg68XEeqhVOlV64dXmA" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_MzLXhK8XEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_rp92AIhiEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_MzLXha8XEeqhVOlV64dXmA" points="[-350, 270, -643984, -643984]$[-210, 129, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MzLXhq8XEeqhVOlV64dXmA" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MzLXh68XEeqhVOlV64dXmA" id="(0.11428571428571428,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_MzL-cK8XEeqhVOlV64dXmA" type="Generalization_Edge" source="_MzKwUK8XEeqhVOlV64dXmA" target="_MzLXiK8XEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_MzL-ca8XEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_MzL-cq8XEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_MzL-c68XEeqhVOlV64dXmA" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_MzL-dK8XEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_t3zmkIhiEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_MzL-da8XEeqhVOlV64dXmA" points="[70, 270, -643984, -643984]$[-70, 129, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MzL-dq8XEeqhVOlV64dXmA" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MzL-d68XEeqhVOlV64dXmA" id="(0.9142857142857143,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_MzL-eK8XEeqhVOlV64dXmA" type="Generalization_Edge" source="_MzLXoK8XEeqhVOlV64dXmA" target="_MzLXiK8XEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_MzL-ea8XEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_MzL-eq8XEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_MzL-e68XEeqhVOlV64dXmA" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_MzL-fK8XEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_sKSU0IhiEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_MzL-fa8XEeqhVOlV64dXmA" points="[-190, 270, -643984, -643984]$[-190, 129, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MzL-fq8XEeqhVOlV64dXmA" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MzL-f68XEeqhVOlV64dXmA" id="(0.22857142857142856,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_MzL-gK8XEeqhVOlV64dXmA" type="Generalization_Edge" source="_MzLXcK8XEeqhVOlV64dXmA" target="_MzLXiK8XEeqhVOlV64dXmA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_MzL-ga8XEeqhVOlV64dXmA" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_MzL-gq8XEeqhVOlV64dXmA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_MzL-g68XEeqhVOlV64dXmA" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_MzL-hK8XEeqhVOlV64dXmA"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_srztgIhiEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_MzL-ha8XEeqhVOlV64dXmA" points="[-50, 270, -643984, -643984]$[-90, 129, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MzL-hq8XEeqhVOlV64dXmA" id="(0.2,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MzL-h68XEeqhVOlV64dXmA" id="(0.8,1.0)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_B1wb8JUKEeqWd_6S3mbYXg" type="PapyrusUMLProfileDiagram" name="Sparse_layers" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_nXg7MJUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_nXg7MZUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_nXg7MpUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_nXg7M5UMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_nWwe8IhjEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_nXg7NJUMEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_nXg7NZUMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_p2G2QIhjEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_nXg7NpUMEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_nXg7N5UMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_sIOC0IhjEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_nXg7OJUMEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_nXg7OZUMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_tKafoIhjEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_nXg7OpUMEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_nXg7O5UMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_vicuAIhjEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_nXg7PJUMEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_nXg7PZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_nXg7PpUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_nXg7P5UMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nXg7QJUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_nXg7QZUMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_nXg7QpUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_nXg7Q5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_nXg7RJUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nXg7RZUMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_AdGtwIhjEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nXg7SZUMEeqfMc95BD27pw" x="12940" y="700"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_nXhiQJUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_nXhiQZUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_nXhiQpUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_nXhiQ5UMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_ytrT4IhjEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_nXhiRJUMEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_nXhiRZUMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_z2sxcIhjEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_nXhiRpUMEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_nXhiR5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_nXhiSJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_nXhiSZUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nXhiSpUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_nXhiS5UMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_nXhiTJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_nXhiTZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_nXhiTpUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nXhiT5UMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_kIoWEIhjEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nXhiU5UMEeqfMc95BD27pw" x="13060" y="960"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_nXhiVJUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_nXhiVZUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_nXhiVpUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_nXhiV5UMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_w7GjAIhjEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_nXhiWJUMEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_nXhiWZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_nXhiWpUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_nXhiW5UMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nXhiXJUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_nXhiXZUMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_nXhiXpUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_nXhiX5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_nXhiYJUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nXhiYZUMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_HDvqkIhjEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nXhiZZUMEeqfMc95BD27pw" x="12820" y="960"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_B1wb8ZUKEeqWd_6S3mbYXg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_B1wb8pUKEeqWd_6S3mbYXg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_B1wb85UKEeqWd_6S3mbYXg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_cKwJ0JT2Eeq5BK6mmo2rWg"/>
+    </styles>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_cKwJ0JT2Eeq5BK6mmo2rWg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_nXgUIJUMEeqfMc95BD27pw" type="Generalization_Edge" source="_nXhiVJUMEeqfMc95BD27pw" target="_nXg7MJUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_nXgUIZUMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_nXgUIpUMEeqfMc95BD27pw" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_nXgUI5UMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_7zj6UIhjEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_nXgUJJUMEeqfMc95BD27pw" points="[12920, 940, -643984, -643984]$[12980, 847, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nXgUJZUMEeqfMc95BD27pw" id="(0.594059405940594,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nXgUJpUMEeqfMc95BD27pw" id="(0.2575107296137339,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_nXhiaJUMEeqfMc95BD27pw" type="Generalization_Edge" source="_nXhiQJUMEeqfMc95BD27pw" target="_nXg7MJUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_nXhiaZUMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_nXhiapUMEeqfMc95BD27pw" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_nXhia5UMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_8S-aMIhjEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_nXhibJUMEeqfMc95BD27pw" points="[13160, 940, -643984, -643984]$[13080, 847, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nXhibZUMEeqfMc95BD27pw" id="(0.5128205128205128,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nXhibpUMEeqfMc95BD27pw" id="(0.6866952789699571,1.0)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_D1T44JUKEeqWd_6S3mbYXg" type="PapyrusUMLProfileDiagram" name="Distance_functions" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_r-GEwJUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_r-GEwZUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_r-GEwpUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_r-GEw5UMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_Km4ksIhkEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_r-GExJUMEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_r-GExZUMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_LieqQIhkEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_r-GExpUMEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_r-GEx5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_r-GEyJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_r-GEyZUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_r-GEypUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_r-GEy5UMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_r-GEzJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_r-GEzZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_r-GEzpUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_r-GEz5UMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_F-SB4IhkEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_r-GE05UMEeqfMc95BD27pw" x="13700" y="960"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_r-Gr0JUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_r-Gr0ZUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_r-Gr0pUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_r-Gr05UMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_D1Gu4IhkEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_r-Gr1JUMEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_r-Gr1ZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_r-Gr1pUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_r-Gr15UMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_r-Gr2JUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_r-Gr2ZUMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_r-Gr2pUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_r-Gr25UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_r-Gr3JUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_r-Gr3ZUMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_9-4iYIhjEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_r-Gr4ZUMEeqfMc95BD27pw" x="13560" y="700"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_r-Gr8JUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_r-Gr8ZUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_r-Gr8pUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_r-Gr85UMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_JmnagIhkEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_r-Gr9JUMEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_r-Gr9ZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_r-Gr9pUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_r-Gr95UMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_r-Gr-JUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_r-Gr-ZUMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_r-Gr-pUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_r-Gr-5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_r-Gr_JUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_r-Gr_ZUMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_Ff9uMIhkEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_r-GsAZUMEeqfMc95BD27pw" x="13460" y="960"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_D1T44ZUKEeqWd_6S3mbYXg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_D1T44pUKEeqWd_6S3mbYXg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_D1T445UKEeqWd_6S3mbYXg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_fjUoIJT2Eeq5BK6mmo2rWg"/>
+    </styles>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_fjUoIJT2Eeq5BK6mmo2rWg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_r-Gr4pUMEeqfMc95BD27pw" type="Generalization_Edge" source="_r-Gr8JUMEeqfMc95BD27pw" target="_r-Gr0JUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_r-Gr45UMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_r-Gr5JUMEeqfMc95BD27pw" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_r-Gr5ZUMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_QjaNgIhkEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_r-Gr5pUMEeqfMc95BD27pw" points="[13540, 940, -643984, -643984]$[13580, 783, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_r-Gr55UMEeqfMc95BD27pw" id="(0.6329113924050633,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_r-Gr6JUMEeqfMc95BD27pw" id="(0.25806451612903225,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_r-Gr6ZUMEeqfMc95BD27pw" type="Generalization_Edge" source="_r-GEwJUMEeqfMc95BD27pw" target="_r-Gr0JUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_r-Gr6pUMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_r-Gr65UMEeqfMc95BD27pw" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_r-Gr7JUMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_RFcjkIhkEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_r-Gr7ZUMEeqfMc95BD27pw" points="[13720, 940, -643984, -643984]$[13660, 783, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_r-Gr7pUMEeqfMc95BD27pw" id="(0.2185792349726776,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_r-Gr75UMEeqfMc95BD27pw" id="(0.7741935483870968,1.0)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_FJrq0JUKEeqWd_6S3mbYXg" type="PapyrusUMLProfileDiagram" name="Loss_functions" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_w8sFsJUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w8sFsZUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w8sFspUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_w8sFs5UMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_qCV-oIhnEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_w8sFtJUMEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w8sFtZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w8sFtpUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w8sFt5UMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w8sFuJUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w8sFuZUMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w8sFupUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w8sFu5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w8sFvJUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w8sFvZUMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_oNze4IhnEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w8t64JUMEeqfMc95BD27pw" x="510" y="-170"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_w8t64ZUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w8t64pUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w8t645UMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_w8t65JUMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_2xgRgIhqEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_w8t65ZUMEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w8t65pUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w8t655UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w8t66JUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w8t66ZUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w8t66pUMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w8t665UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w8t67JUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w8t67ZUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w8t67pUMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_1ml9kIhqEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w8t68pUMEeqfMc95BD27pw" x="2410" y="570"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_w8uh8JUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w8uh8ZUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w8uh8pUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w8uh85UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w8uh9JUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w8uh9ZUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w8uh9pUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w8uh95UMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w8uh-JUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w8uh-ZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w8uh-pUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w8uh-5UMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_XkZnMIhoEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w8uh_5UMEeqfMc95BD27pw" x="810" y="330"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_w8vJCJUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w8vJCZUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w8vJCpUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w8vJC5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w8vJDJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w8vJDZUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w8vJDpUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w8vJD5UMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w8vJEJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w8vJEZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w8vJEpUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w8vJE5UMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_uaWOwIhpEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w8vJF5UMEeqfMc95BD27pw" x="1450" y="530"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_w8vwEpUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w8vwE5UMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w8vwFJUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_w8vwFZUMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_4J95QIhqEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_w8vwFpUMEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_w8vwF5UMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_5TNZQIhqEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_w8vwGJUMEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_w8vwGZUMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_6KGlAIhqEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_w8vwGpUMEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w8vwG5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w8vwHJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w8vwHZUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w8vwHpUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w8vwH5UMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w8vwIJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w8vwIZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w8vwIpUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w8vwI5UMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_0iSA4IhqEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w8vwJ5UMEeqfMc95BD27pw" x="2170" y="570"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_w8wXIpUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w8wXI5UMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w8wXJJUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w8wXJZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w8wXJpUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w8wXJ5UMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w8wXKJUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w8wXKZUMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w8wXKpUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w8wXK5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w8wXLJUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w8wXLZUMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_6OX2cIhpEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w8wXMZUMEeqfMc95BD27pw" x="2650" y="570"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_w8w-MJUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w8w-MZUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w8w-MpUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w8w-M5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w8w-NJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w8w-NZUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w8w-NpUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w8w-N5UMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w8w-OJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w8w-OZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w8w-OpUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w8w-O5UMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_o24mMIhpEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w8w-P5UMEeqfMc95BD27pw" x="1290" y="530"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_w8w-QJUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w8w-QZUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w8w-QpUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_w8w-Q5UMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_Hr6rkIhoEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_w8w-RJUMEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_w8w-RZUMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_KRcjYIhoEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_w8w-RpUMEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w8w-R5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w8w-SJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w8w-SZUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w8w-SpUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w8w-S5UMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w8w-TJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w8w-TZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w8w-TpUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w8w-T5UMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_F2VqAIhoEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w8w-U5UMEeqfMc95BD27pw" x="1110" y="70"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_w8xlSJUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w8xlSZUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w8xlSpUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w8xlS5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w8xlTJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w8xlTZUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w8xlTpUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w8xlT5UMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w8xlUJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w8xlUZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w8xlUpUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w8xlU5UMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_v673wIhpEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w8yMU5UMEeqfMc95BD27pw" x="1590" y="530"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_w8yMXJUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w8yMXZUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w8yMXpUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w8yMX5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w8yMYJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w8yMYZUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w8yMYpUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w8yMY5UMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w8yMZJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w8yMZZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w8yMZpUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w8yMZ5UMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_UW5JYIhoEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w8yMa5UMEeqfMc95BD27pw" x="670" y="330"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_w8zacJUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w8zacZUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w8zacpUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w8zac5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w8zadJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w8zadZUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w8zadpUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w8zad5UMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w8zaeJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w8zaeZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w8zaepUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w8zae5UMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_yCiS4IhoEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w8zaf5UMEeqfMc95BD27pw" x="1110" y="330"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_w80BgJUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w80BgZUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w80BgpUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w80Bg5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w80BhJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w80BhZUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w80BhpUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w80Bh5UMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w80BiJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w80BiZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w80BipUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w80Bi5UMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_pWuucIhqEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w80Bj5UMEeqfMc95BD27pw" x="2950" y="790"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_w80BkJUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w80BkZUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w80BkpUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_w80okJUMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_e4iGsIhpEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_w80okZUMEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w80okpUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w80ok5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w80olJUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w80olZUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w80olpUMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w80ol5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w80omJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w80omZUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w80ompUMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_cSDMoIhpEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w80onpUMEeqfMc95BD27pw" x="2510" y="330"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_w81PoJUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w81PoZUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w81PopUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_w81Po5UMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_HB3XEIhqEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_w81PpJUMEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w81PpZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w81PppUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w81Pp5UMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w81PqJUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w81PqZUMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w81PqpUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w81Pq5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w81PrJUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w81PrZUMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_DrSc0IhqEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w81PsZUMEeqfMc95BD27pw" x="1810" y="530"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_w812sZUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w812spUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w812s5UMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_w812tJUMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_NFUHQIhqEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_w812tZUMEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w812tpUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w812t5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w812uJUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w812uZUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w812upUMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w812u5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w812vJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w812vZUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w812vpUMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_JaQx0IhqEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w812wpUMEeqfMc95BD27pw" x="1730" y="770"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_w83E2pUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w83E25UMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w83E3JUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w83E3ZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w83E3pUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w83E35UMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w83E4JUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w83E4ZUMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w83E4pUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w83E45UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w83E5JUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w83E5ZUMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_sYrucIhoEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w83E6ZUMEeqfMc95BD27pw" x="970" y="330"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_w84S-JUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w84S-ZUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w84S-pUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_w84S-5UMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_LlDOYIhqEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_w84S_JUMEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w84S_ZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w84S_pUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w84S_5UMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w84TAJUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w84TAZUMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w84TApUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w84TA5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w84TBJUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w84TBZUMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_J1LMMIhqEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w84TCZUMEeqfMc95BD27pw" x="1930" y="770"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_w846AZUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w846ApUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w846A5UMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w846BJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w846BZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w846BpUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w846B5UMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w846CJUMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w846CZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w846CpUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w846C5UMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w846DJUMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_oavnUIhqEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w846EJUMEeqfMc95BD27pw" x="2810" y="790"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_w85hEJUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w85hEZUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w85hEpUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_w85hE5UMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_dvGZcIhpEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_w85hFJUMEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w85hFZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w85hFpUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w85hF5UMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w85hGJUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w85hGZUMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w85hGpUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w85hG5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w85hHJUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w85hHZUMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_TXEOoIhpEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w85hIZUMEeqfMc95BD27pw" x="1530" y="330"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_w86IIJUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w86IIZUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w86IIpUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_w86II5UMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_fsyDkIhoEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_w86IJJUMEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_w86IJZUMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_g54v4IhoEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_w86IJpUMEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w86IJ5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w86IKJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w86IKZUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w86IKpUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w86IK5UMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w86ILJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w86ILZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w86ILpUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w86IL5UMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_dgekEIhoEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w86IM5UMEeqfMc95BD27pw" x="30" y="70"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_w86vMpUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w86vM5UMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w86vNJUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_w86vNZUMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_kXdYEIhqEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_w86vNpUMEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w86vN5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w86vOJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w86vOZUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w86vOpUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_w86vO5UMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_w86vPJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_w86vPZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_w86vPpUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w86vP5UMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_hqxIUIhqEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w86vQ5UMEeqfMc95BD27pw" x="2810" y="570"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_FJrq0ZUKEeqWd_6S3mbYXg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_FJrq0pUKEeqWd_6S3mbYXg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_FJrq05UKEeqWd_6S3mbYXg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_nZcP0JT2Eeq5BK6mmo2rWg"/>
+    </styles>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_Ej3QgJm2Eeq8nv7tV9lOqQ" name="css_stylesheets" eObjectListValue="_mci3oJm1Eeq8nv7tV9lOqQ"/>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_nZcP0JT2Eeq5BK6mmo2rWg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_w8q3kJUMEeqfMc95BD27pw" type="Generalization_Edge" source="_w8w-MJUMEeqfMc95BD27pw" target="_w85hEJUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w8q3kZUMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_w8q3kpUMEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_w8reoJUMEeqfMc95BD27pw" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_w8reoZUMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_sErX4IhpEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_w8reopUMEeqfMc95BD27pw" points="[1155, 515, -643984, -643984]$[1175, 418, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w8reo5UMEeqfMc95BD27pw" id="(0.45112781954887216,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w8repJUMEeqfMc95BD27pw" id="(0.11428571428571428,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_w8vJAJUMEeqfMc95BD27pw" type="Generalization_Edge" source="_w85hEJUMEeqfMc95BD27pw" target="_w8w-QJUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w8vJAZUMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_w8vJApUMEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_w8vJA5UMEeqfMc95BD27pw" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_w8vJBJUMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_KmOZMIhrEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_w8vJBZUMEeqfMc95BD27pw" points="[1315, 315, -643984, -643984]$[1015, 173, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w8vJBpUMEeqfMc95BD27pw" id="(0.22857142857142856,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w8vJB5UMEeqfMc95BD27pw" id="(0.7920792079207921,0.9971988795518194)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_w8xlQJUMEeqfMc95BD27pw" type="Generalization_Edge" source="_w8vJCJUMEeqfMc95BD27pw" target="_w85hEJUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w8xlQZUMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_w8xlQpUMEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_w8xlQ5UMEeqfMc95BD27pw" x="-1" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_w8xlRJUMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_zEGoIIhpEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_w8xlRZUMEeqfMc95BD27pw" points="[1235, 515, -643984, -643984]$[1195, 418, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w8xlRpUMEeqfMc95BD27pw" id="(0.3418803418803419,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w8xlR5UMEeqfMc95BD27pw" id="(0.22857142857142856,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_w8yMVJUMEeqfMc95BD27pw" type="Generalization_Edge" source="_w86vMpUMEeqfMc95BD27pw" target="_w80BkJUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w8yMVZUMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_w8yMVpUMEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_w8yMV5UMEeqfMc95BD27pw" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_w8yMWJUMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_uCkygIhqEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_w8yMWZUMEeqfMc95BD27pw" points="[2490, 555, -643984, -643984]$[2410, 418, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w8yMWpUMEeqfMc95BD27pw" id="(0.2926829268292683,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w8yMW5UMEeqfMc95BD27pw" id="(0.9942196531791907,0.970873786407767)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_w8yzYJUMEeqfMc95BD27pw" type="Generalization_Edge" source="_w86IIJUMEeqfMc95BD27pw" target="_w8sFsJUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w8yzYZUMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_w8yzYpUMEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_w8yzY5UMEeqfMc95BD27pw" x="-1" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_w8yzZJUMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_YDZI8IhrEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_w8yzZZUMEeqfMc95BD27pw" points="[130, 50, -643984, -643984]$[550, -88, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w8yzZpUMEeqfMc95BD27pw" id="(0.5970149253731343,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w8yzZ5UMEeqfMc95BD27pw" id="(0.3191489361702128,0.996763754045307)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_w8yzaJUMEeqfMc95BD27pw" type="Generalization_Edge" source="_w80BgJUMEeqfMc95BD27pw" target="_w86vMpUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w8yzaZUMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_w8yzapUMEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_w8yza5UMEeqfMc95BD27pw" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_w8yzbJUMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_qQK34IhqEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_w8yzbZUMEeqfMc95BD27pw" points="[2650, 795, -643984, -643984]$[2590, 658, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w8yzbpUMEeqfMc95BD27pw" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w8yzb5UMEeqfMc95BD27pw" id="(0.7804878048780488,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_w8zagJUMEeqfMc95BD27pw" type="Generalization_Edge" source="_w81PoJUMEeqfMc95BD27pw" target="_w85hEJUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w8zagZUMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_w8zagpUMEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_w8zag5UMEeqfMc95BD27pw" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_w8zahJUMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_UcGuoIhqEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_w8zahZUMEeqfMc95BD27pw" points="[1575, 515, -643984, -643984]$[1415, 418, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w8zahpUMEeqfMc95BD27pw" id="(0.1388888888888889,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w8zah5UMEeqfMc95BD27pw" id="(0.8,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_w80on5UMEeqfMc95BD27pw" type="Generalization_Edge" source="_w83E2pUMEeqfMc95BD27pw" target="_w8w-QJUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w80ooJUMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_w80ooZUMEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_w80oopUMEeqfMc95BD27pw" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_w80oo5UMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_Ojop8IhrEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_w80opJUMEeqfMc95BD27pw" points="[795, 315, -643984, -643984]$[935, 173, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w80opZUMEeqfMc95BD27pw" id="(0.8,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w80oppUMEeqfMc95BD27pw" id="(0.39603960396039606,0.9971988795518194)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_w81PspUMEeqfMc95BD27pw" type="Generalization_Edge" source="_w8vwEpUMEeqfMc95BD27pw" target="_w80BkJUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w81Ps5UMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_w81PtJUMEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_w81PtZUMEeqfMc95BD27pw" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_w81PtpUMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_H58ZIIhrEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_w81Pt5UMEeqfMc95BD27pw" points="[2055, 555, -643984, -643984]$[2275, 417, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w81PuJUMEeqfMc95BD27pw" id="(0.7486631016042781,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w81PuZUMEeqfMc95BD27pw" id="(0.11560693641618497,0.9967637540453059)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_w82dwZUMEeqfMc95BD27pw" type="Generalization_Edge" source="_w846AZUMEeqfMc95BD27pw" target="_w86vMpUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w82dwpUMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_w82dw5UMEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_w82dxJUMEeqfMc95BD27pw" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_w82dxZUMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_rT8pEIhqEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_w82dxpUMEeqfMc95BD27pw" points="[2490, 775, -643984, -643984]$[2490, 658, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w82dx5UMEeqfMc95BD27pw" id="(0.5660377358490566,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w82dyJUMEeqfMc95BD27pw" id="(0.2926829268292683,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_w82dyZUMEeqfMc95BD27pw" type="Generalization_Edge" source="_w8w-QJUMEeqfMc95BD27pw" target="_w8sFsJUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w82dypUMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_w82dy5UMEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_w82dzJUMEeqfMc95BD27pw" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_w82dzZUMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_YyIeQIhrEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_w82dzpUMEeqfMc95BD27pw" points="[1150, 50, -643984, -643984]$[630, -88, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w82dz5UMEeqfMc95BD27pw" id="(0.297029702970297,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w82d0JUMEeqfMc95BD27pw" id="(0.7446808510638298,0.996763754045307)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_w83E0pUMEeqfMc95BD27pw" type="Generalization_Edge" source="_w812sZUMEeqfMc95BD27pw" target="_w81PoJUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w83E05UMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_w83E1JUMEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_w83E1ZUMEeqfMc95BD27pw" x="1" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_w83E1pUMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_THXJQIhqEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_w83E15UMEeqfMc95BD27pw" points="[1535, 755, -643984, -643984]$[1595, 618, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w83E2JUMEeqfMc95BD27pw" id="(0.3468208092485549,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w83E2ZUMEeqfMc95BD27pw" id="(0.2777777777777778,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_w83r4JUMEeqfMc95BD27pw" type="Generalization_Edge" source="_w8yMXJUMEeqfMc95BD27pw" target="_w8w-QJUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w83r4ZUMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_w83r4pUMEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_w83r45UMEeqfMc95BD27pw" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_w83r5JUMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_PzV-UIhrEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_w83r5ZUMEeqfMc95BD27pw" points="[475, 315, -643984, -643984]$[875, 173, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w83r5pUMEeqfMc95BD27pw" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w83r55UMEeqfMc95BD27pw" id="(0.09900990099009901,0.9971988795518194)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_w83r6JUMEeqfMc95BD27pw" type="Generalization_Edge" source="_w84S-JUMEeqfMc95BD27pw" target="_w81PoJUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w83r6ZUMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_w83r6pUMEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_w83r65UMEeqfMc95BD27pw" x="-1" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_w83r7JUMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_ToeSQIhqEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_w83r7ZUMEeqfMc95BD27pw" points="[1715, 755, -643984, -643984]$[1655, 618, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w83r7pUMEeqfMc95BD27pw" id="(0.24390243902439024,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w83r75UMEeqfMc95BD27pw" id="(0.6944444444444444,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_w83r8JUMEeqfMc95BD27pw" type="Generalization_Edge" source="_w80BkJUMEeqfMc95BD27pw" target="_w8w-QJUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w83r8ZUMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_w83r8pUMEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_w83r85UMEeqfMc95BD27pw" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_w83r9JUMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_L6mLIIhrEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_w83r9ZUMEeqfMc95BD27pw" points="[2275, 315, -643984, -643984]$[1035, 173, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w83r9pUMEeqfMc95BD27pw" id="(0.11560693641618497,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w83r95UMEeqfMc95BD27pw" id="(0.8910891089108911,0.9971988795518194)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_w84S8JUMEeqfMc95BD27pw" type="Generalization_Edge" source="_w8xlSJUMEeqfMc95BD27pw" target="_w85hEJUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w84S8ZUMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_w84S8pUMEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_w84S85UMEeqfMc95BD27pw" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_w84S9JUMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_0GpqQIhpEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_w84S9ZUMEeqfMc95BD27pw" points="[1355, 515, -643984, -643984]$[1215, 418, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w84S9pUMEeqfMc95BD27pw" id="(0.15503875968992248,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w84S95UMEeqfMc95BD27pw" id="(0.34285714285714286,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_w846EZUMEeqfMc95BD27pw" type="Generalization_Edge" source="_w8zacJUMEeqfMc95BD27pw" target="_w8w-QJUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w846EpUMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_w846E5UMEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_w846FJUMEeqfMc95BD27pw" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_w846FZUMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_OBMEMIhrEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_w846FpUMEeqfMc95BD27pw" points="[935, 315, -643984, -643984]$[955, 173, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w846F5UMEeqfMc95BD27pw" id="(0.6153846153846154,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w846GJUMEeqfMc95BD27pw" id="(0.49504950495049505,0.9971988795518194)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_w86INJUMEeqfMc95BD27pw" type="Generalization_Edge" source="_w8uh8JUMEeqfMc95BD27pw" target="_w8w-QJUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w86INZUMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_w86INpUMEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_w86IN5UMEeqfMc95BD27pw" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_w86IOJUMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_PLRRsIhrEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_w86IOZUMEeqfMc95BD27pw" points="[595, 315, -643984, -643984]$[915, 173, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w86vMJUMEeqfMc95BD27pw" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w86vMZUMEeqfMc95BD27pw" id="(0.297029702970297,0.9971988795518194)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_w87WQJUMEeqfMc95BD27pw" type="Generalization_Edge" source="_w8wXIpUMEeqfMc95BD27pw" target="_w80BkJUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w87WQZUMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_w87WQpUMEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_w87WQ5UMEeqfMc95BD27pw" x="-1" y="57"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_w87WRJUMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_7bTjoIhpEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_w87WRZUMEeqfMc95BD27pw" points="[2430, 575, -643984, -643984]$[2310, 418, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w87WRpUMEeqfMc95BD27pw" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w87WR5UMEeqfMc95BD27pw" id="(0.8092485549132948,0.9805825242718447)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_w87WSJUMEeqfMc95BD27pw" type="Generalization_Edge" source="_w8t64ZUMEeqfMc95BD27pw" target="_w80BkJUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_w87WSZUMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_w87WSpUMEeqfMc95BD27pw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_w87WS5UMEeqfMc95BD27pw" x="1" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_w87WTJUMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_HRZLYIhrEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_w87WTZUMEeqfMc95BD27pw" points="[2275, 555, -643984, -643984]$[2335, 417, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w87WTpUMEeqfMc95BD27pw" id="(0.6091370558375635,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w87WT5UMEeqfMc95BD27pw" id="(0.4624277456647399,0.9967637540453059)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_GhIl8JUKEeqWd_6S3mbYXg" type="PapyrusUMLProfileDiagram" name="Vision_layers" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_2LXKAJUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_2LXKAZUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_2LXKApUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_2LXKA5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_2LXKBJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_2LXKBZUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2LXKBpUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_2LXKB5UMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_2LXKCJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_2LXKCZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_2LXKCpUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2LXKC5UMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_iLwgEIhrEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2LXKD5UMEeqfMc95BD27pw" x="280" y="40" width="569"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_2LYYIJUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_2LYYIZUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_2LYYIpUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_2LYYI5UMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_507w0IhrEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_2LYYJJUMEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_2LYYJZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_2LYYJpUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_2LYYJ5UMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2LYYKJUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_2LYYKZUMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_2LYYKpUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_2LYYK5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_2LYYLJUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2LYYLZUMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_2p5YMIhrEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2LYYMZUMEeqfMc95BD27pw" x="640" y="220"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_2LYYOZUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_2LYYOpUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_2LYYO5UMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_2LYYPJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_2LYYPZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_2LYYPpUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2LYYP5UMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_2LYYQJUMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_2LYYQZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_2LYYQpUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_2LYYQ5UMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2LYYRJUMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_ExzHAIhsEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2LYYSJUMEeqfMc95BD27pw" x="340" y="400"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_2LY_MJUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_2LY_MZUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_2LY_MpUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_2LY_M5UMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_-r78AIhrEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_2LY_NJUMEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_2LY_NZUMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#___G0EIhrEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_2LY_NpUMEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_2LY_N5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_2LY_OJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_2LY_OZUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2LY_OpUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_2LY_O5UMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_2LY_PJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_2LY_PZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_2LY_PpUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2LY_P5UMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_9D3yAIhrEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2LY_Q5UMEeqfMc95BD27pw" x="100" y="400"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_2LZmTpUMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_2LZmT5UMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_2LZmUJUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_2LZmUZUMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_xJ4sQIhrEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_2LZmUpUMEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_2LZmU5UMEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_yEO0oIhrEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_2LZmVJUMEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_2LZmVZUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_2LZmVpUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_2LZmV5UMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2LZmWJUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_2LZmWZUMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_2LZmWpUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_2LZmW5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_2LZmXJUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2LZmXZUMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_t32TwIhrEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2LZmYZUMEeqfMc95BD27pw" x="280" y="220" width="201" height="101"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_2LZmY5UMEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_2LZmZJUMEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_2LZmZZUMEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_2LZmZpUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_2LZmZ5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_2LaNUJUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2LaNUZUMEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_2LaNUpUMEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_2LaNU5UMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_2LaNVJUMEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_2LaNVZUMEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2LaNVpUMEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_FiUlAIhsEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2LaNWpUMEeqfMc95BD27pw" x="520" y="400"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_GhIl8ZUKEeqWd_6S3mbYXg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_GhIl8pUKEeqWd_6S3mbYXg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_GhIl85UKEeqWd_6S3mbYXg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_q6FsEJT2Eeq5BK6mmo2rWg"/>
+    </styles>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_mciQkJm1Eeq8nv7tV9lOqQ" name="css_stylesheets" eObjectListValue="_mci3oJm1Eeq8nv7tV9lOqQ"/>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_q6FsEJT2Eeq5BK6mmo2rWg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_2LYYMpUMEeqfMc95BD27pw" type="Generalization_Edge" source="_2LY_MJUMEeqfMc95BD27pw" target="_2LZmTpUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_2LYYM5UMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_t_FRcJm0Eeq8nv7tV9lOqQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_2LYYNJUMEeqfMc95BD27pw" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_2LYYNZUMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_KFjfoIhsEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_2LYYNpUMEeqfMc95BD27pw" points="[280, 400, -643984, -643984]$[280, 360, -643984, -643984]$[320, 360, -643984, -643984]$[320, 321, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2LYYN5UMEeqfMc95BD27pw" id="(0.6862745098039216,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2LYYOJUMEeqfMc95BD27pw" id="(0.19900497512437812,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_2LY_RZUMEeqfMc95BD27pw" type="Generalization_Edge" source="_2LZmTpUMEeqfMc95BD27pw" target="_2LXKAJUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_2LY_RpUMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_t-8ukJm0Eeq8nv7tV9lOqQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_2LY_R5UMEeqfMc95BD27pw" x="-1" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_2LY_SJUMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_MhVlkIhsEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_2LY_SZUMEeqfMc95BD27pw" points="[12680, 615, -643984, -643984]$[12800, 535, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2LY_SpUMEeqfMc95BD27pw" id="(0.4975124378109453,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2LY_S5UMEeqfMc95BD27pw" id="(0.1757469244288225,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_2LY_TJUMEeqfMc95BD27pw" type="Generalization_Edge" source="_2LZmY5UMEeqfMc95BD27pw" target="_2LZmTpUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_2LY_TZUMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_t_MmMJm0Eeq8nv7tV9lOqQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_2LY_TpUMEeqfMc95BD27pw" x="-2" y="57"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_2LY_T5UMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_LUKn0IhsEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_2LY_UJUMEeqfMc95BD27pw" points="[660, 400, -643984, -643984]$[660, 360, -643984, -643984]$[460, 360, -643984, -643984]$[460, 321, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2LY_UZUMEeqfMc95BD27pw" id="(0.4166666666666667,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2LY_UpUMEeqfMc95BD27pw" id="(0.8955223880597015,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_2LZmQJUMEeqfMc95BD27pw" type="Generalization_Edge" source="_2LYYIJUMEeqfMc95BD27pw" target="_2LXKAJUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_2LZmQZUMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_t_e6EJm0Eeq8nv7tV9lOqQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_2LZmQpUMEeqfMc95BD27pw" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_2LZmQ5UMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_L7Zm8IhsEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_2LZmRJUMEeqfMc95BD27pw" points="[13000, 615, -643984, -643984]$[12840, 535, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2LZmRZUMEeqfMc95BD27pw" id="(0.4807692307692308,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2LZmRpUMEeqfMc95BD27pw" id="(0.8084358523725835,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_2LZmR5UMEeqfMc95BD27pw" type="Generalization_Edge" source="_2LYYOZUMEeqfMc95BD27pw" target="_2LZmTpUMEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_2LZmSJUMEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_t_UiAJm0Eeq8nv7tV9lOqQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_2LZmSZUMEeqfMc95BD27pw" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_2LZmSpUMEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_KqD64IhsEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_2LZmS5UMEeqfMc95BD27pw" points="[460, 400, -643984, -643984]$[460, 360, -643984, -643984]$[400, 360, -643984, -643984]$[400, 321, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2LZmTJUMEeqfMc95BD27pw" id="(0.410958904109589,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2LZmTZUMEeqfMc95BD27pw" id="(0.5970149253731343,1.0)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_ITCocJUKEeqWd_6S3mbYXg" type="PapyrusUMLProfileDiagram" name="DataParallel_layers_(multi-GPU, distributed)" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_B_Hr8ZUNEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_B_Hr8pUNEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_B_Hr85UNEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_B_Hr9JUNEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_rBanQIhtEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_B_Hr9ZUNEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_B_Hr9pUNEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_r6Q60IhtEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_B_Hr95UNEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_B_Hr-JUNEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_stpfkIhtEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_B_Hr-ZUNEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_B_Hr-pUNEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_B_Hr-5UNEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_B_Hr_JUNEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_B_Hr_ZUNEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_B_Hr_pUNEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_B_Hr_5UNEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_B_HsAJUNEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_B_HsAZUNEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_B_HsApUNEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_jq9XEIhtEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_B_HsBpUNEeqfMc95BD27pw" x="120" y="60" width="541"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_B_ITAJUNEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_B_ITAZUNEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_B_ITApUNEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_B_ITA5UNEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_B_ITBJUNEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_B_ITBZUNEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_B_ITBpUNEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_B_ITB5UNEeqfMc95BD27pw" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_B_ITCJUNEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_B_ITCZUNEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_B_ITCpUNEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_B_ITC5UNEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_2bnZsIhtEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_B_ITD5UNEeqfMc95BD27pw" x="500" y="280" width="161"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_B_ITEJUNEeqfMc95BD27pw" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_B_ITEZUNEeqfMc95BD27pw" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_B_ITEpUNEeqfMc95BD27pw" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_B_ITE5UNEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_vpBrkIhtEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_B_ITFJUNEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_B_ITFZUNEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_xG4JoIhtEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_B_ITFpUNEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_B_ITF5UNEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_yJonIIhtEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_B_ITGJUNEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_B_ITGZUNEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_zcpuMIhtEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_B_ITGpUNEeqfMc95BD27pw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_B_ITG5UNEeqfMc95BD27pw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_1KdT0IhtEeqlnrZTj0aPoA"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_B_ITHJUNEeqfMc95BD27pw"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_B_ITHZUNEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_B_ITHpUNEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_B_ITH5UNEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_B_ITIJUNEeqfMc95BD27pw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_B_ITIZUNEeqfMc95BD27pw" visible="false" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_B_ITIpUNEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_B_ITI5UNEeqfMc95BD27pw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_B_ITJJUNEeqfMc95BD27pw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_B_ITJZUNEeqfMc95BD27pw"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_tsGr4IhtEeqlnrZTj0aPoA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_B_ITKZUNEeqfMc95BD27pw" x="120" y="280" width="281" height="141"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_ITCocZUKEeqWd_6S3mbYXg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_ITCocpUKEeqWd_6S3mbYXg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_ITCoc5UKEeqWd_6S3mbYXg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_wBUroJT2Eeq5BK6mmo2rWg"/>
+    </styles>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_B6gooJm2Eeq8nv7tV9lOqQ" name="css_stylesheets" eObjectListValue="_mci3oJm1Eeq8nv7tV9lOqQ"/>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_wBUroJT2Eeq5BK6mmo2rWg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_B_Gd0JUNEeqfMc95BD27pw" type="Generalization_Edge" source="_B_ITAJUNEeqfMc95BD27pw" target="_B_Hr8ZUNEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_B_Gd0ZUNEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_M4hgQJm0Eeq8nv7tV9lOqQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_B_Gd0pUNEeqfMc95BD27pw" x="-1" y="57"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_B_Gd05UNEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_4pLdcIhtEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_B_Gd1JUNEeqfMc95BD27pw" points="[11560, 775, -643984, -643984]$[11440, 649, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_B_Gd1ZUNEeqfMc95BD27pw" id="(0.4968944099378882,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_B_Gd1pUNEeqfMc95BD27pw" id="(0.8502772643253235,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_B_HE4JUNEeqfMc95BD27pw" type="Generalization_Edge" source="_B_ITEJUNEeqfMc95BD27pw" target="_B_Hr8ZUNEeqfMc95BD27pw">
+      <children xmi:type="notation:DecorationNode" xmi:id="_B_HE4ZUNEeqfMc95BD27pw" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_M4pcEJm0Eeq8nv7tV9lOqQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_B_HE4pUNEeqfMc95BD27pw" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_B_HE45UNEeqfMc95BD27pw"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_5KbJUIhtEeqlnrZTj0aPoA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_B_HE5JUNEeqfMc95BD27pw" points="[11300, 775, -643984, -643984]$[11320, 649, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_B_HE5ZUNEeqfMc95BD27pw" id="(0.498220640569395,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_B_HE5pUNEeqfMc95BD27pw" id="(0.2587800369685767,1.0)"/>
+    </edges>
+  </notation:Diagram>
+  <css:EmbeddedStyleSheet xmi:id="_mci3oJm1Eeq8nv7tV9lOqQ" label="OnlyAttributes" content="Stereotype > Compartment[kind=&quot;operations&quot;] {&#xD;&#xA;    visible: false;&#xD;&#xA;}&#xD;&#xA;&#xD;&#xA;Generalization {&#xD;&#xA;&#x9;routing : Rectilinear;&#xD;&#xA;}&#xD;&#xA;&#xD;&#xA;Extension {&#xD;&#xA;&#x9;routing : Rectilinear;&#xD;&#xA;}"/>
+  <notation:Diagram xmi:id="_IJYokKThEeqmTOsCAzVBxg" type="PapyrusUMLProfileDiagram" name="Layer_weight_constraints" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_Q5hogKThEeqmTOsCAzVBxg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Q5iPkKThEeqmTOsCAzVBxg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Q5iPkaThEeqmTOsCAzVBxg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_EPESoKTiEeqmTOsCAzVBxg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_EO8W0KTiEeqmTOsCAzVBxg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_EPESoaTiEeqmTOsCAzVBxg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_H-KakKTiEeqmTOsCAzVBxg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_H-FiEKTiEeqmTOsCAzVBxg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_H-KakaTiEeqmTOsCAzVBxg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Q5iPkqThEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Q5iPk6ThEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Q5iPlKThEeqmTOsCAzVBxg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Q5iPlaThEeqmTOsCAzVBxg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Q5iPlqThEeqmTOsCAzVBxg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Q5iPl6ThEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Q5iPmKThEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Q5iPmaThEeqmTOsCAzVBxg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Q5iPmqThEeqmTOsCAzVBxg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_Q5gaYKThEeqmTOsCAzVBxg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Q5hogaThEeqmTOsCAzVBxg" x="140" y="680"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_SFrSkKThEeqmTOsCAzVBxg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_SFrSkqThEeqmTOsCAzVBxg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_SFr5oKThEeqmTOsCAzVBxg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_SFr5oaThEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_SFr5oqThEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_SFr5o6ThEeqmTOsCAzVBxg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SFr5pKThEeqmTOsCAzVBxg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_SFr5paThEeqmTOsCAzVBxg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_SFr5pqThEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_SFr5p6ThEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_SFr5qKThEeqmTOsCAzVBxg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SFr5qaThEeqmTOsCAzVBxg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_SFqEcKThEeqmTOsCAzVBxg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SFrSkaThEeqmTOsCAzVBxg" y="680"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_oe5-YKThEeqmTOsCAzVBxg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_oe6lcKThEeqmTOsCAzVBxg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_oe6lcaThEeqmTOsCAzVBxg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_oe6lcqThEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_oe6lc6ThEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_oe6ldKThEeqmTOsCAzVBxg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oe6ldaThEeqmTOsCAzVBxg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_oe7MgKThEeqmTOsCAzVBxg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_oe7MgaThEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_oe7MgqThEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_oe7Mg6ThEeqmTOsCAzVBxg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oe7MhKThEeqmTOsCAzVBxg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_oe1s8KThEeqmTOsCAzVBxg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oe5-YaThEeqmTOsCAzVBxg" x="540" y="460"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_p5hiQKThEeqmTOsCAzVBxg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_p5iJUKThEeqmTOsCAzVBxg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_p5iJUaThEeqmTOsCAzVBxg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_p5iJUqThEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_p5iJU6ThEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_p5iJVKThEeqmTOsCAzVBxg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p5iJVaThEeqmTOsCAzVBxg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_p5iJVqThEeqmTOsCAzVBxg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_p5iJV6ThEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_p5iJWKThEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_p5iJWaThEeqmTOsCAzVBxg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p5iJWqThEeqmTOsCAzVBxg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_p5ftEKThEeqmTOsCAzVBxg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p5hiQaThEeqmTOsCAzVBxg" x="420" y="460"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_s2-K0KThEeqmTOsCAzVBxg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_s2-x4KThEeqmTOsCAzVBxg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_s2-x4aThEeqmTOsCAzVBxg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_s2-x4qThEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_s2-x46ThEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_s2-x5KThEeqmTOsCAzVBxg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s2-x5aThEeqmTOsCAzVBxg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_s2-x5qThEeqmTOsCAzVBxg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_s2-x56ThEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_s2-x6KThEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_s2-x6aThEeqmTOsCAzVBxg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s2-x6qThEeqmTOsCAzVBxg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_s288sKThEeqmTOsCAzVBxg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s2-K0aThEeqmTOsCAzVBxg" x="300" y="460"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_T5M-UKTkEeqmTOsCAzVBxg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_T5NlYKTkEeqmTOsCAzVBxg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_T5NlYaTkEeqmTOsCAzVBxg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_YMPg0KTkEeqmTOsCAzVBxg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_YMFv0KTkEeqmTOsCAzVBxg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_YMPg0aTkEeqmTOsCAzVBxg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_T5NlYqTkEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_T5NlY6TkEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_T5NlZKTkEeqmTOsCAzVBxg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T5NlZaTkEeqmTOsCAzVBxg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_T5NlZqTkEeqmTOsCAzVBxg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_T5NlZ6TkEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_T5NlaKTkEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_T5NlaaTkEeqmTOsCAzVBxg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T5NlaqTkEeqmTOsCAzVBxg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_T5LJIKTkEeqmTOsCAzVBxg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T5M-UaTkEeqmTOsCAzVBxg" x="160" y="240"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_cxYf8KTkEeqmTOsCAzVBxg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_cxYf8qTkEeqmTOsCAzVBxg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_cxYf86TkEeqmTOsCAzVBxg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_hrnlUKTkEeqmTOsCAzVBxg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_hrd0UKTkEeqmTOsCAzVBxg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_hrnlUaTkEeqmTOsCAzVBxg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_cxYf9KTkEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_cxYf9aTkEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_cxYf9qTkEeqmTOsCAzVBxg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cxYf96TkEeqmTOsCAzVBxg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_cxYf-KTkEeqmTOsCAzVBxg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_cxYf-aTkEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_cxYf-qTkEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_cxYf-6TkEeqmTOsCAzVBxg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cxYf_KTkEeqmTOsCAzVBxg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_cxXR0KTkEeqmTOsCAzVBxg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cxYf8aTkEeqmTOsCAzVBxg" x="20" y="480"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_sQ2WIKZ6EeqIr7xwFiWQGQ" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_sQ6AgKZ6EeqIr7xwFiWQGQ" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_sQ6nkKZ6EeqIr7xwFiWQGQ" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_sQ6nkaZ6EeqIr7xwFiWQGQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_sQ6nkqZ6EeqIr7xwFiWQGQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_sQ6nk6Z6EeqIr7xwFiWQGQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sQ6nlKZ6EeqIr7xwFiWQGQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_sQ6nlaZ6EeqIr7xwFiWQGQ" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_sQ6nlqZ6EeqIr7xwFiWQGQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_sQ6nl6Z6EeqIr7xwFiWQGQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_sQ6nmKZ6EeqIr7xwFiWQGQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sQ6nmaZ6EeqIr7xwFiWQGQ"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_sQtMMKZ6EeqIr7xwFiWQGQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sQ2WIaZ6EeqIr7xwFiWQGQ" x="340" y="40"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_IJYokaThEeqmTOsCAzVBxg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_IJYokqThEeqmTOsCAzVBxg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_IJYok6ThEeqmTOsCAzVBxg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    </styles>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_02nlsK8YEeqhVOlV64dXmA" name="css_stylesheets" eObjectListValue="_mci3oJm1Eeq8nv7tV9lOqQ"/>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    <edges xmi:type="notation:Connector" xmi:id="_ZkbbwKTkEeqmTOsCAzVBxg" type="Generalization_Edge" source="_s2-K0KThEeqmTOsCAzVBxg" target="_T5M-UKTkEeqmTOsCAzVBxg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Zkbbw6TkEeqmTOsCAzVBxg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Z-gvsKTkEeqmTOsCAzVBxg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ZkbbxKTkEeqmTOsCAzVBxg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_ZkbbwaTkEeqmTOsCAzVBxg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_ZkPOgKTkEeqmTOsCAzVBxg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ZkbbwqTkEeqmTOsCAzVBxg" points="[560, 460, -643984, -643984]$[400, 443, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Zko3IKTkEeqmTOsCAzVBxg" id="(0.2,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Zko3IaTkEeqmTOsCAzVBxg" id="(0.5970149253731343,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_vNWsAKTkEeqmTOsCAzVBxg" type="Generalization_Edge" source="_Q5hogKThEeqmTOsCAzVBxg" target="_cxYf8KTkEeqmTOsCAzVBxg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_vNWsA6TkEeqmTOsCAzVBxg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_y4PpYKTkEeqmTOsCAzVBxg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_vNWsBKTkEeqmTOsCAzVBxg" x="-1" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_vNWsAaTkEeqmTOsCAzVBxg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_vNIpkKTkEeqmTOsCAzVBxg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vNWsAqTkEeqmTOsCAzVBxg" points="[200, 680, -643984, -643984]$[140, 583, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vNo_4KTkEeqmTOsCAzVBxg" id="(0.4225352112676056,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vNpm8KTkEeqmTOsCAzVBxg" id="(0.8333333333333334,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_vv4KQKTkEeqmTOsCAzVBxg" type="Generalization_Edge" source="_SFrSkKThEeqmTOsCAzVBxg" target="_cxYf8KTkEeqmTOsCAzVBxg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_vv4KQ6TkEeqmTOsCAzVBxg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_y4W-IKTkEeqmTOsCAzVBxg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_vv4KRKTkEeqmTOsCAzVBxg" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_vv4KQaTkEeqmTOsCAzVBxg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_vvr9AKTkEeqmTOsCAzVBxg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vv4KQqTkEeqmTOsCAzVBxg" points="[60, 680, -643984, -643984]$[80, 583, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vwE-kKTkEeqmTOsCAzVBxg" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vwE-kaTkEeqmTOsCAzVBxg" id="(0.4166666666666667,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_1Q8mIKTkEeqmTOsCAzVBxg" type="Generalization_Edge" source="_cxYf8KTkEeqmTOsCAzVBxg" target="_T5M-UKTkEeqmTOsCAzVBxg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_1Q9NMKTkEeqmTOsCAzVBxg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_wMXwgKZ6EeqIr7xwFiWQGQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_1Q9NMaTkEeqmTOsCAzVBxg" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_1Q8mIaTkEeqmTOsCAzVBxg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_1Qw_8KTkEeqmTOsCAzVBxg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_1Q8mIqTkEeqmTOsCAzVBxg" points="[140, 480, -643984, -643984]$[200, 343, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1RKokKTkEeqmTOsCAzVBxg" id="(0.8333333333333334,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1RKokaTkEeqmTOsCAzVBxg" id="(0.29850746268656714,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_ymr20KZ6EeqIr7xwFiWQGQ" type="Generalization_Edge" source="_T5M-UKTkEeqmTOsCAzVBxg" target="_sQ2WIKZ6EeqIr7xwFiWQGQ">
+      <children xmi:type="notation:DecorationNode" xmi:id="_ymr206Z6EeqIr7xwFiWQGQ" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ymr21KZ6EeqIr7xwFiWQGQ" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_ymr20aZ6EeqIr7xwFiWQGQ"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_ymebcKZ6EeqIr7xwFiWQGQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ymr20qZ6EeqIr7xwFiWQGQ" points="[240, 240, -643984, -643984]$[380, 140, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ynOCUKZ6EeqIr7xwFiWQGQ" id="(0.5970149253731343,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ynOCUaZ6EeqIr7xwFiWQGQ" id="(0.4,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_zMcPQKZ6EeqIr7xwFiWQGQ" type="Generalization_Edge" source="_p5hiQKThEeqmTOsCAzVBxg" target="_sQ2WIKZ6EeqIr7xwFiWQGQ">
+      <children xmi:type="notation:DecorationNode" xmi:id="_zMc2UKZ6EeqIr7xwFiWQGQ" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_zMc2UaZ6EeqIr7xwFiWQGQ" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_zMcPQaZ6EeqIr7xwFiWQGQ"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_zMJUUKZ6EeqIr7xwFiWQGQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_zMcPQqZ6EeqIr7xwFiWQGQ" points="[480, 460, -643984, -643984]$[400, 140, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zM_o4KZ6EeqIr7xwFiWQGQ" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zM_o4aZ6EeqIr7xwFiWQGQ" id="(0.6,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_z1-7gKZ6EeqIr7xwFiWQGQ" type="Generalization_Edge" source="_oe5-YKThEeqmTOsCAzVBxg" target="_sQ2WIKZ6EeqIr7xwFiWQGQ">
+      <children xmi:type="notation:DecorationNode" xmi:id="_z1_ikKZ6EeqIr7xwFiWQGQ" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_z1_ikaZ6EeqIr7xwFiWQGQ" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_z1-7gaZ6EeqIr7xwFiWQGQ"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_z11KgKZ6EeqIr7xwFiWQGQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_z1-7gqZ6EeqIr7xwFiWQGQ" points="[600, 460, -643984, -643984]$[400, 140, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_z2RPYKZ6EeqIr7xwFiWQGQ" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_z2RPYaZ6EeqIr7xwFiWQGQ" id="(0.6,1.0)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_W-_1IKTlEeqmTOsCAzVBxg" type="PapyrusUMLProfileDiagram" name="Layer_weight_constraints" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_9z2S0KZ6EeqIr7xwFiWQGQ" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_9z2S0aZ6EeqIr7xwFiWQGQ" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_9z2S0qZ6EeqIr7xwFiWQGQ" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_9z2S06Z6EeqIr7xwFiWQGQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_9z2S1KZ6EeqIr7xwFiWQGQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_9z2S1aZ6EeqIr7xwFiWQGQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9z2S1qZ6EeqIr7xwFiWQGQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_9z2S16Z6EeqIr7xwFiWQGQ" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_9z2S2KZ6EeqIr7xwFiWQGQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_9z2S2aZ6EeqIr7xwFiWQGQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_9z2S2qZ6EeqIr7xwFiWQGQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9z2S26Z6EeqIr7xwFiWQGQ"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_SFqEcKThEeqmTOsCAzVBxg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9z2S36Z6EeqIr7xwFiWQGQ" x="10" y="690"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9z254KZ6EeqIr7xwFiWQGQ" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_9z254aZ6EeqIr7xwFiWQGQ" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_9z254qZ6EeqIr7xwFiWQGQ" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_9z2546Z6EeqIr7xwFiWQGQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_9z255KZ6EeqIr7xwFiWQGQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_9z255aZ6EeqIr7xwFiWQGQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9z255qZ6EeqIr7xwFiWQGQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_9z2556Z6EeqIr7xwFiWQGQ" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_9z256KZ6EeqIr7xwFiWQGQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_9z256aZ6EeqIr7xwFiWQGQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_9z256qZ6EeqIr7xwFiWQGQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9z2566Z6EeqIr7xwFiWQGQ"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_p5ftEKThEeqmTOsCAzVBxg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9z2576Z6EeqIr7xwFiWQGQ" x="430" y="470"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9z258KZ6EeqIr7xwFiWQGQ" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_9z258aZ6EeqIr7xwFiWQGQ" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_9z258qZ6EeqIr7xwFiWQGQ" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_9z2586Z6EeqIr7xwFiWQGQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_9z259KZ6EeqIr7xwFiWQGQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_9z259aZ6EeqIr7xwFiWQGQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9z259qZ6EeqIr7xwFiWQGQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_9z2596Z6EeqIr7xwFiWQGQ" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_9z25-KZ6EeqIr7xwFiWQGQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_9z25-aZ6EeqIr7xwFiWQGQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_9z25-qZ6EeqIr7xwFiWQGQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9z25-6Z6EeqIr7xwFiWQGQ"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_oe1s8KThEeqmTOsCAzVBxg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9z25_6Z6EeqIr7xwFiWQGQ" x="550" y="470"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9z4IAKZ6EeqIr7xwFiWQGQ" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_9z4IAaZ6EeqIr7xwFiWQGQ" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_9z4IAqZ6EeqIr7xwFiWQGQ" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_9z4IA6Z6EeqIr7xwFiWQGQ" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_hrd0UKTkEeqmTOsCAzVBxg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_9z4IBKZ6EeqIr7xwFiWQGQ"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_9z4IBaZ6EeqIr7xwFiWQGQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_9z4IBqZ6EeqIr7xwFiWQGQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_9z4IB6Z6EeqIr7xwFiWQGQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9z4ICKZ6EeqIr7xwFiWQGQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_9z4ICaZ6EeqIr7xwFiWQGQ" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_9z4ICqZ6EeqIr7xwFiWQGQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_9z4IC6Z6EeqIr7xwFiWQGQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_9z4IDKZ6EeqIr7xwFiWQGQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9z4IDaZ6EeqIr7xwFiWQGQ"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_cxXR0KTkEeqmTOsCAzVBxg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9z4IEaZ6EeqIr7xwFiWQGQ" x="30" y="490"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9z4IFKZ6EeqIr7xwFiWQGQ" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_9z4IFaZ6EeqIr7xwFiWQGQ" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_9z4IFqZ6EeqIr7xwFiWQGQ" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_9z4IF6Z6EeqIr7xwFiWQGQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_9z4IGKZ6EeqIr7xwFiWQGQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_9z4IGaZ6EeqIr7xwFiWQGQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9z4IGqZ6EeqIr7xwFiWQGQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_9z4IG6Z6EeqIr7xwFiWQGQ" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_9z4IHKZ6EeqIr7xwFiWQGQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_9z4IHaZ6EeqIr7xwFiWQGQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_9z4IHqZ6EeqIr7xwFiWQGQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9z4IH6Z6EeqIr7xwFiWQGQ"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_s288sKThEeqmTOsCAzVBxg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9z4II6Z6EeqIr7xwFiWQGQ" x="310" y="470"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9z4vEaZ6EeqIr7xwFiWQGQ" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_9z4vEqZ6EeqIr7xwFiWQGQ" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_9z4vE6Z6EeqIr7xwFiWQGQ" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_9z4vFKZ6EeqIr7xwFiWQGQ" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_YMFv0KTkEeqmTOsCAzVBxg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_9z4vFaZ6EeqIr7xwFiWQGQ"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_9z4vFqZ6EeqIr7xwFiWQGQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_9z4vF6Z6EeqIr7xwFiWQGQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_9z4vGKZ6EeqIr7xwFiWQGQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9z4vGaZ6EeqIr7xwFiWQGQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_9z4vGqZ6EeqIr7xwFiWQGQ" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_9z4vG6Z6EeqIr7xwFiWQGQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_9z4vHKZ6EeqIr7xwFiWQGQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_9z4vHaZ6EeqIr7xwFiWQGQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9z4vHqZ6EeqIr7xwFiWQGQ"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_T5LJIKTkEeqmTOsCAzVBxg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9z4vIqZ6EeqIr7xwFiWQGQ" x="170" y="250"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9z4vLKZ6EeqIr7xwFiWQGQ" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_9z4vLaZ6EeqIr7xwFiWQGQ" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_9z4vLqZ6EeqIr7xwFiWQGQ" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_9z4vL6Z6EeqIr7xwFiWQGQ" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_EO8W0KTiEeqmTOsCAzVBxg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_9z4vMKZ6EeqIr7xwFiWQGQ"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_9z4vMaZ6EeqIr7xwFiWQGQ" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_H-FiEKTiEeqmTOsCAzVBxg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_9z4vMqZ6EeqIr7xwFiWQGQ"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_9z4vM6Z6EeqIr7xwFiWQGQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_9z4vNKZ6EeqIr7xwFiWQGQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_9z4vNaZ6EeqIr7xwFiWQGQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9z4vNqZ6EeqIr7xwFiWQGQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_9z4vN6Z6EeqIr7xwFiWQGQ" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_9z4vOKZ6EeqIr7xwFiWQGQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_9z4vOaZ6EeqIr7xwFiWQGQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_9z4vOqZ6EeqIr7xwFiWQGQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9z4vO6Z6EeqIr7xwFiWQGQ"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_Q5gaYKThEeqmTOsCAzVBxg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9z4vP6Z6EeqIr7xwFiWQGQ" x="150" y="690"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_9z5WIKZ6EeqIr7xwFiWQGQ" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_9z5WIaZ6EeqIr7xwFiWQGQ" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_9z5WIqZ6EeqIr7xwFiWQGQ" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_9z5WI6Z6EeqIr7xwFiWQGQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_9z5WJKZ6EeqIr7xwFiWQGQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_9z5WJaZ6EeqIr7xwFiWQGQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9z5WJqZ6EeqIr7xwFiWQGQ"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_9z5WJ6Z6EeqIr7xwFiWQGQ" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_9z5WKKZ6EeqIr7xwFiWQGQ"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_9z5WKaZ6EeqIr7xwFiWQGQ"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_9z5WKqZ6EeqIr7xwFiWQGQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9z5WK6Z6EeqIr7xwFiWQGQ"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_sQtMMKZ6EeqIr7xwFiWQGQ"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9z5WL6Z6EeqIr7xwFiWQGQ" x="350" y="50"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_W-_1IaTlEeqmTOsCAzVBxg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_W-_1IqTlEeqmTOsCAzVBxg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_W-_1I6TlEeqmTOsCAzVBxg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_DtlO0KTlEeqmTOsCAzVBxg"/>
+    </styles>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_DtlO0KTlEeqmTOsCAzVBxg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_9z2S4KZ6EeqIr7xwFiWQGQ" type="Generalization_Edge" source="_9z258KZ6EeqIr7xwFiWQGQ" target="_9z5WIKZ6EeqIr7xwFiWQGQ">
+      <children xmi:type="notation:DecorationNode" xmi:id="_9z2S4aZ6EeqIr7xwFiWQGQ" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9z2S4qZ6EeqIr7xwFiWQGQ" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_9z2S46Z6EeqIr7xwFiWQGQ"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_z11KgKZ6EeqIr7xwFiWQGQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9z2S5KZ6EeqIr7xwFiWQGQ" points="[600, 460, -643984, -643984]$[400, 140, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9z2S5aZ6EeqIr7xwFiWQGQ" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9z2S5qZ6EeqIr7xwFiWQGQ" id="(0.6,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9z3g8KZ6EeqIr7xwFiWQGQ" type="Generalization_Edge" source="_9z4vLKZ6EeqIr7xwFiWQGQ" target="_9z4IAKZ6EeqIr7xwFiWQGQ">
+      <children xmi:type="notation:DecorationNode" xmi:id="_9z3g8aZ6EeqIr7xwFiWQGQ" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_9z3g8qZ6EeqIr7xwFiWQGQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9z3g86Z6EeqIr7xwFiWQGQ" x="-1" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_9z3g9KZ6EeqIr7xwFiWQGQ"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_vNIpkKTkEeqmTOsCAzVBxg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9z3g9aZ6EeqIr7xwFiWQGQ" points="[200, 680, -643984, -643984]$[140, 583, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9z3g9qZ6EeqIr7xwFiWQGQ" id="(0.4225352112676056,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9z3g96Z6EeqIr7xwFiWQGQ" id="(0.8333333333333334,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9z3g-KZ6EeqIr7xwFiWQGQ" type="Generalization_Edge" source="_9z254KZ6EeqIr7xwFiWQGQ" target="_9z5WIKZ6EeqIr7xwFiWQGQ">
+      <children xmi:type="notation:DecorationNode" xmi:id="_9z3g-aZ6EeqIr7xwFiWQGQ" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9z3g-qZ6EeqIr7xwFiWQGQ" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_9z3g-6Z6EeqIr7xwFiWQGQ"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_zMJUUKZ6EeqIr7xwFiWQGQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9z3g_KZ6EeqIr7xwFiWQGQ" points="[480, 460, -643984, -643984]$[400, 140, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9z3g_aZ6EeqIr7xwFiWQGQ" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9z3g_qZ6EeqIr7xwFiWQGQ" id="(0.6,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9z3g_6Z6EeqIr7xwFiWQGQ" type="Generalization_Edge" source="_9z4vEaZ6EeqIr7xwFiWQGQ" target="_9z5WIKZ6EeqIr7xwFiWQGQ">
+      <children xmi:type="notation:DecorationNode" xmi:id="_9z3hAKZ6EeqIr7xwFiWQGQ" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9z3hAaZ6EeqIr7xwFiWQGQ" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_9z3hAqZ6EeqIr7xwFiWQGQ"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_ymebcKZ6EeqIr7xwFiWQGQ"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9z3hA6Z6EeqIr7xwFiWQGQ" points="[240, 240, -643984, -643984]$[380, 140, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9z3hBKZ6EeqIr7xwFiWQGQ" id="(0.5970149253731343,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9z3hBaZ6EeqIr7xwFiWQGQ" id="(0.4,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9z3hBqZ6EeqIr7xwFiWQGQ" type="Generalization_Edge" source="_9z2S0KZ6EeqIr7xwFiWQGQ" target="_9z4IAKZ6EeqIr7xwFiWQGQ">
+      <children xmi:type="notation:DecorationNode" xmi:id="_9z3hB6Z6EeqIr7xwFiWQGQ" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_9z3hCKZ6EeqIr7xwFiWQGQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9z3hCaZ6EeqIr7xwFiWQGQ" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_9z3hCqZ6EeqIr7xwFiWQGQ"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_vvr9AKTkEeqmTOsCAzVBxg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9z3hC6Z6EeqIr7xwFiWQGQ" points="[60, 680, -643984, -643984]$[80, 583, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9z3hDKZ6EeqIr7xwFiWQGQ" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9z3hDaZ6EeqIr7xwFiWQGQ" id="(0.4166666666666667,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9z4vJKZ6EeqIr7xwFiWQGQ" type="Generalization_Edge" source="_9z4IFKZ6EeqIr7xwFiWQGQ" target="_9z4vEaZ6EeqIr7xwFiWQGQ">
+      <children xmi:type="notation:DecorationNode" xmi:id="_9z4vJaZ6EeqIr7xwFiWQGQ" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_9z4vJqZ6EeqIr7xwFiWQGQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9z4vJ6Z6EeqIr7xwFiWQGQ" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_9z4vKKZ6EeqIr7xwFiWQGQ"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_ZkPOgKTkEeqmTOsCAzVBxg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9z4vKaZ6EeqIr7xwFiWQGQ" points="[560, 460, -643984, -643984]$[400, 443, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9z4vKqZ6EeqIr7xwFiWQGQ" id="(0.2,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9z4vK6Z6EeqIr7xwFiWQGQ" id="(0.5970149253731343,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_9z4vQKZ6EeqIr7xwFiWQGQ" type="Generalization_Edge" source="_9z4IAKZ6EeqIr7xwFiWQGQ" target="_9z4vEaZ6EeqIr7xwFiWQGQ">
+      <children xmi:type="notation:DecorationNode" xmi:id="_9z4vQaZ6EeqIr7xwFiWQGQ" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_9z4vQqZ6EeqIr7xwFiWQGQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_9z4vQ6Z6EeqIr7xwFiWQGQ" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_9z4vRKZ6EeqIr7xwFiWQGQ"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_1Qw_8KTkEeqmTOsCAzVBxg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9z4vRaZ6EeqIr7xwFiWQGQ" points="[140, 480, -643984, -643984]$[200, 343, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9z4vRqZ6EeqIr7xwFiWQGQ" id="(0.8333333333333334,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9z4vR6Z6EeqIr7xwFiWQGQ" id="(0.29850746268656714,1.0)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_wSAfkKTnEeqmTOsCAzVBxg" type="PapyrusUMLProfileDiagram" name="Layer_weight_regularizers" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_0kKRQKTnEeqmTOsCAzVBxg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_0kK4UKTnEeqmTOsCAzVBxg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_0kK4UaTnEeqmTOsCAzVBxg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_0kK4UqTnEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_0kK4U6TnEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_0kK4VKTnEeqmTOsCAzVBxg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0kK4VaTnEeqmTOsCAzVBxg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_0kK4VqTnEeqmTOsCAzVBxg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_0kK4V6TnEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_0kK4WKTnEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_0kK4WaTnEeqmTOsCAzVBxg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0kK4WqTnEeqmTOsCAzVBxg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_0kGm4KTnEeqmTOsCAzVBxg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0kKRQaTnEeqmTOsCAzVBxg" x="40" y="380"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_PhR_AKToEeqmTOsCAzVBxg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_PhSmEaToEeqmTOsCAzVBxg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_PhSmEqToEeqmTOsCAzVBxg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_PhSmE6ToEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_PhSmFKToEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_PhSmFaToEeqmTOsCAzVBxg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PhSmFqToEeqmTOsCAzVBxg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_PhSmF6ToEeqmTOsCAzVBxg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_PhSmGKToEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_PhSmGaToEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_PhSmGqToEeqmTOsCAzVBxg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PhSmG6ToEeqmTOsCAzVBxg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_PhQJ0KToEeqmTOsCAzVBxg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PhSmEKToEeqmTOsCAzVBxg" x="380" y="380"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_QuL3AKToEeqmTOsCAzVBxg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_QuL3AqToEeqmTOsCAzVBxg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_QuL3A6ToEeqmTOsCAzVBxg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_QuL3BKToEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_QuL3BaToEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_QuL3BqToEeqmTOsCAzVBxg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QuL3B6ToEeqmTOsCAzVBxg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_QuL3CKToEeqmTOsCAzVBxg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_QuL3CaToEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_QuL3CqToEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_QuL3C6ToEeqmTOsCAzVBxg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QuL3DKToEeqmTOsCAzVBxg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_QuKB0KToEeqmTOsCAzVBxg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QuL3AaToEeqmTOsCAzVBxg" x="220" y="380"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_smfaoKToEeqmTOsCAzVBxg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_smgBsKToEeqmTOsCAzVBxg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_smgBsaToEeqmTOsCAzVBxg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_yJ9qQKToEeqmTOsCAzVBxg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_yJ2VgKToEeqmTOsCAzVBxg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_yJ9qQaToEeqmTOsCAzVBxg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_smgBsqToEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_smgBs6ToEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_smgBtKToEeqmTOsCAzVBxg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_smgBtaToEeqmTOsCAzVBxg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_smgBtqToEeqmTOsCAzVBxg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_smgBt6ToEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_smgBuKToEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_smgBuaToEeqmTOsCAzVBxg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_smgBuqToEeqmTOsCAzVBxg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_smezkKToEeqmTOsCAzVBxg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_smfaoaToEeqmTOsCAzVBxg" x="140" y="220"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_vbyMwKToEeqmTOsCAzVBxg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_vbyMwqToEeqmTOsCAzVBxg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_vbyMw6ToEeqmTOsCAzVBxg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_zAfpoKToEeqmTOsCAzVBxg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_zAXt0KToEeqmTOsCAzVBxg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_zAfpoaToEeqmTOsCAzVBxg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_vbyMxKToEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_vbyMxaToEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_vbyMxqToEeqmTOsCAzVBxg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vbyMx6ToEeqmTOsCAzVBxg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_vbyMyKToEeqmTOsCAzVBxg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_vbyMyaToEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_vbyMyqToEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_vbyMy6ToEeqmTOsCAzVBxg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vbyMzKToEeqmTOsCAzVBxg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_vbw-oKToEeqmTOsCAzVBxg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vbyMwaToEeqmTOsCAzVBxg" x="360" y="220"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_wSAfkaTnEeqmTOsCAzVBxg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_wSAfkqTnEeqmTOsCAzVBxg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_wSAfk6TnEeqmTOsCAzVBxg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    </styles>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_2EVWAK8YEeqhVOlV64dXmA" name="css_stylesheets" eObjectListValue="_mci3oJm1Eeq8nv7tV9lOqQ"/>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    <edges xmi:type="notation:Connector" xmi:id="_8VxW8KToEeqmTOsCAzVBxg" type="Generalization_Edge" source="_0kKRQKTnEeqmTOsCAzVBxg" target="_smfaoKToEeqmTOsCAzVBxg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8Vx-AKToEeqmTOsCAzVBxg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8Vx-AaToEeqmTOsCAzVBxg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8VxW8aToEeqmTOsCAzVBxg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_8VmX0KToEeqmTOsCAzVBxg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8VxW8qToEeqmTOsCAzVBxg" points="[120, 380, -643984, -643984]$[180, 323, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8WCcsKToEeqmTOsCAzVBxg" id="(0.8,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8WCcsaToEeqmTOsCAzVBxg" id="(0.4,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_8pp8QKToEeqmTOsCAzVBxg" type="Generalization_Edge" source="_PhR_AKToEeqmTOsCAzVBxg" target="_vbyMwKToEeqmTOsCAzVBxg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8pp8Q6ToEeqmTOsCAzVBxg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_8pp8RKToEeqmTOsCAzVBxg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8pp8QaToEeqmTOsCAzVBxg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_8pjOkKToEeqmTOsCAzVBxg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8pp8QqToEeqmTOsCAzVBxg" points="[440, 380, -643984, -643984]$[400, 323, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8p1icKToEeqmTOsCAzVBxg" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8p1icaToEeqmTOsCAzVBxg" id="(0.4,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_98O-cKToEeqmTOsCAzVBxg" type="Generalization_Edge" source="_QuL3AKToEeqmTOsCAzVBxg" target="_smfaoKToEeqmTOsCAzVBxg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_98O-c6ToEeqmTOsCAzVBxg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_98O-dKToEeqmTOsCAzVBxg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_98O-caToEeqmTOsCAzVBxg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_98EmYKToEeqmTOsCAzVBxg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_98O-cqToEeqmTOsCAzVBxg" points="[260, 380, -643984, -643984]$[200, 323, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_98Z9kKToEeqmTOsCAzVBxg" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_98Z9kaToEeqmTOsCAzVBxg" id="(0.6,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_-X18YKToEeqmTOsCAzVBxg" type="Generalization_Edge" source="_QuL3AKToEeqmTOsCAzVBxg" target="_vbyMwKToEeqmTOsCAzVBxg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_-X2jcKToEeqmTOsCAzVBxg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_-X2jcaToEeqmTOsCAzVBxg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_-X18YaToEeqmTOsCAzVBxg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_-XpvIKToEeqmTOsCAzVBxg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-X18YqToEeqmTOsCAzVBxg" points="[280, 380, -643984, -643984]$[380, 323, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-YF0AKToEeqmTOsCAzVBxg" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-YF0AaToEeqmTOsCAzVBxg" id="(0.2,1.0)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_crFRYKTpEeqmTOsCAzVBxg" type="PapyrusUMLProfileDiagram" name="Layer_weight_regularizers" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_f-SukKTpEeqmTOsCAzVBxg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_f-SukaTpEeqmTOsCAzVBxg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_f-SukqTpEeqmTOsCAzVBxg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_f-Suk6TpEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_f-SulKTpEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_f-SulaTpEeqmTOsCAzVBxg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_f-SulqTpEeqmTOsCAzVBxg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_f-Sul6TpEeqmTOsCAzVBxg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_f-SumKTpEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_f-SumaTpEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_f-SumqTpEeqmTOsCAzVBxg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_f-Sum6TpEeqmTOsCAzVBxg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_PhQJ0KToEeqmTOsCAzVBxg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_f-Sun6TpEeqmTOsCAzVBxg" x="390" y="390"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_f-TVoKTpEeqmTOsCAzVBxg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_f-TVoaTpEeqmTOsCAzVBxg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_f-TVoqTpEeqmTOsCAzVBxg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_f-TVo6TpEeqmTOsCAzVBxg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_zAXt0KToEeqmTOsCAzVBxg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_f-TVpKTpEeqmTOsCAzVBxg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_f-TVpaTpEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_f-TVpqTpEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_f-TVp6TpEeqmTOsCAzVBxg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_f-TVqKTpEeqmTOsCAzVBxg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_f-TVqaTpEeqmTOsCAzVBxg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_f-TVqqTpEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_f-TVq6TpEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_f-TVrKTpEeqmTOsCAzVBxg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_f-TVraTpEeqmTOsCAzVBxg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_vbw-oKToEeqmTOsCAzVBxg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_f-TVsaTpEeqmTOsCAzVBxg" x="370" y="230"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_f-T8sKTpEeqmTOsCAzVBxg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_f-T8saTpEeqmTOsCAzVBxg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_f-T8sqTpEeqmTOsCAzVBxg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_f-T8s6TpEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_f-T8tKTpEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_f-T8taTpEeqmTOsCAzVBxg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_f-T8tqTpEeqmTOsCAzVBxg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_f-T8t6TpEeqmTOsCAzVBxg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_f-T8uKTpEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_f-T8uaTpEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_f-T8uqTpEeqmTOsCAzVBxg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_f-T8u6TpEeqmTOsCAzVBxg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_0kGm4KTnEeqmTOsCAzVBxg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_f-T8v6TpEeqmTOsCAzVBxg" x="50" y="390"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_f-Ujx6TpEeqmTOsCAzVBxg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_f-UjyKTpEeqmTOsCAzVBxg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_f-UjyaTpEeqmTOsCAzVBxg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_f-UjyqTpEeqmTOsCAzVBxg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_yJ2VgKToEeqmTOsCAzVBxg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_f-Ujy6TpEeqmTOsCAzVBxg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_f-UjzKTpEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_f-UjzaTpEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_f-UjzqTpEeqmTOsCAzVBxg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_f-Ujz6TpEeqmTOsCAzVBxg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_f-Uj0KTpEeqmTOsCAzVBxg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_f-Uj0aTpEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_f-Uj0qTpEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_f-Uj06TpEeqmTOsCAzVBxg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_f-Uj1KTpEeqmTOsCAzVBxg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_smezkKToEeqmTOsCAzVBxg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_f-Uj2KTpEeqmTOsCAzVBxg" x="150" y="230"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_f-Uj6KTpEeqmTOsCAzVBxg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_f-Uj6aTpEeqmTOsCAzVBxg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_f-Uj6qTpEeqmTOsCAzVBxg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_f-Uj66TpEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_f-Uj7KTpEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_f-Uj7aTpEeqmTOsCAzVBxg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_f-Uj7qTpEeqmTOsCAzVBxg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_f-Uj76TpEeqmTOsCAzVBxg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_f-Uj8KTpEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_f-VK0KTpEeqmTOsCAzVBxg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_f-VK0aTpEeqmTOsCAzVBxg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_f-VK0qTpEeqmTOsCAzVBxg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_QuKB0KToEeqmTOsCAzVBxg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_f-VK1qTpEeqmTOsCAzVBxg" x="230" y="390"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_crFRYaTpEeqmTOsCAzVBxg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_crFRYqTpEeqmTOsCAzVBxg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_crFRY6TpEeqmTOsCAzVBxg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_X5a5MKTpEeqmTOsCAzVBxg"/>
+    </styles>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_X5a5MKTpEeqmTOsCAzVBxg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_f-T8wKTpEeqmTOsCAzVBxg" type="Generalization_Edge" source="_f-T8sKTpEeqmTOsCAzVBxg" target="_f-Ujx6TpEeqmTOsCAzVBxg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_f-T8waTpEeqmTOsCAzVBxg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_f-T8wqTpEeqmTOsCAzVBxg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_f-T8w6TpEeqmTOsCAzVBxg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_8VmX0KToEeqmTOsCAzVBxg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_f-T8xKTpEeqmTOsCAzVBxg" points="[120, 380, -643984, -643984]$[180, 323, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_f-T8xaTpEeqmTOsCAzVBxg" id="(0.8,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_f-T8xqTpEeqmTOsCAzVBxg" id="(0.4,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_f-UjwKTpEeqmTOsCAzVBxg" type="Generalization_Edge" source="_f-Uj6KTpEeqmTOsCAzVBxg" target="_f-TVoKTpEeqmTOsCAzVBxg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_f-UjwaTpEeqmTOsCAzVBxg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_f-UjwqTpEeqmTOsCAzVBxg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_f-Ujw6TpEeqmTOsCAzVBxg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_-XpvIKToEeqmTOsCAzVBxg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_f-UjxKTpEeqmTOsCAzVBxg" points="[280, 380, -643984, -643984]$[380, 323, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_f-UjxaTpEeqmTOsCAzVBxg" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_f-UjxqTpEeqmTOsCAzVBxg" id="(0.2,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_f-Uj2qTpEeqmTOsCAzVBxg" type="Generalization_Edge" source="_f-Uj6KTpEeqmTOsCAzVBxg" target="_f-Ujx6TpEeqmTOsCAzVBxg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_f-Uj26TpEeqmTOsCAzVBxg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_f-Uj3KTpEeqmTOsCAzVBxg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_f-Uj3aTpEeqmTOsCAzVBxg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_98EmYKToEeqmTOsCAzVBxg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_f-Uj3qTpEeqmTOsCAzVBxg" points="[260, 380, -643984, -643984]$[200, 323, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_f-Uj36TpEeqmTOsCAzVBxg" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_f-Uj4KTpEeqmTOsCAzVBxg" id="(0.6,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_f-Uj4aTpEeqmTOsCAzVBxg" type="Generalization_Edge" source="_f-SukKTpEeqmTOsCAzVBxg" target="_f-TVoKTpEeqmTOsCAzVBxg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_f-Uj4qTpEeqmTOsCAzVBxg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_f-Uj46TpEeqmTOsCAzVBxg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_f-Uj5KTpEeqmTOsCAzVBxg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_8pjOkKToEeqmTOsCAzVBxg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_f-Uj5aTpEeqmTOsCAzVBxg" points="[440, 380, -643984, -643984]$[400, 323, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_f-Uj5qTpEeqmTOsCAzVBxg" id="(0.6,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_f-Uj56TpEeqmTOsCAzVBxg" id="(0.4,1.0)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_zDd5UKWREeq2dLYfuMvqgg" type="PapyrusUMLProfileDiagram" name="Layer_weight_initializers" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_-KB-EKWREeq2dLYfuMvqgg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_-KDzQKWREeq2dLYfuMvqgg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_-KDzQaWREeq2dLYfuMvqgg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_-KDzQqWREeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_-KDzQ6WREeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_-KDzRKWREeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-KDzRaWREeq2dLYfuMvqgg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_-KDzRqWREeq2dLYfuMvqgg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_-KDzR6WREeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_-KDzSKWREeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_-KDzSaWREeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-KDzSqWREeq2dLYfuMvqgg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_-JzUkKWREeq2dLYfuMvqgg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-KB-EaWREeq2dLYfuMvqgg" x="1620" y="400"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Gws48KWSEeq2dLYfuMvqgg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_GwtgAKWSEeq2dLYfuMvqgg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GwtgAaWSEeq2dLYfuMvqgg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_IifmsKWSEeq2dLYfuMvqgg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_IiUAgKWSEeq2dLYfuMvqgg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_IifmsaWSEeq2dLYfuMvqgg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_JNhgsKWSEeq2dLYfuMvqgg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_JNazAKWSEeq2dLYfuMvqgg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_JNhgsaWSEeq2dLYfuMvqgg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GwtgAqWSEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GwtgA6WSEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GwtgBKWSEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GwtgBaWSEeq2dLYfuMvqgg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_GwuHEKWSEeq2dLYfuMvqgg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_GwuHEaWSEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_GwuHEqWSEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_GwuHE6WSEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GwuHFKWSEeq2dLYfuMvqgg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_GwoAcKWSEeq2dLYfuMvqgg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Gws48aWSEeq2dLYfuMvqgg" x="1000" y="220"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Keup4KWSEeq2dLYfuMvqgg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_KevQ8KWSEeq2dLYfuMvqgg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Kev4AKWSEeq2dLYfuMvqgg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Kev4AaWSEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Kev4AqWSEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Kev4A6WSEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Kev4BKWSEeq2dLYfuMvqgg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_Kev4BaWSEeq2dLYfuMvqgg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Kev4BqWSEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_Kev4B6WSEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_Kev4CKWSEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Kev4CaWSEeq2dLYfuMvqgg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_KermkKWSEeq2dLYfuMvqgg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Keup4aWSEeq2dLYfuMvqgg" x="1360" y="400"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_OfGvEKWSEeq2dLYfuMvqgg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_OfGvEqWSEeq2dLYfuMvqgg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_OfHWIKWSEeq2dLYfuMvqgg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_OfHWIaWSEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_OfHWIqWSEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_OfHWI6WSEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OfHWJKWSEeq2dLYfuMvqgg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_OfHWJaWSEeq2dLYfuMvqgg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_OfHWJqWSEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_OfHWJ6WSEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_OfHWKKWSEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OfHWKaWSEeq2dLYfuMvqgg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_OfDEsKWSEeq2dLYfuMvqgg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OfGvEaWSEeq2dLYfuMvqgg" x="-180" y="40"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_ZE3z4KWSEeq2dLYfuMvqgg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_ZE3z4qWSEeq2dLYfuMvqgg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ZE4a8KWSEeq2dLYfuMvqgg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_ZE4a8aWSEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ZE4a8qWSEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ZE4a86WSEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZE4a9KWSEeq2dLYfuMvqgg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ZE4a9aWSEeq2dLYfuMvqgg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_ZE4a9qWSEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ZE4a96WSEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ZE4a-KWSEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZE4a-aWSEeq2dLYfuMvqgg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_ZEzicKWSEeq2dLYfuMvqgg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZE3z4aWSEeq2dLYfuMvqgg" x="-340" y="40"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_e62IwKWSEeq2dLYfuMvqgg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_e62v0KWSEeq2dLYfuMvqgg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_e62v0aWSEeq2dLYfuMvqgg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_e62v0qWSEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_e62v06WSEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_e62v1KWSEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_e62v1aWSEeq2dLYfuMvqgg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_e62v1qWSEeq2dLYfuMvqgg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_e62v16WSEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_e62v2KWSEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_e62v2aWSEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_e62v2qWSEeq2dLYfuMvqgg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_e6wCIKWSEeq2dLYfuMvqgg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_e62IwaWSEeq2dLYfuMvqgg" x="1800" y="220"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_hxV0wKWSEeq2dLYfuMvqgg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_hxV0wqWSEeq2dLYfuMvqgg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_hxWb0KWSEeq2dLYfuMvqgg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_hxWb0aWSEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_hxWb0qWSEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_hxWb06WSEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hxWb1KWSEeq2dLYfuMvqgg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_hxWb1aWSEeq2dLYfuMvqgg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_hxWb1qWSEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_hxWb16WSEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_hxWb2KWSEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hxWb2aWSEeq2dLYfuMvqgg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_hxQVMKWSEeq2dLYfuMvqgg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hxV0waWSEeq2dLYfuMvqgg" x="1220" y="220"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_lmhWkKWSEeq2dLYfuMvqgg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_lmhWkqWSEeq2dLYfuMvqgg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_lmhWk6WSEeq2dLYfuMvqgg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_lmhWlKWSEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_lmhWlaWSEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_lmhWlqWSEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lmhWl6WSEeq2dLYfuMvqgg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_lmhWmKWSEeq2dLYfuMvqgg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_lmhWmaWSEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_lmhWmqWSEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_lmhWm6WSEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lmhWnKWSEeq2dLYfuMvqgg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_lmeTQKWSEeq2dLYfuMvqgg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lmhWkaWSEeq2dLYfuMvqgg" x="400" y="200"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_nCTYEKWSEeq2dLYfuMvqgg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_nCTYEqWSEeq2dLYfuMvqgg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_nCTYE6WSEeq2dLYfuMvqgg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_nCTYFKWSEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_nCTYFaWSEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_nCTYFqWSEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nCTYF6WSEeq2dLYfuMvqgg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_nCTYGKWSEeq2dLYfuMvqgg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_nCTYGaWSEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_nCTYGqWSEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_nCTYG6WSEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nCTYHKWSEeq2dLYfuMvqgg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_nCPGoKWSEeq2dLYfuMvqgg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nCTYEaWSEeq2dLYfuMvqgg" x="540" y="200"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_oi62QKWSEeq2dLYfuMvqgg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_oi7dUKWSEeq2dLYfuMvqgg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_oi7dUaWSEeq2dLYfuMvqgg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_xJGB4KWSEeq2dLYfuMvqgg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_xIu1gKWSEeq2dLYfuMvqgg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_xJGB4aWSEeq2dLYfuMvqgg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_oi7dUqWSEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_oi7dU6WSEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_oi7dVKWSEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oi7dVaWSEeq2dLYfuMvqgg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_oi7dVqWSEeq2dLYfuMvqgg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_oi7dV6WSEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_oi7dWKWSEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_oi7dWaWSEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oi7dWqWSEeq2dLYfuMvqgg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_oi19wKWSEeq2dLYfuMvqgg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oi62QaWSEeq2dLYfuMvqgg" x="-20" y="40"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_yti3MKWSEeq2dLYfuMvqgg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_yti3MqWSEeq2dLYfuMvqgg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_yti3M6WSEeq2dLYfuMvqgg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_z0xlAKWSEeq2dLYfuMvqgg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_z0htYKWSEeq2dLYfuMvqgg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_z0xlAaWSEeq2dLYfuMvqgg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_0X_m0KWSEeq2dLYfuMvqgg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_0XpokKWSEeq2dLYfuMvqgg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_0X_m0aWSEeq2dLYfuMvqgg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_0qo2AKWSEeq2dLYfuMvqgg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_0qcowKWSEeq2dLYfuMvqgg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_0qo2AaWSEeq2dLYfuMvqgg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_yti3NKWSEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_yti3NaWSEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_yti3NqWSEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yti3N6WSEeq2dLYfuMvqgg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_ytjeQKWSEeq2dLYfuMvqgg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_ytjeQaWSEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_ytjeQqWSEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_ytjeQ6WSEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ytjeRKWSEeq2dLYfuMvqgg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_ytfM0KWSEeq2dLYfuMvqgg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yti3MaWSEeq2dLYfuMvqgg" x="780" y="220"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_IHyLMKWTEeq2dLYfuMvqgg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_IHyLMqWTEeq2dLYfuMvqgg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IHyLM6WTEeq2dLYfuMvqgg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_L5KyIKWTEeq2dLYfuMvqgg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_L46TcKWTEeq2dLYfuMvqgg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_L5KyIaWTEeq2dLYfuMvqgg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_IHyLNKWTEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_IHyLNaWTEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_IHyLNqWTEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IHyLN6WTEeq2dLYfuMvqgg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_IHyLOKWTEeq2dLYfuMvqgg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_IHyLOaWTEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_IHyLOqWTEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_IHyLO6WTEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IHyLPKWTEeq2dLYfuMvqgg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_IHtSsKWTEeq2dLYfuMvqgg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IHyLMaWTEeq2dLYfuMvqgg" x="400"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_OIV_cKWTEeq2dLYfuMvqgg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_OIWmgKWTEeq2dLYfuMvqgg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_OIWmgaWTEeq2dLYfuMvqgg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_R5J-oKWTEeq2dLYfuMvqgg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_R4qPYKWTEeq2dLYfuMvqgg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_R5J-oaWTEeq2dLYfuMvqgg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_OIWmgqWTEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_OIWmg6WTEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_OIWmhKWTEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OIWmhaWTEeq2dLYfuMvqgg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_OIWmhqWTEeq2dLYfuMvqgg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_OIWmh6WTEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_OIWmiKWTEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_OIWmiaWTEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OIWmiqWTEeq2dLYfuMvqgg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_OISVEKWTEeq2dLYfuMvqgg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OIV_caWTEeq2dLYfuMvqgg" x="980" y="-20"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_iKZYgKWTEeq2dLYfuMvqgg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_iKZ_kKWTEeq2dLYfuMvqgg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_iKZ_kaWTEeq2dLYfuMvqgg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_lIObkKWTEeq2dLYfuMvqgg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_lHusUKWTEeq2dLYfuMvqgg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_lIObkaWTEeq2dLYfuMvqgg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_lmo14KWTEeq2dLYfuMvqgg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_lmazcKWTEeq2dLYfuMvqgg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_lmo14aWTEeq2dLYfuMvqgg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_iKZ_kqWTEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_iKZ_k6WTEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_iKZ_lKWTEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iKZ_laWTEeq2dLYfuMvqgg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_iKZ_lqWTEeq2dLYfuMvqgg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_iKZ_l6WTEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_iKZ_mKWTEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_iKZ_maWTEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iKZ_mqWTEeq2dLYfuMvqgg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_iKWVMKWTEeq2dLYfuMvqgg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iKZYgaWTEeq2dLYfuMvqgg" x="1480" y="220"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_zDd5UaWREeq2dLYfuMvqgg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_zDd5UqWREeq2dLYfuMvqgg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_zDd5U6WREeq2dLYfuMvqgg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    </styles>
+    <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_3GTJUK8YEeqhVOlV64dXmA" name="css_stylesheets" eObjectListValue="_mci3oJm1Eeq8nv7tV9lOqQ"/>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_IDYhIH13EeqSHNFOHg2_Jw"/>
+    <edges xmi:type="notation:Connector" xmi:id="_YcE5EKWTEeq2dLYfuMvqgg" type="Generalization_Edge" source="_hxV0wKWSEeq2dLYfuMvqgg" target="_OIV_cKWTEeq2dLYfuMvqgg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_YcE5E6WTEeq2dLYfuMvqgg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_3MJUAKWTEeq2dLYfuMvqgg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_YcE5FKWTEeq2dLYfuMvqgg" x="1" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_YcE5EaWTEeq2dLYfuMvqgg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_YbtssKWTEeq2dLYfuMvqgg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YcE5EqWTEeq2dLYfuMvqgg" points="[1160, 160, -643984, -643984]$[1180, 103, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Yc-Q8KWTEeq2dLYfuMvqgg" id="(0.7453416149068323,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Yc-Q8aWTEeq2dLYfuMvqgg" id="(0.7453416149068323,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_aA9zQKWTEeq2dLYfuMvqgg" type="Generalization_Edge" source="_Gws48KWSEeq2dLYfuMvqgg" target="_OIV_cKWTEeq2dLYfuMvqgg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_aA9zQ6WTEeq2dLYfuMvqgg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Koc7sKWUEeq2dLYfuMvqgg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_aA9zRKWTEeq2dLYfuMvqgg" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_aA9zQaWTEeq2dLYfuMvqgg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_aApDIKWTEeq2dLYfuMvqgg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_aA9zQqWTEeq2dLYfuMvqgg" points="[940, 160, -643984, -643984]$[1140, 103, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_aBW00KWTEeq2dLYfuMvqgg" id="(0.8,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_aBW00aWTEeq2dLYfuMvqgg" id="(0.6211180124223602,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_dNI0UKWTEeq2dLYfuMvqgg" type="Generalization_Edge" source="_e62IwKWSEeq2dLYfuMvqgg" target="_OIV_cKWTEeq2dLYfuMvqgg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dNJbYKWTEeq2dLYfuMvqgg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_HWmJYKWUEeq2dLYfuMvqgg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_dNJbYaWTEeq2dLYfuMvqgg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_dNI0UaWTEeq2dLYfuMvqgg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_dM91MKWTEeq2dLYfuMvqgg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dNI0UqWTEeq2dLYfuMvqgg" points="[1480, 200, -643984, -643984]$[1240, 103, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dNn8gKWTEeq2dLYfuMvqgg" id="(0.37267080745341613,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dNn8gaWTEeq2dLYfuMvqgg" id="(0.8695652173913043,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_nvD68KWTEeq2dLYfuMvqgg" type="Generalization_Edge" source="_-KB-EKWREeq2dLYfuMvqgg" target="_iKZYgKWTEeq2dLYfuMvqgg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_nvD686WTEeq2dLYfuMvqgg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_FMZisKWUEeq2dLYfuMvqgg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_nvD69KWTEeq2dLYfuMvqgg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_nvD68aWTEeq2dLYfuMvqgg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_nuodIKWTEeq2dLYfuMvqgg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_nvD68qWTEeq2dLYfuMvqgg" points="[1680, 400, -643984, -643984]$[1620, 339, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nvoisKWTEeq2dLYfuMvqgg" id="(0.3488372093023256,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nvoisaWTEeq2dLYfuMvqgg" id="(0.813953488372093,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_oMmykKWTEeq2dLYfuMvqgg" type="Generalization_Edge" source="_Keup4KWSEeq2dLYfuMvqgg" target="_iKZYgKWTEeq2dLYfuMvqgg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_oMmyk6WTEeq2dLYfuMvqgg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_FMm-EKWUEeq2dLYfuMvqgg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_oMnZoKWTEeq2dLYfuMvqgg" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_oMmykaWTEeq2dLYfuMvqgg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_oMXiAKWTEeq2dLYfuMvqgg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_oMmykqWTEeq2dLYfuMvqgg" points="[1480, 400, -643984, -643984]$[1520, 339, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_oM-mAKWTEeq2dLYfuMvqgg" id="(0.6976744186046512,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_oM-mAaWTEeq2dLYfuMvqgg" id="(0.23255813953488372,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_4drNUKWTEeq2dLYfuMvqgg" type="Generalization_Edge" source="_yti3MKWSEeq2dLYfuMvqgg" target="_OIV_cKWTEeq2dLYfuMvqgg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_4drNU6WTEeq2dLYfuMvqgg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_LQucoKWUEeq2dLYfuMvqgg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_4dr0YKWTEeq2dLYfuMvqgg" x="-1" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_4drNUaWTEeq2dLYfuMvqgg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_4dWdMKWTEeq2dLYfuMvqgg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4drNUqWTEeq2dLYfuMvqgg" points="[740, 160, -643984, -643984]$[1120, 103, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4egTwKWTEeq2dLYfuMvqgg" id="(0.8080808080808081,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4eg60KWTEeq2dLYfuMvqgg" id="(0.4968944099378882,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_DYiYYKWUEeq2dLYfuMvqgg" type="Generalization_Edge" source="_lmhWkKWSEeq2dLYfuMvqgg" target="_IHyLMKWTEeq2dLYfuMvqgg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_DYi_cKWUEeq2dLYfuMvqgg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_PX4fQKWUEeq2dLYfuMvqgg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_DYi_caWUEeq2dLYfuMvqgg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_DYiYYaWUEeq2dLYfuMvqgg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_DYQrkKWUEeq2dLYfuMvqgg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_DYiYYqWUEeq2dLYfuMvqgg" points="[440, 200, -643984, -643984]$[440, 143, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DY8oEKWUEeq2dLYfuMvqgg" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DY9PIKWUEeq2dLYfuMvqgg" id="(0.25,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_MGr0QKWUEeq2dLYfuMvqgg" type="Generalization_Edge" source="_iKZYgKWTEeq2dLYfuMvqgg" target="_OIV_cKWTEeq2dLYfuMvqgg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_MGr0Q6WUEeq2dLYfuMvqgg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Ol620KWUEeq2dLYfuMvqgg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_MGr0RKWUEeq2dLYfuMvqgg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_MGr0QaWUEeq2dLYfuMvqgg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_MGbVkKWUEeq2dLYfuMvqgg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_MGr0QqWUEeq2dLYfuMvqgg" points="[1540, 220, -643984, -643984]$[1200, 103, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MHEOwKWUEeq2dLYfuMvqgg" id="(0.3488372093023256,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MHEOwaWUEeq2dLYfuMvqgg" id="(0.7453416149068323,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Q3bmcKWUEeq2dLYfuMvqgg" type="Generalization_Edge" source="_nCTYEKWSEeq2dLYfuMvqgg" target="_IHyLMKWTEeq2dLYfuMvqgg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Q3bmc6WUEeq2dLYfuMvqgg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_WILHUKWUEeq2dLYfuMvqgg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Q3bmdKWUEeq2dLYfuMvqgg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Q3bmcaWUEeq2dLYfuMvqgg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_Q3KgsKWUEeq2dLYfuMvqgg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Q3bmcqWUEeq2dLYfuMvqgg" points="[600, 200, -643984, -643984]$[520, 103, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Q37VsKWUEeq2dLYfuMvqgg" id="(0.37267080745341613,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Q378wKWUEeq2dLYfuMvqgg" id="(0.75,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_WydacKWUEeq2dLYfuMvqgg" type="Generalization_Edge" source="_nCTYEKWSEeq2dLYfuMvqgg" target="_OIV_cKWTEeq2dLYfuMvqgg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Wydac6WUEeq2dLYfuMvqgg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_WydadKWUEeq2dLYfuMvqgg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_WydacaWUEeq2dLYfuMvqgg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_WyCjsKWUEeq2dLYfuMvqgg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WydacqWUEeq2dLYfuMvqgg" points="[660, 200, -643984, -643984]$[1000, 83, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Wy-X0KWUEeq2dLYfuMvqgg" id="(0.7453416149068323,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Wy-X0aWUEeq2dLYfuMvqgg" id="(0.12422360248447205,1.0)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_bdoToKWVEeq2dLYfuMvqgg" type="PapyrusUMLProfileDiagram" name="Layer_weight_initializers" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_gtKTkKWVEeq2dLYfuMvqgg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_gtKTkaWVEeq2dLYfuMvqgg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_gtKTkqWVEeq2dLYfuMvqgg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_gtKTk6WVEeq2dLYfuMvqgg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_z0htYKWSEeq2dLYfuMvqgg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_gtKTlKWVEeq2dLYfuMvqgg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_gtKTlaWVEeq2dLYfuMvqgg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_0XpokKWSEeq2dLYfuMvqgg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_gtKTlqWVEeq2dLYfuMvqgg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_gtKTl6WVEeq2dLYfuMvqgg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_0qcowKWSEeq2dLYfuMvqgg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_gtKTmKWVEeq2dLYfuMvqgg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_gtKTmaWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_gtKTmqWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_gtKTm6WVEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtKTnKWVEeq2dLYfuMvqgg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_gtKTnaWVEeq2dLYfuMvqgg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_gtKTnqWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_gtKTn6WVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_gtKToKWVEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtKToaWVEeq2dLYfuMvqgg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_ytfM0KWSEeq2dLYfuMvqgg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtKTpaWVEeq2dLYfuMvqgg" x="790" y="230"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_gtKTpqWVEeq2dLYfuMvqgg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_gtK6oKWVEeq2dLYfuMvqgg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_gtK6oaWVEeq2dLYfuMvqgg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_gtK6oqWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_gtK6o6WVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_gtK6pKWVEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtK6paWVEeq2dLYfuMvqgg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_gtK6pqWVEeq2dLYfuMvqgg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_gtK6p6WVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_gtK6qKWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_gtK6qaWVEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtK6qqWVEeq2dLYfuMvqgg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_OfDEsKWSEeq2dLYfuMvqgg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtK6rqWVEeq2dLYfuMvqgg" x="-170" y="50"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_gtMIwKWVEeq2dLYfuMvqgg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_gtMIwaWVEeq2dLYfuMvqgg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_gtMIwqWVEeq2dLYfuMvqgg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_gtMIw6WVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_gtMIxKWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_gtMIxaWVEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtMIxqWVEeq2dLYfuMvqgg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_gtMIx6WVEeq2dLYfuMvqgg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_gtMIyKWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_gtMIyaWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_gtMIyqWVEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtMIy6WVEeq2dLYfuMvqgg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_KermkKWSEeq2dLYfuMvqgg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtMIz6WVEeq2dLYfuMvqgg" x="1370" y="410"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_gtMv0KWVEeq2dLYfuMvqgg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_gtMv0aWVEeq2dLYfuMvqgg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_gtMv0qWVEeq2dLYfuMvqgg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_gtMv06WVEeq2dLYfuMvqgg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_L46TcKWTEeq2dLYfuMvqgg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_gtMv1KWVEeq2dLYfuMvqgg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_gtMv1aWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_gtMv1qWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_gtMv16WVEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtMv2KWVEeq2dLYfuMvqgg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_gtMv2aWVEeq2dLYfuMvqgg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_gtMv2qWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_gtMv26WVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_gtMv3KWVEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtMv3aWVEeq2dLYfuMvqgg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_IHtSsKWTEeq2dLYfuMvqgg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtMv4aWVEeq2dLYfuMvqgg" x="410" y="10"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_gtPMEKWVEeq2dLYfuMvqgg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_gtPMEaWVEeq2dLYfuMvqgg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_gtPMEqWVEeq2dLYfuMvqgg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_gtPME6WVEeq2dLYfuMvqgg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_xIu1gKWSEeq2dLYfuMvqgg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_gtPMFKWVEeq2dLYfuMvqgg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_gtPMFaWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_gtPMFqWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_gtPMF6WVEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtPMGKWVEeq2dLYfuMvqgg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_gtPMGaWVEeq2dLYfuMvqgg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_gtPMGqWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_gtPMG6WVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_gtPMHKWVEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtPMHaWVEeq2dLYfuMvqgg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_oi19wKWSEeq2dLYfuMvqgg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtPMIaWVEeq2dLYfuMvqgg" x="-10" y="50"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_gtPzIKWVEeq2dLYfuMvqgg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_gtPzIaWVEeq2dLYfuMvqgg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_gtPzIqWVEeq2dLYfuMvqgg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_gtPzI6WVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_gtPzJKWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_gtPzJaWVEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtPzJqWVEeq2dLYfuMvqgg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_gtPzJ6WVEeq2dLYfuMvqgg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_gtPzKKWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_gtPzKaWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_gtPzKqWVEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtPzK6WVEeq2dLYfuMvqgg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_e6wCIKWSEeq2dLYfuMvqgg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtPzL6WVEeq2dLYfuMvqgg" x="1810" y="230"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_gtQaMKWVEeq2dLYfuMvqgg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_gtQaMaWVEeq2dLYfuMvqgg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_gtQaMqWVEeq2dLYfuMvqgg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_gtQaM6WVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_gtQaNKWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_gtQaNaWVEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtQaNqWVEeq2dLYfuMvqgg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_gtQaN6WVEeq2dLYfuMvqgg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_gtQaOKWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_gtQaOaWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_gtQaOqWVEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtQaO6WVEeq2dLYfuMvqgg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_nCPGoKWSEeq2dLYfuMvqgg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtQaP6WVEeq2dLYfuMvqgg" x="550" y="210"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_gtRBSKWVEeq2dLYfuMvqgg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_gtRBSaWVEeq2dLYfuMvqgg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_gtRBSqWVEeq2dLYfuMvqgg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_gtRBS6WVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_gtRBTKWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_gtRBTaWVEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtRBTqWVEeq2dLYfuMvqgg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_gtRBT6WVEeq2dLYfuMvqgg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_gtRBUKWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_gtRBUaWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_gtRBUqWVEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtRBU6WVEeq2dLYfuMvqgg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_hxQVMKWSEeq2dLYfuMvqgg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtRBV6WVEeq2dLYfuMvqgg" x="1230" y="230"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_gtRoUqWVEeq2dLYfuMvqgg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_gtRoU6WVEeq2dLYfuMvqgg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_gtSPYKWVEeq2dLYfuMvqgg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_gtSPYaWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_gtSPYqWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_gtSPY6WVEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtSPZKWVEeq2dLYfuMvqgg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_gtSPZaWVEeq2dLYfuMvqgg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_gtSPZqWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_gtSPZ6WVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_gtSPaKWVEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtSPaaWVEeq2dLYfuMvqgg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_ZEzicKWSEeq2dLYfuMvqgg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtSPbaWVEeq2dLYfuMvqgg" x="-330" y="50"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_gtS2cKWVEeq2dLYfuMvqgg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_gtS2caWVEeq2dLYfuMvqgg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_gtS2cqWVEeq2dLYfuMvqgg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_gtS2c6WVEeq2dLYfuMvqgg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_IiUAgKWSEeq2dLYfuMvqgg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_gtS2dKWVEeq2dLYfuMvqgg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_gtS2daWVEeq2dLYfuMvqgg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_JNazAKWSEeq2dLYfuMvqgg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_gtS2dqWVEeq2dLYfuMvqgg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_gtS2d6WVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_gtS2eKWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_gtS2eaWVEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtS2eqWVEeq2dLYfuMvqgg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_gtS2e6WVEeq2dLYfuMvqgg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_gtS2fKWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_gtS2faWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_gtS2fqWVEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtS2f6WVEeq2dLYfuMvqgg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_GwoAcKWSEeq2dLYfuMvqgg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtS2g6WVEeq2dLYfuMvqgg" x="1010" y="230"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_gtTdgKWVEeq2dLYfuMvqgg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_gtTdgaWVEeq2dLYfuMvqgg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_gtTdgqWVEeq2dLYfuMvqgg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_gtTdg6WVEeq2dLYfuMvqgg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_R4qPYKWTEeq2dLYfuMvqgg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_gtTdhKWVEeq2dLYfuMvqgg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_gtTdhaWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_gtTdhqWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_gtTdh6WVEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtTdiKWVEeq2dLYfuMvqgg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_gtTdiaWVEeq2dLYfuMvqgg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_gtTdiqWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_gtTdi6WVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_gtTdjKWVEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtTdjaWVEeq2dLYfuMvqgg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_OISVEKWTEeq2dLYfuMvqgg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtTdkaWVEeq2dLYfuMvqgg" x="990" y="-10"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_gtUEkKWVEeq2dLYfuMvqgg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_gtUEkaWVEeq2dLYfuMvqgg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_gtUEkqWVEeq2dLYfuMvqgg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_gtUEk6WVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_gtUElKWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_gtUElaWVEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtUElqWVEeq2dLYfuMvqgg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_gtUEl6WVEeq2dLYfuMvqgg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_gtUEmKWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_gtUEmaWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_gtUEmqWVEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtUEm6WVEeq2dLYfuMvqgg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_lmeTQKWSEeq2dLYfuMvqgg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtUEn6WVEeq2dLYfuMvqgg" x="410" y="210"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_gtUroKWVEeq2dLYfuMvqgg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_gtUroaWVEeq2dLYfuMvqgg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_gtUroqWVEeq2dLYfuMvqgg" type="Stereotype_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_gtUro6WVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_gtUrpKWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_gtUrpaWVEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtUrpqWVEeq2dLYfuMvqgg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_gtUrp6WVEeq2dLYfuMvqgg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_gtUrqKWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_gtUrqaWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_gtUrqqWVEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtUrq6WVEeq2dLYfuMvqgg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_-JzUkKWREeq2dLYfuMvqgg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtUrr6WVEeq2dLYfuMvqgg" x="1630" y="410"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_gtVSsKWVEeq2dLYfuMvqgg" type="Stereotype_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_gtVSsaWVEeq2dLYfuMvqgg" type="Stereotype_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_gtVSsqWVEeq2dLYfuMvqgg" type="Stereotype_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_gtVSs6WVEeq2dLYfuMvqgg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_lHusUKWTEeq2dLYfuMvqgg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_gtVStKWVEeq2dLYfuMvqgg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_gtVStaWVEeq2dLYfuMvqgg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="AIML.profile.uml#_lmazcKWTEeq2dLYfuMvqgg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_gtVStqWVEeq2dLYfuMvqgg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_gtVSt6WVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_gtVSuKWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_gtVSuaWVEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtVSuqWVEeq2dLYfuMvqgg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_gtVSu6WVEeq2dLYfuMvqgg" type="Stereotype_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_gtVSvKWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_gtVSvaWVEeq2dLYfuMvqgg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_gtVSvqWVEeq2dLYfuMvqgg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtVSv6WVEeq2dLYfuMvqgg"/>
+      </children>
+      <element xmi:type="uml:Stereotype" href="AIML.profile.uml#_iKWVMKWTEeq2dLYfuMvqgg"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gtVSw6WVEeq2dLYfuMvqgg" x="1490" y="230"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_bdoToaWVEeq2dLYfuMvqgg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_bdoToqWVEeq2dLYfuMvqgg"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_bdoTo6WVEeq2dLYfuMvqgg" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+      <owner xmi:type="uml:Profile" href="AIML.profile.uml#_ZgMWkKWVEeq2dLYfuMvqgg"/>
+    </styles>
+    <element xmi:type="uml:Profile" href="AIML.profile.uml#_ZgMWkKWVEeq2dLYfuMvqgg"/>
+    <edges xmi:type="notation:Connector" xmi:id="_gtIeYKWVEeq2dLYfuMvqgg" type="Generalization_Edge" source="_gtKTkKWVEeq2dLYfuMvqgg" target="_gtTdgKWVEeq2dLYfuMvqgg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_gtIeYaWVEeq2dLYfuMvqgg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_gtIeYqWVEeq2dLYfuMvqgg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_gtIeY6WVEeq2dLYfuMvqgg" x="-1" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_gtIeZKWVEeq2dLYfuMvqgg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_4dWdMKWTEeq2dLYfuMvqgg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gtIeZaWVEeq2dLYfuMvqgg" points="[740, 160, -643984, -643984]$[1120, 103, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gtIeZqWVEeq2dLYfuMvqgg" id="(0.8080808080808081,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gtIeZ6WVEeq2dLYfuMvqgg" id="(0.4968944099378882,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_gtK6r6WVEeq2dLYfuMvqgg" type="Generalization_Edge" source="_gtS2cKWVEeq2dLYfuMvqgg" target="_gtTdgKWVEeq2dLYfuMvqgg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_gtK6sKWVEeq2dLYfuMvqgg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_gtK6saWVEeq2dLYfuMvqgg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_gtK6sqWVEeq2dLYfuMvqgg" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_gtK6s6WVEeq2dLYfuMvqgg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_aApDIKWTEeq2dLYfuMvqgg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gtK6tKWVEeq2dLYfuMvqgg" points="[940, 160, -643984, -643984]$[1140, 103, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gtK6taWVEeq2dLYfuMvqgg" id="(0.8,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gtK6tqWVEeq2dLYfuMvqgg" id="(0.6211180124223602,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_gtLhsKWVEeq2dLYfuMvqgg" type="Generalization_Edge" source="_gtUroKWVEeq2dLYfuMvqgg" target="_gtVSsKWVEeq2dLYfuMvqgg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_gtLhsaWVEeq2dLYfuMvqgg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_gtLhsqWVEeq2dLYfuMvqgg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_gtLhs6WVEeq2dLYfuMvqgg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_gtLhtKWVEeq2dLYfuMvqgg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_nuodIKWTEeq2dLYfuMvqgg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gtLhtaWVEeq2dLYfuMvqgg" points="[1680, 400, -643984, -643984]$[1620, 339, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gtLhtqWVEeq2dLYfuMvqgg" id="(0.3488372093023256,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gtLht6WVEeq2dLYfuMvqgg" id="(0.813953488372093,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_gtOlAaWVEeq2dLYfuMvqgg" type="Generalization_Edge" source="_gtMIwKWVEeq2dLYfuMvqgg" target="_gtVSsKWVEeq2dLYfuMvqgg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_gtOlAqWVEeq2dLYfuMvqgg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_gtOlA6WVEeq2dLYfuMvqgg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_gtOlBKWVEeq2dLYfuMvqgg" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_gtOlBaWVEeq2dLYfuMvqgg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_oMXiAKWTEeq2dLYfuMvqgg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gtOlBqWVEeq2dLYfuMvqgg" points="[1480, 400, -643984, -643984]$[1520, 339, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gtOlB6WVEeq2dLYfuMvqgg" id="(0.6976744186046512,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gtOlCKWVEeq2dLYfuMvqgg" id="(0.23255813953488372,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_gtPMIqWVEeq2dLYfuMvqgg" type="Generalization_Edge" source="_gtPzIKWVEeq2dLYfuMvqgg" target="_gtTdgKWVEeq2dLYfuMvqgg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_gtPMI6WVEeq2dLYfuMvqgg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_gtPMJKWVEeq2dLYfuMvqgg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_gtPMJaWVEeq2dLYfuMvqgg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_gtPMJqWVEeq2dLYfuMvqgg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_dM91MKWTEeq2dLYfuMvqgg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gtPMJ6WVEeq2dLYfuMvqgg" points="[1480, 200, -643984, -643984]$[1240, 103, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gtPMKKWVEeq2dLYfuMvqgg" id="(0.37267080745341613,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gtPMKaWVEeq2dLYfuMvqgg" id="(0.8695652173913043,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_gtRBQKWVEeq2dLYfuMvqgg" type="Generalization_Edge" source="_gtVSsKWVEeq2dLYfuMvqgg" target="_gtTdgKWVEeq2dLYfuMvqgg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_gtRBQaWVEeq2dLYfuMvqgg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_gtRBQqWVEeq2dLYfuMvqgg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_gtRBQ6WVEeq2dLYfuMvqgg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_gtRBRKWVEeq2dLYfuMvqgg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_MGbVkKWUEeq2dLYfuMvqgg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gtRBRaWVEeq2dLYfuMvqgg" points="[1540, 220, -643984, -643984]$[1200, 103, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gtRBRqWVEeq2dLYfuMvqgg" id="(0.3488372093023256,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gtRBR6WVEeq2dLYfuMvqgg" id="(0.7453416149068323,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_gtSPbqWVEeq2dLYfuMvqgg" type="Generalization_Edge" source="_gtQaMKWVEeq2dLYfuMvqgg" target="_gtTdgKWVEeq2dLYfuMvqgg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_gtSPb6WVEeq2dLYfuMvqgg" type="Generalization_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_gtSPcKWVEeq2dLYfuMvqgg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_gtSPcaWVEeq2dLYfuMvqgg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_WyCjsKWUEeq2dLYfuMvqgg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gtSPcqWVEeq2dLYfuMvqgg" points="[660, 200, -643984, -643984]$[1000, 83, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gtSPc6WVEeq2dLYfuMvqgg" id="(0.7453416149068323,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gtSPdKWVEeq2dLYfuMvqgg" id="(0.12422360248447205,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_gtS2hKWVEeq2dLYfuMvqgg" type="Generalization_Edge" source="_gtQaMKWVEeq2dLYfuMvqgg" target="_gtMv0KWVEeq2dLYfuMvqgg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_gtS2haWVEeq2dLYfuMvqgg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_gtS2hqWVEeq2dLYfuMvqgg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_gtS2h6WVEeq2dLYfuMvqgg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_gtS2iKWVEeq2dLYfuMvqgg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_Q3KgsKWUEeq2dLYfuMvqgg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gtS2iaWVEeq2dLYfuMvqgg" points="[600, 200, -643984, -643984]$[520, 103, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gtS2iqWVEeq2dLYfuMvqgg" id="(0.37267080745341613,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gtS2i6WVEeq2dLYfuMvqgg" id="(0.75,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_gtTdkqWVEeq2dLYfuMvqgg" type="Generalization_Edge" source="_gtUEkKWVEeq2dLYfuMvqgg" target="_gtMv0KWVEeq2dLYfuMvqgg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_gtTdk6WVEeq2dLYfuMvqgg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_gtTdlKWVEeq2dLYfuMvqgg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_gtTdlaWVEeq2dLYfuMvqgg" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_gtTdlqWVEeq2dLYfuMvqgg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_DYQrkKWUEeq2dLYfuMvqgg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gtTdl6WVEeq2dLYfuMvqgg" points="[440, 200, -643984, -643984]$[440, 143, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gtTdmKWVEeq2dLYfuMvqgg" id="(0.4,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gtTdmaWVEeq2dLYfuMvqgg" id="(0.25,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_gtUrsKWVEeq2dLYfuMvqgg" type="Generalization_Edge" source="_gtRBSKWVEeq2dLYfuMvqgg" target="_gtTdgKWVEeq2dLYfuMvqgg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_gtUrsaWVEeq2dLYfuMvqgg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_gtUrsqWVEeq2dLYfuMvqgg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_gtUrs6WVEeq2dLYfuMvqgg" x="1" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_gtUrtKWVEeq2dLYfuMvqgg"/>
+      <element xmi:type="uml:Generalization" href="AIML.profile.uml#_YbtssKWTEeq2dLYfuMvqgg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gtUrtaWVEeq2dLYfuMvqgg" points="[1160, 160, -643984, -643984]$[1180, 103, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gtUrtqWVEeq2dLYfuMvqgg" id="(0.7453416149068323,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gtUrt6WVEeq2dLYfuMvqgg" id="(0.7453416149068323,1.0)"/>
+    </edges>
+  </notation:Diagram>
+</xmi:XMI>
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/profile/AIML.profile.uml b/aiml/org.eclipse.papyrus.aiml.profile/profile/AIML.profile.uml
new file mode 100644
index 0000000..8562d8a
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/profile/AIML.profile.uml
@@ -0,0 +1,1445 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Profile xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_IDYhIH13EeqSHNFOHg2_Jw" name="AIML" URI="http://www.eclipse.org/papyrus/AIML/1" metaclassReference="_IfyLYK8eEeqUEZ8AVVPlLA">
+  <elementImport xmi:type="uml:ElementImport" xmi:id="_IfyLYK8eEeqUEZ8AVVPlLA" alias="Class">
+    <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+  </elementImport>
+  <packageImport xmi:type="uml:PackageImport" xmi:id="_ImVdMH13EeqSHNFOHg2_Jw">
+    <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+  </packageImport>
+  <packageImport xmi:type="uml:PackageImport" xmi:id="_ImfOMH13EeqSHNFOHg2_Jw">
+    <importedPackage xmi:type="uml:Model" href="pathmap://UML_METAMODELS/UML.metamodel.uml#_0"/>
+  </packageImport>
+  <packagedElement xmi:type="uml:Profile" xmi:id="_u1dx8JT1Eeq5BK6mmo2rWg" name="Module" URI="http://www.eclipse.org/papyrus/AIML/module/1">
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_2E9coH2KEeqSHNFOHg2_Jw" name="Model">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_n3H-sH5rEeqSHNFOHg2_Jw" name="base_Class" association="_n3BRAH5rEeqSHNFOHg2_Jw">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_n3H-sX5rEeqSHNFOHg2_Jw"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_7EMR4IhuEeqlnrZTj0aPoA" name="name" isReadOnly="true" isDerived="true">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_7vDMwIhuEeqlnrZTj0aPoA" name="data" type="_kkWnwIhuEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_9DLHEIhuEeqlnrZTj0aPoA" name="requires_grad">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_1-bYgJmyEeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_ivxlgIvAEeqlnrZTj0aPoA" name="subModule" type="_2E9coH2KEeqSHNFOHg2_Jw">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_8M2poJmyEeq0jfmjFzaebA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_eOQdAJm0Eeq0jfmjFzaebA" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="__N7qULYUEeq1Koq3J5meEA" name="optimizer">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ZOwH4LYVEeq1Koq3J5meEA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_AtDTsLYVEeq1Koq3J5meEA" name="loss">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_YfAtALYVEeq1Koq3J5meEA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_n3BRAH5rEeqSHNFOHg2_Jw" name="E_Model_Class1" memberEnd="_n3HXoH5rEeqSHNFOHg2_Jw _n3H-sH5rEeqSHNFOHg2_Jw">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_n3HXoH5rEeqSHNFOHg2_Jw" name="extension_Model" type="_2E9coH2KEeqSHNFOHg2_Jw" aggregation="composite" association="_n3BRAH5rEeqSHNFOHg2_Jw"/>
+    </packagedElement>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Profile" xmi:id="_38DjAJT1Eeq5BK6mmo2rWg" name="Tensor" URI="http://www.eclipse.org/papyrus/AIML/tensor/1">
+    <packagedElement xmi:type="uml:Enumeration" xmi:id="_D6R-YIvIEeqlnrZTj0aPoA" name="EDType">
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_GeF-8IvIEeqlnrZTj0aPoA" name="float32"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_VdQs8IvIEeqlnrZTj0aPoA" name="float64"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_YIbSsIvIEeqlnrZTj0aPoA" name="float16"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_bZFyMIvIEeqlnrZTj0aPoA" name="uint8"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_czCAoIvIEeqlnrZTj0aPoA" name="int8"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_dzPgcIvIEeqlnrZTj0aPoA" name="int16"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_ez5sMIvIEeqlnrZTj0aPoA" name="int32"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_flb20IvIEeqlnrZTj0aPoA" name="int64"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_gV4cUIvIEeqlnrZTj0aPoA" name="bool"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Enumeration" xmi:id="_AiQ84IvMEeqlnrZTj0aPoA" name="ETensorTypes">
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_FE7PwIvMEeqlnrZTj0aPoA" name="FloatTensor"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_GM6ykIvMEeqlnrZTj0aPoA" name="DoubleTensor"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_IXWp0IvMEeqlnrZTj0aPoA" name="HalfTensor"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_KEe6AIvMEeqlnrZTj0aPoA" name="ByteTensor"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_LzG_AIvMEeqlnrZTj0aPoA" name="CharTensor"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_MmTWgIvMEeqlnrZTj0aPoA" name="ShortTensor"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_Ndwi8IvMEeqlnrZTj0aPoA" name="IntTensor"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_OHKFQIvMEeqlnrZTj0aPoA" name="LongTensor"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_O3f9EIvMEeqlnrZTj0aPoA" name="BoolTensor"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_kkWnwIhuEeqlnrZTj0aPoA" name="Tensor">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_mlHloIhuEeqlnrZTj0aPoA" name="data">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Yr_CcJefEeq1-Ze45jZMTg"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_YsJagJefEeq1-Ze45jZMTg" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_ncDNoIhuEeqlnrZTj0aPoA" name="dtype" visibility="public" type="_D6R-YIvIEeqlnrZTj0aPoA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_k0KfwJegEeq1-Ze45jZMTg"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_oUgfoIhuEeqlnrZTj0aPoA" name="device" type="_ZQQYwJbREeq1-Ze45jZMTg">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_HrXUUJmzEeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_o5TOwIhuEeqlnrZTj0aPoA" name="requires_grad">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_JBGYMJmzEeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_pnJzQIhuEeqlnrZTj0aPoA" name="pin_memory">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XzSaIJmzEeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_wocFsKWvEeq2dLYfuMvqgg" name="shape">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_HJeCoKWwEeq2dLYfuMvqgg"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_NBT_wKWwEeq2dLYfuMvqgg" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_xs8PoKWvEeq2dLYfuMvqgg" name="name">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_IBXT8KWwEeq2dLYfuMvqgg"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_JM8zYK8eEeqUEZ8AVVPlLA" name="base_Class" association="_JM3T0K8eEeqUEZ8AVVPlLA">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_JM8zYa8eEeqUEZ8AVVPlLA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_JM3T0K8eEeqUEZ8AVVPlLA" name="E_Tensor_Class4" memberEnd="_JM7lQK8eEeqUEZ8AVVPlLA _JM8zYK8eEeqUEZ8AVVPlLA">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_JM7lQK8eEeqUEZ8AVVPlLA" name="extension_Tensor" type="_kkWnwIhuEeqlnrZTj0aPoA" aggregation="composite" association="_JM3T0K8eEeqUEZ8AVVPlLA"/>
+    </packagedElement>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Package" xmi:id="_-8tiUJT1Eeq5BK6mmo2rWg" name="datatypes">
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_ZQQYwJbREeq1-Ze45jZMTg" name="Device">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_mveW8JbREeq1-Ze45jZMTg" name="type">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+      </ownedAttribute>
+    </packagedElement>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Profile" xmi:id="_Deu8AJT2Eeq5BK6mmo2rWg" name="Pooling_layers" URI="http://www.eclipse.org/papyrus/AIML/pooling/1">
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_nMBrUIVSEeqvavUi0dxRAw" name="Pooling_layers" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_rCc7kIVYEeqlnrZTj0aPoA" general="_2E9coH2KEeqSHNFOHg2_Jw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_qYSzAIVSEeqvavUi0dxRAw" name="Pooling_layers_1" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_DTFDUIVYEeqlnrZTj0aPoA" general="_nMBrUIVSEeqvavUi0dxRAw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_CkDW8IVUEeqlnrZTj0aPoA" name="kernel_size">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_SeW74I82Eeq5HrfdV5ATIg"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_LZYuYJa3Eeq1-Ze45jZMTg" value="*"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_spFw8IVSEeqvavUi0dxRAw" name="Pooling_layers_2" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_CV1X8IVYEeqlnrZTj0aPoA" general="_nMBrUIVSEeqvavUi0dxRAw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_vvW-UIVSEeqvavUi0dxRAw" name="output_size">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_7E6k4Ja3Eeq1-Ze45jZMTg"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_7DawEJa3Eeq1-Ze45jZMTg" value="*"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_x9fp0IVSEeqvavUi0dxRAw" name="AdaptativeMaxPool" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_i7emsIVTEeqlnrZTj0aPoA" general="_spFw8IVSEeqvavUi0dxRAw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_3JChoIVSEeqvavUi0dxRAw" name="return_indices">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_Y8sCUIVTEeqlnrZTj0aPoA" name="AdaptativeMaxPool1d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_g8dVQIVTEeqlnrZTj0aPoA" general="_x9fp0IVSEeqvavUi0dxRAw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_cdWFoIVTEeqlnrZTj0aPoA" name="AdaptativeMaxPool2d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_hguf8IVTEeqlnrZTj0aPoA" general="_x9fp0IVSEeqvavUi0dxRAw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_dQfZ0IVTEeqlnrZTj0aPoA" name="AdaptativeMaxPool3d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_iK5eUIVTEeqlnrZTj0aPoA" general="_x9fp0IVSEeqvavUi0dxRAw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_sAviEIVTEeqlnrZTj0aPoA" name="AdaptiveAvgPool3d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_7a4U0IVTEeqlnrZTj0aPoA" general="_spFw8IVSEeqvavUi0dxRAw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_uVbhgIVTEeqlnrZTj0aPoA" name="AdaptiveAvgPool2d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_8DbikIVTEeqlnrZTj0aPoA" general="_spFw8IVSEeqvavUi0dxRAw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_vkD30IVTEeqlnrZTj0aPoA" name="AdaptiveAvgPool1d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_9Q2_AIVTEeqlnrZTj0aPoA" general="_spFw8IVSEeqvavUi0dxRAw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_H6da8IVUEeqlnrZTj0aPoA" name="Pooling_layers_1_1" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_2P_c8IVWEeqlnrZTj0aPoA" general="_qYSzAIVSEeqvavUi0dxRAw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_K3ga4IVUEeqlnrZTj0aPoA" name="stride">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_NKGeEJa3Eeq1-Ze45jZMTg"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_NIPc4Ja3Eeq1-Ze45jZMTg" value="*"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_QF-D0IVUEeqlnrZTj0aPoA" name="MaxPool1d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_5a1L0IVXEeqlnrZTj0aPoA" general="_rL8rQIVXEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_SVcMEIVUEeqlnrZTj0aPoA" name="MaxUnpool1d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_3UmmgIVUEeqlnrZTj0aPoA" general="_h3EG4IVUEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_VqZVsIVUEeqlnrZTj0aPoA" name="AvgPool1d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_geEBsIVWEeqlnrZTj0aPoA" general="_6bJEMIVVEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_h3EG4IVUEeqlnrZTj0aPoA" name="Pooling_layers_1_1_1" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_Ud9iUIVVEeqlnrZTj0aPoA" general="_H6da8IVUEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_mqeLgIVUEeqlnrZTj0aPoA" name="padding">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_O_n1QJa3Eeq1-Ze45jZMTg"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_O9_dkJa3Eeq1-Ze45jZMTg" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_jxSQMKZ3EeqIr7xwFiWQGQ" name="padding_k">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_lhqBoKZ3EeqIr7xwFiWQGQ"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_wYbekIVUEeqlnrZTj0aPoA" name="MaxUnpool2d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_2i3nkIVUEeqlnrZTj0aPoA" general="_h3EG4IVUEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_y5HSoIVUEeqlnrZTj0aPoA" name="MaxUnpool3d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_2DdHsIVUEeqlnrZTj0aPoA" general="_h3EG4IVUEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_FjbcsIVVEeqlnrZTj0aPoA" name="Pooling_layers_1_1_2" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_TaQCkIVVEeqlnrZTj0aPoA" general="_H6da8IVUEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_K5-DkIVVEeqlnrZTj0aPoA" name="ceil_mode">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gpkMYJm1Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_XxquwIVVEeqlnrZTj0aPoA" name="LPPool1d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_dGXikIVVEeqlnrZTj0aPoA" general="_FjbcsIVVEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_aIzlQIVVEeqlnrZTj0aPoA" name="LPPool2d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_dg9M0IVVEeqlnrZTj0aPoA" general="_FjbcsIVVEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_6bJEMIVVEeqlnrZTj0aPoA" name="Pooling_layers_1_1_2_1" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_eWQLMIVXEeqlnrZTj0aPoA" general="_Cfb1UIVXEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_Ayj5QIVWEeqlnrZTj0aPoA" name="count_include_pad">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_X90kQJm1Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_TS3LsIVWEeqlnrZTj0aPoA" name="AvgPool2d/3d" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_f8tBEIVWEeqlnrZTj0aPoA" general="_6bJEMIVVEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_Y5DYIIVWEeqlnrZTj0aPoA" name="divisor_override">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_a-aAYJm1Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_b9-hsIVWEeqlnrZTj0aPoA" name="AvgPool2d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_e4Tk0IVWEeqlnrZTj0aPoA" general="_TS3LsIVWEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_ddho4IVWEeqlnrZTj0aPoA" name="AvgPool3d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_fQk64IVWEeqlnrZTj0aPoA" general="_TS3LsIVWEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_Cfb1UIVXEeqlnrZTj0aPoA" name="Pooling_layers_1_1_1_1" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_V3zYMIVXEeqlnrZTj0aPoA" general="_h3EG4IVUEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_KnpSkIVXEeqlnrZTj0aPoA" name="ceil_mode">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_MPD3EJm1Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_xBPDUKZ3EeqIr7xwFiWQGQ" name="pool_size">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_1Sv70KZ3EeqIr7xwFiWQGQ"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_1S8wIKZ3EeqIr7xwFiWQGQ" value="*"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_rL8rQIVXEeqlnrZTj0aPoA" name="MaxPool" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_zKvGwIVXEeqlnrZTj0aPoA" general="_Cfb1UIVXEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_tPrdkIVXEeqlnrZTj0aPoA" name="dilation" visibility="public">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_SBIecJa3Eeq1-Ze45jZMTg"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_SBRoYJa3Eeq1-Ze45jZMTg" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_uGxdoIVXEeqlnrZTj0aPoA" name="return_indices">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_TAuYIJm1Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_1WhB0IVXEeqlnrZTj0aPoA" name="MaxPool2d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_6B2IgIVXEeqlnrZTj0aPoA" general="_rL8rQIVXEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_2J_tMIVXEeqlnrZTj0aPoA" name="MaxPool3d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_6loyEIVXEeqlnrZTj0aPoA" general="_rL8rQIVXEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_Y3zwEIVYEeqlnrZTj0aPoA" name="FractionalMaxPool2d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_hzfRoIVYEeqlnrZTj0aPoA" general="_qYSzAIVSEeqvavUi0dxRAw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_cdy_UIVYEeqlnrZTj0aPoA" name="output_size" visibility="public">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_zyjKgJa3Eeq1-Ze45jZMTg"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_zxKqcJa3Eeq1-Ze45jZMTg" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_dhzaAIVYEeqlnrZTj0aPoA" name="output_ratio">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_1TXdAJa3Eeq1-Ze45jZMTg"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_1MSkoJa3Eeq1-Ze45jZMTg" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_fG5IgIVYEeqlnrZTj0aPoA" name="return_indices">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_thHtoJm1Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Profile" xmi:id="_Nr2NYJOPEeqnY_bZg2Ebjg" name="Convolution_layers" URI="http://www.eclipse.org/papyrus/AIML/convolution/1">
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_5DtswH2KEeqSHNFOHg2_Jw" name="Convolution" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_JBpp4H5sEeqSHNFOHg2_Jw" general="_YZ54MH5qEeqSHNFOHg2_Jw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_xLDlAH5nEeqSHNFOHg2_Jw" name="in_channels">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_qBKXMKGzEeqsNvCDUfZJVA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_PgB_YH5oEeqSHNFOHg2_Jw" name="groups">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_pV3qoJm0Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_RrmfEH5oEeqSHNFOHg2_Jw" name="biais">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_q7b6QJm0Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_UPxE8H5oEeqSHNFOHg2_Jw" name="padding_mode">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_nCc2gJm0Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_NJHtgKG2EeqsNvCDUfZJVA" name="data_format">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_khfcsKTYEeqmTOsCAzVBxg"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_Ou9p8KG2EeqsNvCDUfZJVA" name="dilation_rate">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_goNTcKTXEeqmTOsCAzVBxg"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_goSL8KTXEeqmTOsCAzVBxg" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_SXLt0KG2EeqsNvCDUfZJVA" name="activation">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_HIOnMKTZEeqmTOsCAzVBxg"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_THvoEKG2EeqsNvCDUfZJVA" name="bias_initializer">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_UiUvsKG2EeqsNvCDUfZJVA" name="activity_regularizer">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_kn6TMKG2EeqsNvCDUfZJVA" name="bias_constraint">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_bGMOcKStEeqmTOsCAzVBxg" name="bias_regularizer">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_anKPYH5pEeqSHNFOHg2_Jw" name="Unfold">
+      <generalization xmi:type="uml:Generalization" xmi:id="_Je4_gH5sEeqSHNFOHg2_Jw" general="_YZ54MH5qEeqSHNFOHg2_Jw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_ISZCEH5qEeqSHNFOHg2_Jw" name="Fold">
+      <generalization xmi:type="uml:Generalization" xmi:id="_J9Ae4H5sEeqSHNFOHg2_Jw" general="_YZ54MH5qEeqSHNFOHg2_Jw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_MKi_YH5qEeqSHNFOHg2_Jw" name="output_size">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_SOf3wIL9Eeqvud4Ae2T3Lg"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jtJCoJa2Eeq1-Ze45jZMTg" value="*"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_YZ54MH5qEeqSHNFOHg2_Jw" name="Convolution_layers" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_s5vukH5sEeqSHNFOHg2_Jw" general="_2E9coH2KEeqSHNFOHg2_Jw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_ZsHuAH5qEeqSHNFOHg2_Jw" name="kernel_size" visibility="public">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_okd2EIvCEeqlnrZTj0aPoA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_LFNqoJa2Eeq1-Ze45jZMTg" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_a-bqcH5qEeqSHNFOHg2_Jw" name="stride">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kN1DwI81Eeq5HrfdV5ATIg"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_7V1QIJm0Eeq0jfmjFzaebA" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_bcYxwH5qEeqSHNFOHg2_Jw" name="padding">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_pAoEYI81Eeq5HrfdV5ATIg"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_U_9cgJa2Eeq1-Ze45jZMTg" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_cR75sH5qEeqSHNFOHg2_Jw" name="dilation" visibility="public">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ruNsAI81Eeq5HrfdV5ATIg"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_XIcL8Ja2Eeq1-Ze45jZMTg" value="*"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_2Ej78IVJEeqvud4Ae2T3Lg" name="Conv2d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_qNQVoKG3EeqsNvCDUfZJVA" general="_5JUXMKG1EeqsNvCDUfZJVA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_6j6cIIVJEeqvud4Ae2T3Lg" name="Conv3d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_pt11wKG3EeqsNvCDUfZJVA" general="_5JUXMKG1EeqsNvCDUfZJVA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_8w4C8IVJEeqvud4Ae2T3Lg" name="ConvTranspose1d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_ROpsIKSuEeqmTOsCAzVBxg" general="_37PHIKStEeqmTOsCAzVBxg"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="__Er4oIVJEeqvud4Ae2T3Lg" name="ConvTranspose2d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_QScZcKG3EeqsNvCDUfZJVA" general="_RBqh0KG1EeqsNvCDUfZJVA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_AfPLEIVKEeqvud4Ae2T3Lg" name="ConvTranspose3d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_Qt4YQKG3EeqsNvCDUfZJVA" general="_RBqh0KG1EeqsNvCDUfZJVA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_RBqh0KG1EeqsNvCDUfZJVA" name="transpose" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_RL6_IKG3EeqsNvCDUfZJVA" general="_5JUXMKG1EeqsNvCDUfZJVA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_SowbcKG1EeqsNvCDUfZJVA" name="output_padding">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_TFtJAKTdEeqmTOsCAzVBxg"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_TFxacKTdEeqmTOsCAzVBxg" value="*"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_5JUXMKG1EeqsNvCDUfZJVA" name="basic" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_QvZkUKSuEeqmTOsCAzVBxg" general="_37PHIKStEeqmTOsCAzVBxg"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_7rUZ4KG1EeqsNvCDUfZJVA" name="kernel_initializer">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_21W9AKTVEeqmTOsCAzVBxg"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_85lj0KG1EeqsNvCDUfZJVA" name="kernel_constraint" type="_sQtMMKZ6EeqIr7xwFiWQGQ"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_ak_cwKG2EeqsNvCDUfZJVA" name="kernel_regularizer">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_lYtRMKTbEeqmTOsCAzVBxg"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_g_SxQKG3EeqsNvCDUfZJVA" name="Conv1d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_q1mIAKG3EeqsNvCDUfZJVA" general="_5JUXMKG1EeqsNvCDUfZJVA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_d-jusKG4EeqsNvCDUfZJVA" name="Separable" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_Rvo5UKSuEeqmTOsCAzVBxg" general="_37PHIKStEeqmTOsCAzVBxg"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_etxlIKG4EeqsNvCDUfZJVA" name="depth_multiplier">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_S7qjkKTaEeqmTOsCAzVBxg"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_S7tm4KTaEeqmTOsCAzVBxg" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_f_57YKG4EeqsNvCDUfZJVA" name="depthwise_initializer">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mEnKYKTaEeqmTOsCAzVBxg"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_hwRFwKG4EeqsNvCDUfZJVA" name="pointwise_initializer">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kqpt0KTaEeqmTOsCAzVBxg"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_i2jYYKG4EeqsNvCDUfZJVA" name="depthwise_regularizer">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_lF9PMKG4EeqsNvCDUfZJVA" name="poitnwise_regularizer">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_mtJ2gKG4EeqsNvCDUfZJVA" name="depthwise_constraint">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_oTAaAKG4EeqsNvCDUfZJVA" name="pointwise_constraint">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_08Tc0KG4EeqsNvCDUfZJVA" name="SeparableConv2D">
+      <generalization xmi:type="uml:Generalization" xmi:id="_KvNvgKG5EeqsNvCDUfZJVA" general="_d-jusKG4EeqsNvCDUfZJVA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_34MmMKG4EeqsNvCDUfZJVA" name="SeparableConv1D">
+      <generalization xmi:type="uml:Generalization" xmi:id="_L9aA8KG5EeqsNvCDUfZJVA" general="_d-jusKG4EeqsNvCDUfZJVA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_Ip7BgKG6EeqsNvCDUfZJVA" name="DepthwiseConv2D">
+      <generalization xmi:type="uml:Generalization" xmi:id="_gvxQoKSuEeqmTOsCAzVBxg" general="_5DtswH2KEeqSHNFOHg2_Jw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_SSgFUKG6EeqsNvCDUfZJVA" name="depth_multiplier">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fDw2cKTdEeqmTOsCAzVBxg"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fD1u8KTdEeqmTOsCAzVBxg" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_ZHdK8KG6EeqsNvCDUfZJVA" name="depthwise_initializer">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_chtrUKG6EeqsNvCDUfZJVA" name="depthwise_regularizer">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_iro28KG6EeqsNvCDUfZJVA" name="depthwise_constraint">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_37PHIKStEeqmTOsCAzVBxg" name="LayerWithFilter" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_SbB_sKSuEeqmTOsCAzVBxg" general="_5DtswH2KEeqSHNFOHg2_Jw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_NbNPsKSuEeqmTOsCAzVBxg" name="out_channels" visibility="public">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+    </packagedElement>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Profile" xmi:id="_2_xEcJT2Eeq5BK6mmo2rWg" name="Padding_layers" URI="http://www.eclipse.org/papyrus/AIML/padding/1">
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_w6iwUIVYEeqlnrZTj0aPoA" name="Padding_layers" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_zb6SIIVeEeqlnrZTj0aPoA" general="_2E9coH2KEeqSHNFOHg2_Jw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_UZswkIVZEeqlnrZTj0aPoA" name="padding">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_nu1jQJOREeqnY_bZg2Ebjg"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_nvC-oJOREeqnY_bZg2Ebjg" value="*"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_YlZU8IVZEeqlnrZTj0aPoA" name="ReflectionPad1d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_zJF2EIVZEeqlnrZTj0aPoA" general="_w6iwUIVYEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_aphv4IVZEeqlnrZTj0aPoA" name="ReflectionPad2d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_0IHqIIVZEeqlnrZTj0aPoA" general="_w6iwUIVYEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_cIwG8IVZEeqlnrZTj0aPoA" name="ReplicationPad1d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_2srRkIVZEeqlnrZTj0aPoA" general="_w6iwUIVYEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_fdB7IIVZEeqlnrZTj0aPoA" name="ReplicationPad2d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_3Rpm4IVZEeqlnrZTj0aPoA" general="_w6iwUIVYEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_gxtPEIVZEeqlnrZTj0aPoA" name="ReplicationPad3d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_4uA3MIVZEeqlnrZTj0aPoA" general="_w6iwUIVYEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_kjrr4IVZEeqlnrZTj0aPoA" name="ZeroPad2d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_5Tm3kIVZEeqlnrZTj0aPoA" general="_w6iwUIVYEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_mNvZ8IVZEeqlnrZTj0aPoA" name="ConstantPad1d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_6g_QsIVZEeqlnrZTj0aPoA" general="_w6iwUIVYEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_okP-UIVZEeqlnrZTj0aPoA" name="ConstantPad2d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_7KBmoIVZEeqlnrZTj0aPoA" general="_w6iwUIVYEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_sNFGMIVZEeqlnrZTj0aPoA" name="ConstantPad3d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_7vcA0IVZEeqlnrZTj0aPoA" general="_w6iwUIVYEeqlnrZTj0aPoA"/>
+    </packagedElement>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Profile" xmi:id="_H7fbMJT2Eeq5BK6mmo2rWg" name="NonLinearActivations" URI="http://www.eclipse.org/papyrus/AIML/nonlinear/1">
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_AwFawIVbEeqlnrZTj0aPoA" name="Non-linear_activations_(weighted sum, nonlinearity)" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_21Ud8IVeEeqlnrZTj0aPoA" general="_2E9coH2KEeqSHNFOHg2_Jw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_FFiYEIVbEeqlnrZTj0aPoA" name="ELU">
+      <generalization xmi:type="uml:Generalization" xmi:id="_ckA0sIVbEeqlnrZTj0aPoA" general="_Im3JwIVbEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_MoLDEIVbEeqlnrZTj0aPoA" name="alpha">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_98TtsJm1Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_Im3JwIVbEeqlnrZTj0aPoA" name="Non-linear_activations_(weighted sum, nonlinearity)_1" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_dfBEYIVbEeqlnrZTj0aPoA" general="_AwFawIVbEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_Ki9qEIVbEeqlnrZTj0aPoA" name="inplace">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__5jdgJm1Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_O0zSsIVbEeqlnrZTj0aPoA" name="shrink" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_Kab40IVeEeqlnrZTj0aPoA" general="_AwFawIVbEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_QsGykIVbEeqlnrZTj0aPoA" name="lambd">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_EmVVsJm2Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_T1MDYIVbEeqlnrZTj0aPoA" name="LeakyReLU">
+      <generalization xmi:type="uml:Generalization" xmi:id="_dEj9AIVbEeqlnrZTj0aPoA" general="_Im3JwIVbEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_VlPEsIVbEeqlnrZTj0aPoA" name="negative_slope">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_M9Ch8Jm2Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_hnumMIVbEeqlnrZTj0aPoA" name="LogSigmoid">
+      <generalization xmi:type="uml:Generalization" xmi:id="_g0PMYIVeEeqlnrZTj0aPoA" general="_AwFawIVbEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_mNXUkIVbEeqlnrZTj0aPoA" name="MultiheadAttention">
+      <generalization xmi:type="uml:Generalization" xmi:id="_gMwVoIVeEeqlnrZTj0aPoA" general="_AwFawIVbEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_oCRnwIVbEeqlnrZTj0aPoA" name="embed_dim">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_pXDCUIVbEeqlnrZTj0aPoA" name="num_heads">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_qHZhMIVbEeqlnrZTj0aPoA" name="dropout">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_UfYSAJm2Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_qxdK0IVbEeqlnrZTj0aPoA" name="bias">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VpCBsJm2Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_rp_8YIVbEeqlnrZTj0aPoA" name="add_bias_kv ">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_aQ0sMJm2Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_uscZsIVbEeqlnrZTj0aPoA" name="add_zero_attn">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_a7QwUJm2Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_wd6XUIVbEeqlnrZTj0aPoA" name="kdim">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_h7FCIJm2Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_w_bI8IVbEeqlnrZTj0aPoA" name="vdim">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jWzZQJm2Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_FyhkcIVcEeqlnrZTj0aPoA" name="PReLU">
+      <generalization xmi:type="uml:Generalization" xmi:id="_fZNY0IVeEeqlnrZTj0aPoA" general="_AwFawIVbEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_H7n-8IVcEeqlnrZTj0aPoA" name="num_parameters">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_n_dmcJm2Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_J_NnUIVcEeqlnrZTj0aPoA" name="init">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ot4LoJm2Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_PQkzQIVcEeqlnrZTj0aPoA" name="ReLU">
+      <generalization xmi:type="uml:Generalization" xmi:id="_WsaSsIVcEeqlnrZTj0aPoA" general="_Im3JwIVbEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_Q694gIVcEeqlnrZTj0aPoA" name="ReLU6">
+      <generalization xmi:type="uml:Generalization" xmi:id="_XLnXMIVcEeqlnrZTj0aPoA" general="_Im3JwIVbEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_T9yJQIVcEeqlnrZTj0aPoA" name="SELU">
+      <generalization xmi:type="uml:Generalization" xmi:id="_X3PuIIVcEeqlnrZTj0aPoA" general="_Im3JwIVbEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_oPGGUIVcEeqlnrZTj0aPoA" name="RReLU">
+      <generalization xmi:type="uml:Generalization" xmi:id="_yH-P8IVcEeqlnrZTj0aPoA" general="_Im3JwIVbEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_pyKbkIVcEeqlnrZTj0aPoA" name="lower">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_vYFZ0Jm2Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_qj-TAIVcEeqlnrZTj0aPoA" name="upper">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_v48EIJm2Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_uYqFkIVcEeqlnrZTj0aPoA" name="CELU">
+      <generalization xmi:type="uml:Generalization" xmi:id="_ymuBcIVcEeqlnrZTj0aPoA" general="_Im3JwIVbEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_vrowYIVcEeqlnrZTj0aPoA" name="alpha">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_2RN00Jm2Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_-FB30IVcEeqlnrZTj0aPoA" name="GELU">
+      <generalization xmi:type="uml:Generalization" xmi:id="_SfSgEIVeEeqlnrZTj0aPoA" general="_AwFawIVbEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="__HL4YIVcEeqlnrZTj0aPoA" name="Sigmoid">
+      <generalization xmi:type="uml:Generalization" xmi:id="_heXHcIVeEeqlnrZTj0aPoA" general="_AwFawIVbEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_AXPyEIVdEeqlnrZTj0aPoA" name="Softplus">
+      <generalization xmi:type="uml:Generalization" xmi:id="_LicCsIVeEeqlnrZTj0aPoA" general="_AwFawIVbEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_FZhZIIVdEeqlnrZTj0aPoA" name="beta">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_6rtDIJm2Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_KHN3UIVdEeqlnrZTj0aPoA" name="threshold">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_7RoasJm2Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_Q1o3IIVdEeqlnrZTj0aPoA" name="Softshrink">
+      <generalization xmi:type="uml:Generalization" xmi:id="_WoPu8IVdEeqlnrZTj0aPoA" general="_O0zSsIVbEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_Tr5SkIVdEeqlnrZTj0aPoA" name="Hardshrink">
+      <generalization xmi:type="uml:Generalization" xmi:id="_WKteYIVdEeqlnrZTj0aPoA" general="_O0zSsIVbEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_dgIz0IVdEeqlnrZTj0aPoA" name="Softsign">
+      <generalization xmi:type="uml:Generalization" xmi:id="_esL6wIVeEeqlnrZTj0aPoA" general="_AwFawIVbEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_ef3LcIVdEeqlnrZTj0aPoA" name="Tanhshrink">
+      <generalization xmi:type="uml:Generalization" xmi:id="_bY_rsIVeEeqlnrZTj0aPoA" general="_AwFawIVbEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_kIQXUIVdEeqlnrZTj0aPoA" name="Tanh">
+      <generalization xmi:type="uml:Generalization" xmi:id="_dbS6oIVeEeqlnrZTj0aPoA" general="_AwFawIVbEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_4wdxcIVdEeqlnrZTj0aPoA" name="Threshold">
+      <generalization xmi:type="uml:Generalization" xmi:id="_8qf-EIVdEeqlnrZTj0aPoA" general="_Im3JwIVbEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_6bNcAIVdEeqlnrZTj0aPoA" name="threshold">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_7aGGIIVdEeqlnrZTj0aPoA" name="value">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_ymNBQJa5Eeq1-Ze45jZMTg" name="Hardtanh">
+      <generalization xmi:type="uml:Generalization" xmi:id="_CXDD0Ja6Eeq1-Ze45jZMTg" general="_Im3JwIVbEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_3HW4QJa5Eeq1-Ze45jZMTg" name="min_val">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_JS4kYJm2Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_60q3gJa5Eeq1-Ze45jZMTg" name="max_val">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_KluFQJm2Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Profile" xmi:id="_K1H6wJT2Eeq5BK6mmo2rWg" name="SoftMinMaxActivations" URI="http://www.eclipse.org/papyrus/AIML/softminmax/1">
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_HyCdwIVfEeqlnrZTj0aPoA" name="SoftMinMax" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_LHL_MIVgEeqlnrZTj0aPoA" general="_2E9coH2KEeqSHNFOHg2_Jw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_en-TsIVfEeqlnrZTj0aPoA" name="SoftMinMax_1" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_98A-YIVfEeqlnrZTj0aPoA" general="_HyCdwIVfEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_f3_xIIVfEeqlnrZTj0aPoA" name="dim">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ZoGp4Jm3Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_lbyw4IVfEeqlnrZTj0aPoA" name="Softmin">
+      <generalization xmi:type="uml:Generalization" xmi:id="__rKAwIVfEeqlnrZTj0aPoA" general="_en-TsIVfEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_nBjNwIVfEeqlnrZTj0aPoA" name="Softmax">
+      <generalization xmi:type="uml:Generalization" xmi:id="__G9ukIVfEeqlnrZTj0aPoA" general="_en-TsIVfEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_n_v7YIVfEeqlnrZTj0aPoA" name="Softmax2d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_9EA_YIVfEeqlnrZTj0aPoA" general="_HyCdwIVfEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_qeP-IIVfEeqlnrZTj0aPoA" name="LogSoftmax">
+      <generalization xmi:type="uml:Generalization" xmi:id="_-m_OAIVfEeqlnrZTj0aPoA" general="_en-TsIVfEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_vpbpkIVfEeqlnrZTj0aPoA" name="AdaptiveLogSoftmaxWithLoss">
+      <generalization xmi:type="uml:Generalization" xmi:id="_8okZgIVfEeqlnrZTj0aPoA" general="_HyCdwIVfEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_zzHbwIVfEeqlnrZTj0aPoA" name="in_features">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_09lDwIVfEeqlnrZTj0aPoA" name="n_classes">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_1jP8oIVfEeqlnrZTj0aPoA" name="cutoffs">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_PeizoJa8Eeq1-Ze45jZMTg"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Peo6QJa8Eeq1-Ze45jZMTg" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_2sVroIVfEeqlnrZTj0aPoA" name="div_value">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g9ne4Jm3Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_3ZGrAIVfEeqlnrZTj0aPoA" name="head_biais">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hkG3IJm3Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Profile" xmi:id="_N5zMsJT2Eeq5BK6mmo2rWg" name="Normalization_layers" URI="http://www.eclipse.org/papyrus/AIML/normalization/1">
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_ws_i4IVgEeqlnrZTj0aPoA" name="Normalization_layers" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_l2TbQIViEeqlnrZTj0aPoA" general="_2E9coH2KEeqSHNFOHg2_Jw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_2ZKbgIVgEeqlnrZTj0aPoA" name="Normalization_layers_1" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_UxrSEIVhEeqlnrZTj0aPoA" general="_ws_i4IVgEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_4_83kIVgEeqlnrZTj0aPoA" name="eps">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_w8xDMJm3Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_GstigIVhEeqlnrZTj0aPoA" name="LayerNorm">
+      <generalization xmi:type="uml:Generalization" xmi:id="_WYnasIVhEeqlnrZTj0aPoA" general="_2ZKbgIVgEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_KI-OAIVhEeqlnrZTj0aPoA" name="normalized_shape">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_EiCX4Ja-Eeq1-Ze45jZMTg"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_EiGpUJa-Eeq1-Ze45jZMTg" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_OsXgsIVhEeqlnrZTj0aPoA" name="elementwise_affine">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_A4e5AJm4Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_ILIBQIVhEeqlnrZTj0aPoA" name="LocalResponseNorm">
+      <generalization xmi:type="uml:Generalization" xmi:id="_UQtTAIVhEeqlnrZTj0aPoA" general="_ws_i4IVgEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_Qt56oIVhEeqlnrZTj0aPoA" name="size">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_RjEoEIVhEeqlnrZTj0aPoA" name="alpha">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Ja0GcJm4Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_SBd0QIVhEeqlnrZTj0aPoA" name="beta">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_KkqDYJm4Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_SVdHQIVhEeqlnrZTj0aPoA" name="k">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_NPhHIJm4Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_bf7SwIVhEeqlnrZTj0aPoA" name="Normalization_layers_1_1">
+      <generalization xmi:type="uml:Generalization" xmi:id="_sCPOgIVhEeqlnrZTj0aPoA" general="_2ZKbgIVgEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_gvtxYIVhEeqlnrZTj0aPoA" name="affine">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ut1GcJm3Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_fbbfAIVhEeqlnrZTj0aPoA" name="Normalization_layers_1_1_1" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_67JjgIVhEeqlnrZTj0aPoA" general="_bf7SwIVhEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_iVdAIIVhEeqlnrZTj0aPoA" name="num_features">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_ygFbsIVhEeqlnrZTj0aPoA" name="momentum">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_rCxxAJm3Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_2tKgIIVhEeqlnrZTj0aPoA" name="track_running_stats ">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_sTlRkJm3Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_kVSw8IVhEeqlnrZTj0aPoA" name="GroupNorm">
+      <generalization xmi:type="uml:Generalization" xmi:id="_qWp2cIVhEeqlnrZTj0aPoA" general="_bf7SwIVhEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_mNNU0IVhEeqlnrZTj0aPoA" name="num_groups">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_njZrsIVhEeqlnrZTj0aPoA" name="num_channels">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_BDZUIIViEeqlnrZTj0aPoA" name="BatchNorm1d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_XsCU8IViEeqlnrZTj0aPoA" general="_fbbfAIVhEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_ELXxsIViEeqlnrZTj0aPoA" name="BatchNorm2d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_YkOhMIViEeqlnrZTj0aPoA" general="_fbbfAIVhEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_GDAowIViEeqlnrZTj0aPoA" name="BatchNorm3d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_ZlFhQIViEeqlnrZTj0aPoA" general="_fbbfAIVhEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_Ikef8IViEeqlnrZTj0aPoA" name="SyncBatchNorm">
+      <generalization xmi:type="uml:Generalization" xmi:id="_aLhPIIViEeqlnrZTj0aPoA" general="_fbbfAIVhEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_K2rMEIViEeqlnrZTj0aPoA" name="process_group ">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kXoF4Ja9Eeq1-Ze45jZMTg"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_OF6vQIViEeqlnrZTj0aPoA" name="InstanceNorm1d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_alo_UIViEeqlnrZTj0aPoA" general="_fbbfAIVhEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_RKVigIViEeqlnrZTj0aPoA" name="InstanceNorm2d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_a9amIIViEeqlnrZTj0aPoA" general="_fbbfAIVhEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_SiGmsIViEeqlnrZTj0aPoA" name="InstanceNorm3d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_baXn4IViEeqlnrZTj0aPoA" general="_fbbfAIVhEeqlnrZTj0aPoA"/>
+    </packagedElement>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Profile" xmi:id="_RAjiQJT2Eeq5BK6mmo2rWg" name="Recurrent_layers" URI="http://www.eclipse.org/papyrus/AIML/recurrent/1">
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_tHLn4IViEeqlnrZTj0aPoA" name="Recurrent_layers" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_wK-eIIVkEeqlnrZTj0aPoA" general="_2E9coH2KEeqSHNFOHg2_Jw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_495hwIVjEeqlnrZTj0aPoA" name="input_size">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_6la5MIVjEeqlnrZTj0aPoA" name="hidden_size">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_7-lrkIVjEeqlnrZTj0aPoA" name="bias_pt">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Wl610Jm4Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_w_eSoIVjEeqlnrZTj0aPoA" name="Recurrent_layers_1" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_tTUUgIVkEeqlnrZTj0aPoA" general="_tHLn4IViEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_Mgv2UIVkEeqlnrZTj0aPoA" name="num_layers">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_TrfFAJm4Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_NmsKsIVkEeqlnrZTj0aPoA" name="batch_first_pt">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_X3E7sJm4Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_bIpT0IVkEeqlnrZTj0aPoA" name="dropout">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Y93koJm4Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_dH_VYIVkEeqlnrZTj0aPoA" name="bidirectional_pt">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_aMeFwJm4Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_GM1kwKaAEeqIr7xwFiWQGQ" name="activation">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_LrZ0UKaCEeqIr7xwFiWQGQ"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_M26QEKaAEeqIr7xwFiWQGQ" name="recurrent_activation">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_K3rRUKaCEeqIr7xwFiWQGQ"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_OalCQKaAEeqIr7xwFiWQGQ" name="use_bias">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_GrLbsKaCEeqIr7xwFiWQGQ"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_PFb9IKaAEeqIr7xwFiWQGQ" name="kernel_initializer">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_HS90cKaCEeqIr7xwFiWQGQ"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_TQ4C0KaAEeqIr7xwFiWQGQ" name="recurrent_initializer">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_H5oL0KaCEeqIr7xwFiWQGQ"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_uo4gUKaBEeqIr7xwFiWQGQ" name="bias_initializer">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_IYw-4KaCEeqIr7xwFiWQGQ"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_zjmG0KaBEeqIr7xwFiWQGQ" name="return_sequences">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_AcN_EKaCEeqIr7xwFiWQGQ"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_0y_SIKaBEeqIr7xwFiWQGQ" name="return_state">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__7OK0KaBEeqIr7xwFiWQGQ"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_7QlAoKaBEeqIr7xwFiWQGQ" name="bidirectional_k" type="_w_eSoIVjEeqlnrZTj0aPoA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__B1EsKaBEeqIr7xwFiWQGQ"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_ugELMOauEeq2yMJqys2DtQ" name="recurrent_dropout">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_-5MbgIVjEeqlnrZTj0aPoA" name="RNNCell">
+      <generalization xmi:type="uml:Generalization" xmi:id="_rjgjwIVkEeqlnrZTj0aPoA" general="_tHLn4IViEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_AP36kIVkEeqlnrZTj0aPoA" name="nonlinearity">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_eMdwcJm4Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_CfAEkIVkEeqlnrZTj0aPoA" name="LSTMCell">
+      <generalization xmi:type="uml:Generalization" xmi:id="_sMLGQIVkEeqlnrZTj0aPoA" general="_tHLn4IViEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_EdBQcIVkEeqlnrZTj0aPoA" name="GRUCell">
+      <generalization xmi:type="uml:Generalization" xmi:id="_svnxkIVkEeqlnrZTj0aPoA" general="_tHLn4IViEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_f3AgYIVkEeqlnrZTj0aPoA" name="RNN">
+      <generalization xmi:type="uml:Generalization" xmi:id="_pXFIcIVkEeqlnrZTj0aPoA" general="_w_eSoIVjEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_iaV_0IVkEeqlnrZTj0aPoA" name="nonlinearity">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_U0sIwJm4Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_kOLU8IVkEeqlnrZTj0aPoA" name="LSTM">
+      <generalization xmi:type="uml:Generalization" xmi:id="_p2PwsIVkEeqlnrZTj0aPoA" general="_w_eSoIVjEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_l8ROcIVkEeqlnrZTj0aPoA" name="GRU">
+      <generalization xmi:type="uml:Generalization" xmi:id="_qv_cIIVkEeqlnrZTj0aPoA" general="_w_eSoIVjEeqlnrZTj0aPoA"/>
+    </packagedElement>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Profile" xmi:id="_T8DDAJT2Eeq5BK6mmo2rWg" name="Transformer_layers" URI="http://www.eclipse.org/papyrus/AIML/transformer/1">
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_zItakIVkEeqlnrZTj0aPoA" name="Transformer_layers" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_boLdkIVmEeqlnrZTj0aPoA" general="_2E9coH2KEeqSHNFOHg2_Jw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_gsKxUIVlEeqlnrZTj0aPoA" name="Transformer_layers_1" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_SF09kIVmEeqlnrZTj0aPoA" general="_zItakIVkEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_sbCMMIVlEeqlnrZTj0aPoA" name="d_model">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ji0xIJm4Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_tmddgIVlEeqlnrZTj0aPoA" name="nhead">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kiISAJm4Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_uFbRcIVlEeqlnrZTj0aPoA" name="dim_feedforward">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_l1McYJm4Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_v6pGoIVlEeqlnrZTj0aPoA" name="dropout">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_nHZEEJm4Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_wuIZEIVlEeqlnrZTj0aPoA" name="activation">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_oOnK0Jm4Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_kfJ6wIVlEeqlnrZTj0aPoA" name="Transformer_layers_2" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_RehtAIVmEeqlnrZTj0aPoA" general="_zItakIVkEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_mZVvgIVlEeqlnrZTj0aPoA" name="num_layers">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_oByUAIVlEeqlnrZTj0aPoA" name="norm" type="_GstigIVhEeqlnrZTj0aPoA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_QmjgMJkPEeqONqmgJcdSKw"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_0gXUkIVlEeqlnrZTj0aPoA" name="Transformer">
+      <generalization xmi:type="uml:Generalization" xmi:id="_GMzhIIVmEeqlnrZTj0aPoA" general="_gsKxUIVlEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_2FyaQIVlEeqlnrZTj0aPoA" name="num_encoder_layers ">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_4EeUgIVlEeqlnrZTj0aPoA" name="num_decoder_layers ">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_606b0IVlEeqlnrZTj0aPoA" name="custom_encoder" type="_JjphIIVmEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_8LVcMIVlEeqlnrZTj0aPoA" name="custom_decoder" type="_Ku6aYIVmEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_-aqagIVlEeqlnrZTj0aPoA" name="TransformerDecoderLayer">
+      <generalization xmi:type="uml:Generalization" xmi:id="_GrExgIVmEeqlnrZTj0aPoA" general="_gsKxUIVlEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_AIIo8IVmEeqlnrZTj0aPoA" name="TransformerEncoderLayer">
+      <generalization xmi:type="uml:Generalization" xmi:id="_HJqyAIVmEeqlnrZTj0aPoA" general="_gsKxUIVlEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_JjphIIVmEeqlnrZTj0aPoA" name="TransformerEncoder">
+      <generalization xmi:type="uml:Generalization" xmi:id="_P0nv8IVmEeqlnrZTj0aPoA" general="_kfJ6wIVlEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_Nai6MIVmEeqlnrZTj0aPoA" name="encoder_layer" type="_AIIo8IVmEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_Ku6aYIVmEeqlnrZTj0aPoA" name="TransformerDecoder">
+      <generalization xmi:type="uml:Generalization" xmi:id="_QhQMcIVmEeqlnrZTj0aPoA" general="_kfJ6wIVlEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_MA0HIIVmEeqlnrZTj0aPoA" name="decoder_layer" type="_-aqagIVlEeqlnrZTj0aPoA"/>
+    </packagedElement>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Profile" xmi:id="_WwqfsJT2Eeq5BK6mmo2rWg" name="Linear_layers" URI="http://www.eclipse.org/papyrus/AIML/linear/1">
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_ThvuQIhhEeqlnrZTj0aPoA" name="Linear_layers" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_-em2MIhhEeqlnrZTj0aPoA" general="_2E9coH2KEeqSHNFOHg2_Jw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_c_eM8IhhEeqlnrZTj0aPoA" name="Identity">
+      <generalization xmi:type="uml:Generalization" xmi:id="_5QYd0IhhEeqlnrZTj0aPoA" general="_ThvuQIhhEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_hGyAkIhhEeqlnrZTj0aPoA" name="Linear_layers_1" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_58n4wIhhEeqlnrZTj0aPoA" general="_ThvuQIhhEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_lYOnoIhhEeqlnrZTj0aPoA" name="out_features">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_m2y3YIhhEeqlnrZTj0aPoA" name="bias">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_CJq-oJm5Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_ozz9sIhhEeqlnrZTj0aPoA" name="Linear">
+      <generalization xmi:type="uml:Generalization" xmi:id="_4MFvQIhhEeqlnrZTj0aPoA" general="_hGyAkIhhEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_snPzEIhhEeqlnrZTj0aPoA" name="in_features">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_p0kxsKZeEeqIr7xwFiWQGQ"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_1w4LoKZeEeqIr7xwFiWQGQ" name="activation">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4qNwQKZeEeqIr7xwFiWQGQ"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_eJ6SoKZkEeqIr7xwFiWQGQ" name="kernel_initializer">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kdiM0KZkEeqIr7xwFiWQGQ"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_f9qvQKZkEeqIr7xwFiWQGQ" name="bias_initializer">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_lFPGAKZkEeqIr7xwFiWQGQ"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_pJFqIIhhEeqlnrZTj0aPoA" name="Bilinear">
+      <generalization xmi:type="uml:Generalization" xmi:id="_4ugf0IhhEeqlnrZTj0aPoA" general="_hGyAkIhhEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_u5YNwIhhEeqlnrZTj0aPoA" name="in1_features">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_wboqsIhhEeqlnrZTj0aPoA" name="in2_features">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+    </packagedElement>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Profile" xmi:id="_ZUMzcJT2Eeq5BK6mmo2rWg" name="Dropout_layers" URI="http://www.eclipse.org/papyrus/AIML/dropout/1">
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_JJr40IhiEeqlnrZTj0aPoA" name="Dropout_layers" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_yLebMIhiEeqlnrZTj0aPoA" general="_2E9coH2KEeqSHNFOHg2_Jw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_L5uXgIhiEeqlnrZTj0aPoA" name="p">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_HnWvUJm5Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_Mxr6QIhiEeqlnrZTj0aPoA" name="inplace">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_IwBAgJm5Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_k7wEsKcmEeqkzM30xo7jnw" name="noise_shape">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_pP1wEKcmEeqkzM30xo7jnw"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_tivIoKcmEeqkzM30xo7jnw" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_m_lksKcmEeqkzM30xo7jnw" name="seed">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_oaD-oKcmEeqkzM30xo7jnw"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_O7XjkIhiEeqlnrZTj0aPoA" name="Dropout">
+      <generalization xmi:type="uml:Generalization" xmi:id="_rp92AIhiEeqlnrZTj0aPoA" general="_JJr40IhiEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_PMP4MIhiEeqlnrZTj0aPoA" name="Dropout2d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_sKSU0IhiEeqlnrZTj0aPoA" general="_JJr40IhiEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_Proi4IhiEeqlnrZTj0aPoA" name="Dropout3d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_srztgIhiEeqlnrZTj0aPoA" general="_JJr40IhiEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_QF418IhiEeqlnrZTj0aPoA" name="AlphaDropout">
+      <generalization xmi:type="uml:Generalization" xmi:id="_t3zmkIhiEeqlnrZTj0aPoA" general="_JJr40IhiEeqlnrZTj0aPoA"/>
+    </packagedElement>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Profile" xmi:id="_cKwJ0JT2Eeq5BK6mmo2rWg" name="Sparse_layers" URI="http://www.eclipse.org/papyrus/AIML/sparse/1">
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_AdGtwIhjEeqlnrZTj0aPoA" name="Sparse_layers" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_LRL6YIhuEeqlnrZTj0aPoA" general="_2E9coH2KEeqSHNFOHg2_Jw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_nWwe8IhjEeqlnrZTj0aPoA" name="num_embeddings">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_p2G2QIhjEeqlnrZTj0aPoA" name="embedding_dim">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_sIOC0IhjEeqlnrZTj0aPoA" name="max_norm">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bTBBoJm5Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_tKafoIhjEeqlnrZTj0aPoA" name="norm_type ">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Z3v9gJm5Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_vicuAIhjEeqlnrZTj0aPoA" name="sparse">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_cMUoMJm5Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_UjbkMJm5Eeq0jfmjFzaebA" name="scale_grad_by_freq">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Yh-dYJm5Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_HDvqkIhjEeqlnrZTj0aPoA" name="Embedding">
+      <generalization xmi:type="uml:Generalization" xmi:id="_7zj6UIhjEeqlnrZTj0aPoA" general="_AdGtwIhjEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_w7GjAIhjEeqlnrZTj0aPoA" name="padding_idx">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_OQu3EJm5Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_kIoWEIhjEeqlnrZTj0aPoA" name="EmbeddingBag">
+      <generalization xmi:type="uml:Generalization" xmi:id="_8S-aMIhjEeqlnrZTj0aPoA" general="_AdGtwIhjEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_ytrT4IhjEeqlnrZTj0aPoA" name="mode">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fOtbIJm5Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_z2sxcIhjEeqlnrZTj0aPoA" name="include_last_offset">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_eRKNwJm5Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Profile" xmi:id="_fjUoIJT2Eeq5BK6mmo2rWg" name="Distance_functions" URI="http://www.eclipse.org/papyrus/AIML/distance/1">
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_9-4iYIhjEeqlnrZTj0aPoA" name="Distance_functions" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_MC8HcIhuEeqlnrZTj0aPoA" general="_2E9coH2KEeqSHNFOHg2_Jw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_D1Gu4IhkEeqlnrZTj0aPoA" name="eps">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ibLXIJm5Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_Ff9uMIhkEeqlnrZTj0aPoA" name="CosineSimilarity">
+      <generalization xmi:type="uml:Generalization" xmi:id="_QjaNgIhkEeqlnrZTj0aPoA" general="_9-4iYIhjEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_JmnagIhkEeqlnrZTj0aPoA" name="dim">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_j5bd0Jm5Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_F-SB4IhkEeqlnrZTj0aPoA" name="PairwiseDistance">
+      <generalization xmi:type="uml:Generalization" xmi:id="_RFcjkIhkEeqlnrZTj0aPoA" general="_9-4iYIhjEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_Km4ksIhkEeqlnrZTj0aPoA" name="p">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_lHLDUJm5Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_LieqQIhkEeqlnrZTj0aPoA" name="keepdim">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_m257kJm5Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Profile" xmi:id="_nZcP0JT2Eeq5BK6mmo2rWg" name="Loss_functions" URI="http://www.eclipse.org/papyrus/AIML/loss/1">
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_oNze4IhnEeqlnrZTj0aPoA" name="Loss_functions" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_N1r3cIhuEeqlnrZTj0aPoA" general="_2E9coH2KEeqSHNFOHg2_Jw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_qCV-oIhnEeqlnrZTj0aPoA" name="reduction">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uln6wJm5Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_F2VqAIhoEeqlnrZTj0aPoA" name="Loss_functions_1" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_YyIeQIhrEeqlnrZTj0aPoA" general="_oNze4IhnEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_Hr6rkIhoEeqlnrZTj0aPoA" name="size_average">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_rdnoAJm5Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_KRcjYIhoEeqlnrZTj0aPoA" name="reduce">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_5DoKsJm5Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_UW5JYIhoEeqlnrZTj0aPoA" name="L1Loss">
+      <generalization xmi:type="uml:Generalization" xmi:id="_PzV-UIhrEeqlnrZTj0aPoA" general="_F2VqAIhoEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_XkZnMIhoEeqlnrZTj0aPoA" name="MSELoss">
+      <generalization xmi:type="uml:Generalization" xmi:id="_PLRRsIhrEeqlnrZTj0aPoA" general="_F2VqAIhoEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_dgekEIhoEeqlnrZTj0aPoA" name="CTCLoss">
+      <generalization xmi:type="uml:Generalization" xmi:id="_YDZI8IhrEeqlnrZTj0aPoA" general="_oNze4IhnEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_fsyDkIhoEeqlnrZTj0aPoA" name="blank">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_9WJIwJm5Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_g54v4IhoEeqlnrZTj0aPoA" name="zero_infinity">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-SKFEJm5Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_sYrucIhoEeqlnrZTj0aPoA" name="KLDivLoss">
+      <generalization xmi:type="uml:Generalization" xmi:id="_Ojop8IhrEeqlnrZTj0aPoA" general="_F2VqAIhoEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_yCiS4IhoEeqlnrZTj0aPoA" name="MultiLabelMarginLoss">
+      <generalization xmi:type="uml:Generalization" xmi:id="_OBMEMIhrEeqlnrZTj0aPoA" general="_F2VqAIhoEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_TXEOoIhpEeqlnrZTj0aPoA" name="Loss_functions_1_1">
+      <generalization xmi:type="uml:Generalization" xmi:id="_KmOZMIhrEeqlnrZTj0aPoA" general="_F2VqAIhoEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_dvGZcIhpEeqlnrZTj0aPoA" name="margin">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_WdeZkJm6Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_cSDMoIhpEeqlnrZTj0aPoA" name="Loss_functions_1_2">
+      <generalization xmi:type="uml:Generalization" xmi:id="_L6mLIIhrEeqlnrZTj0aPoA" general="_F2VqAIhoEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_e4iGsIhpEeqlnrZTj0aPoA" name="weight" type="_kkWnwIhuEeqlnrZTj0aPoA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_2lla8Jm5Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_o24mMIhpEeqlnrZTj0aPoA" name="CosineEmbeddingLoss">
+      <generalization xmi:type="uml:Generalization" xmi:id="_sErX4IhpEeqlnrZTj0aPoA" general="_TXEOoIhpEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_uaWOwIhpEeqlnrZTj0aPoA" name="MarginRankingLoss">
+      <generalization xmi:type="uml:Generalization" xmi:id="_zEGoIIhpEeqlnrZTj0aPoA" general="_TXEOoIhpEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_v673wIhpEeqlnrZTj0aPoA" name="HingeEmbeddingLoss">
+      <generalization xmi:type="uml:Generalization" xmi:id="_0GpqQIhpEeqlnrZTj0aPoA" general="_TXEOoIhpEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_6OX2cIhpEeqlnrZTj0aPoA" name="BCELoss">
+      <generalization xmi:type="uml:Generalization" xmi:id="_7bTjoIhpEeqlnrZTj0aPoA" general="_cSDMoIhpEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_DrSc0IhqEeqlnrZTj0aPoA" name="Loss_functions_1_1_1" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_UcGuoIhqEeqlnrZTj0aPoA" general="_TXEOoIhpEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_HB3XEIhqEeqlnrZTj0aPoA" name="p">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kKr7AJm7Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_JaQx0IhqEeqlnrZTj0aPoA" name="MultiMarginLoss">
+      <generalization xmi:type="uml:Generalization" xmi:id="_THXJQIhqEeqlnrZTj0aPoA" general="_DrSc0IhqEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_NFUHQIhqEeqlnrZTj0aPoA" name="weight" type="_kkWnwIhuEeqlnrZTj0aPoA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_l5gNQJm7Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_J1LMMIhqEeqlnrZTj0aPoA" name="TripletMarginLoss">
+      <generalization xmi:type="uml:Generalization" xmi:id="_ToeSQIhqEeqlnrZTj0aPoA" general="_DrSc0IhqEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_LlDOYIhqEeqlnrZTj0aPoA" name="swap">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_oP2ZkJm7Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_hqxIUIhqEeqlnrZTj0aPoA" name="Loss_functions_1_2_1" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_uCkygIhqEeqlnrZTj0aPoA" general="_cSDMoIhpEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_kXdYEIhqEeqlnrZTj0aPoA" name="ignore_index">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_1CvIIJm5Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_oavnUIhqEeqlnrZTj0aPoA" name="CrossEntropyLoss">
+      <generalization xmi:type="uml:Generalization" xmi:id="_rT8pEIhqEeqlnrZTj0aPoA" general="_hqxIUIhqEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_pWuucIhqEeqlnrZTj0aPoA" name="NLLLoss">
+      <generalization xmi:type="uml:Generalization" xmi:id="_qQK34IhqEeqlnrZTj0aPoA" general="_hqxIUIhqEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_0iSA4IhqEeqlnrZTj0aPoA" name="PoissonNLLLoss">
+      <generalization xmi:type="uml:Generalization" xmi:id="_H58ZIIhrEeqlnrZTj0aPoA" general="_cSDMoIhpEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_4J95QIhqEeqlnrZTj0aPoA" name="log_input">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_GinfYJm6Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_5TNZQIhqEeqlnrZTj0aPoA" name="full">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Hc-14Jm6Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_6KGlAIhqEeqlnrZTj0aPoA" name="eps">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_1ml9kIhqEeqlnrZTj0aPoA" name="BCEWithLogitsLoss">
+      <generalization xmi:type="uml:Generalization" xmi:id="_HRZLYIhrEeqlnrZTj0aPoA" general="_cSDMoIhpEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_2xgRgIhqEeqlnrZTj0aPoA" name="pos_weight" type="_kkWnwIhuEeqlnrZTj0aPoA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ScaX4Jm6Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Profile" xmi:id="_q6FsEJT2Eeq5BK6mmo2rWg" name="Vision_layers" URI="http://www.eclipse.org/papyrus/AIML/vision/1">
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_iLwgEIhrEeqlnrZTj0aPoA" name="Vision_layers" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_SZKCoIhuEeqlnrZTj0aPoA" general="_2E9coH2KEeqSHNFOHg2_Jw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_t32TwIhrEeqlnrZTj0aPoA" name="Vision_layers_1" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_MhVlkIhsEeqlnrZTj0aPoA" general="_iLwgEIhrEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_xJ4sQIhrEeqlnrZTj0aPoA" name="size" visibility="public">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fHduoJbPEeq1-Ze45jZMTg"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fHtmQJbPEeq1-Ze45jZMTg" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_yEO0oIhrEeqlnrZTj0aPoA" name="scale_factor">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gjTagJbPEeq1-Ze45jZMTg"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gjhc8JbPEeq1-Ze45jZMTg" value="*"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_2p5YMIhrEeqlnrZTj0aPoA" name="PixelShuffle">
+      <generalization xmi:type="uml:Generalization" xmi:id="_L7Zm8IhsEeqlnrZTj0aPoA" general="_iLwgEIhrEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_507w0IhrEeqlnrZTj0aPoA" name="upscale_factor">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_9D3yAIhrEeqlnrZTj0aPoA" name="Upsample">
+      <generalization xmi:type="uml:Generalization" xmi:id="_KFjfoIhsEeqlnrZTj0aPoA" general="_t32TwIhrEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_-r78AIhrEeqlnrZTj0aPoA" name="mode">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_yqxgUJm7Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="___G0EIhrEeqlnrZTj0aPoA" name="align_corners">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ziJNMJm7Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_ExzHAIhsEeqlnrZTj0aPoA" name="UpsamplingNearest2d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_KqD64IhsEeqlnrZTj0aPoA" general="_t32TwIhrEeqlnrZTj0aPoA"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_FiUlAIhsEeqlnrZTj0aPoA" name="UpsamplingBilinear2d">
+      <generalization xmi:type="uml:Generalization" xmi:id="_LUKn0IhsEeqlnrZTj0aPoA" general="_t32TwIhrEeqlnrZTj0aPoA"/>
+    </packagedElement>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Profile" xmi:id="_wBUroJT2Eeq5BK6mmo2rWg" name="DataParallel_layers" URI="http://www.eclipse.org/papyrus/AIML/dataparallel/1">
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_jq9XEIhtEeqlnrZTj0aPoA" name="DataParallel_layers" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_VjFoAIhuEeqlnrZTj0aPoA" general="_2E9coH2KEeqSHNFOHg2_Jw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_rBanQIhtEeqlnrZTj0aPoA" name="module" type="_2E9coH2KEeqSHNFOHg2_Jw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_r6Q60IhtEeqlnrZTj0aPoA" name="device_ids">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_PiyykJkOEeqONqmgJcdSKw"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_PjFGcJkOEeqONqmgJcdSKw" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_stpfkIhtEeqlnrZTj0aPoA" name="output_device">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_R3Z5gJkOEeqONqmgJcdSKw"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ZVyWoJkOEeqONqmgJcdSKw" value="*"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_tsGr4IhtEeqlnrZTj0aPoA" name="DistributedDataParallel">
+      <generalization xmi:type="uml:Generalization" xmi:id="_5KbJUIhtEeqlnrZTj0aPoA" general="_jq9XEIhtEeqlnrZTj0aPoA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_vpBrkIhtEeqlnrZTj0aPoA" name="broadcast_buffers">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_c0yPAJm8Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_xG4JoIhtEeqlnrZTj0aPoA" name="process_group">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_anoZAJkOEeqONqmgJcdSKw"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_yJonIIhtEeqlnrZTj0aPoA" name="bucket_cap_mb">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fOEakJm8Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_zcpuMIhtEeqlnrZTj0aPoA" name="find_unsused_parameters">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gQrHEJm8Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_1KdT0IhtEeqlnrZTj0aPoA" name="check_reduction">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPrF8Jm8Eeq0jfmjFzaebA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_2bnZsIhtEeqlnrZTj0aPoA" name="DataParallel">
+      <generalization xmi:type="uml:Generalization" xmi:id="_4pLdcIhtEeqlnrZTj0aPoA" general="_jq9XEIhtEeqlnrZTj0aPoA"/>
+    </packagedElement>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Stereotype" xmi:id="_hxbaEJm6Eeq0jfmjFzaebA" name="SmoothL1Loss">
+    <generalization xmi:type="uml:Generalization" xmi:id="_mI2tUJm6Eeq0jfmjFzaebA" general="_F2VqAIhoEeqlnrZTj0aPoA"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Stereotype" xmi:id="_w1CjMJm6Eeq0jfmjFzaebA" name="SoftMarginLoss">
+    <generalization xmi:type="uml:Generalization" xmi:id="_0seHwJm6Eeq0jfmjFzaebA" general="_F2VqAIhoEeqlnrZTj0aPoA"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Stereotype" xmi:id="_DSn40Jm7Eeq0jfmjFzaebA" name="MultiLabelSoftMarginLoss">
+    <generalization xmi:type="uml:Generalization" xmi:id="_HyWzgJm7Eeq0jfmjFzaebA" general="_cSDMoIhpEeqlnrZTj0aPoA"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Profile" xmi:id="_DtlO0KTlEeqmTOsCAzVBxg" name="Layer_weight_constraints">
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_Q5gaYKThEeqmTOsCAzVBxg" name="min_max_norm">
+      <generalization xmi:type="uml:Generalization" xmi:id="_vNIpkKTkEeqmTOsCAzVBxg" general="_cxXR0KTkEeqmTOsCAzVBxg"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_EO8W0KTiEeqmTOsCAzVBxg" name="min_value">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_H-FiEKTiEeqmTOsCAzVBxg" name="rate">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_SFqEcKThEeqmTOsCAzVBxg" name="max_norm">
+      <generalization xmi:type="uml:Generalization" xmi:id="_vvr9AKTkEeqmTOsCAzVBxg" general="_cxXR0KTkEeqmTOsCAzVBxg"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_oe1s8KThEeqmTOsCAzVBxg" name="non_neg">
+      <generalization xmi:type="uml:Generalization" xmi:id="_z11KgKZ6EeqIr7xwFiWQGQ" general="_sQtMMKZ6EeqIr7xwFiWQGQ"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_p5ftEKThEeqmTOsCAzVBxg" name="radial_constraint">
+      <generalization xmi:type="uml:Generalization" xmi:id="_zMJUUKZ6EeqIr7xwFiWQGQ" general="_sQtMMKZ6EeqIr7xwFiWQGQ"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_s288sKThEeqmTOsCAzVBxg" name="unit_norm">
+      <generalization xmi:type="uml:Generalization" xmi:id="_ZkPOgKTkEeqmTOsCAzVBxg" general="_T5LJIKTkEeqmTOsCAzVBxg"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_T5LJIKTkEeqmTOsCAzVBxg" name="norm" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_ymebcKZ6EeqIr7xwFiWQGQ" general="_sQtMMKZ6EeqIr7xwFiWQGQ"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_YMFv0KTkEeqmTOsCAzVBxg" name="axis">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ao6-oKTkEeqmTOsCAzVBxg" value="*"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_cxXR0KTkEeqmTOsCAzVBxg" name="NormWithMaxValue" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_1Qw_8KTkEeqmTOsCAzVBxg" general="_T5LJIKTkEeqmTOsCAzVBxg"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_hrd0UKTkEeqmTOsCAzVBxg" name="max_value">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_sQtMMKZ6EeqIr7xwFiWQGQ" name="constraints" isAbstract="true"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Profile" xmi:id="_X5a5MKTpEeqmTOsCAzVBxg" name="Layer_weight_regularizers">
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_0kGm4KTnEeqmTOsCAzVBxg" name="l1">
+      <generalization xmi:type="uml:Generalization" xmi:id="_8VmX0KToEeqmTOsCAzVBxg" general="_smezkKToEeqmTOsCAzVBxg"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_PhQJ0KToEeqmTOsCAzVBxg" name="l2">
+      <generalization xmi:type="uml:Generalization" xmi:id="_8pjOkKToEeqmTOsCAzVBxg" general="_vbw-oKToEeqmTOsCAzVBxg"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_QuKB0KToEeqmTOsCAzVBxg" name="l1_l2">
+      <generalization xmi:type="uml:Generalization" xmi:id="_98EmYKToEeqmTOsCAzVBxg" general="_smezkKToEeqmTOsCAzVBxg"/>
+      <generalization xmi:type="uml:Generalization" xmi:id="_-XpvIKToEeqmTOsCAzVBxg" general="_vbw-oKToEeqmTOsCAzVBxg"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_smezkKToEeqmTOsCAzVBxg" name="ReguWithl1" isAbstract="true">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_yJ2VgKToEeqmTOsCAzVBxg" name="l1">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_C21QMKTpEeqmTOsCAzVBxg"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_vbw-oKToEeqmTOsCAzVBxg" name="ReguWithl2" isAbstract="true">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_zAXt0KToEeqmTOsCAzVBxg" name="l2">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_IgwtIKTpEeqmTOsCAzVBxg"/>
+      </ownedAttribute>
+    </packagedElement>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Profile" xmi:id="_ZgMWkKWVEeq2dLYfuMvqgg" name="Layer_weight_initializers">
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_-JzUkKWREeq2dLYfuMvqgg" name="random_normal">
+      <generalization xmi:type="uml:Generalization" xmi:id="_nuodIKWTEeq2dLYfuMvqgg" general="_iKWVMKWTEeq2dLYfuMvqgg"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_GwoAcKWSEeq2dLYfuMvqgg" name="random_uniform">
+      <generalization xmi:type="uml:Generalization" xmi:id="_aApDIKWTEeq2dLYfuMvqgg" general="_OISVEKWTEeq2dLYfuMvqgg"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_IiUAgKWSEeq2dLYfuMvqgg" name="minval">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_JNazAKWSEeq2dLYfuMvqgg" name="maxval">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_KermkKWSEeq2dLYfuMvqgg" name="truncated_normal">
+      <generalization xmi:type="uml:Generalization" xmi:id="_oMXiAKWTEeq2dLYfuMvqgg" general="_iKWVMKWTEeq2dLYfuMvqgg"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_OfDEsKWSEeq2dLYfuMvqgg" name="zeros"/>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_ZEzicKWSEeq2dLYfuMvqgg" name="ones"/>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_e6wCIKWSEeq2dLYfuMvqgg" name="glorot_normal">
+      <generalization xmi:type="uml:Generalization" xmi:id="_dM91MKWTEeq2dLYfuMvqgg" general="_OISVEKWTEeq2dLYfuMvqgg"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_hxQVMKWSEeq2dLYfuMvqgg" name="glorot_uniform">
+      <generalization xmi:type="uml:Generalization" xmi:id="_YbtssKWTEeq2dLYfuMvqgg" general="_OISVEKWTEeq2dLYfuMvqgg"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_lmeTQKWSEeq2dLYfuMvqgg" name="identity">
+      <generalization xmi:type="uml:Generalization" xmi:id="_DYQrkKWUEeq2dLYfuMvqgg" general="_IHtSsKWTEeq2dLYfuMvqgg"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_nCPGoKWSEeq2dLYfuMvqgg" name="orthogonal">
+      <generalization xmi:type="uml:Generalization" xmi:id="_Q3KgsKWUEeq2dLYfuMvqgg" general="_IHtSsKWTEeq2dLYfuMvqgg"/>
+      <generalization xmi:type="uml:Generalization" xmi:id="_WyCjsKWUEeq2dLYfuMvqgg" general="_OISVEKWTEeq2dLYfuMvqgg"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_oi19wKWSEeq2dLYfuMvqgg" name="constant">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_xIu1gKWSEeq2dLYfuMvqgg" name="value">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_ytfM0KWSEeq2dLYfuMvqgg" name="variance_scaling">
+      <generalization xmi:type="uml:Generalization" xmi:id="_4dWdMKWTEeq2dLYfuMvqgg" general="_OISVEKWTEeq2dLYfuMvqgg"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_z0htYKWSEeq2dLYfuMvqgg" name="scale">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_0XpokKWSEeq2dLYfuMvqgg" name="mode">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_0qcowKWSEeq2dLYfuMvqgg" name="distribution">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_IHtSsKWTEeq2dLYfuMvqgg" name="initializer_with_gain" isAbstract="true">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_L46TcKWTEeq2dLYfuMvqgg" name="gain">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_OISVEKWTEeq2dLYfuMvqgg" name="initializer_with_seed" isAbstract="true">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_R4qPYKWTEeq2dLYfuMvqgg" name="seed">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_iKWVMKWTEeq2dLYfuMvqgg" name="initializer_with_mean_stddev" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_MGbVkKWUEeq2dLYfuMvqgg" general="_OISVEKWTEeq2dLYfuMvqgg"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_lHusUKWTEeq2dLYfuMvqgg" name="mean">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_lmazcKWTEeq2dLYfuMvqgg" name="stddev">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
+      </ownedAttribute>
+    </packagedElement>
+  </packagedElement>
+  <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_shl-AH5QEeqSHNFOHg2_Jw">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_shqPcH5QEeqSHNFOHg2_Jw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+      <references xmi:type="ecore:EPackage" href="pathmap://PAPYRUS_ACTIONLANGUAGE_PROFILE/ActionLanguage-Profile.profile.uml#_Kv8EIKFXEeS_KNX0nfvIVQ"/>
+    </eAnnotations>
+    <appliedProfile xmi:type="uml:Profile" href="pathmap://PAPYRUS_ACTIONLANGUAGE_PROFILE/ActionLanguage-Profile.profile.uml#ActionLanguage"/>
+  </profileApplication>
+</uml:Profile>
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/AIMLFactory.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/AIMLFactory.java
new file mode 100644
index 0000000..e4c8ea4
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/AIMLFactory.java
@@ -0,0 +1,69 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.aiml.profile.AIML.AIMLPackage
+ * @generated
+ */
+public interface AIMLFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	AIMLFactory eINSTANCE = org.eclipse.papyrus.aiml.profile.AIML.impl.AIMLFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Smooth L1 Loss</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Smooth L1 Loss</em>'.
+	 * @generated
+	 */
+	SmoothL1Loss createSmoothL1Loss();
+
+	/**
+	 * Returns a new object of class '<em>Soft Margin Loss</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Soft Margin Loss</em>'.
+	 * @generated
+	 */
+	SoftMarginLoss createSoftMarginLoss();
+
+	/**
+	 * Returns a new object of class '<em>Multi Label Soft Margin Loss</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Multi Label Soft Margin Loss</em>'.
+	 * @generated
+	 */
+	MultiLabelSoftMarginLoss createMultiLabelSoftMarginLoss();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	AIMLPackage getAIMLPackage();
+
+} //AIMLFactory
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/AIMLPackage.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/AIMLPackage.java
new file mode 100644
index 0000000..d833263
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/AIMLPackage.java
@@ -0,0 +1,517 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Loss_functions.Loss_functionsPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each operation of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.aiml.profile.AIML.AIMLFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface AIMLPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "AIML"; //$NON-NLS-1$
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://www.eclipse.org/papyrus/AIML/1"; //$NON-NLS-1$
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "AIML"; //$NON-NLS-1$
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	AIMLPackage eINSTANCE = org.eclipse.papyrus.aiml.profile.AIML.impl.AIMLPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.impl.SmoothL1LossImpl <em>Smooth L1 Loss</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.impl.SmoothL1LossImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.impl.AIMLPackageImpl#getSmoothL1Loss()
+	 * @generated
+	 */
+	int SMOOTH_L1_LOSS = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SMOOTH_L1_LOSS__BASE_CLASS = Loss_functionsPackage.LOSS_FUNCTIONS_1__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SMOOTH_L1_LOSS__NAME = Loss_functionsPackage.LOSS_FUNCTIONS_1__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SMOOTH_L1_LOSS__DATA = Loss_functionsPackage.LOSS_FUNCTIONS_1__DATA;
+
+	/**
+	 * The feature id for the '<em><b>Requires grad</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SMOOTH_L1_LOSS__REQUIRES_GRAD = Loss_functionsPackage.LOSS_FUNCTIONS_1__REQUIRES_GRAD;
+
+	/**
+	 * The feature id for the '<em><b>Sub Module</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SMOOTH_L1_LOSS__SUB_MODULE = Loss_functionsPackage.LOSS_FUNCTIONS_1__SUB_MODULE;
+
+	/**
+	 * The feature id for the '<em><b>Optimizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SMOOTH_L1_LOSS__OPTIMIZER = Loss_functionsPackage.LOSS_FUNCTIONS_1__OPTIMIZER;
+
+	/**
+	 * The feature id for the '<em><b>Loss</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SMOOTH_L1_LOSS__LOSS = Loss_functionsPackage.LOSS_FUNCTIONS_1__LOSS;
+
+	/**
+	 * The feature id for the '<em><b>Reduction</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SMOOTH_L1_LOSS__REDUCTION = Loss_functionsPackage.LOSS_FUNCTIONS_1__REDUCTION;
+
+	/**
+	 * The feature id for the '<em><b>Size average</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SMOOTH_L1_LOSS__SIZE_AVERAGE = Loss_functionsPackage.LOSS_FUNCTIONS_1__SIZE_AVERAGE;
+
+	/**
+	 * The feature id for the '<em><b>Reduce</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SMOOTH_L1_LOSS__REDUCE = Loss_functionsPackage.LOSS_FUNCTIONS_1__REDUCE;
+
+	/**
+	 * The number of structural features of the '<em>Smooth L1 Loss</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SMOOTH_L1_LOSS_FEATURE_COUNT = Loss_functionsPackage.LOSS_FUNCTIONS_1_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>Smooth L1 Loss</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SMOOTH_L1_LOSS_OPERATION_COUNT = Loss_functionsPackage.LOSS_FUNCTIONS_1_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.impl.SoftMarginLossImpl <em>Soft Margin Loss</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.impl.SoftMarginLossImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.impl.AIMLPackageImpl#getSoftMarginLoss()
+	 * @generated
+	 */
+	int SOFT_MARGIN_LOSS = 1;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SOFT_MARGIN_LOSS__BASE_CLASS = Loss_functionsPackage.LOSS_FUNCTIONS_1__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SOFT_MARGIN_LOSS__NAME = Loss_functionsPackage.LOSS_FUNCTIONS_1__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SOFT_MARGIN_LOSS__DATA = Loss_functionsPackage.LOSS_FUNCTIONS_1__DATA;
+
+	/**
+	 * The feature id for the '<em><b>Requires grad</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SOFT_MARGIN_LOSS__REQUIRES_GRAD = Loss_functionsPackage.LOSS_FUNCTIONS_1__REQUIRES_GRAD;
+
+	/**
+	 * The feature id for the '<em><b>Sub Module</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SOFT_MARGIN_LOSS__SUB_MODULE = Loss_functionsPackage.LOSS_FUNCTIONS_1__SUB_MODULE;
+
+	/**
+	 * The feature id for the '<em><b>Optimizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SOFT_MARGIN_LOSS__OPTIMIZER = Loss_functionsPackage.LOSS_FUNCTIONS_1__OPTIMIZER;
+
+	/**
+	 * The feature id for the '<em><b>Loss</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SOFT_MARGIN_LOSS__LOSS = Loss_functionsPackage.LOSS_FUNCTIONS_1__LOSS;
+
+	/**
+	 * The feature id for the '<em><b>Reduction</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SOFT_MARGIN_LOSS__REDUCTION = Loss_functionsPackage.LOSS_FUNCTIONS_1__REDUCTION;
+
+	/**
+	 * The feature id for the '<em><b>Size average</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SOFT_MARGIN_LOSS__SIZE_AVERAGE = Loss_functionsPackage.LOSS_FUNCTIONS_1__SIZE_AVERAGE;
+
+	/**
+	 * The feature id for the '<em><b>Reduce</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SOFT_MARGIN_LOSS__REDUCE = Loss_functionsPackage.LOSS_FUNCTIONS_1__REDUCE;
+
+	/**
+	 * The number of structural features of the '<em>Soft Margin Loss</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SOFT_MARGIN_LOSS_FEATURE_COUNT = Loss_functionsPackage.LOSS_FUNCTIONS_1_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>Soft Margin Loss</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SOFT_MARGIN_LOSS_OPERATION_COUNT = Loss_functionsPackage.LOSS_FUNCTIONS_1_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.impl.MultiLabelSoftMarginLossImpl <em>Multi Label Soft Margin Loss</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.impl.MultiLabelSoftMarginLossImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.impl.AIMLPackageImpl#getMultiLabelSoftMarginLoss()
+	 * @generated
+	 */
+	int MULTI_LABEL_SOFT_MARGIN_LOSS = 2;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTI_LABEL_SOFT_MARGIN_LOSS__BASE_CLASS = Loss_functionsPackage.LOSS_FUNCTIONS_12__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTI_LABEL_SOFT_MARGIN_LOSS__NAME = Loss_functionsPackage.LOSS_FUNCTIONS_12__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTI_LABEL_SOFT_MARGIN_LOSS__DATA = Loss_functionsPackage.LOSS_FUNCTIONS_12__DATA;
+
+	/**
+	 * The feature id for the '<em><b>Requires grad</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTI_LABEL_SOFT_MARGIN_LOSS__REQUIRES_GRAD = Loss_functionsPackage.LOSS_FUNCTIONS_12__REQUIRES_GRAD;
+
+	/**
+	 * The feature id for the '<em><b>Sub Module</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTI_LABEL_SOFT_MARGIN_LOSS__SUB_MODULE = Loss_functionsPackage.LOSS_FUNCTIONS_12__SUB_MODULE;
+
+	/**
+	 * The feature id for the '<em><b>Optimizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTI_LABEL_SOFT_MARGIN_LOSS__OPTIMIZER = Loss_functionsPackage.LOSS_FUNCTIONS_12__OPTIMIZER;
+
+	/**
+	 * The feature id for the '<em><b>Loss</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTI_LABEL_SOFT_MARGIN_LOSS__LOSS = Loss_functionsPackage.LOSS_FUNCTIONS_12__LOSS;
+
+	/**
+	 * The feature id for the '<em><b>Reduction</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTI_LABEL_SOFT_MARGIN_LOSS__REDUCTION = Loss_functionsPackage.LOSS_FUNCTIONS_12__REDUCTION;
+
+	/**
+	 * The feature id for the '<em><b>Size average</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTI_LABEL_SOFT_MARGIN_LOSS__SIZE_AVERAGE = Loss_functionsPackage.LOSS_FUNCTIONS_12__SIZE_AVERAGE;
+
+	/**
+	 * The feature id for the '<em><b>Reduce</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTI_LABEL_SOFT_MARGIN_LOSS__REDUCE = Loss_functionsPackage.LOSS_FUNCTIONS_12__REDUCE;
+
+	/**
+	 * The feature id for the '<em><b>Weight</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTI_LABEL_SOFT_MARGIN_LOSS__WEIGHT = Loss_functionsPackage.LOSS_FUNCTIONS_12__WEIGHT;
+
+	/**
+	 * The number of structural features of the '<em>Multi Label Soft Margin Loss</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTI_LABEL_SOFT_MARGIN_LOSS_FEATURE_COUNT = Loss_functionsPackage.LOSS_FUNCTIONS_12_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>Multi Label Soft Margin Loss</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTI_LABEL_SOFT_MARGIN_LOSS_OPERATION_COUNT = Loss_functionsPackage.LOSS_FUNCTIONS_12_OPERATION_COUNT + 0;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.SmoothL1Loss <em>Smooth L1 Loss</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Smooth L1 Loss</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.SmoothL1Loss
+	 * @generated
+	 */
+	EClass getSmoothL1Loss();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.SoftMarginLoss <em>Soft Margin Loss</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Soft Margin Loss</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.SoftMarginLoss
+	 * @generated
+	 */
+	EClass getSoftMarginLoss();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.MultiLabelSoftMarginLoss <em>Multi Label Soft Margin Loss</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Multi Label Soft Margin Loss</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.MultiLabelSoftMarginLoss
+	 * @generated
+	 */
+	EClass getMultiLabelSoftMarginLoss();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	AIMLFactory getAIMLFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each operation of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.impl.SmoothL1LossImpl <em>Smooth L1 Loss</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.impl.SmoothL1LossImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.impl.AIMLPackageImpl#getSmoothL1Loss()
+		 * @generated
+		 */
+		EClass SMOOTH_L1_LOSS = eINSTANCE.getSmoothL1Loss();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.impl.SoftMarginLossImpl <em>Soft Margin Loss</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.impl.SoftMarginLossImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.impl.AIMLPackageImpl#getSoftMarginLoss()
+		 * @generated
+		 */
+		EClass SOFT_MARGIN_LOSS = eINSTANCE.getSoftMarginLoss();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.impl.MultiLabelSoftMarginLossImpl <em>Multi Label Soft Margin Loss</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.impl.MultiLabelSoftMarginLossImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.impl.AIMLPackageImpl#getMultiLabelSoftMarginLoss()
+		 * @generated
+		 */
+		EClass MULTI_LABEL_SOFT_MARGIN_LOSS = eINSTANCE.getMultiLabelSoftMarginLoss();
+
+	}
+
+} //AIMLPackage
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/Conv1d.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/Conv1d.java
new file mode 100644
index 0000000..6433c44
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/Conv1d.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Conv1d</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getConv1d()
+ * @model
+ * @generated
+ */
+public interface Conv1d extends basic {
+} // Conv1d
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/Conv2d.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/Conv2d.java
new file mode 100644
index 0000000..25e0c48
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/Conv2d.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Conv2d</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getConv2d()
+ * @model
+ * @generated
+ */
+public interface Conv2d extends basic {
+} // Conv2d
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/Conv3d.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/Conv3d.java
new file mode 100644
index 0000000..7c0059d
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/Conv3d.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Conv3d</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getConv3d()
+ * @model
+ * @generated
+ */
+public interface Conv3d extends basic {
+} // Conv3d
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/ConvTranspose1d.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/ConvTranspose1d.java
new file mode 100644
index 0000000..ba82c9c
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/ConvTranspose1d.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Conv Transpose1d</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getConvTranspose1d()
+ * @model
+ * @generated
+ */
+public interface ConvTranspose1d extends LayerWithFilter {
+} // ConvTranspose1d
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/ConvTranspose2d.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/ConvTranspose2d.java
new file mode 100644
index 0000000..9533a06
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/ConvTranspose2d.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Conv Transpose2d</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getConvTranspose2d()
+ * @model
+ * @generated
+ */
+public interface ConvTranspose2d extends transpose {
+} // ConvTranspose2d
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/ConvTranspose3d.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/ConvTranspose3d.java
new file mode 100644
index 0000000..5e72e67
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/ConvTranspose3d.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Conv Transpose3d</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getConvTranspose3d()
+ * @model
+ * @generated
+ */
+public interface ConvTranspose3d extends transpose {
+} // ConvTranspose3d
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/Convolution.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/Convolution.java
new file mode 100644
index 0000000..40c8f10
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/Convolution.java
@@ -0,0 +1,319 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Convolution</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#getIn_channels <em>In channels</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#getGroups <em>Groups</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#isBiais <em>Biais</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#getPadding_mode <em>Padding mode</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#getData_format <em>Data format</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#getDilation_rate <em>Dilation rate</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#getActivation <em>Activation</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#getBias_initializer <em>Bias initializer</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#getActivity_regularizer <em>Activity regularizer</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#getBias_constraint <em>Bias constraint</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#getBias_regularizer <em>Bias regularizer</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getConvolution()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Convolution extends Convolution_layers {
+	/**
+	 * Returns the value of the '<em><b>In channels</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>In channels</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>In channels</em>' attribute.
+	 * @see #setIn_channels(int)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getConvolution_In_channels()
+	 * @model dataType="org.eclipse.uml2.types.Integer" ordered="false"
+	 * @generated
+	 */
+	int getIn_channels();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#getIn_channels <em>In channels</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>In channels</em>' attribute.
+	 * @see #getIn_channels()
+	 * @generated
+	 */
+	void setIn_channels(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Groups</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Groups</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Groups</em>' attribute.
+	 * @see #setGroups(int)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getConvolution_Groups()
+	 * @model dataType="org.eclipse.uml2.types.Integer" ordered="false"
+	 * @generated
+	 */
+	int getGroups();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#getGroups <em>Groups</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Groups</em>' attribute.
+	 * @see #getGroups()
+	 * @generated
+	 */
+	void setGroups(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Biais</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Biais</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Biais</em>' attribute.
+	 * @see #setBiais(boolean)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getConvolution_Biais()
+	 * @model dataType="org.eclipse.uml2.types.Boolean" ordered="false"
+	 * @generated
+	 */
+	boolean isBiais();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#isBiais <em>Biais</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Biais</em>' attribute.
+	 * @see #isBiais()
+	 * @generated
+	 */
+	void setBiais(boolean value);
+
+	/**
+	 * Returns the value of the '<em><b>Padding mode</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Padding mode</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Padding mode</em>' attribute.
+	 * @see #setPadding_mode(String)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getConvolution_Padding_mode()
+	 * @model dataType="org.eclipse.uml2.types.String" ordered="false"
+	 * @generated
+	 */
+	String getPadding_mode();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#getPadding_mode <em>Padding mode</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Padding mode</em>' attribute.
+	 * @see #getPadding_mode()
+	 * @generated
+	 */
+	void setPadding_mode(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Data format</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Data format</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Data format</em>' attribute.
+	 * @see #setData_format(String)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getConvolution_Data_format()
+	 * @model dataType="org.eclipse.uml2.types.String" ordered="false"
+	 * @generated
+	 */
+	String getData_format();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#getData_format <em>Data format</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Data format</em>' attribute.
+	 * @see #getData_format()
+	 * @generated
+	 */
+	void setData_format(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Dilation rate</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.Integer}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Dilation rate</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Dilation rate</em>' attribute list.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getConvolution_Dilation_rate()
+	 * @model dataType="org.eclipse.uml2.types.Integer" ordered="false"
+	 * @generated
+	 */
+	EList<Integer> getDilation_rate();
+
+	/**
+	 * Returns the value of the '<em><b>Activation</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Activation</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Activation</em>' attribute.
+	 * @see #setActivation(String)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getConvolution_Activation()
+	 * @model dataType="org.eclipse.uml2.types.String" ordered="false"
+	 * @generated
+	 */
+	String getActivation();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#getActivation <em>Activation</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Activation</em>' attribute.
+	 * @see #getActivation()
+	 * @generated
+	 */
+	void setActivation(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Bias initializer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Bias initializer</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Bias initializer</em>' attribute.
+	 * @see #setBias_initializer(String)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getConvolution_Bias_initializer()
+	 * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+	 * @generated
+	 */
+	String getBias_initializer();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#getBias_initializer <em>Bias initializer</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Bias initializer</em>' attribute.
+	 * @see #getBias_initializer()
+	 * @generated
+	 */
+	void setBias_initializer(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Activity regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Activity regularizer</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Activity regularizer</em>' attribute.
+	 * @see #setActivity_regularizer(String)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getConvolution_Activity_regularizer()
+	 * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+	 * @generated
+	 */
+	String getActivity_regularizer();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#getActivity_regularizer <em>Activity regularizer</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Activity regularizer</em>' attribute.
+	 * @see #getActivity_regularizer()
+	 * @generated
+	 */
+	void setActivity_regularizer(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Bias constraint</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Bias constraint</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Bias constraint</em>' attribute.
+	 * @see #setBias_constraint(String)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getConvolution_Bias_constraint()
+	 * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+	 * @generated
+	 */
+	String getBias_constraint();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#getBias_constraint <em>Bias constraint</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Bias constraint</em>' attribute.
+	 * @see #getBias_constraint()
+	 * @generated
+	 */
+	void setBias_constraint(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Bias regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Bias regularizer</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Bias regularizer</em>' attribute.
+	 * @see #setBias_regularizer(String)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getConvolution_Bias_regularizer()
+	 * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+	 * @generated
+	 */
+	String getBias_regularizer();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#getBias_regularizer <em>Bias regularizer</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Bias regularizer</em>' attribute.
+	 * @see #getBias_regularizer()
+	 * @generated
+	 */
+	void setBias_regularizer(String value);
+
+} // Convolution
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/Convolution_layers.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/Convolution_layers.java
new file mode 100644
index 0000000..e94b5b9
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/Convolution_layers.java
@@ -0,0 +1,101 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.aiml.profile.AIML.Module.Model;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Convolution layers</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layers#getKernel_size <em>Kernel size</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layers#getStride <em>Stride</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layers#getPadding <em>Padding</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layers#getDilation <em>Dilation</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getConvolution_layers()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Convolution_layers extends Model {
+	/**
+	 * Returns the value of the '<em><b>Kernel size</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.Integer}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Kernel size</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Kernel size</em>' attribute list.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getConvolution_layers_Kernel_size()
+	 * @model dataType="org.eclipse.uml2.types.Integer" ordered="false"
+	 * @generated
+	 */
+	EList<Integer> getKernel_size();
+
+	/**
+	 * Returns the value of the '<em><b>Stride</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.Integer}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Stride</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Stride</em>' attribute list.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getConvolution_layers_Stride()
+	 * @model dataType="org.eclipse.uml2.types.Integer" ordered="false"
+	 * @generated
+	 */
+	EList<Integer> getStride();
+
+	/**
+	 * Returns the value of the '<em><b>Padding</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.Integer}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Padding</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Padding</em>' attribute list.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getConvolution_layers_Padding()
+	 * @model dataType="org.eclipse.uml2.types.Integer" ordered="false"
+	 * @generated
+	 */
+	EList<Integer> getPadding();
+
+	/**
+	 * Returns the value of the '<em><b>Dilation</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.Integer}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Dilation</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Dilation</em>' attribute list.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getConvolution_layers_Dilation()
+	 * @model dataType="org.eclipse.uml2.types.Integer" ordered="false"
+	 * @generated
+	 */
+	EList<Integer> getDilation();
+
+} // Convolution_layers
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/Convolution_layersFactory.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/Convolution_layersFactory.java
new file mode 100644
index 0000000..2376154
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/Convolution_layersFactory.java
@@ -0,0 +1,141 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage
+ * @generated
+ */
+public interface Convolution_layersFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	Convolution_layersFactory eINSTANCE = org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Unfold</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Unfold</em>'.
+	 * @generated
+	 */
+	Unfold createUnfold();
+
+	/**
+	 * Returns a new object of class '<em>Fold</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Fold</em>'.
+	 * @generated
+	 */
+	Fold createFold();
+
+	/**
+	 * Returns a new object of class '<em>Conv2d</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Conv2d</em>'.
+	 * @generated
+	 */
+	Conv2d createConv2d();
+
+	/**
+	 * Returns a new object of class '<em>Conv3d</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Conv3d</em>'.
+	 * @generated
+	 */
+	Conv3d createConv3d();
+
+	/**
+	 * Returns a new object of class '<em>Conv Transpose1d</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Conv Transpose1d</em>'.
+	 * @generated
+	 */
+	ConvTranspose1d createConvTranspose1d();
+
+	/**
+	 * Returns a new object of class '<em>Conv Transpose2d</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Conv Transpose2d</em>'.
+	 * @generated
+	 */
+	ConvTranspose2d createConvTranspose2d();
+
+	/**
+	 * Returns a new object of class '<em>Conv Transpose3d</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Conv Transpose3d</em>'.
+	 * @generated
+	 */
+	ConvTranspose3d createConvTranspose3d();
+
+	/**
+	 * Returns a new object of class '<em>Conv1d</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Conv1d</em>'.
+	 * @generated
+	 */
+	Conv1d createConv1d();
+
+	/**
+	 * Returns a new object of class '<em>Separable Conv2 D</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Separable Conv2 D</em>'.
+	 * @generated
+	 */
+	SeparableConv2D createSeparableConv2D();
+
+	/**
+	 * Returns a new object of class '<em>Separable Conv1 D</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Separable Conv1 D</em>'.
+	 * @generated
+	 */
+	SeparableConv1D createSeparableConv1D();
+
+	/**
+	 * Returns a new object of class '<em>Depthwise Conv2 D</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Depthwise Conv2 D</em>'.
+	 * @generated
+	 */
+	DepthwiseConv2D createDepthwiseConv2D();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	Convolution_layersPackage getConvolution_layersPackage();
+
+} //Convolution_layersFactory
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/Convolution_layersPackage.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/Convolution_layersPackage.java
new file mode 100644
index 0000000..d6a1aaf
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/Convolution_layersPackage.java
@@ -0,0 +1,5147 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Module.ModulePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each operation of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface Convolution_layersPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "Convolution_layers"; //$NON-NLS-1$
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://www.eclipse.org/papyrus/AIML/convolution/1"; //$NON-NLS-1$
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "AIML.Convolution_layers"; //$NON-NLS-1$
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	Convolution_layersPackage eINSTANCE = org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersImpl <em>Convolution layers</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl#getConvolution_layers()
+	 * @generated
+	 */
+	int CONVOLUTION_LAYERS = 1;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONVOLUTION_LAYERS__BASE_CLASS = ModulePackage.MODEL__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONVOLUTION_LAYERS__NAME = ModulePackage.MODEL__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONVOLUTION_LAYERS__DATA = ModulePackage.MODEL__DATA;
+
+	/**
+	 * The feature id for the '<em><b>Requires grad</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONVOLUTION_LAYERS__REQUIRES_GRAD = ModulePackage.MODEL__REQUIRES_GRAD;
+
+	/**
+	 * The feature id for the '<em><b>Sub Module</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONVOLUTION_LAYERS__SUB_MODULE = ModulePackage.MODEL__SUB_MODULE;
+
+	/**
+	 * The feature id for the '<em><b>Optimizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONVOLUTION_LAYERS__OPTIMIZER = ModulePackage.MODEL__OPTIMIZER;
+
+	/**
+	 * The feature id for the '<em><b>Loss</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONVOLUTION_LAYERS__LOSS = ModulePackage.MODEL__LOSS;
+
+	/**
+	 * The feature id for the '<em><b>Kernel size</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONVOLUTION_LAYERS__KERNEL_SIZE = ModulePackage.MODEL_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Stride</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONVOLUTION_LAYERS__STRIDE = ModulePackage.MODEL_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Padding</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONVOLUTION_LAYERS__PADDING = ModulePackage.MODEL_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Dilation</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONVOLUTION_LAYERS__DILATION = ModulePackage.MODEL_FEATURE_COUNT + 3;
+
+	/**
+	 * The number of structural features of the '<em>Convolution layers</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONVOLUTION_LAYERS_FEATURE_COUNT = ModulePackage.MODEL_FEATURE_COUNT + 4;
+
+	/**
+	 * The number of operations of the '<em>Convolution layers</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONVOLUTION_LAYERS_OPERATION_COUNT = ModulePackage.MODEL_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.ConvolutionImpl <em>Convolution</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.ConvolutionImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl#getConvolution()
+	 * @generated
+	 */
+	int CONVOLUTION = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONVOLUTION__BASE_CLASS = CONVOLUTION_LAYERS__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONVOLUTION__NAME = CONVOLUTION_LAYERS__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONVOLUTION__DATA = CONVOLUTION_LAYERS__DATA;
+
+	/**
+	 * The feature id for the '<em><b>Requires grad</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONVOLUTION__REQUIRES_GRAD = CONVOLUTION_LAYERS__REQUIRES_GRAD;
+
+	/**
+	 * The feature id for the '<em><b>Sub Module</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONVOLUTION__SUB_MODULE = CONVOLUTION_LAYERS__SUB_MODULE;
+
+	/**
+	 * The feature id for the '<em><b>Optimizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONVOLUTION__OPTIMIZER = CONVOLUTION_LAYERS__OPTIMIZER;
+
+	/**
+	 * The feature id for the '<em><b>Loss</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONVOLUTION__LOSS = CONVOLUTION_LAYERS__LOSS;
+
+	/**
+	 * The feature id for the '<em><b>Kernel size</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONVOLUTION__KERNEL_SIZE = CONVOLUTION_LAYERS__KERNEL_SIZE;
+
+	/**
+	 * The feature id for the '<em><b>Stride</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONVOLUTION__STRIDE = CONVOLUTION_LAYERS__STRIDE;
+
+	/**
+	 * The feature id for the '<em><b>Padding</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONVOLUTION__PADDING = CONVOLUTION_LAYERS__PADDING;
+
+	/**
+	 * The feature id for the '<em><b>Dilation</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONVOLUTION__DILATION = CONVOLUTION_LAYERS__DILATION;
+
+	/**
+	 * The feature id for the '<em><b>In channels</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONVOLUTION__IN_CHANNELS = CONVOLUTION_LAYERS_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Groups</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONVOLUTION__GROUPS = CONVOLUTION_LAYERS_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Biais</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONVOLUTION__BIAIS = CONVOLUTION_LAYERS_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Padding mode</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONVOLUTION__PADDING_MODE = CONVOLUTION_LAYERS_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>Data format</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONVOLUTION__DATA_FORMAT = CONVOLUTION_LAYERS_FEATURE_COUNT + 4;
+
+	/**
+	 * The feature id for the '<em><b>Dilation rate</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONVOLUTION__DILATION_RATE = CONVOLUTION_LAYERS_FEATURE_COUNT + 5;
+
+	/**
+	 * The feature id for the '<em><b>Activation</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONVOLUTION__ACTIVATION = CONVOLUTION_LAYERS_FEATURE_COUNT + 6;
+
+	/**
+	 * The feature id for the '<em><b>Bias initializer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONVOLUTION__BIAS_INITIALIZER = CONVOLUTION_LAYERS_FEATURE_COUNT + 7;
+
+	/**
+	 * The feature id for the '<em><b>Activity regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONVOLUTION__ACTIVITY_REGULARIZER = CONVOLUTION_LAYERS_FEATURE_COUNT + 8;
+
+	/**
+	 * The feature id for the '<em><b>Bias constraint</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONVOLUTION__BIAS_CONSTRAINT = CONVOLUTION_LAYERS_FEATURE_COUNT + 9;
+
+	/**
+	 * The feature id for the '<em><b>Bias regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONVOLUTION__BIAS_REGULARIZER = CONVOLUTION_LAYERS_FEATURE_COUNT + 10;
+
+	/**
+	 * The number of structural features of the '<em>Convolution</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONVOLUTION_FEATURE_COUNT = CONVOLUTION_LAYERS_FEATURE_COUNT + 11;
+
+	/**
+	 * The number of operations of the '<em>Convolution</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONVOLUTION_OPERATION_COUNT = CONVOLUTION_LAYERS_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.UnfoldImpl <em>Unfold</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.UnfoldImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl#getUnfold()
+	 * @generated
+	 */
+	int UNFOLD = 2;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UNFOLD__BASE_CLASS = CONVOLUTION_LAYERS__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UNFOLD__NAME = CONVOLUTION_LAYERS__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UNFOLD__DATA = CONVOLUTION_LAYERS__DATA;
+
+	/**
+	 * The feature id for the '<em><b>Requires grad</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UNFOLD__REQUIRES_GRAD = CONVOLUTION_LAYERS__REQUIRES_GRAD;
+
+	/**
+	 * The feature id for the '<em><b>Sub Module</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UNFOLD__SUB_MODULE = CONVOLUTION_LAYERS__SUB_MODULE;
+
+	/**
+	 * The feature id for the '<em><b>Optimizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UNFOLD__OPTIMIZER = CONVOLUTION_LAYERS__OPTIMIZER;
+
+	/**
+	 * The feature id for the '<em><b>Loss</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UNFOLD__LOSS = CONVOLUTION_LAYERS__LOSS;
+
+	/**
+	 * The feature id for the '<em><b>Kernel size</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UNFOLD__KERNEL_SIZE = CONVOLUTION_LAYERS__KERNEL_SIZE;
+
+	/**
+	 * The feature id for the '<em><b>Stride</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UNFOLD__STRIDE = CONVOLUTION_LAYERS__STRIDE;
+
+	/**
+	 * The feature id for the '<em><b>Padding</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UNFOLD__PADDING = CONVOLUTION_LAYERS__PADDING;
+
+	/**
+	 * The feature id for the '<em><b>Dilation</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UNFOLD__DILATION = CONVOLUTION_LAYERS__DILATION;
+
+	/**
+	 * The number of structural features of the '<em>Unfold</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UNFOLD_FEATURE_COUNT = CONVOLUTION_LAYERS_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>Unfold</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UNFOLD_OPERATION_COUNT = CONVOLUTION_LAYERS_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.FoldImpl <em>Fold</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.FoldImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl#getFold()
+	 * @generated
+	 */
+	int FOLD = 3;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FOLD__BASE_CLASS = CONVOLUTION_LAYERS__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FOLD__NAME = CONVOLUTION_LAYERS__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FOLD__DATA = CONVOLUTION_LAYERS__DATA;
+
+	/**
+	 * The feature id for the '<em><b>Requires grad</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FOLD__REQUIRES_GRAD = CONVOLUTION_LAYERS__REQUIRES_GRAD;
+
+	/**
+	 * The feature id for the '<em><b>Sub Module</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FOLD__SUB_MODULE = CONVOLUTION_LAYERS__SUB_MODULE;
+
+	/**
+	 * The feature id for the '<em><b>Optimizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FOLD__OPTIMIZER = CONVOLUTION_LAYERS__OPTIMIZER;
+
+	/**
+	 * The feature id for the '<em><b>Loss</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FOLD__LOSS = CONVOLUTION_LAYERS__LOSS;
+
+	/**
+	 * The feature id for the '<em><b>Kernel size</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FOLD__KERNEL_SIZE = CONVOLUTION_LAYERS__KERNEL_SIZE;
+
+	/**
+	 * The feature id for the '<em><b>Stride</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FOLD__STRIDE = CONVOLUTION_LAYERS__STRIDE;
+
+	/**
+	 * The feature id for the '<em><b>Padding</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FOLD__PADDING = CONVOLUTION_LAYERS__PADDING;
+
+	/**
+	 * The feature id for the '<em><b>Dilation</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FOLD__DILATION = CONVOLUTION_LAYERS__DILATION;
+
+	/**
+	 * The feature id for the '<em><b>Output size</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FOLD__OUTPUT_SIZE = CONVOLUTION_LAYERS_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Fold</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FOLD_FEATURE_COUNT = CONVOLUTION_LAYERS_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>Fold</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FOLD_OPERATION_COUNT = CONVOLUTION_LAYERS_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.LayerWithFilterImpl <em>Layer With Filter</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.LayerWithFilterImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl#getLayerWithFilter()
+	 * @generated
+	 */
+	int LAYER_WITH_FILTER = 6;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LAYER_WITH_FILTER__BASE_CLASS = CONVOLUTION__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LAYER_WITH_FILTER__NAME = CONVOLUTION__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LAYER_WITH_FILTER__DATA = CONVOLUTION__DATA;
+
+	/**
+	 * The feature id for the '<em><b>Requires grad</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LAYER_WITH_FILTER__REQUIRES_GRAD = CONVOLUTION__REQUIRES_GRAD;
+
+	/**
+	 * The feature id for the '<em><b>Sub Module</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LAYER_WITH_FILTER__SUB_MODULE = CONVOLUTION__SUB_MODULE;
+
+	/**
+	 * The feature id for the '<em><b>Optimizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LAYER_WITH_FILTER__OPTIMIZER = CONVOLUTION__OPTIMIZER;
+
+	/**
+	 * The feature id for the '<em><b>Loss</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LAYER_WITH_FILTER__LOSS = CONVOLUTION__LOSS;
+
+	/**
+	 * The feature id for the '<em><b>Kernel size</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LAYER_WITH_FILTER__KERNEL_SIZE = CONVOLUTION__KERNEL_SIZE;
+
+	/**
+	 * The feature id for the '<em><b>Stride</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LAYER_WITH_FILTER__STRIDE = CONVOLUTION__STRIDE;
+
+	/**
+	 * The feature id for the '<em><b>Padding</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LAYER_WITH_FILTER__PADDING = CONVOLUTION__PADDING;
+
+	/**
+	 * The feature id for the '<em><b>Dilation</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LAYER_WITH_FILTER__DILATION = CONVOLUTION__DILATION;
+
+	/**
+	 * The feature id for the '<em><b>In channels</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LAYER_WITH_FILTER__IN_CHANNELS = CONVOLUTION__IN_CHANNELS;
+
+	/**
+	 * The feature id for the '<em><b>Groups</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LAYER_WITH_FILTER__GROUPS = CONVOLUTION__GROUPS;
+
+	/**
+	 * The feature id for the '<em><b>Biais</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LAYER_WITH_FILTER__BIAIS = CONVOLUTION__BIAIS;
+
+	/**
+	 * The feature id for the '<em><b>Padding mode</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LAYER_WITH_FILTER__PADDING_MODE = CONVOLUTION__PADDING_MODE;
+
+	/**
+	 * The feature id for the '<em><b>Data format</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LAYER_WITH_FILTER__DATA_FORMAT = CONVOLUTION__DATA_FORMAT;
+
+	/**
+	 * The feature id for the '<em><b>Dilation rate</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LAYER_WITH_FILTER__DILATION_RATE = CONVOLUTION__DILATION_RATE;
+
+	/**
+	 * The feature id for the '<em><b>Activation</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LAYER_WITH_FILTER__ACTIVATION = CONVOLUTION__ACTIVATION;
+
+	/**
+	 * The feature id for the '<em><b>Bias initializer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LAYER_WITH_FILTER__BIAS_INITIALIZER = CONVOLUTION__BIAS_INITIALIZER;
+
+	/**
+	 * The feature id for the '<em><b>Activity regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LAYER_WITH_FILTER__ACTIVITY_REGULARIZER = CONVOLUTION__ACTIVITY_REGULARIZER;
+
+	/**
+	 * The feature id for the '<em><b>Bias constraint</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LAYER_WITH_FILTER__BIAS_CONSTRAINT = CONVOLUTION__BIAS_CONSTRAINT;
+
+	/**
+	 * The feature id for the '<em><b>Bias regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LAYER_WITH_FILTER__BIAS_REGULARIZER = CONVOLUTION__BIAS_REGULARIZER;
+
+	/**
+	 * The feature id for the '<em><b>Out channels</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LAYER_WITH_FILTER__OUT_CHANNELS = CONVOLUTION_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Layer With Filter</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LAYER_WITH_FILTER_FEATURE_COUNT = CONVOLUTION_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>Layer With Filter</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LAYER_WITH_FILTER_OPERATION_COUNT = CONVOLUTION_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.basicImpl <em>basic</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.basicImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl#getbasic()
+	 * @generated
+	 */
+	int BASIC = 5;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BASIC__BASE_CLASS = LAYER_WITH_FILTER__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BASIC__NAME = LAYER_WITH_FILTER__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BASIC__DATA = LAYER_WITH_FILTER__DATA;
+
+	/**
+	 * The feature id for the '<em><b>Requires grad</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BASIC__REQUIRES_GRAD = LAYER_WITH_FILTER__REQUIRES_GRAD;
+
+	/**
+	 * The feature id for the '<em><b>Sub Module</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BASIC__SUB_MODULE = LAYER_WITH_FILTER__SUB_MODULE;
+
+	/**
+	 * The feature id for the '<em><b>Optimizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BASIC__OPTIMIZER = LAYER_WITH_FILTER__OPTIMIZER;
+
+	/**
+	 * The feature id for the '<em><b>Loss</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BASIC__LOSS = LAYER_WITH_FILTER__LOSS;
+
+	/**
+	 * The feature id for the '<em><b>Kernel size</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BASIC__KERNEL_SIZE = LAYER_WITH_FILTER__KERNEL_SIZE;
+
+	/**
+	 * The feature id for the '<em><b>Stride</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BASIC__STRIDE = LAYER_WITH_FILTER__STRIDE;
+
+	/**
+	 * The feature id for the '<em><b>Padding</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BASIC__PADDING = LAYER_WITH_FILTER__PADDING;
+
+	/**
+	 * The feature id for the '<em><b>Dilation</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BASIC__DILATION = LAYER_WITH_FILTER__DILATION;
+
+	/**
+	 * The feature id for the '<em><b>In channels</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BASIC__IN_CHANNELS = LAYER_WITH_FILTER__IN_CHANNELS;
+
+	/**
+	 * The feature id for the '<em><b>Groups</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BASIC__GROUPS = LAYER_WITH_FILTER__GROUPS;
+
+	/**
+	 * The feature id for the '<em><b>Biais</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BASIC__BIAIS = LAYER_WITH_FILTER__BIAIS;
+
+	/**
+	 * The feature id for the '<em><b>Padding mode</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BASIC__PADDING_MODE = LAYER_WITH_FILTER__PADDING_MODE;
+
+	/**
+	 * The feature id for the '<em><b>Data format</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BASIC__DATA_FORMAT = LAYER_WITH_FILTER__DATA_FORMAT;
+
+	/**
+	 * The feature id for the '<em><b>Dilation rate</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BASIC__DILATION_RATE = LAYER_WITH_FILTER__DILATION_RATE;
+
+	/**
+	 * The feature id for the '<em><b>Activation</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BASIC__ACTIVATION = LAYER_WITH_FILTER__ACTIVATION;
+
+	/**
+	 * The feature id for the '<em><b>Bias initializer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BASIC__BIAS_INITIALIZER = LAYER_WITH_FILTER__BIAS_INITIALIZER;
+
+	/**
+	 * The feature id for the '<em><b>Activity regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BASIC__ACTIVITY_REGULARIZER = LAYER_WITH_FILTER__ACTIVITY_REGULARIZER;
+
+	/**
+	 * The feature id for the '<em><b>Bias constraint</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BASIC__BIAS_CONSTRAINT = LAYER_WITH_FILTER__BIAS_CONSTRAINT;
+
+	/**
+	 * The feature id for the '<em><b>Bias regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BASIC__BIAS_REGULARIZER = LAYER_WITH_FILTER__BIAS_REGULARIZER;
+
+	/**
+	 * The feature id for the '<em><b>Out channels</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BASIC__OUT_CHANNELS = LAYER_WITH_FILTER__OUT_CHANNELS;
+
+	/**
+	 * The feature id for the '<em><b>Kernel initializer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BASIC__KERNEL_INITIALIZER = LAYER_WITH_FILTER_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Kernel constraint</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BASIC__KERNEL_CONSTRAINT = LAYER_WITH_FILTER_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Kernel regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BASIC__KERNEL_REGULARIZER = LAYER_WITH_FILTER_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of structural features of the '<em>basic</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BASIC_FEATURE_COUNT = LAYER_WITH_FILTER_FEATURE_COUNT + 3;
+
+	/**
+	 * The number of operations of the '<em>basic</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BASIC_OPERATION_COUNT = LAYER_WITH_FILTER_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Conv2dImpl <em>Conv2d</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Conv2dImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl#getConv2d()
+	 * @generated
+	 */
+	int CONV2D = 4;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV2D__BASE_CLASS = BASIC__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV2D__NAME = BASIC__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV2D__DATA = BASIC__DATA;
+
+	/**
+	 * The feature id for the '<em><b>Requires grad</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV2D__REQUIRES_GRAD = BASIC__REQUIRES_GRAD;
+
+	/**
+	 * The feature id for the '<em><b>Sub Module</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV2D__SUB_MODULE = BASIC__SUB_MODULE;
+
+	/**
+	 * The feature id for the '<em><b>Optimizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV2D__OPTIMIZER = BASIC__OPTIMIZER;
+
+	/**
+	 * The feature id for the '<em><b>Loss</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV2D__LOSS = BASIC__LOSS;
+
+	/**
+	 * The feature id for the '<em><b>Kernel size</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV2D__KERNEL_SIZE = BASIC__KERNEL_SIZE;
+
+	/**
+	 * The feature id for the '<em><b>Stride</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV2D__STRIDE = BASIC__STRIDE;
+
+	/**
+	 * The feature id for the '<em><b>Padding</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV2D__PADDING = BASIC__PADDING;
+
+	/**
+	 * The feature id for the '<em><b>Dilation</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV2D__DILATION = BASIC__DILATION;
+
+	/**
+	 * The feature id for the '<em><b>In channels</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV2D__IN_CHANNELS = BASIC__IN_CHANNELS;
+
+	/**
+	 * The feature id for the '<em><b>Groups</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV2D__GROUPS = BASIC__GROUPS;
+
+	/**
+	 * The feature id for the '<em><b>Biais</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV2D__BIAIS = BASIC__BIAIS;
+
+	/**
+	 * The feature id for the '<em><b>Padding mode</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV2D__PADDING_MODE = BASIC__PADDING_MODE;
+
+	/**
+	 * The feature id for the '<em><b>Data format</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV2D__DATA_FORMAT = BASIC__DATA_FORMAT;
+
+	/**
+	 * The feature id for the '<em><b>Dilation rate</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV2D__DILATION_RATE = BASIC__DILATION_RATE;
+
+	/**
+	 * The feature id for the '<em><b>Activation</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV2D__ACTIVATION = BASIC__ACTIVATION;
+
+	/**
+	 * The feature id for the '<em><b>Bias initializer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV2D__BIAS_INITIALIZER = BASIC__BIAS_INITIALIZER;
+
+	/**
+	 * The feature id for the '<em><b>Activity regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV2D__ACTIVITY_REGULARIZER = BASIC__ACTIVITY_REGULARIZER;
+
+	/**
+	 * The feature id for the '<em><b>Bias constraint</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV2D__BIAS_CONSTRAINT = BASIC__BIAS_CONSTRAINT;
+
+	/**
+	 * The feature id for the '<em><b>Bias regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV2D__BIAS_REGULARIZER = BASIC__BIAS_REGULARIZER;
+
+	/**
+	 * The feature id for the '<em><b>Out channels</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV2D__OUT_CHANNELS = BASIC__OUT_CHANNELS;
+
+	/**
+	 * The feature id for the '<em><b>Kernel initializer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV2D__KERNEL_INITIALIZER = BASIC__KERNEL_INITIALIZER;
+
+	/**
+	 * The feature id for the '<em><b>Kernel constraint</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV2D__KERNEL_CONSTRAINT = BASIC__KERNEL_CONSTRAINT;
+
+	/**
+	 * The feature id for the '<em><b>Kernel regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV2D__KERNEL_REGULARIZER = BASIC__KERNEL_REGULARIZER;
+
+	/**
+	 * The number of structural features of the '<em>Conv2d</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV2D_FEATURE_COUNT = BASIC_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>Conv2d</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV2D_OPERATION_COUNT = BASIC_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Conv3dImpl <em>Conv3d</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Conv3dImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl#getConv3d()
+	 * @generated
+	 */
+	int CONV3D = 7;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV3D__BASE_CLASS = BASIC__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV3D__NAME = BASIC__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV3D__DATA = BASIC__DATA;
+
+	/**
+	 * The feature id for the '<em><b>Requires grad</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV3D__REQUIRES_GRAD = BASIC__REQUIRES_GRAD;
+
+	/**
+	 * The feature id for the '<em><b>Sub Module</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV3D__SUB_MODULE = BASIC__SUB_MODULE;
+
+	/**
+	 * The feature id for the '<em><b>Optimizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV3D__OPTIMIZER = BASIC__OPTIMIZER;
+
+	/**
+	 * The feature id for the '<em><b>Loss</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV3D__LOSS = BASIC__LOSS;
+
+	/**
+	 * The feature id for the '<em><b>Kernel size</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV3D__KERNEL_SIZE = BASIC__KERNEL_SIZE;
+
+	/**
+	 * The feature id for the '<em><b>Stride</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV3D__STRIDE = BASIC__STRIDE;
+
+	/**
+	 * The feature id for the '<em><b>Padding</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV3D__PADDING = BASIC__PADDING;
+
+	/**
+	 * The feature id for the '<em><b>Dilation</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV3D__DILATION = BASIC__DILATION;
+
+	/**
+	 * The feature id for the '<em><b>In channels</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV3D__IN_CHANNELS = BASIC__IN_CHANNELS;
+
+	/**
+	 * The feature id for the '<em><b>Groups</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV3D__GROUPS = BASIC__GROUPS;
+
+	/**
+	 * The feature id for the '<em><b>Biais</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV3D__BIAIS = BASIC__BIAIS;
+
+	/**
+	 * The feature id for the '<em><b>Padding mode</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV3D__PADDING_MODE = BASIC__PADDING_MODE;
+
+	/**
+	 * The feature id for the '<em><b>Data format</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV3D__DATA_FORMAT = BASIC__DATA_FORMAT;
+
+	/**
+	 * The feature id for the '<em><b>Dilation rate</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV3D__DILATION_RATE = BASIC__DILATION_RATE;
+
+	/**
+	 * The feature id for the '<em><b>Activation</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV3D__ACTIVATION = BASIC__ACTIVATION;
+
+	/**
+	 * The feature id for the '<em><b>Bias initializer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV3D__BIAS_INITIALIZER = BASIC__BIAS_INITIALIZER;
+
+	/**
+	 * The feature id for the '<em><b>Activity regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV3D__ACTIVITY_REGULARIZER = BASIC__ACTIVITY_REGULARIZER;
+
+	/**
+	 * The feature id for the '<em><b>Bias constraint</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV3D__BIAS_CONSTRAINT = BASIC__BIAS_CONSTRAINT;
+
+	/**
+	 * The feature id for the '<em><b>Bias regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV3D__BIAS_REGULARIZER = BASIC__BIAS_REGULARIZER;
+
+	/**
+	 * The feature id for the '<em><b>Out channels</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV3D__OUT_CHANNELS = BASIC__OUT_CHANNELS;
+
+	/**
+	 * The feature id for the '<em><b>Kernel initializer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV3D__KERNEL_INITIALIZER = BASIC__KERNEL_INITIALIZER;
+
+	/**
+	 * The feature id for the '<em><b>Kernel constraint</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV3D__KERNEL_CONSTRAINT = BASIC__KERNEL_CONSTRAINT;
+
+	/**
+	 * The feature id for the '<em><b>Kernel regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV3D__KERNEL_REGULARIZER = BASIC__KERNEL_REGULARIZER;
+
+	/**
+	 * The number of structural features of the '<em>Conv3d</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV3D_FEATURE_COUNT = BASIC_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>Conv3d</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV3D_OPERATION_COUNT = BASIC_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.ConvTranspose1dImpl <em>Conv Transpose1d</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.ConvTranspose1dImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl#getConvTranspose1d()
+	 * @generated
+	 */
+	int CONV_TRANSPOSE1D = 8;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE1D__BASE_CLASS = LAYER_WITH_FILTER__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE1D__NAME = LAYER_WITH_FILTER__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE1D__DATA = LAYER_WITH_FILTER__DATA;
+
+	/**
+	 * The feature id for the '<em><b>Requires grad</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE1D__REQUIRES_GRAD = LAYER_WITH_FILTER__REQUIRES_GRAD;
+
+	/**
+	 * The feature id for the '<em><b>Sub Module</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE1D__SUB_MODULE = LAYER_WITH_FILTER__SUB_MODULE;
+
+	/**
+	 * The feature id for the '<em><b>Optimizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE1D__OPTIMIZER = LAYER_WITH_FILTER__OPTIMIZER;
+
+	/**
+	 * The feature id for the '<em><b>Loss</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE1D__LOSS = LAYER_WITH_FILTER__LOSS;
+
+	/**
+	 * The feature id for the '<em><b>Kernel size</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE1D__KERNEL_SIZE = LAYER_WITH_FILTER__KERNEL_SIZE;
+
+	/**
+	 * The feature id for the '<em><b>Stride</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE1D__STRIDE = LAYER_WITH_FILTER__STRIDE;
+
+	/**
+	 * The feature id for the '<em><b>Padding</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE1D__PADDING = LAYER_WITH_FILTER__PADDING;
+
+	/**
+	 * The feature id for the '<em><b>Dilation</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE1D__DILATION = LAYER_WITH_FILTER__DILATION;
+
+	/**
+	 * The feature id for the '<em><b>In channels</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE1D__IN_CHANNELS = LAYER_WITH_FILTER__IN_CHANNELS;
+
+	/**
+	 * The feature id for the '<em><b>Groups</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE1D__GROUPS = LAYER_WITH_FILTER__GROUPS;
+
+	/**
+	 * The feature id for the '<em><b>Biais</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE1D__BIAIS = LAYER_WITH_FILTER__BIAIS;
+
+	/**
+	 * The feature id for the '<em><b>Padding mode</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE1D__PADDING_MODE = LAYER_WITH_FILTER__PADDING_MODE;
+
+	/**
+	 * The feature id for the '<em><b>Data format</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE1D__DATA_FORMAT = LAYER_WITH_FILTER__DATA_FORMAT;
+
+	/**
+	 * The feature id for the '<em><b>Dilation rate</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE1D__DILATION_RATE = LAYER_WITH_FILTER__DILATION_RATE;
+
+	/**
+	 * The feature id for the '<em><b>Activation</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE1D__ACTIVATION = LAYER_WITH_FILTER__ACTIVATION;
+
+	/**
+	 * The feature id for the '<em><b>Bias initializer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE1D__BIAS_INITIALIZER = LAYER_WITH_FILTER__BIAS_INITIALIZER;
+
+	/**
+	 * The feature id for the '<em><b>Activity regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE1D__ACTIVITY_REGULARIZER = LAYER_WITH_FILTER__ACTIVITY_REGULARIZER;
+
+	/**
+	 * The feature id for the '<em><b>Bias constraint</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE1D__BIAS_CONSTRAINT = LAYER_WITH_FILTER__BIAS_CONSTRAINT;
+
+	/**
+	 * The feature id for the '<em><b>Bias regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE1D__BIAS_REGULARIZER = LAYER_WITH_FILTER__BIAS_REGULARIZER;
+
+	/**
+	 * The feature id for the '<em><b>Out channels</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE1D__OUT_CHANNELS = LAYER_WITH_FILTER__OUT_CHANNELS;
+
+	/**
+	 * The number of structural features of the '<em>Conv Transpose1d</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE1D_FEATURE_COUNT = LAYER_WITH_FILTER_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>Conv Transpose1d</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE1D_OPERATION_COUNT = LAYER_WITH_FILTER_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.transposeImpl <em>transpose</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.transposeImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl#gettranspose()
+	 * @generated
+	 */
+	int TRANSPOSE = 10;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSPOSE__BASE_CLASS = BASIC__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSPOSE__NAME = BASIC__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSPOSE__DATA = BASIC__DATA;
+
+	/**
+	 * The feature id for the '<em><b>Requires grad</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSPOSE__REQUIRES_GRAD = BASIC__REQUIRES_GRAD;
+
+	/**
+	 * The feature id for the '<em><b>Sub Module</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSPOSE__SUB_MODULE = BASIC__SUB_MODULE;
+
+	/**
+	 * The feature id for the '<em><b>Optimizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSPOSE__OPTIMIZER = BASIC__OPTIMIZER;
+
+	/**
+	 * The feature id for the '<em><b>Loss</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSPOSE__LOSS = BASIC__LOSS;
+
+	/**
+	 * The feature id for the '<em><b>Kernel size</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSPOSE__KERNEL_SIZE = BASIC__KERNEL_SIZE;
+
+	/**
+	 * The feature id for the '<em><b>Stride</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSPOSE__STRIDE = BASIC__STRIDE;
+
+	/**
+	 * The feature id for the '<em><b>Padding</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSPOSE__PADDING = BASIC__PADDING;
+
+	/**
+	 * The feature id for the '<em><b>Dilation</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSPOSE__DILATION = BASIC__DILATION;
+
+	/**
+	 * The feature id for the '<em><b>In channels</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSPOSE__IN_CHANNELS = BASIC__IN_CHANNELS;
+
+	/**
+	 * The feature id for the '<em><b>Groups</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSPOSE__GROUPS = BASIC__GROUPS;
+
+	/**
+	 * The feature id for the '<em><b>Biais</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSPOSE__BIAIS = BASIC__BIAIS;
+
+	/**
+	 * The feature id for the '<em><b>Padding mode</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSPOSE__PADDING_MODE = BASIC__PADDING_MODE;
+
+	/**
+	 * The feature id for the '<em><b>Data format</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSPOSE__DATA_FORMAT = BASIC__DATA_FORMAT;
+
+	/**
+	 * The feature id for the '<em><b>Dilation rate</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSPOSE__DILATION_RATE = BASIC__DILATION_RATE;
+
+	/**
+	 * The feature id for the '<em><b>Activation</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSPOSE__ACTIVATION = BASIC__ACTIVATION;
+
+	/**
+	 * The feature id for the '<em><b>Bias initializer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSPOSE__BIAS_INITIALIZER = BASIC__BIAS_INITIALIZER;
+
+	/**
+	 * The feature id for the '<em><b>Activity regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSPOSE__ACTIVITY_REGULARIZER = BASIC__ACTIVITY_REGULARIZER;
+
+	/**
+	 * The feature id for the '<em><b>Bias constraint</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSPOSE__BIAS_CONSTRAINT = BASIC__BIAS_CONSTRAINT;
+
+	/**
+	 * The feature id for the '<em><b>Bias regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSPOSE__BIAS_REGULARIZER = BASIC__BIAS_REGULARIZER;
+
+	/**
+	 * The feature id for the '<em><b>Out channels</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSPOSE__OUT_CHANNELS = BASIC__OUT_CHANNELS;
+
+	/**
+	 * The feature id for the '<em><b>Kernel initializer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSPOSE__KERNEL_INITIALIZER = BASIC__KERNEL_INITIALIZER;
+
+	/**
+	 * The feature id for the '<em><b>Kernel constraint</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSPOSE__KERNEL_CONSTRAINT = BASIC__KERNEL_CONSTRAINT;
+
+	/**
+	 * The feature id for the '<em><b>Kernel regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSPOSE__KERNEL_REGULARIZER = BASIC__KERNEL_REGULARIZER;
+
+	/**
+	 * The feature id for the '<em><b>Output padding</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSPOSE__OUTPUT_PADDING = BASIC_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>transpose</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSPOSE_FEATURE_COUNT = BASIC_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>transpose</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSPOSE_OPERATION_COUNT = BASIC_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.ConvTranspose2dImpl <em>Conv Transpose2d</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.ConvTranspose2dImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl#getConvTranspose2d()
+	 * @generated
+	 */
+	int CONV_TRANSPOSE2D = 9;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE2D__BASE_CLASS = TRANSPOSE__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE2D__NAME = TRANSPOSE__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE2D__DATA = TRANSPOSE__DATA;
+
+	/**
+	 * The feature id for the '<em><b>Requires grad</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE2D__REQUIRES_GRAD = TRANSPOSE__REQUIRES_GRAD;
+
+	/**
+	 * The feature id for the '<em><b>Sub Module</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE2D__SUB_MODULE = TRANSPOSE__SUB_MODULE;
+
+	/**
+	 * The feature id for the '<em><b>Optimizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE2D__OPTIMIZER = TRANSPOSE__OPTIMIZER;
+
+	/**
+	 * The feature id for the '<em><b>Loss</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE2D__LOSS = TRANSPOSE__LOSS;
+
+	/**
+	 * The feature id for the '<em><b>Kernel size</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE2D__KERNEL_SIZE = TRANSPOSE__KERNEL_SIZE;
+
+	/**
+	 * The feature id for the '<em><b>Stride</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE2D__STRIDE = TRANSPOSE__STRIDE;
+
+	/**
+	 * The feature id for the '<em><b>Padding</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE2D__PADDING = TRANSPOSE__PADDING;
+
+	/**
+	 * The feature id for the '<em><b>Dilation</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE2D__DILATION = TRANSPOSE__DILATION;
+
+	/**
+	 * The feature id for the '<em><b>In channels</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE2D__IN_CHANNELS = TRANSPOSE__IN_CHANNELS;
+
+	/**
+	 * The feature id for the '<em><b>Groups</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE2D__GROUPS = TRANSPOSE__GROUPS;
+
+	/**
+	 * The feature id for the '<em><b>Biais</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE2D__BIAIS = TRANSPOSE__BIAIS;
+
+	/**
+	 * The feature id for the '<em><b>Padding mode</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE2D__PADDING_MODE = TRANSPOSE__PADDING_MODE;
+
+	/**
+	 * The feature id for the '<em><b>Data format</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE2D__DATA_FORMAT = TRANSPOSE__DATA_FORMAT;
+
+	/**
+	 * The feature id for the '<em><b>Dilation rate</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE2D__DILATION_RATE = TRANSPOSE__DILATION_RATE;
+
+	/**
+	 * The feature id for the '<em><b>Activation</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE2D__ACTIVATION = TRANSPOSE__ACTIVATION;
+
+	/**
+	 * The feature id for the '<em><b>Bias initializer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE2D__BIAS_INITIALIZER = TRANSPOSE__BIAS_INITIALIZER;
+
+	/**
+	 * The feature id for the '<em><b>Activity regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE2D__ACTIVITY_REGULARIZER = TRANSPOSE__ACTIVITY_REGULARIZER;
+
+	/**
+	 * The feature id for the '<em><b>Bias constraint</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE2D__BIAS_CONSTRAINT = TRANSPOSE__BIAS_CONSTRAINT;
+
+	/**
+	 * The feature id for the '<em><b>Bias regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE2D__BIAS_REGULARIZER = TRANSPOSE__BIAS_REGULARIZER;
+
+	/**
+	 * The feature id for the '<em><b>Out channels</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE2D__OUT_CHANNELS = TRANSPOSE__OUT_CHANNELS;
+
+	/**
+	 * The feature id for the '<em><b>Kernel initializer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE2D__KERNEL_INITIALIZER = TRANSPOSE__KERNEL_INITIALIZER;
+
+	/**
+	 * The feature id for the '<em><b>Kernel constraint</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE2D__KERNEL_CONSTRAINT = TRANSPOSE__KERNEL_CONSTRAINT;
+
+	/**
+	 * The feature id for the '<em><b>Kernel regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE2D__KERNEL_REGULARIZER = TRANSPOSE__KERNEL_REGULARIZER;
+
+	/**
+	 * The feature id for the '<em><b>Output padding</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE2D__OUTPUT_PADDING = TRANSPOSE__OUTPUT_PADDING;
+
+	/**
+	 * The number of structural features of the '<em>Conv Transpose2d</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE2D_FEATURE_COUNT = TRANSPOSE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>Conv Transpose2d</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE2D_OPERATION_COUNT = TRANSPOSE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.ConvTranspose3dImpl <em>Conv Transpose3d</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.ConvTranspose3dImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl#getConvTranspose3d()
+	 * @generated
+	 */
+	int CONV_TRANSPOSE3D = 11;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE3D__BASE_CLASS = TRANSPOSE__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE3D__NAME = TRANSPOSE__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE3D__DATA = TRANSPOSE__DATA;
+
+	/**
+	 * The feature id for the '<em><b>Requires grad</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE3D__REQUIRES_GRAD = TRANSPOSE__REQUIRES_GRAD;
+
+	/**
+	 * The feature id for the '<em><b>Sub Module</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE3D__SUB_MODULE = TRANSPOSE__SUB_MODULE;
+
+	/**
+	 * The feature id for the '<em><b>Optimizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE3D__OPTIMIZER = TRANSPOSE__OPTIMIZER;
+
+	/**
+	 * The feature id for the '<em><b>Loss</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE3D__LOSS = TRANSPOSE__LOSS;
+
+	/**
+	 * The feature id for the '<em><b>Kernel size</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE3D__KERNEL_SIZE = TRANSPOSE__KERNEL_SIZE;
+
+	/**
+	 * The feature id for the '<em><b>Stride</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE3D__STRIDE = TRANSPOSE__STRIDE;
+
+	/**
+	 * The feature id for the '<em><b>Padding</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE3D__PADDING = TRANSPOSE__PADDING;
+
+	/**
+	 * The feature id for the '<em><b>Dilation</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE3D__DILATION = TRANSPOSE__DILATION;
+
+	/**
+	 * The feature id for the '<em><b>In channels</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE3D__IN_CHANNELS = TRANSPOSE__IN_CHANNELS;
+
+	/**
+	 * The feature id for the '<em><b>Groups</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE3D__GROUPS = TRANSPOSE__GROUPS;
+
+	/**
+	 * The feature id for the '<em><b>Biais</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE3D__BIAIS = TRANSPOSE__BIAIS;
+
+	/**
+	 * The feature id for the '<em><b>Padding mode</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE3D__PADDING_MODE = TRANSPOSE__PADDING_MODE;
+
+	/**
+	 * The feature id for the '<em><b>Data format</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE3D__DATA_FORMAT = TRANSPOSE__DATA_FORMAT;
+
+	/**
+	 * The feature id for the '<em><b>Dilation rate</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE3D__DILATION_RATE = TRANSPOSE__DILATION_RATE;
+
+	/**
+	 * The feature id for the '<em><b>Activation</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE3D__ACTIVATION = TRANSPOSE__ACTIVATION;
+
+	/**
+	 * The feature id for the '<em><b>Bias initializer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE3D__BIAS_INITIALIZER = TRANSPOSE__BIAS_INITIALIZER;
+
+	/**
+	 * The feature id for the '<em><b>Activity regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE3D__ACTIVITY_REGULARIZER = TRANSPOSE__ACTIVITY_REGULARIZER;
+
+	/**
+	 * The feature id for the '<em><b>Bias constraint</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE3D__BIAS_CONSTRAINT = TRANSPOSE__BIAS_CONSTRAINT;
+
+	/**
+	 * The feature id for the '<em><b>Bias regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE3D__BIAS_REGULARIZER = TRANSPOSE__BIAS_REGULARIZER;
+
+	/**
+	 * The feature id for the '<em><b>Out channels</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE3D__OUT_CHANNELS = TRANSPOSE__OUT_CHANNELS;
+
+	/**
+	 * The feature id for the '<em><b>Kernel initializer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE3D__KERNEL_INITIALIZER = TRANSPOSE__KERNEL_INITIALIZER;
+
+	/**
+	 * The feature id for the '<em><b>Kernel constraint</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE3D__KERNEL_CONSTRAINT = TRANSPOSE__KERNEL_CONSTRAINT;
+
+	/**
+	 * The feature id for the '<em><b>Kernel regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE3D__KERNEL_REGULARIZER = TRANSPOSE__KERNEL_REGULARIZER;
+
+	/**
+	 * The feature id for the '<em><b>Output padding</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE3D__OUTPUT_PADDING = TRANSPOSE__OUTPUT_PADDING;
+
+	/**
+	 * The number of structural features of the '<em>Conv Transpose3d</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE3D_FEATURE_COUNT = TRANSPOSE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>Conv Transpose3d</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV_TRANSPOSE3D_OPERATION_COUNT = TRANSPOSE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Conv1dImpl <em>Conv1d</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Conv1dImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl#getConv1d()
+	 * @generated
+	 */
+	int CONV1D = 12;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV1D__BASE_CLASS = BASIC__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV1D__NAME = BASIC__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV1D__DATA = BASIC__DATA;
+
+	/**
+	 * The feature id for the '<em><b>Requires grad</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV1D__REQUIRES_GRAD = BASIC__REQUIRES_GRAD;
+
+	/**
+	 * The feature id for the '<em><b>Sub Module</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV1D__SUB_MODULE = BASIC__SUB_MODULE;
+
+	/**
+	 * The feature id for the '<em><b>Optimizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV1D__OPTIMIZER = BASIC__OPTIMIZER;
+
+	/**
+	 * The feature id for the '<em><b>Loss</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV1D__LOSS = BASIC__LOSS;
+
+	/**
+	 * The feature id for the '<em><b>Kernel size</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV1D__KERNEL_SIZE = BASIC__KERNEL_SIZE;
+
+	/**
+	 * The feature id for the '<em><b>Stride</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV1D__STRIDE = BASIC__STRIDE;
+
+	/**
+	 * The feature id for the '<em><b>Padding</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV1D__PADDING = BASIC__PADDING;
+
+	/**
+	 * The feature id for the '<em><b>Dilation</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV1D__DILATION = BASIC__DILATION;
+
+	/**
+	 * The feature id for the '<em><b>In channels</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV1D__IN_CHANNELS = BASIC__IN_CHANNELS;
+
+	/**
+	 * The feature id for the '<em><b>Groups</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV1D__GROUPS = BASIC__GROUPS;
+
+	/**
+	 * The feature id for the '<em><b>Biais</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV1D__BIAIS = BASIC__BIAIS;
+
+	/**
+	 * The feature id for the '<em><b>Padding mode</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV1D__PADDING_MODE = BASIC__PADDING_MODE;
+
+	/**
+	 * The feature id for the '<em><b>Data format</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV1D__DATA_FORMAT = BASIC__DATA_FORMAT;
+
+	/**
+	 * The feature id for the '<em><b>Dilation rate</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV1D__DILATION_RATE = BASIC__DILATION_RATE;
+
+	/**
+	 * The feature id for the '<em><b>Activation</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV1D__ACTIVATION = BASIC__ACTIVATION;
+
+	/**
+	 * The feature id for the '<em><b>Bias initializer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV1D__BIAS_INITIALIZER = BASIC__BIAS_INITIALIZER;
+
+	/**
+	 * The feature id for the '<em><b>Activity regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV1D__ACTIVITY_REGULARIZER = BASIC__ACTIVITY_REGULARIZER;
+
+	/**
+	 * The feature id for the '<em><b>Bias constraint</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV1D__BIAS_CONSTRAINT = BASIC__BIAS_CONSTRAINT;
+
+	/**
+	 * The feature id for the '<em><b>Bias regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV1D__BIAS_REGULARIZER = BASIC__BIAS_REGULARIZER;
+
+	/**
+	 * The feature id for the '<em><b>Out channels</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV1D__OUT_CHANNELS = BASIC__OUT_CHANNELS;
+
+	/**
+	 * The feature id for the '<em><b>Kernel initializer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV1D__KERNEL_INITIALIZER = BASIC__KERNEL_INITIALIZER;
+
+	/**
+	 * The feature id for the '<em><b>Kernel constraint</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV1D__KERNEL_CONSTRAINT = BASIC__KERNEL_CONSTRAINT;
+
+	/**
+	 * The feature id for the '<em><b>Kernel regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV1D__KERNEL_REGULARIZER = BASIC__KERNEL_REGULARIZER;
+
+	/**
+	 * The number of structural features of the '<em>Conv1d</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV1D_FEATURE_COUNT = BASIC_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>Conv1d</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONV1D_OPERATION_COUNT = BASIC_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.SeparableImpl <em>Separable</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.SeparableImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl#getSeparable()
+	 * @generated
+	 */
+	int SEPARABLE = 13;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE__BASE_CLASS = LAYER_WITH_FILTER__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE__NAME = LAYER_WITH_FILTER__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE__DATA = LAYER_WITH_FILTER__DATA;
+
+	/**
+	 * The feature id for the '<em><b>Requires grad</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE__REQUIRES_GRAD = LAYER_WITH_FILTER__REQUIRES_GRAD;
+
+	/**
+	 * The feature id for the '<em><b>Sub Module</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE__SUB_MODULE = LAYER_WITH_FILTER__SUB_MODULE;
+
+	/**
+	 * The feature id for the '<em><b>Optimizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE__OPTIMIZER = LAYER_WITH_FILTER__OPTIMIZER;
+
+	/**
+	 * The feature id for the '<em><b>Loss</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE__LOSS = LAYER_WITH_FILTER__LOSS;
+
+	/**
+	 * The feature id for the '<em><b>Kernel size</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE__KERNEL_SIZE = LAYER_WITH_FILTER__KERNEL_SIZE;
+
+	/**
+	 * The feature id for the '<em><b>Stride</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE__STRIDE = LAYER_WITH_FILTER__STRIDE;
+
+	/**
+	 * The feature id for the '<em><b>Padding</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE__PADDING = LAYER_WITH_FILTER__PADDING;
+
+	/**
+	 * The feature id for the '<em><b>Dilation</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE__DILATION = LAYER_WITH_FILTER__DILATION;
+
+	/**
+	 * The feature id for the '<em><b>In channels</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE__IN_CHANNELS = LAYER_WITH_FILTER__IN_CHANNELS;
+
+	/**
+	 * The feature id for the '<em><b>Groups</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE__GROUPS = LAYER_WITH_FILTER__GROUPS;
+
+	/**
+	 * The feature id for the '<em><b>Biais</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE__BIAIS = LAYER_WITH_FILTER__BIAIS;
+
+	/**
+	 * The feature id for the '<em><b>Padding mode</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE__PADDING_MODE = LAYER_WITH_FILTER__PADDING_MODE;
+
+	/**
+	 * The feature id for the '<em><b>Data format</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE__DATA_FORMAT = LAYER_WITH_FILTER__DATA_FORMAT;
+
+	/**
+	 * The feature id for the '<em><b>Dilation rate</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE__DILATION_RATE = LAYER_WITH_FILTER__DILATION_RATE;
+
+	/**
+	 * The feature id for the '<em><b>Activation</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE__ACTIVATION = LAYER_WITH_FILTER__ACTIVATION;
+
+	/**
+	 * The feature id for the '<em><b>Bias initializer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE__BIAS_INITIALIZER = LAYER_WITH_FILTER__BIAS_INITIALIZER;
+
+	/**
+	 * The feature id for the '<em><b>Activity regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE__ACTIVITY_REGULARIZER = LAYER_WITH_FILTER__ACTIVITY_REGULARIZER;
+
+	/**
+	 * The feature id for the '<em><b>Bias constraint</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE__BIAS_CONSTRAINT = LAYER_WITH_FILTER__BIAS_CONSTRAINT;
+
+	/**
+	 * The feature id for the '<em><b>Bias regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE__BIAS_REGULARIZER = LAYER_WITH_FILTER__BIAS_REGULARIZER;
+
+	/**
+	 * The feature id for the '<em><b>Out channels</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE__OUT_CHANNELS = LAYER_WITH_FILTER__OUT_CHANNELS;
+
+	/**
+	 * The feature id for the '<em><b>Depth multiplier</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE__DEPTH_MULTIPLIER = LAYER_WITH_FILTER_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Depthwise initializer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE__DEPTHWISE_INITIALIZER = LAYER_WITH_FILTER_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Pointwise initializer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE__POINTWISE_INITIALIZER = LAYER_WITH_FILTER_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Depthwise regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE__DEPTHWISE_REGULARIZER = LAYER_WITH_FILTER_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>Poitnwise regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE__POITNWISE_REGULARIZER = LAYER_WITH_FILTER_FEATURE_COUNT + 4;
+
+	/**
+	 * The feature id for the '<em><b>Depthwise constraint</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE__DEPTHWISE_CONSTRAINT = LAYER_WITH_FILTER_FEATURE_COUNT + 5;
+
+	/**
+	 * The feature id for the '<em><b>Pointwise constraint</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE__POINTWISE_CONSTRAINT = LAYER_WITH_FILTER_FEATURE_COUNT + 6;
+
+	/**
+	 * The number of structural features of the '<em>Separable</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_FEATURE_COUNT = LAYER_WITH_FILTER_FEATURE_COUNT + 7;
+
+	/**
+	 * The number of operations of the '<em>Separable</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_OPERATION_COUNT = LAYER_WITH_FILTER_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.SeparableConv2DImpl <em>Separable Conv2 D</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.SeparableConv2DImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl#getSeparableConv2D()
+	 * @generated
+	 */
+	int SEPARABLE_CONV2_D = 14;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV2_D__BASE_CLASS = SEPARABLE__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV2_D__NAME = SEPARABLE__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV2_D__DATA = SEPARABLE__DATA;
+
+	/**
+	 * The feature id for the '<em><b>Requires grad</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV2_D__REQUIRES_GRAD = SEPARABLE__REQUIRES_GRAD;
+
+	/**
+	 * The feature id for the '<em><b>Sub Module</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV2_D__SUB_MODULE = SEPARABLE__SUB_MODULE;
+
+	/**
+	 * The feature id for the '<em><b>Optimizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV2_D__OPTIMIZER = SEPARABLE__OPTIMIZER;
+
+	/**
+	 * The feature id for the '<em><b>Loss</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV2_D__LOSS = SEPARABLE__LOSS;
+
+	/**
+	 * The feature id for the '<em><b>Kernel size</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV2_D__KERNEL_SIZE = SEPARABLE__KERNEL_SIZE;
+
+	/**
+	 * The feature id for the '<em><b>Stride</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV2_D__STRIDE = SEPARABLE__STRIDE;
+
+	/**
+	 * The feature id for the '<em><b>Padding</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV2_D__PADDING = SEPARABLE__PADDING;
+
+	/**
+	 * The feature id for the '<em><b>Dilation</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV2_D__DILATION = SEPARABLE__DILATION;
+
+	/**
+	 * The feature id for the '<em><b>In channels</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV2_D__IN_CHANNELS = SEPARABLE__IN_CHANNELS;
+
+	/**
+	 * The feature id for the '<em><b>Groups</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV2_D__GROUPS = SEPARABLE__GROUPS;
+
+	/**
+	 * The feature id for the '<em><b>Biais</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV2_D__BIAIS = SEPARABLE__BIAIS;
+
+	/**
+	 * The feature id for the '<em><b>Padding mode</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV2_D__PADDING_MODE = SEPARABLE__PADDING_MODE;
+
+	/**
+	 * The feature id for the '<em><b>Data format</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV2_D__DATA_FORMAT = SEPARABLE__DATA_FORMAT;
+
+	/**
+	 * The feature id for the '<em><b>Dilation rate</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV2_D__DILATION_RATE = SEPARABLE__DILATION_RATE;
+
+	/**
+	 * The feature id for the '<em><b>Activation</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV2_D__ACTIVATION = SEPARABLE__ACTIVATION;
+
+	/**
+	 * The feature id for the '<em><b>Bias initializer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV2_D__BIAS_INITIALIZER = SEPARABLE__BIAS_INITIALIZER;
+
+	/**
+	 * The feature id for the '<em><b>Activity regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV2_D__ACTIVITY_REGULARIZER = SEPARABLE__ACTIVITY_REGULARIZER;
+
+	/**
+	 * The feature id for the '<em><b>Bias constraint</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV2_D__BIAS_CONSTRAINT = SEPARABLE__BIAS_CONSTRAINT;
+
+	/**
+	 * The feature id for the '<em><b>Bias regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV2_D__BIAS_REGULARIZER = SEPARABLE__BIAS_REGULARIZER;
+
+	/**
+	 * The feature id for the '<em><b>Out channels</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV2_D__OUT_CHANNELS = SEPARABLE__OUT_CHANNELS;
+
+	/**
+	 * The feature id for the '<em><b>Depth multiplier</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV2_D__DEPTH_MULTIPLIER = SEPARABLE__DEPTH_MULTIPLIER;
+
+	/**
+	 * The feature id for the '<em><b>Depthwise initializer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV2_D__DEPTHWISE_INITIALIZER = SEPARABLE__DEPTHWISE_INITIALIZER;
+
+	/**
+	 * The feature id for the '<em><b>Pointwise initializer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV2_D__POINTWISE_INITIALIZER = SEPARABLE__POINTWISE_INITIALIZER;
+
+	/**
+	 * The feature id for the '<em><b>Depthwise regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV2_D__DEPTHWISE_REGULARIZER = SEPARABLE__DEPTHWISE_REGULARIZER;
+
+	/**
+	 * The feature id for the '<em><b>Poitnwise regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV2_D__POITNWISE_REGULARIZER = SEPARABLE__POITNWISE_REGULARIZER;
+
+	/**
+	 * The feature id for the '<em><b>Depthwise constraint</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV2_D__DEPTHWISE_CONSTRAINT = SEPARABLE__DEPTHWISE_CONSTRAINT;
+
+	/**
+	 * The feature id for the '<em><b>Pointwise constraint</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV2_D__POINTWISE_CONSTRAINT = SEPARABLE__POINTWISE_CONSTRAINT;
+
+	/**
+	 * The number of structural features of the '<em>Separable Conv2 D</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV2_D_FEATURE_COUNT = SEPARABLE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>Separable Conv2 D</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV2_D_OPERATION_COUNT = SEPARABLE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.SeparableConv1DImpl <em>Separable Conv1 D</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.SeparableConv1DImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl#getSeparableConv1D()
+	 * @generated
+	 */
+	int SEPARABLE_CONV1_D = 15;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV1_D__BASE_CLASS = SEPARABLE__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV1_D__NAME = SEPARABLE__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV1_D__DATA = SEPARABLE__DATA;
+
+	/**
+	 * The feature id for the '<em><b>Requires grad</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV1_D__REQUIRES_GRAD = SEPARABLE__REQUIRES_GRAD;
+
+	/**
+	 * The feature id for the '<em><b>Sub Module</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV1_D__SUB_MODULE = SEPARABLE__SUB_MODULE;
+
+	/**
+	 * The feature id for the '<em><b>Optimizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV1_D__OPTIMIZER = SEPARABLE__OPTIMIZER;
+
+	/**
+	 * The feature id for the '<em><b>Loss</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV1_D__LOSS = SEPARABLE__LOSS;
+
+	/**
+	 * The feature id for the '<em><b>Kernel size</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV1_D__KERNEL_SIZE = SEPARABLE__KERNEL_SIZE;
+
+	/**
+	 * The feature id for the '<em><b>Stride</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV1_D__STRIDE = SEPARABLE__STRIDE;
+
+	/**
+	 * The feature id for the '<em><b>Padding</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV1_D__PADDING = SEPARABLE__PADDING;
+
+	/**
+	 * The feature id for the '<em><b>Dilation</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV1_D__DILATION = SEPARABLE__DILATION;
+
+	/**
+	 * The feature id for the '<em><b>In channels</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV1_D__IN_CHANNELS = SEPARABLE__IN_CHANNELS;
+
+	/**
+	 * The feature id for the '<em><b>Groups</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV1_D__GROUPS = SEPARABLE__GROUPS;
+
+	/**
+	 * The feature id for the '<em><b>Biais</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV1_D__BIAIS = SEPARABLE__BIAIS;
+
+	/**
+	 * The feature id for the '<em><b>Padding mode</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV1_D__PADDING_MODE = SEPARABLE__PADDING_MODE;
+
+	/**
+	 * The feature id for the '<em><b>Data format</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV1_D__DATA_FORMAT = SEPARABLE__DATA_FORMAT;
+
+	/**
+	 * The feature id for the '<em><b>Dilation rate</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV1_D__DILATION_RATE = SEPARABLE__DILATION_RATE;
+
+	/**
+	 * The feature id for the '<em><b>Activation</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV1_D__ACTIVATION = SEPARABLE__ACTIVATION;
+
+	/**
+	 * The feature id for the '<em><b>Bias initializer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV1_D__BIAS_INITIALIZER = SEPARABLE__BIAS_INITIALIZER;
+
+	/**
+	 * The feature id for the '<em><b>Activity regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV1_D__ACTIVITY_REGULARIZER = SEPARABLE__ACTIVITY_REGULARIZER;
+
+	/**
+	 * The feature id for the '<em><b>Bias constraint</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV1_D__BIAS_CONSTRAINT = SEPARABLE__BIAS_CONSTRAINT;
+
+	/**
+	 * The feature id for the '<em><b>Bias regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV1_D__BIAS_REGULARIZER = SEPARABLE__BIAS_REGULARIZER;
+
+	/**
+	 * The feature id for the '<em><b>Out channels</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV1_D__OUT_CHANNELS = SEPARABLE__OUT_CHANNELS;
+
+	/**
+	 * The feature id for the '<em><b>Depth multiplier</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV1_D__DEPTH_MULTIPLIER = SEPARABLE__DEPTH_MULTIPLIER;
+
+	/**
+	 * The feature id for the '<em><b>Depthwise initializer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV1_D__DEPTHWISE_INITIALIZER = SEPARABLE__DEPTHWISE_INITIALIZER;
+
+	/**
+	 * The feature id for the '<em><b>Pointwise initializer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV1_D__POINTWISE_INITIALIZER = SEPARABLE__POINTWISE_INITIALIZER;
+
+	/**
+	 * The feature id for the '<em><b>Depthwise regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV1_D__DEPTHWISE_REGULARIZER = SEPARABLE__DEPTHWISE_REGULARIZER;
+
+	/**
+	 * The feature id for the '<em><b>Poitnwise regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV1_D__POITNWISE_REGULARIZER = SEPARABLE__POITNWISE_REGULARIZER;
+
+	/**
+	 * The feature id for the '<em><b>Depthwise constraint</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV1_D__DEPTHWISE_CONSTRAINT = SEPARABLE__DEPTHWISE_CONSTRAINT;
+
+	/**
+	 * The feature id for the '<em><b>Pointwise constraint</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV1_D__POINTWISE_CONSTRAINT = SEPARABLE__POINTWISE_CONSTRAINT;
+
+	/**
+	 * The number of structural features of the '<em>Separable Conv1 D</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV1_D_FEATURE_COUNT = SEPARABLE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>Separable Conv1 D</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEPARABLE_CONV1_D_OPERATION_COUNT = SEPARABLE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.DepthwiseConv2DImpl <em>Depthwise Conv2 D</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.DepthwiseConv2DImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl#getDepthwiseConv2D()
+	 * @generated
+	 */
+	int DEPTHWISE_CONV2_D = 16;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPTHWISE_CONV2_D__BASE_CLASS = CONVOLUTION__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPTHWISE_CONV2_D__NAME = CONVOLUTION__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPTHWISE_CONV2_D__DATA = CONVOLUTION__DATA;
+
+	/**
+	 * The feature id for the '<em><b>Requires grad</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPTHWISE_CONV2_D__REQUIRES_GRAD = CONVOLUTION__REQUIRES_GRAD;
+
+	/**
+	 * The feature id for the '<em><b>Sub Module</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPTHWISE_CONV2_D__SUB_MODULE = CONVOLUTION__SUB_MODULE;
+
+	/**
+	 * The feature id for the '<em><b>Optimizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPTHWISE_CONV2_D__OPTIMIZER = CONVOLUTION__OPTIMIZER;
+
+	/**
+	 * The feature id for the '<em><b>Loss</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPTHWISE_CONV2_D__LOSS = CONVOLUTION__LOSS;
+
+	/**
+	 * The feature id for the '<em><b>Kernel size</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPTHWISE_CONV2_D__KERNEL_SIZE = CONVOLUTION__KERNEL_SIZE;
+
+	/**
+	 * The feature id for the '<em><b>Stride</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPTHWISE_CONV2_D__STRIDE = CONVOLUTION__STRIDE;
+
+	/**
+	 * The feature id for the '<em><b>Padding</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPTHWISE_CONV2_D__PADDING = CONVOLUTION__PADDING;
+
+	/**
+	 * The feature id for the '<em><b>Dilation</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPTHWISE_CONV2_D__DILATION = CONVOLUTION__DILATION;
+
+	/**
+	 * The feature id for the '<em><b>In channels</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPTHWISE_CONV2_D__IN_CHANNELS = CONVOLUTION__IN_CHANNELS;
+
+	/**
+	 * The feature id for the '<em><b>Groups</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPTHWISE_CONV2_D__GROUPS = CONVOLUTION__GROUPS;
+
+	/**
+	 * The feature id for the '<em><b>Biais</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPTHWISE_CONV2_D__BIAIS = CONVOLUTION__BIAIS;
+
+	/**
+	 * The feature id for the '<em><b>Padding mode</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPTHWISE_CONV2_D__PADDING_MODE = CONVOLUTION__PADDING_MODE;
+
+	/**
+	 * The feature id for the '<em><b>Data format</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPTHWISE_CONV2_D__DATA_FORMAT = CONVOLUTION__DATA_FORMAT;
+
+	/**
+	 * The feature id for the '<em><b>Dilation rate</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPTHWISE_CONV2_D__DILATION_RATE = CONVOLUTION__DILATION_RATE;
+
+	/**
+	 * The feature id for the '<em><b>Activation</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPTHWISE_CONV2_D__ACTIVATION = CONVOLUTION__ACTIVATION;
+
+	/**
+	 * The feature id for the '<em><b>Bias initializer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPTHWISE_CONV2_D__BIAS_INITIALIZER = CONVOLUTION__BIAS_INITIALIZER;
+
+	/**
+	 * The feature id for the '<em><b>Activity regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPTHWISE_CONV2_D__ACTIVITY_REGULARIZER = CONVOLUTION__ACTIVITY_REGULARIZER;
+
+	/**
+	 * The feature id for the '<em><b>Bias constraint</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPTHWISE_CONV2_D__BIAS_CONSTRAINT = CONVOLUTION__BIAS_CONSTRAINT;
+
+	/**
+	 * The feature id for the '<em><b>Bias regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPTHWISE_CONV2_D__BIAS_REGULARIZER = CONVOLUTION__BIAS_REGULARIZER;
+
+	/**
+	 * The feature id for the '<em><b>Depth multiplier</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPTHWISE_CONV2_D__DEPTH_MULTIPLIER = CONVOLUTION_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Depthwise initializer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPTHWISE_CONV2_D__DEPTHWISE_INITIALIZER = CONVOLUTION_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Depthwise regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPTHWISE_CONV2_D__DEPTHWISE_REGULARIZER = CONVOLUTION_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Depthwise constraint</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPTHWISE_CONV2_D__DEPTHWISE_CONSTRAINT = CONVOLUTION_FEATURE_COUNT + 3;
+
+	/**
+	 * The number of structural features of the '<em>Depthwise Conv2 D</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPTHWISE_CONV2_D_FEATURE_COUNT = CONVOLUTION_FEATURE_COUNT + 4;
+
+	/**
+	 * The number of operations of the '<em>Depthwise Conv2 D</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPTHWISE_CONV2_D_OPERATION_COUNT = CONVOLUTION_OPERATION_COUNT + 0;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution <em>Convolution</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Convolution</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution
+	 * @generated
+	 */
+	EClass getConvolution();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#getIn_channels <em>In channels</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>In channels</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#getIn_channels()
+	 * @see #getConvolution()
+	 * @generated
+	 */
+	EAttribute getConvolution_In_channels();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#getGroups <em>Groups</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Groups</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#getGroups()
+	 * @see #getConvolution()
+	 * @generated
+	 */
+	EAttribute getConvolution_Groups();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#isBiais <em>Biais</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Biais</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#isBiais()
+	 * @see #getConvolution()
+	 * @generated
+	 */
+	EAttribute getConvolution_Biais();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#getPadding_mode <em>Padding mode</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Padding mode</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#getPadding_mode()
+	 * @see #getConvolution()
+	 * @generated
+	 */
+	EAttribute getConvolution_Padding_mode();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#getData_format <em>Data format</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Data format</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#getData_format()
+	 * @see #getConvolution()
+	 * @generated
+	 */
+	EAttribute getConvolution_Data_format();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#getDilation_rate <em>Dilation rate</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Dilation rate</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#getDilation_rate()
+	 * @see #getConvolution()
+	 * @generated
+	 */
+	EAttribute getConvolution_Dilation_rate();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#getActivation <em>Activation</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Activation</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#getActivation()
+	 * @see #getConvolution()
+	 * @generated
+	 */
+	EAttribute getConvolution_Activation();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#getBias_initializer <em>Bias initializer</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Bias initializer</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#getBias_initializer()
+	 * @see #getConvolution()
+	 * @generated
+	 */
+	EAttribute getConvolution_Bias_initializer();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#getActivity_regularizer <em>Activity regularizer</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Activity regularizer</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#getActivity_regularizer()
+	 * @see #getConvolution()
+	 * @generated
+	 */
+	EAttribute getConvolution_Activity_regularizer();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#getBias_constraint <em>Bias constraint</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Bias constraint</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#getBias_constraint()
+	 * @see #getConvolution()
+	 * @generated
+	 */
+	EAttribute getConvolution_Bias_constraint();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#getBias_regularizer <em>Bias regularizer</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Bias regularizer</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution#getBias_regularizer()
+	 * @see #getConvolution()
+	 * @generated
+	 */
+	EAttribute getConvolution_Bias_regularizer();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layers <em>Convolution layers</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Convolution layers</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layers
+	 * @generated
+	 */
+	EClass getConvolution_layers();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layers#getKernel_size <em>Kernel size</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Kernel size</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layers#getKernel_size()
+	 * @see #getConvolution_layers()
+	 * @generated
+	 */
+	EAttribute getConvolution_layers_Kernel_size();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layers#getStride <em>Stride</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Stride</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layers#getStride()
+	 * @see #getConvolution_layers()
+	 * @generated
+	 */
+	EAttribute getConvolution_layers_Stride();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layers#getPadding <em>Padding</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Padding</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layers#getPadding()
+	 * @see #getConvolution_layers()
+	 * @generated
+	 */
+	EAttribute getConvolution_layers_Padding();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layers#getDilation <em>Dilation</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Dilation</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layers#getDilation()
+	 * @see #getConvolution_layers()
+	 * @generated
+	 */
+	EAttribute getConvolution_layers_Dilation();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Unfold <em>Unfold</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Unfold</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Unfold
+	 * @generated
+	 */
+	EClass getUnfold();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Fold <em>Fold</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Fold</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Fold
+	 * @generated
+	 */
+	EClass getFold();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Fold#getOutput_size <em>Output size</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Output size</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Fold#getOutput_size()
+	 * @see #getFold()
+	 * @generated
+	 */
+	EAttribute getFold_Output_size();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Conv2d <em>Conv2d</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Conv2d</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Conv2d
+	 * @generated
+	 */
+	EClass getConv2d();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.basic <em>basic</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>basic</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.basic
+	 * @generated
+	 */
+	EClass getbasic();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.basic#getKernel_initializer <em>Kernel initializer</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Kernel initializer</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.basic#getKernel_initializer()
+	 * @see #getbasic()
+	 * @generated
+	 */
+	EAttribute getbasic_Kernel_initializer();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.basic#getKernel_constraint <em>Kernel constraint</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Kernel constraint</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.basic#getKernel_constraint()
+	 * @see #getbasic()
+	 * @generated
+	 */
+	EReference getbasic_Kernel_constraint();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.basic#getKernel_regularizer <em>Kernel regularizer</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Kernel regularizer</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.basic#getKernel_regularizer()
+	 * @see #getbasic()
+	 * @generated
+	 */
+	EAttribute getbasic_Kernel_regularizer();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.LayerWithFilter <em>Layer With Filter</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Layer With Filter</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.LayerWithFilter
+	 * @generated
+	 */
+	EClass getLayerWithFilter();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.LayerWithFilter#getOut_channels <em>Out channels</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Out channels</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.LayerWithFilter#getOut_channels()
+	 * @see #getLayerWithFilter()
+	 * @generated
+	 */
+	EAttribute getLayerWithFilter_Out_channels();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Conv3d <em>Conv3d</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Conv3d</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Conv3d
+	 * @generated
+	 */
+	EClass getConv3d();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.ConvTranspose1d <em>Conv Transpose1d</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Conv Transpose1d</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.ConvTranspose1d
+	 * @generated
+	 */
+	EClass getConvTranspose1d();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.ConvTranspose2d <em>Conv Transpose2d</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Conv Transpose2d</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.ConvTranspose2d
+	 * @generated
+	 */
+	EClass getConvTranspose2d();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.transpose <em>transpose</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>transpose</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.transpose
+	 * @generated
+	 */
+	EClass gettranspose();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.transpose#getOutput_padding <em>Output padding</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Output padding</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.transpose#getOutput_padding()
+	 * @see #gettranspose()
+	 * @generated
+	 */
+	EAttribute gettranspose_Output_padding();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.ConvTranspose3d <em>Conv Transpose3d</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Conv Transpose3d</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.ConvTranspose3d
+	 * @generated
+	 */
+	EClass getConvTranspose3d();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Conv1d <em>Conv1d</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Conv1d</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Conv1d
+	 * @generated
+	 */
+	EClass getConv1d();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Separable <em>Separable</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Separable</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Separable
+	 * @generated
+	 */
+	EClass getSeparable();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Separable#getDepth_multiplier <em>Depth multiplier</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Depth multiplier</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Separable#getDepth_multiplier()
+	 * @see #getSeparable()
+	 * @generated
+	 */
+	EAttribute getSeparable_Depth_multiplier();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Separable#getDepthwise_initializer <em>Depthwise initializer</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Depthwise initializer</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Separable#getDepthwise_initializer()
+	 * @see #getSeparable()
+	 * @generated
+	 */
+	EAttribute getSeparable_Depthwise_initializer();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Separable#getPointwise_initializer <em>Pointwise initializer</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Pointwise initializer</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Separable#getPointwise_initializer()
+	 * @see #getSeparable()
+	 * @generated
+	 */
+	EAttribute getSeparable_Pointwise_initializer();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Separable#getDepthwise_regularizer <em>Depthwise regularizer</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Depthwise regularizer</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Separable#getDepthwise_regularizer()
+	 * @see #getSeparable()
+	 * @generated
+	 */
+	EAttribute getSeparable_Depthwise_regularizer();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Separable#getPoitnwise_regularizer <em>Poitnwise regularizer</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Poitnwise regularizer</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Separable#getPoitnwise_regularizer()
+	 * @see #getSeparable()
+	 * @generated
+	 */
+	EAttribute getSeparable_Poitnwise_regularizer();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Separable#getDepthwise_constraint <em>Depthwise constraint</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Depthwise constraint</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Separable#getDepthwise_constraint()
+	 * @see #getSeparable()
+	 * @generated
+	 */
+	EAttribute getSeparable_Depthwise_constraint();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Separable#getPointwise_constraint <em>Pointwise constraint</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Pointwise constraint</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Separable#getPointwise_constraint()
+	 * @see #getSeparable()
+	 * @generated
+	 */
+	EAttribute getSeparable_Pointwise_constraint();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.SeparableConv2D <em>Separable Conv2 D</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Separable Conv2 D</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.SeparableConv2D
+	 * @generated
+	 */
+	EClass getSeparableConv2D();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.SeparableConv1D <em>Separable Conv1 D</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Separable Conv1 D</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.SeparableConv1D
+	 * @generated
+	 */
+	EClass getSeparableConv1D();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.DepthwiseConv2D <em>Depthwise Conv2 D</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Depthwise Conv2 D</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.DepthwiseConv2D
+	 * @generated
+	 */
+	EClass getDepthwiseConv2D();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.DepthwiseConv2D#getDepth_multiplier <em>Depth multiplier</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Depth multiplier</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.DepthwiseConv2D#getDepth_multiplier()
+	 * @see #getDepthwiseConv2D()
+	 * @generated
+	 */
+	EAttribute getDepthwiseConv2D_Depth_multiplier();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.DepthwiseConv2D#getDepthwise_initializer <em>Depthwise initializer</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Depthwise initializer</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.DepthwiseConv2D#getDepthwise_initializer()
+	 * @see #getDepthwiseConv2D()
+	 * @generated
+	 */
+	EAttribute getDepthwiseConv2D_Depthwise_initializer();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.DepthwiseConv2D#getDepthwise_regularizer <em>Depthwise regularizer</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Depthwise regularizer</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.DepthwiseConv2D#getDepthwise_regularizer()
+	 * @see #getDepthwiseConv2D()
+	 * @generated
+	 */
+	EAttribute getDepthwiseConv2D_Depthwise_regularizer();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.DepthwiseConv2D#getDepthwise_constraint <em>Depthwise constraint</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Depthwise constraint</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.DepthwiseConv2D#getDepthwise_constraint()
+	 * @see #getDepthwiseConv2D()
+	 * @generated
+	 */
+	EAttribute getDepthwiseConv2D_Depthwise_constraint();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	Convolution_layersFactory getConvolution_layersFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each operation of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.ConvolutionImpl <em>Convolution</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.ConvolutionImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl#getConvolution()
+		 * @generated
+		 */
+		EClass CONVOLUTION = eINSTANCE.getConvolution();
+
+		/**
+		 * The meta object literal for the '<em><b>In channels</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CONVOLUTION__IN_CHANNELS = eINSTANCE.getConvolution_In_channels();
+
+		/**
+		 * The meta object literal for the '<em><b>Groups</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CONVOLUTION__GROUPS = eINSTANCE.getConvolution_Groups();
+
+		/**
+		 * The meta object literal for the '<em><b>Biais</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CONVOLUTION__BIAIS = eINSTANCE.getConvolution_Biais();
+
+		/**
+		 * The meta object literal for the '<em><b>Padding mode</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CONVOLUTION__PADDING_MODE = eINSTANCE.getConvolution_Padding_mode();
+
+		/**
+		 * The meta object literal for the '<em><b>Data format</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CONVOLUTION__DATA_FORMAT = eINSTANCE.getConvolution_Data_format();
+
+		/**
+		 * The meta object literal for the '<em><b>Dilation rate</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CONVOLUTION__DILATION_RATE = eINSTANCE.getConvolution_Dilation_rate();
+
+		/**
+		 * The meta object literal for the '<em><b>Activation</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CONVOLUTION__ACTIVATION = eINSTANCE.getConvolution_Activation();
+
+		/**
+		 * The meta object literal for the '<em><b>Bias initializer</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CONVOLUTION__BIAS_INITIALIZER = eINSTANCE.getConvolution_Bias_initializer();
+
+		/**
+		 * The meta object literal for the '<em><b>Activity regularizer</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CONVOLUTION__ACTIVITY_REGULARIZER = eINSTANCE.getConvolution_Activity_regularizer();
+
+		/**
+		 * The meta object literal for the '<em><b>Bias constraint</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CONVOLUTION__BIAS_CONSTRAINT = eINSTANCE.getConvolution_Bias_constraint();
+
+		/**
+		 * The meta object literal for the '<em><b>Bias regularizer</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CONVOLUTION__BIAS_REGULARIZER = eINSTANCE.getConvolution_Bias_regularizer();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersImpl <em>Convolution layers</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl#getConvolution_layers()
+		 * @generated
+		 */
+		EClass CONVOLUTION_LAYERS = eINSTANCE.getConvolution_layers();
+
+		/**
+		 * The meta object literal for the '<em><b>Kernel size</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CONVOLUTION_LAYERS__KERNEL_SIZE = eINSTANCE.getConvolution_layers_Kernel_size();
+
+		/**
+		 * The meta object literal for the '<em><b>Stride</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CONVOLUTION_LAYERS__STRIDE = eINSTANCE.getConvolution_layers_Stride();
+
+		/**
+		 * The meta object literal for the '<em><b>Padding</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CONVOLUTION_LAYERS__PADDING = eINSTANCE.getConvolution_layers_Padding();
+
+		/**
+		 * The meta object literal for the '<em><b>Dilation</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CONVOLUTION_LAYERS__DILATION = eINSTANCE.getConvolution_layers_Dilation();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.UnfoldImpl <em>Unfold</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.UnfoldImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl#getUnfold()
+		 * @generated
+		 */
+		EClass UNFOLD = eINSTANCE.getUnfold();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.FoldImpl <em>Fold</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.FoldImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl#getFold()
+		 * @generated
+		 */
+		EClass FOLD = eINSTANCE.getFold();
+
+		/**
+		 * The meta object literal for the '<em><b>Output size</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute FOLD__OUTPUT_SIZE = eINSTANCE.getFold_Output_size();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Conv2dImpl <em>Conv2d</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Conv2dImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl#getConv2d()
+		 * @generated
+		 */
+		EClass CONV2D = eINSTANCE.getConv2d();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.basicImpl <em>basic</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.basicImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl#getbasic()
+		 * @generated
+		 */
+		EClass BASIC = eINSTANCE.getbasic();
+
+		/**
+		 * The meta object literal for the '<em><b>Kernel initializer</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute BASIC__KERNEL_INITIALIZER = eINSTANCE.getbasic_Kernel_initializer();
+
+		/**
+		 * The meta object literal for the '<em><b>Kernel constraint</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference BASIC__KERNEL_CONSTRAINT = eINSTANCE.getbasic_Kernel_constraint();
+
+		/**
+		 * The meta object literal for the '<em><b>Kernel regularizer</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute BASIC__KERNEL_REGULARIZER = eINSTANCE.getbasic_Kernel_regularizer();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.LayerWithFilterImpl <em>Layer With Filter</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.LayerWithFilterImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl#getLayerWithFilter()
+		 * @generated
+		 */
+		EClass LAYER_WITH_FILTER = eINSTANCE.getLayerWithFilter();
+
+		/**
+		 * The meta object literal for the '<em><b>Out channels</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute LAYER_WITH_FILTER__OUT_CHANNELS = eINSTANCE.getLayerWithFilter_Out_channels();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Conv3dImpl <em>Conv3d</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Conv3dImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl#getConv3d()
+		 * @generated
+		 */
+		EClass CONV3D = eINSTANCE.getConv3d();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.ConvTranspose1dImpl <em>Conv Transpose1d</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.ConvTranspose1dImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl#getConvTranspose1d()
+		 * @generated
+		 */
+		EClass CONV_TRANSPOSE1D = eINSTANCE.getConvTranspose1d();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.ConvTranspose2dImpl <em>Conv Transpose2d</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.ConvTranspose2dImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl#getConvTranspose2d()
+		 * @generated
+		 */
+		EClass CONV_TRANSPOSE2D = eINSTANCE.getConvTranspose2d();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.transposeImpl <em>transpose</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.transposeImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl#gettranspose()
+		 * @generated
+		 */
+		EClass TRANSPOSE = eINSTANCE.gettranspose();
+
+		/**
+		 * The meta object literal for the '<em><b>Output padding</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute TRANSPOSE__OUTPUT_PADDING = eINSTANCE.gettranspose_Output_padding();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.ConvTranspose3dImpl <em>Conv Transpose3d</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.ConvTranspose3dImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl#getConvTranspose3d()
+		 * @generated
+		 */
+		EClass CONV_TRANSPOSE3D = eINSTANCE.getConvTranspose3d();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Conv1dImpl <em>Conv1d</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Conv1dImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl#getConv1d()
+		 * @generated
+		 */
+		EClass CONV1D = eINSTANCE.getConv1d();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.SeparableImpl <em>Separable</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.SeparableImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl#getSeparable()
+		 * @generated
+		 */
+		EClass SEPARABLE = eINSTANCE.getSeparable();
+
+		/**
+		 * The meta object literal for the '<em><b>Depth multiplier</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute SEPARABLE__DEPTH_MULTIPLIER = eINSTANCE.getSeparable_Depth_multiplier();
+
+		/**
+		 * The meta object literal for the '<em><b>Depthwise initializer</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute SEPARABLE__DEPTHWISE_INITIALIZER = eINSTANCE.getSeparable_Depthwise_initializer();
+
+		/**
+		 * The meta object literal for the '<em><b>Pointwise initializer</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute SEPARABLE__POINTWISE_INITIALIZER = eINSTANCE.getSeparable_Pointwise_initializer();
+
+		/**
+		 * The meta object literal for the '<em><b>Depthwise regularizer</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute SEPARABLE__DEPTHWISE_REGULARIZER = eINSTANCE.getSeparable_Depthwise_regularizer();
+
+		/**
+		 * The meta object literal for the '<em><b>Poitnwise regularizer</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute SEPARABLE__POITNWISE_REGULARIZER = eINSTANCE.getSeparable_Poitnwise_regularizer();
+
+		/**
+		 * The meta object literal for the '<em><b>Depthwise constraint</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute SEPARABLE__DEPTHWISE_CONSTRAINT = eINSTANCE.getSeparable_Depthwise_constraint();
+
+		/**
+		 * The meta object literal for the '<em><b>Pointwise constraint</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute SEPARABLE__POINTWISE_CONSTRAINT = eINSTANCE.getSeparable_Pointwise_constraint();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.SeparableConv2DImpl <em>Separable Conv2 D</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.SeparableConv2DImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl#getSeparableConv2D()
+		 * @generated
+		 */
+		EClass SEPARABLE_CONV2_D = eINSTANCE.getSeparableConv2D();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.SeparableConv1DImpl <em>Separable Conv1 D</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.SeparableConv1DImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl#getSeparableConv1D()
+		 * @generated
+		 */
+		EClass SEPARABLE_CONV1_D = eINSTANCE.getSeparableConv1D();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.DepthwiseConv2DImpl <em>Depthwise Conv2 D</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.DepthwiseConv2DImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl#getDepthwiseConv2D()
+		 * @generated
+		 */
+		EClass DEPTHWISE_CONV2_D = eINSTANCE.getDepthwiseConv2D();
+
+		/**
+		 * The meta object literal for the '<em><b>Depth multiplier</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DEPTHWISE_CONV2_D__DEPTH_MULTIPLIER = eINSTANCE.getDepthwiseConv2D_Depth_multiplier();
+
+		/**
+		 * The meta object literal for the '<em><b>Depthwise initializer</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DEPTHWISE_CONV2_D__DEPTHWISE_INITIALIZER = eINSTANCE.getDepthwiseConv2D_Depthwise_initializer();
+
+		/**
+		 * The meta object literal for the '<em><b>Depthwise regularizer</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DEPTHWISE_CONV2_D__DEPTHWISE_REGULARIZER = eINSTANCE.getDepthwiseConv2D_Depthwise_regularizer();
+
+		/**
+		 * The meta object literal for the '<em><b>Depthwise constraint</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DEPTHWISE_CONV2_D__DEPTHWISE_CONSTRAINT = eINSTANCE.getDepthwiseConv2D_Depthwise_constraint();
+
+	}
+
+} //Convolution_layersPackage
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/DepthwiseConv2D.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/DepthwiseConv2D.java
new file mode 100644
index 0000000..40f9dc4
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/DepthwiseConv2D.java
@@ -0,0 +1,130 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Depthwise Conv2 D</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.DepthwiseConv2D#getDepth_multiplier <em>Depth multiplier</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.DepthwiseConv2D#getDepthwise_initializer <em>Depthwise initializer</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.DepthwiseConv2D#getDepthwise_regularizer <em>Depthwise regularizer</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.DepthwiseConv2D#getDepthwise_constraint <em>Depthwise constraint</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getDepthwiseConv2D()
+ * @model
+ * @generated
+ */
+public interface DepthwiseConv2D extends Convolution {
+	/**
+	 * Returns the value of the '<em><b>Depth multiplier</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.Integer}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Depth multiplier</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Depth multiplier</em>' attribute list.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getDepthwiseConv2D_Depth_multiplier()
+	 * @model dataType="org.eclipse.uml2.types.Integer" ordered="false"
+	 * @generated
+	 */
+	EList<Integer> getDepth_multiplier();
+
+	/**
+	 * Returns the value of the '<em><b>Depthwise initializer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Depthwise initializer</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Depthwise initializer</em>' attribute.
+	 * @see #setDepthwise_initializer(String)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getDepthwiseConv2D_Depthwise_initializer()
+	 * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+	 * @generated
+	 */
+	String getDepthwise_initializer();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.DepthwiseConv2D#getDepthwise_initializer <em>Depthwise initializer</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Depthwise initializer</em>' attribute.
+	 * @see #getDepthwise_initializer()
+	 * @generated
+	 */
+	void setDepthwise_initializer(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Depthwise regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Depthwise regularizer</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Depthwise regularizer</em>' attribute.
+	 * @see #setDepthwise_regularizer(String)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getDepthwiseConv2D_Depthwise_regularizer()
+	 * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+	 * @generated
+	 */
+	String getDepthwise_regularizer();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.DepthwiseConv2D#getDepthwise_regularizer <em>Depthwise regularizer</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Depthwise regularizer</em>' attribute.
+	 * @see #getDepthwise_regularizer()
+	 * @generated
+	 */
+	void setDepthwise_regularizer(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Depthwise constraint</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Depthwise constraint</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Depthwise constraint</em>' attribute.
+	 * @see #setDepthwise_constraint(String)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getDepthwiseConv2D_Depthwise_constraint()
+	 * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+	 * @generated
+	 */
+	String getDepthwise_constraint();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.DepthwiseConv2D#getDepthwise_constraint <em>Depthwise constraint</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Depthwise constraint</em>' attribute.
+	 * @see #getDepthwise_constraint()
+	 * @generated
+	 */
+	void setDepthwise_constraint(String value);
+
+} // DepthwiseConv2D
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/Fold.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/Fold.java
new file mode 100644
index 0000000..3347752
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/Fold.java
@@ -0,0 +1,49 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Fold</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Fold#getOutput_size <em>Output size</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getFold()
+ * @model
+ * @generated
+ */
+public interface Fold extends Convolution_layers {
+	/**
+	 * Returns the value of the '<em><b>Output size</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.Integer}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Output size</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Output size</em>' attribute list.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getFold_Output_size()
+	 * @model dataType="org.eclipse.uml2.types.Integer" ordered="false"
+	 * @generated
+	 */
+	EList<Integer> getOutput_size();
+
+} // Fold
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/LayerWithFilter.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/LayerWithFilter.java
new file mode 100644
index 0000000..0816f57
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/LayerWithFilter.java
@@ -0,0 +1,58 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Layer With Filter</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.LayerWithFilter#getOut_channels <em>Out channels</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getLayerWithFilter()
+ * @model abstract="true"
+ * @generated
+ */
+public interface LayerWithFilter extends Convolution {
+	/**
+	 * Returns the value of the '<em><b>Out channels</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Out channels</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Out channels</em>' attribute.
+	 * @see #setOut_channels(int)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getLayerWithFilter_Out_channels()
+	 * @model dataType="org.eclipse.uml2.types.Integer" required="true" ordered="false"
+	 * @generated
+	 */
+	int getOut_channels();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.LayerWithFilter#getOut_channels <em>Out channels</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Out channels</em>' attribute.
+	 * @see #getOut_channels()
+	 * @generated
+	 */
+	void setOut_channels(int value);
+
+} // LayerWithFilter
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/Separable.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/Separable.java
new file mode 100644
index 0000000..352c464
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/Separable.java
@@ -0,0 +1,211 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Separable</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Separable#getDepth_multiplier <em>Depth multiplier</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Separable#getDepthwise_initializer <em>Depthwise initializer</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Separable#getPointwise_initializer <em>Pointwise initializer</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Separable#getDepthwise_regularizer <em>Depthwise regularizer</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Separable#getPoitnwise_regularizer <em>Poitnwise regularizer</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Separable#getDepthwise_constraint <em>Depthwise constraint</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Separable#getPointwise_constraint <em>Pointwise constraint</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getSeparable()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Separable extends LayerWithFilter {
+	/**
+	 * Returns the value of the '<em><b>Depth multiplier</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.Integer}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Depth multiplier</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Depth multiplier</em>' attribute list.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getSeparable_Depth_multiplier()
+	 * @model dataType="org.eclipse.uml2.types.Integer" ordered="false"
+	 * @generated
+	 */
+	EList<Integer> getDepth_multiplier();
+
+	/**
+	 * Returns the value of the '<em><b>Depthwise initializer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Depthwise initializer</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Depthwise initializer</em>' attribute.
+	 * @see #setDepthwise_initializer(String)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getSeparable_Depthwise_initializer()
+	 * @model dataType="org.eclipse.uml2.types.String" ordered="false"
+	 * @generated
+	 */
+	String getDepthwise_initializer();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Separable#getDepthwise_initializer <em>Depthwise initializer</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Depthwise initializer</em>' attribute.
+	 * @see #getDepthwise_initializer()
+	 * @generated
+	 */
+	void setDepthwise_initializer(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Pointwise initializer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Pointwise initializer</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Pointwise initializer</em>' attribute.
+	 * @see #setPointwise_initializer(String)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getSeparable_Pointwise_initializer()
+	 * @model dataType="org.eclipse.uml2.types.String" ordered="false"
+	 * @generated
+	 */
+	String getPointwise_initializer();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Separable#getPointwise_initializer <em>Pointwise initializer</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Pointwise initializer</em>' attribute.
+	 * @see #getPointwise_initializer()
+	 * @generated
+	 */
+	void setPointwise_initializer(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Depthwise regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Depthwise regularizer</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Depthwise regularizer</em>' attribute.
+	 * @see #setDepthwise_regularizer(String)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getSeparable_Depthwise_regularizer()
+	 * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+	 * @generated
+	 */
+	String getDepthwise_regularizer();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Separable#getDepthwise_regularizer <em>Depthwise regularizer</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Depthwise regularizer</em>' attribute.
+	 * @see #getDepthwise_regularizer()
+	 * @generated
+	 */
+	void setDepthwise_regularizer(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Poitnwise regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Poitnwise regularizer</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Poitnwise regularizer</em>' attribute.
+	 * @see #setPoitnwise_regularizer(String)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getSeparable_Poitnwise_regularizer()
+	 * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+	 * @generated
+	 */
+	String getPoitnwise_regularizer();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Separable#getPoitnwise_regularizer <em>Poitnwise regularizer</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Poitnwise regularizer</em>' attribute.
+	 * @see #getPoitnwise_regularizer()
+	 * @generated
+	 */
+	void setPoitnwise_regularizer(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Depthwise constraint</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Depthwise constraint</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Depthwise constraint</em>' attribute.
+	 * @see #setDepthwise_constraint(String)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getSeparable_Depthwise_constraint()
+	 * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+	 * @generated
+	 */
+	String getDepthwise_constraint();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Separable#getDepthwise_constraint <em>Depthwise constraint</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Depthwise constraint</em>' attribute.
+	 * @see #getDepthwise_constraint()
+	 * @generated
+	 */
+	void setDepthwise_constraint(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Pointwise constraint</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Pointwise constraint</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Pointwise constraint</em>' attribute.
+	 * @see #setPointwise_constraint(String)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getSeparable_Pointwise_constraint()
+	 * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+	 * @generated
+	 */
+	String getPointwise_constraint();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Separable#getPointwise_constraint <em>Pointwise constraint</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Pointwise constraint</em>' attribute.
+	 * @see #getPointwise_constraint()
+	 * @generated
+	 */
+	void setPointwise_constraint(String value);
+
+} // Separable
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/SeparableConv1D.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/SeparableConv1D.java
new file mode 100644
index 0000000..adf445b
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/SeparableConv1D.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Separable Conv1 D</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getSeparableConv1D()
+ * @model
+ * @generated
+ */
+public interface SeparableConv1D extends Separable {
+} // SeparableConv1D
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/SeparableConv2D.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/SeparableConv2D.java
new file mode 100644
index 0000000..7058fd2
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/SeparableConv2D.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Separable Conv2 D</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getSeparableConv2D()
+ * @model
+ * @generated
+ */
+public interface SeparableConv2D extends Separable {
+} // SeparableConv2D
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/Unfold.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/Unfold.java
new file mode 100644
index 0000000..c9cef55
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/Unfold.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Unfold</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getUnfold()
+ * @model
+ * @generated
+ */
+public interface Unfold extends Convolution_layers {
+} // Unfold
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/basic.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/basic.java
new file mode 100644
index 0000000..daee835
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/basic.java
@@ -0,0 +1,113 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.constraints;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>basic</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.basic#getKernel_initializer <em>Kernel initializer</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.basic#getKernel_constraint <em>Kernel constraint</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.basic#getKernel_regularizer <em>Kernel regularizer</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getbasic()
+ * @model abstract="true"
+ * @generated
+ */
+public interface basic extends LayerWithFilter {
+	/**
+	 * Returns the value of the '<em><b>Kernel initializer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Kernel initializer</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Kernel initializer</em>' attribute.
+	 * @see #setKernel_initializer(String)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getbasic_Kernel_initializer()
+	 * @model dataType="org.eclipse.uml2.types.String" ordered="false"
+	 * @generated
+	 */
+	String getKernel_initializer();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.basic#getKernel_initializer <em>Kernel initializer</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Kernel initializer</em>' attribute.
+	 * @see #getKernel_initializer()
+	 * @generated
+	 */
+	void setKernel_initializer(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Kernel constraint</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Kernel constraint</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Kernel constraint</em>' reference.
+	 * @see #setKernel_constraint(constraints)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getbasic_Kernel_constraint()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	constraints getKernel_constraint();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.basic#getKernel_constraint <em>Kernel constraint</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Kernel constraint</em>' reference.
+	 * @see #getKernel_constraint()
+	 * @generated
+	 */
+	void setKernel_constraint(constraints value);
+
+	/**
+	 * Returns the value of the '<em><b>Kernel regularizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Kernel regularizer</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Kernel regularizer</em>' attribute.
+	 * @see #setKernel_regularizer(String)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#getbasic_Kernel_regularizer()
+	 * @model dataType="org.eclipse.uml2.types.String" ordered="false"
+	 * @generated
+	 */
+	String getKernel_regularizer();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.basic#getKernel_regularizer <em>Kernel regularizer</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Kernel regularizer</em>' attribute.
+	 * @see #getKernel_regularizer()
+	 * @generated
+	 */
+	void setKernel_regularizer(String value);
+
+} // basic
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/Conv1dImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/Conv1dImpl.java
new file mode 100644
index 0000000..75ee6b7
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/Conv1dImpl.java
@@ -0,0 +1,46 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Conv1d;
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Conv1d</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class Conv1dImpl extends basicImpl implements Conv1d {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Conv1dImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Convolution_layersPackage.Literals.CONV1D;
+	}
+
+} //Conv1dImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/Conv2dImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/Conv2dImpl.java
new file mode 100644
index 0000000..04eb2f1
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/Conv2dImpl.java
@@ -0,0 +1,46 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Conv2d;
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Conv2d</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class Conv2dImpl extends basicImpl implements Conv2d {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Conv2dImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Convolution_layersPackage.Literals.CONV2D;
+	}
+
+} //Conv2dImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/Conv3dImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/Conv3dImpl.java
new file mode 100644
index 0000000..f6a0e99
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/Conv3dImpl.java
@@ -0,0 +1,46 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Conv3d;
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Conv3d</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class Conv3dImpl extends basicImpl implements Conv3d {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Conv3dImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Convolution_layersPackage.Literals.CONV3D;
+	}
+
+} //Conv3dImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/ConvTranspose1dImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/ConvTranspose1dImpl.java
new file mode 100644
index 0000000..e6b0a29
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/ConvTranspose1dImpl.java
@@ -0,0 +1,46 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.ConvTranspose1d;
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Conv Transpose1d</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ConvTranspose1dImpl extends LayerWithFilterImpl implements ConvTranspose1d {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ConvTranspose1dImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Convolution_layersPackage.Literals.CONV_TRANSPOSE1D;
+	}
+
+} //ConvTranspose1dImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/ConvTranspose2dImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/ConvTranspose2dImpl.java
new file mode 100644
index 0000000..5e7aabc
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/ConvTranspose2dImpl.java
@@ -0,0 +1,46 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.ConvTranspose2d;
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Conv Transpose2d</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ConvTranspose2dImpl extends transposeImpl implements ConvTranspose2d {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ConvTranspose2dImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Convolution_layersPackage.Literals.CONV_TRANSPOSE2D;
+	}
+
+} //ConvTranspose2dImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/ConvTranspose3dImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/ConvTranspose3dImpl.java
new file mode 100644
index 0000000..310635d
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/ConvTranspose3dImpl.java
@@ -0,0 +1,46 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.ConvTranspose3d;
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Conv Transpose3d</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ConvTranspose3dImpl extends transposeImpl implements ConvTranspose3d {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ConvTranspose3dImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Convolution_layersPackage.Literals.CONV_TRANSPOSE3D;
+	}
+
+} //ConvTranspose3dImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/ConvolutionImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/ConvolutionImpl.java
new file mode 100644
index 0000000..b369c96
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/ConvolutionImpl.java
@@ -0,0 +1,721 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution;
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Convolution</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.ConvolutionImpl#getIn_channels <em>In channels</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.ConvolutionImpl#getGroups <em>Groups</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.ConvolutionImpl#isBiais <em>Biais</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.ConvolutionImpl#getPadding_mode <em>Padding mode</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.ConvolutionImpl#getData_format <em>Data format</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.ConvolutionImpl#getDilation_rate <em>Dilation rate</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.ConvolutionImpl#getActivation <em>Activation</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.ConvolutionImpl#getBias_initializer <em>Bias initializer</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.ConvolutionImpl#getActivity_regularizer <em>Activity regularizer</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.ConvolutionImpl#getBias_constraint <em>Bias constraint</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.ConvolutionImpl#getBias_regularizer <em>Bias regularizer</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class ConvolutionImpl extends Convolution_layersImpl implements Convolution {
+	/**
+	 * The default value of the '{@link #getIn_channels() <em>In channels</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getIn_channels()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int IN_CHANNELS_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getIn_channels() <em>In channels</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getIn_channels()
+	 * @generated
+	 * @ordered
+	 */
+	protected int in_channels = IN_CHANNELS_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getGroups() <em>Groups</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getGroups()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int GROUPS_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getGroups() <em>Groups</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getGroups()
+	 * @generated
+	 * @ordered
+	 */
+	protected int groups = GROUPS_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #isBiais() <em>Biais</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isBiais()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean BIAIS_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isBiais() <em>Biais</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isBiais()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean biais = BIAIS_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getPadding_mode() <em>Padding mode</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPadding_mode()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String PADDING_MODE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getPadding_mode() <em>Padding mode</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPadding_mode()
+	 * @generated
+	 * @ordered
+	 */
+	protected String padding_mode = PADDING_MODE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getData_format() <em>Data format</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getData_format()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DATA_FORMAT_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getData_format() <em>Data format</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getData_format()
+	 * @generated
+	 * @ordered
+	 */
+	protected String data_format = DATA_FORMAT_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getDilation_rate() <em>Dilation rate</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDilation_rate()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Integer> dilation_rate;
+
+	/**
+	 * The default value of the '{@link #getActivation() <em>Activation</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getActivation()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String ACTIVATION_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getActivation() <em>Activation</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getActivation()
+	 * @generated
+	 * @ordered
+	 */
+	protected String activation = ACTIVATION_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getBias_initializer() <em>Bias initializer</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBias_initializer()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String BIAS_INITIALIZER_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getBias_initializer() <em>Bias initializer</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBias_initializer()
+	 * @generated
+	 * @ordered
+	 */
+	protected String bias_initializer = BIAS_INITIALIZER_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getActivity_regularizer() <em>Activity regularizer</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getActivity_regularizer()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String ACTIVITY_REGULARIZER_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getActivity_regularizer() <em>Activity regularizer</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getActivity_regularizer()
+	 * @generated
+	 * @ordered
+	 */
+	protected String activity_regularizer = ACTIVITY_REGULARIZER_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getBias_constraint() <em>Bias constraint</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBias_constraint()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String BIAS_CONSTRAINT_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getBias_constraint() <em>Bias constraint</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBias_constraint()
+	 * @generated
+	 * @ordered
+	 */
+	protected String bias_constraint = BIAS_CONSTRAINT_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getBias_regularizer() <em>Bias regularizer</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBias_regularizer()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String BIAS_REGULARIZER_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getBias_regularizer() <em>Bias regularizer</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBias_regularizer()
+	 * @generated
+	 * @ordered
+	 */
+	protected String bias_regularizer = BIAS_REGULARIZER_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ConvolutionImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Convolution_layersPackage.Literals.CONVOLUTION;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int getIn_channels() {
+		return in_channels;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setIn_channels(int newIn_channels) {
+		int oldIn_channels = in_channels;
+		in_channels = newIn_channels;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Convolution_layersPackage.CONVOLUTION__IN_CHANNELS, oldIn_channels, in_channels));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int getGroups() {
+		return groups;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setGroups(int newGroups) {
+		int oldGroups = groups;
+		groups = newGroups;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Convolution_layersPackage.CONVOLUTION__GROUPS, oldGroups, groups));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isBiais() {
+		return biais;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setBiais(boolean newBiais) {
+		boolean oldBiais = biais;
+		biais = newBiais;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Convolution_layersPackage.CONVOLUTION__BIAIS, oldBiais, biais));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getPadding_mode() {
+		return padding_mode;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setPadding_mode(String newPadding_mode) {
+		String oldPadding_mode = padding_mode;
+		padding_mode = newPadding_mode;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Convolution_layersPackage.CONVOLUTION__PADDING_MODE, oldPadding_mode, padding_mode));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getData_format() {
+		return data_format;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setData_format(String newData_format) {
+		String oldData_format = data_format;
+		data_format = newData_format;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Convolution_layersPackage.CONVOLUTION__DATA_FORMAT, oldData_format, data_format));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<Integer> getDilation_rate() {
+		if (dilation_rate == null) {
+			dilation_rate = new EDataTypeUniqueEList<Integer>(Integer.class, this, Convolution_layersPackage.CONVOLUTION__DILATION_RATE);
+		}
+		return dilation_rate;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getActivation() {
+		return activation;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setActivation(String newActivation) {
+		String oldActivation = activation;
+		activation = newActivation;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Convolution_layersPackage.CONVOLUTION__ACTIVATION, oldActivation, activation));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getBias_initializer() {
+		return bias_initializer;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setBias_initializer(String newBias_initializer) {
+		String oldBias_initializer = bias_initializer;
+		bias_initializer = newBias_initializer;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Convolution_layersPackage.CONVOLUTION__BIAS_INITIALIZER, oldBias_initializer, bias_initializer));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getActivity_regularizer() {
+		return activity_regularizer;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setActivity_regularizer(String newActivity_regularizer) {
+		String oldActivity_regularizer = activity_regularizer;
+		activity_regularizer = newActivity_regularizer;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Convolution_layersPackage.CONVOLUTION__ACTIVITY_REGULARIZER, oldActivity_regularizer, activity_regularizer));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getBias_constraint() {
+		return bias_constraint;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setBias_constraint(String newBias_constraint) {
+		String oldBias_constraint = bias_constraint;
+		bias_constraint = newBias_constraint;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Convolution_layersPackage.CONVOLUTION__BIAS_CONSTRAINT, oldBias_constraint, bias_constraint));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getBias_regularizer() {
+		return bias_regularizer;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setBias_regularizer(String newBias_regularizer) {
+		String oldBias_regularizer = bias_regularizer;
+		bias_regularizer = newBias_regularizer;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Convolution_layersPackage.CONVOLUTION__BIAS_REGULARIZER, oldBias_regularizer, bias_regularizer));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case Convolution_layersPackage.CONVOLUTION__IN_CHANNELS:
+				return getIn_channels();
+			case Convolution_layersPackage.CONVOLUTION__GROUPS:
+				return getGroups();
+			case Convolution_layersPackage.CONVOLUTION__BIAIS:
+				return isBiais();
+			case Convolution_layersPackage.CONVOLUTION__PADDING_MODE:
+				return getPadding_mode();
+			case Convolution_layersPackage.CONVOLUTION__DATA_FORMAT:
+				return getData_format();
+			case Convolution_layersPackage.CONVOLUTION__DILATION_RATE:
+				return getDilation_rate();
+			case Convolution_layersPackage.CONVOLUTION__ACTIVATION:
+				return getActivation();
+			case Convolution_layersPackage.CONVOLUTION__BIAS_INITIALIZER:
+				return getBias_initializer();
+			case Convolution_layersPackage.CONVOLUTION__ACTIVITY_REGULARIZER:
+				return getActivity_regularizer();
+			case Convolution_layersPackage.CONVOLUTION__BIAS_CONSTRAINT:
+				return getBias_constraint();
+			case Convolution_layersPackage.CONVOLUTION__BIAS_REGULARIZER:
+				return getBias_regularizer();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case Convolution_layersPackage.CONVOLUTION__IN_CHANNELS:
+				setIn_channels((Integer)newValue);
+				return;
+			case Convolution_layersPackage.CONVOLUTION__GROUPS:
+				setGroups((Integer)newValue);
+				return;
+			case Convolution_layersPackage.CONVOLUTION__BIAIS:
+				setBiais((Boolean)newValue);
+				return;
+			case Convolution_layersPackage.CONVOLUTION__PADDING_MODE:
+				setPadding_mode((String)newValue);
+				return;
+			case Convolution_layersPackage.CONVOLUTION__DATA_FORMAT:
+				setData_format((String)newValue);
+				return;
+			case Convolution_layersPackage.CONVOLUTION__DILATION_RATE:
+				getDilation_rate().clear();
+				getDilation_rate().addAll((Collection<? extends Integer>)newValue);
+				return;
+			case Convolution_layersPackage.CONVOLUTION__ACTIVATION:
+				setActivation((String)newValue);
+				return;
+			case Convolution_layersPackage.CONVOLUTION__BIAS_INITIALIZER:
+				setBias_initializer((String)newValue);
+				return;
+			case Convolution_layersPackage.CONVOLUTION__ACTIVITY_REGULARIZER:
+				setActivity_regularizer((String)newValue);
+				return;
+			case Convolution_layersPackage.CONVOLUTION__BIAS_CONSTRAINT:
+				setBias_constraint((String)newValue);
+				return;
+			case Convolution_layersPackage.CONVOLUTION__BIAS_REGULARIZER:
+				setBias_regularizer((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case Convolution_layersPackage.CONVOLUTION__IN_CHANNELS:
+				setIn_channels(IN_CHANNELS_EDEFAULT);
+				return;
+			case Convolution_layersPackage.CONVOLUTION__GROUPS:
+				setGroups(GROUPS_EDEFAULT);
+				return;
+			case Convolution_layersPackage.CONVOLUTION__BIAIS:
+				setBiais(BIAIS_EDEFAULT);
+				return;
+			case Convolution_layersPackage.CONVOLUTION__PADDING_MODE:
+				setPadding_mode(PADDING_MODE_EDEFAULT);
+				return;
+			case Convolution_layersPackage.CONVOLUTION__DATA_FORMAT:
+				setData_format(DATA_FORMAT_EDEFAULT);
+				return;
+			case Convolution_layersPackage.CONVOLUTION__DILATION_RATE:
+				getDilation_rate().clear();
+				return;
+			case Convolution_layersPackage.CONVOLUTION__ACTIVATION:
+				setActivation(ACTIVATION_EDEFAULT);
+				return;
+			case Convolution_layersPackage.CONVOLUTION__BIAS_INITIALIZER:
+				setBias_initializer(BIAS_INITIALIZER_EDEFAULT);
+				return;
+			case Convolution_layersPackage.CONVOLUTION__ACTIVITY_REGULARIZER:
+				setActivity_regularizer(ACTIVITY_REGULARIZER_EDEFAULT);
+				return;
+			case Convolution_layersPackage.CONVOLUTION__BIAS_CONSTRAINT:
+				setBias_constraint(BIAS_CONSTRAINT_EDEFAULT);
+				return;
+			case Convolution_layersPackage.CONVOLUTION__BIAS_REGULARIZER:
+				setBias_regularizer(BIAS_REGULARIZER_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case Convolution_layersPackage.CONVOLUTION__IN_CHANNELS:
+				return in_channels != IN_CHANNELS_EDEFAULT;
+			case Convolution_layersPackage.CONVOLUTION__GROUPS:
+				return groups != GROUPS_EDEFAULT;
+			case Convolution_layersPackage.CONVOLUTION__BIAIS:
+				return biais != BIAIS_EDEFAULT;
+			case Convolution_layersPackage.CONVOLUTION__PADDING_MODE:
+				return PADDING_MODE_EDEFAULT == null ? padding_mode != null : !PADDING_MODE_EDEFAULT.equals(padding_mode);
+			case Convolution_layersPackage.CONVOLUTION__DATA_FORMAT:
+				return DATA_FORMAT_EDEFAULT == null ? data_format != null : !DATA_FORMAT_EDEFAULT.equals(data_format);
+			case Convolution_layersPackage.CONVOLUTION__DILATION_RATE:
+				return dilation_rate != null && !dilation_rate.isEmpty();
+			case Convolution_layersPackage.CONVOLUTION__ACTIVATION:
+				return ACTIVATION_EDEFAULT == null ? activation != null : !ACTIVATION_EDEFAULT.equals(activation);
+			case Convolution_layersPackage.CONVOLUTION__BIAS_INITIALIZER:
+				return BIAS_INITIALIZER_EDEFAULT == null ? bias_initializer != null : !BIAS_INITIALIZER_EDEFAULT.equals(bias_initializer);
+			case Convolution_layersPackage.CONVOLUTION__ACTIVITY_REGULARIZER:
+				return ACTIVITY_REGULARIZER_EDEFAULT == null ? activity_regularizer != null : !ACTIVITY_REGULARIZER_EDEFAULT.equals(activity_regularizer);
+			case Convolution_layersPackage.CONVOLUTION__BIAS_CONSTRAINT:
+				return BIAS_CONSTRAINT_EDEFAULT == null ? bias_constraint != null : !BIAS_CONSTRAINT_EDEFAULT.equals(bias_constraint);
+			case Convolution_layersPackage.CONVOLUTION__BIAS_REGULARIZER:
+				return BIAS_REGULARIZER_EDEFAULT == null ? bias_regularizer != null : !BIAS_REGULARIZER_EDEFAULT.equals(bias_regularizer);
+		}
+		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(" (in_channels: "); //$NON-NLS-1$
+		result.append(in_channels);
+		result.append(", groups: "); //$NON-NLS-1$
+		result.append(groups);
+		result.append(", biais: "); //$NON-NLS-1$
+		result.append(biais);
+		result.append(", padding_mode: "); //$NON-NLS-1$
+		result.append(padding_mode);
+		result.append(", data_format: "); //$NON-NLS-1$
+		result.append(data_format);
+		result.append(", dilation_rate: "); //$NON-NLS-1$
+		result.append(dilation_rate);
+		result.append(", activation: "); //$NON-NLS-1$
+		result.append(activation);
+		result.append(", bias_initializer: "); //$NON-NLS-1$
+		result.append(bias_initializer);
+		result.append(", activity_regularizer: "); //$NON-NLS-1$
+		result.append(activity_regularizer);
+		result.append(", bias_constraint: "); //$NON-NLS-1$
+		result.append(bias_constraint);
+		result.append(", bias_regularizer: "); //$NON-NLS-1$
+		result.append(bias_regularizer);
+		result.append(')');
+		return result.toString();
+	}
+
+} //ConvolutionImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/Convolution_layersFactoryImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/Convolution_layersFactoryImpl.java
new file mode 100644
index 0000000..2ca89fe
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/Convolution_layersFactoryImpl.java
@@ -0,0 +1,226 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class Convolution_layersFactoryImpl extends EFactoryImpl implements Convolution_layersFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static Convolution_layersFactory init() {
+		try {
+			Convolution_layersFactory theConvolution_layersFactory = (Convolution_layersFactory)EPackage.Registry.INSTANCE.getEFactory(Convolution_layersPackage.eNS_URI);
+			if (theConvolution_layersFactory != null) {
+				return theConvolution_layersFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new Convolution_layersFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Convolution_layersFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case Convolution_layersPackage.UNFOLD: return createUnfold();
+			case Convolution_layersPackage.FOLD: return createFold();
+			case Convolution_layersPackage.CONV2D: return createConv2d();
+			case Convolution_layersPackage.CONV3D: return createConv3d();
+			case Convolution_layersPackage.CONV_TRANSPOSE1D: return createConvTranspose1d();
+			case Convolution_layersPackage.CONV_TRANSPOSE2D: return createConvTranspose2d();
+			case Convolution_layersPackage.CONV_TRANSPOSE3D: return createConvTranspose3d();
+			case Convolution_layersPackage.CONV1D: return createConv1d();
+			case Convolution_layersPackage.SEPARABLE_CONV2_D: return createSeparableConv2D();
+			case Convolution_layersPackage.SEPARABLE_CONV1_D: return createSeparableConv1D();
+			case Convolution_layersPackage.DEPTHWISE_CONV2_D: return createDepthwiseConv2D();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Unfold createUnfold() {
+		UnfoldImpl unfold = new UnfoldImpl();
+		return unfold;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Fold createFold() {
+		FoldImpl fold = new FoldImpl();
+		return fold;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Conv2d createConv2d() {
+		Conv2dImpl conv2d = new Conv2dImpl();
+		return conv2d;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Conv3d createConv3d() {
+		Conv3dImpl conv3d = new Conv3dImpl();
+		return conv3d;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ConvTranspose1d createConvTranspose1d() {
+		ConvTranspose1dImpl convTranspose1d = new ConvTranspose1dImpl();
+		return convTranspose1d;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ConvTranspose2d createConvTranspose2d() {
+		ConvTranspose2dImpl convTranspose2d = new ConvTranspose2dImpl();
+		return convTranspose2d;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ConvTranspose3d createConvTranspose3d() {
+		ConvTranspose3dImpl convTranspose3d = new ConvTranspose3dImpl();
+		return convTranspose3d;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Conv1d createConv1d() {
+		Conv1dImpl conv1d = new Conv1dImpl();
+		return conv1d;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public SeparableConv2D createSeparableConv2D() {
+		SeparableConv2DImpl separableConv2D = new SeparableConv2DImpl();
+		return separableConv2D;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public SeparableConv1D createSeparableConv1D() {
+		SeparableConv1DImpl separableConv1D = new SeparableConv1DImpl();
+		return separableConv1D;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public DepthwiseConv2D createDepthwiseConv2D() {
+		DepthwiseConv2DImpl depthwiseConv2D = new DepthwiseConv2DImpl();
+		return depthwiseConv2D;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Convolution_layersPackage getConvolution_layersPackage() {
+		return (Convolution_layersPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static Convolution_layersPackage getPackage() {
+		return Convolution_layersPackage.eINSTANCE;
+	}
+
+} //Convolution_layersFactoryImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/Convolution_layersImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/Convolution_layersImpl.java
new file mode 100644
index 0000000..f0a0269
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/Convolution_layersImpl.java
@@ -0,0 +1,269 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layers;
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Module.impl.ModelImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Convolution layers</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersImpl#getKernel_size <em>Kernel size</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersImpl#getStride <em>Stride</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersImpl#getPadding <em>Padding</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersImpl#getDilation <em>Dilation</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class Convolution_layersImpl extends ModelImpl implements Convolution_layers {
+	/**
+	 * The cached value of the '{@link #getKernel_size() <em>Kernel size</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getKernel_size()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Integer> kernel_size;
+
+	/**
+	 * The cached value of the '{@link #getStride() <em>Stride</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getStride()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Integer> stride;
+
+	/**
+	 * The cached value of the '{@link #getPadding() <em>Padding</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPadding()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Integer> padding;
+
+	/**
+	 * The cached value of the '{@link #getDilation() <em>Dilation</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDilation()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Integer> dilation;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Convolution_layersImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Convolution_layersPackage.Literals.CONVOLUTION_LAYERS;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<Integer> getKernel_size() {
+		if (kernel_size == null) {
+			kernel_size = new EDataTypeUniqueEList<Integer>(Integer.class, this, Convolution_layersPackage.CONVOLUTION_LAYERS__KERNEL_SIZE);
+		}
+		return kernel_size;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<Integer> getStride() {
+		if (stride == null) {
+			stride = new EDataTypeUniqueEList<Integer>(Integer.class, this, Convolution_layersPackage.CONVOLUTION_LAYERS__STRIDE);
+		}
+		return stride;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<Integer> getPadding() {
+		if (padding == null) {
+			padding = new EDataTypeUniqueEList<Integer>(Integer.class, this, Convolution_layersPackage.CONVOLUTION_LAYERS__PADDING);
+		}
+		return padding;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<Integer> getDilation() {
+		if (dilation == null) {
+			dilation = new EDataTypeUniqueEList<Integer>(Integer.class, this, Convolution_layersPackage.CONVOLUTION_LAYERS__DILATION);
+		}
+		return dilation;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case Convolution_layersPackage.CONVOLUTION_LAYERS__KERNEL_SIZE:
+				return getKernel_size();
+			case Convolution_layersPackage.CONVOLUTION_LAYERS__STRIDE:
+				return getStride();
+			case Convolution_layersPackage.CONVOLUTION_LAYERS__PADDING:
+				return getPadding();
+			case Convolution_layersPackage.CONVOLUTION_LAYERS__DILATION:
+				return getDilation();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case Convolution_layersPackage.CONVOLUTION_LAYERS__KERNEL_SIZE:
+				getKernel_size().clear();
+				getKernel_size().addAll((Collection<? extends Integer>)newValue);
+				return;
+			case Convolution_layersPackage.CONVOLUTION_LAYERS__STRIDE:
+				getStride().clear();
+				getStride().addAll((Collection<? extends Integer>)newValue);
+				return;
+			case Convolution_layersPackage.CONVOLUTION_LAYERS__PADDING:
+				getPadding().clear();
+				getPadding().addAll((Collection<? extends Integer>)newValue);
+				return;
+			case Convolution_layersPackage.CONVOLUTION_LAYERS__DILATION:
+				getDilation().clear();
+				getDilation().addAll((Collection<? extends Integer>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case Convolution_layersPackage.CONVOLUTION_LAYERS__KERNEL_SIZE:
+				getKernel_size().clear();
+				return;
+			case Convolution_layersPackage.CONVOLUTION_LAYERS__STRIDE:
+				getStride().clear();
+				return;
+			case Convolution_layersPackage.CONVOLUTION_LAYERS__PADDING:
+				getPadding().clear();
+				return;
+			case Convolution_layersPackage.CONVOLUTION_LAYERS__DILATION:
+				getDilation().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case Convolution_layersPackage.CONVOLUTION_LAYERS__KERNEL_SIZE:
+				return kernel_size != null && !kernel_size.isEmpty();
+			case Convolution_layersPackage.CONVOLUTION_LAYERS__STRIDE:
+				return stride != null && !stride.isEmpty();
+			case Convolution_layersPackage.CONVOLUTION_LAYERS__PADDING:
+				return padding != null && !padding.isEmpty();
+			case Convolution_layersPackage.CONVOLUTION_LAYERS__DILATION:
+				return dilation != null && !dilation.isEmpty();
+		}
+		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(" (kernel_size: "); //$NON-NLS-1$
+		result.append(kernel_size);
+		result.append(", stride: "); //$NON-NLS-1$
+		result.append(stride);
+		result.append(", padding: "); //$NON-NLS-1$
+		result.append(padding);
+		result.append(", dilation: "); //$NON-NLS-1$
+		result.append(dilation);
+		result.append(')');
+		return result.toString();
+	}
+
+} //Convolution_layersImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/Convolution_layersPackageImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/Convolution_layersPackageImpl.java
new file mode 100644
index 0000000..6682399
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/Convolution_layersPackageImpl.java
@@ -0,0 +1,1113 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.AIMLPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Conv1d;
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Conv2d;
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Conv3d;
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.ConvTranspose1d;
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.ConvTranspose2d;
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.ConvTranspose3d;
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution;
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layers;
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersFactory;
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.DepthwiseConv2D;
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Fold;
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.LayerWithFilter;
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Separable;
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.SeparableConv1D;
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.SeparableConv2D;
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Unfold;
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.basic;
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.transpose;
+
+import org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl.DataParallel_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.Distance_functionsPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.impl.Distance_functionsPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.Dropout_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.Layer_weight_constraintsPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.Layer_weight_constraintsPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.Layer_weight_initializersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.Layer_weight_regularizersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.Layer_weight_regularizersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.Linear_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Loss_functions.Loss_functionsPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Loss_functions.impl.Loss_functionsPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Module.ModulePackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Module.impl.ModulePackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.NonLinearActivationsPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.impl.NonLinearActivationsPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Normalization_layers.Normalization_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Normalization_layers.impl.Normalization_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Padding_layers.Padding_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Padding_layers.impl.Padding_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Pooling_layers.Pooling_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Pooling_layers.impl.Pooling_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Recurrent_layers.Recurrent_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Recurrent_layers.impl.Recurrent_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.SoftMinMaxActivations.SoftMinMaxActivationsPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.SoftMinMaxActivations.impl.SoftMinMaxActivationsPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Sparse_layers.Sparse_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Sparse_layers.impl.Sparse_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Tensor.TensorPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Tensor.impl.TensorPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Transformer_layers.Transformer_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Transformer_layers.impl.Transformer_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Vision_layers.Vision_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Vision_layers.impl.Vision_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.datatypes.DatatypesPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.datatypes.impl.DatatypesPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.impl.AIMLPackageImpl;
+
+import org.eclipse.uml2.types.TypesPackage;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class Convolution_layersPackageImpl extends EPackageImpl implements Convolution_layersPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass convolutionEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass convolution_layersEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass unfoldEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass foldEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass conv2dEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass basicEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass layerWithFilterEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass conv3dEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass convTranspose1dEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass convTranspose2dEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass transposeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass convTranspose3dEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass conv1dEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass separableEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass separableConv2DEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass separableConv1DEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass depthwiseConv2DEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private Convolution_layersPackageImpl() {
+		super(eNS_URI, Convolution_layersFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 *
+	 * <p>This method is used to initialize {@link Convolution_layersPackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static Convolution_layersPackage init() {
+		if (isInited) return (Convolution_layersPackage)EPackage.Registry.INSTANCE.getEPackage(Convolution_layersPackage.eNS_URI);
+
+		// Obtain or create and register package
+		Object registeredConvolution_layersPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+		Convolution_layersPackageImpl theConvolution_layersPackage = registeredConvolution_layersPackage instanceof Convolution_layersPackageImpl ? (Convolution_layersPackageImpl)registeredConvolution_layersPackage : new Convolution_layersPackageImpl();
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		EcorePackage.eINSTANCE.eClass();
+		TypesPackage.eINSTANCE.eClass();
+		UMLPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		Object registeredPackage = EPackage.Registry.INSTANCE.getEPackage(AIMLPackage.eNS_URI);
+		AIMLPackageImpl theAIMLPackage = (AIMLPackageImpl)(registeredPackage instanceof AIMLPackageImpl ? registeredPackage : AIMLPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ModulePackage.eNS_URI);
+		ModulePackageImpl theModulePackage = (ModulePackageImpl)(registeredPackage instanceof ModulePackageImpl ? registeredPackage : ModulePackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(TensorPackage.eNS_URI);
+		TensorPackageImpl theTensorPackage = (TensorPackageImpl)(registeredPackage instanceof TensorPackageImpl ? registeredPackage : TensorPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI);
+		DatatypesPackageImpl theDatatypesPackage = (DatatypesPackageImpl)(registeredPackage instanceof DatatypesPackageImpl ? registeredPackage : DatatypesPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Pooling_layersPackage.eNS_URI);
+		Pooling_layersPackageImpl thePooling_layersPackage = (Pooling_layersPackageImpl)(registeredPackage instanceof Pooling_layersPackageImpl ? registeredPackage : Pooling_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Layer_weight_constraintsPackage.eNS_URI);
+		Layer_weight_constraintsPackageImpl theLayer_weight_constraintsPackage = (Layer_weight_constraintsPackageImpl)(registeredPackage instanceof Layer_weight_constraintsPackageImpl ? registeredPackage : Layer_weight_constraintsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Padding_layersPackage.eNS_URI);
+		Padding_layersPackageImpl thePadding_layersPackage = (Padding_layersPackageImpl)(registeredPackage instanceof Padding_layersPackageImpl ? registeredPackage : Padding_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(NonLinearActivationsPackage.eNS_URI);
+		NonLinearActivationsPackageImpl theNonLinearActivationsPackage = (NonLinearActivationsPackageImpl)(registeredPackage instanceof NonLinearActivationsPackageImpl ? registeredPackage : NonLinearActivationsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(SoftMinMaxActivationsPackage.eNS_URI);
+		SoftMinMaxActivationsPackageImpl theSoftMinMaxActivationsPackage = (SoftMinMaxActivationsPackageImpl)(registeredPackage instanceof SoftMinMaxActivationsPackageImpl ? registeredPackage : SoftMinMaxActivationsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Normalization_layersPackage.eNS_URI);
+		Normalization_layersPackageImpl theNormalization_layersPackage = (Normalization_layersPackageImpl)(registeredPackage instanceof Normalization_layersPackageImpl ? registeredPackage : Normalization_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Recurrent_layersPackage.eNS_URI);
+		Recurrent_layersPackageImpl theRecurrent_layersPackage = (Recurrent_layersPackageImpl)(registeredPackage instanceof Recurrent_layersPackageImpl ? registeredPackage : Recurrent_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Transformer_layersPackage.eNS_URI);
+		Transformer_layersPackageImpl theTransformer_layersPackage = (Transformer_layersPackageImpl)(registeredPackage instanceof Transformer_layersPackageImpl ? registeredPackage : Transformer_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Linear_layersPackage.eNS_URI);
+		Linear_layersPackageImpl theLinear_layersPackage = (Linear_layersPackageImpl)(registeredPackage instanceof Linear_layersPackageImpl ? registeredPackage : Linear_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Dropout_layersPackage.eNS_URI);
+		Dropout_layersPackageImpl theDropout_layersPackage = (Dropout_layersPackageImpl)(registeredPackage instanceof Dropout_layersPackageImpl ? registeredPackage : Dropout_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Sparse_layersPackage.eNS_URI);
+		Sparse_layersPackageImpl theSparse_layersPackage = (Sparse_layersPackageImpl)(registeredPackage instanceof Sparse_layersPackageImpl ? registeredPackage : Sparse_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Distance_functionsPackage.eNS_URI);
+		Distance_functionsPackageImpl theDistance_functionsPackage = (Distance_functionsPackageImpl)(registeredPackage instanceof Distance_functionsPackageImpl ? registeredPackage : Distance_functionsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Loss_functionsPackage.eNS_URI);
+		Loss_functionsPackageImpl theLoss_functionsPackage = (Loss_functionsPackageImpl)(registeredPackage instanceof Loss_functionsPackageImpl ? registeredPackage : Loss_functionsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Vision_layersPackage.eNS_URI);
+		Vision_layersPackageImpl theVision_layersPackage = (Vision_layersPackageImpl)(registeredPackage instanceof Vision_layersPackageImpl ? registeredPackage : Vision_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(DataParallel_layersPackage.eNS_URI);
+		DataParallel_layersPackageImpl theDataParallel_layersPackage = (DataParallel_layersPackageImpl)(registeredPackage instanceof DataParallel_layersPackageImpl ? registeredPackage : DataParallel_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Layer_weight_regularizersPackage.eNS_URI);
+		Layer_weight_regularizersPackageImpl theLayer_weight_regularizersPackage = (Layer_weight_regularizersPackageImpl)(registeredPackage instanceof Layer_weight_regularizersPackageImpl ? registeredPackage : Layer_weight_regularizersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Layer_weight_initializersPackage.eNS_URI);
+		Layer_weight_initializersPackageImpl theLayer_weight_initializersPackage = (Layer_weight_initializersPackageImpl)(registeredPackage instanceof Layer_weight_initializersPackageImpl ? registeredPackage : Layer_weight_initializersPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theConvolution_layersPackage.createPackageContents();
+		theAIMLPackage.createPackageContents();
+		theModulePackage.createPackageContents();
+		theTensorPackage.createPackageContents();
+		theDatatypesPackage.createPackageContents();
+		thePooling_layersPackage.createPackageContents();
+		theLayer_weight_constraintsPackage.createPackageContents();
+		thePadding_layersPackage.createPackageContents();
+		theNonLinearActivationsPackage.createPackageContents();
+		theSoftMinMaxActivationsPackage.createPackageContents();
+		theNormalization_layersPackage.createPackageContents();
+		theRecurrent_layersPackage.createPackageContents();
+		theTransformer_layersPackage.createPackageContents();
+		theLinear_layersPackage.createPackageContents();
+		theDropout_layersPackage.createPackageContents();
+		theSparse_layersPackage.createPackageContents();
+		theDistance_functionsPackage.createPackageContents();
+		theLoss_functionsPackage.createPackageContents();
+		theVision_layersPackage.createPackageContents();
+		theDataParallel_layersPackage.createPackageContents();
+		theLayer_weight_regularizersPackage.createPackageContents();
+		theLayer_weight_initializersPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theConvolution_layersPackage.initializePackageContents();
+		theAIMLPackage.initializePackageContents();
+		theModulePackage.initializePackageContents();
+		theTensorPackage.initializePackageContents();
+		theDatatypesPackage.initializePackageContents();
+		thePooling_layersPackage.initializePackageContents();
+		theLayer_weight_constraintsPackage.initializePackageContents();
+		thePadding_layersPackage.initializePackageContents();
+		theNonLinearActivationsPackage.initializePackageContents();
+		theSoftMinMaxActivationsPackage.initializePackageContents();
+		theNormalization_layersPackage.initializePackageContents();
+		theRecurrent_layersPackage.initializePackageContents();
+		theTransformer_layersPackage.initializePackageContents();
+		theLinear_layersPackage.initializePackageContents();
+		theDropout_layersPackage.initializePackageContents();
+		theSparse_layersPackage.initializePackageContents();
+		theDistance_functionsPackage.initializePackageContents();
+		theLoss_functionsPackage.initializePackageContents();
+		theVision_layersPackage.initializePackageContents();
+		theDataParallel_layersPackage.initializePackageContents();
+		theLayer_weight_regularizersPackage.initializePackageContents();
+		theLayer_weight_initializersPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theConvolution_layersPackage.freeze();
+
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(Convolution_layersPackage.eNS_URI, theConvolution_layersPackage);
+		return theConvolution_layersPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getConvolution() {
+		return convolutionEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getConvolution_In_channels() {
+		return (EAttribute)convolutionEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getConvolution_Groups() {
+		return (EAttribute)convolutionEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getConvolution_Biais() {
+		return (EAttribute)convolutionEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getConvolution_Padding_mode() {
+		return (EAttribute)convolutionEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getConvolution_Data_format() {
+		return (EAttribute)convolutionEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getConvolution_Dilation_rate() {
+		return (EAttribute)convolutionEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getConvolution_Activation() {
+		return (EAttribute)convolutionEClass.getEStructuralFeatures().get(6);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getConvolution_Bias_initializer() {
+		return (EAttribute)convolutionEClass.getEStructuralFeatures().get(7);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getConvolution_Activity_regularizer() {
+		return (EAttribute)convolutionEClass.getEStructuralFeatures().get(8);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getConvolution_Bias_constraint() {
+		return (EAttribute)convolutionEClass.getEStructuralFeatures().get(9);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getConvolution_Bias_regularizer() {
+		return (EAttribute)convolutionEClass.getEStructuralFeatures().get(10);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getConvolution_layers() {
+		return convolution_layersEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getConvolution_layers_Kernel_size() {
+		return (EAttribute)convolution_layersEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getConvolution_layers_Stride() {
+		return (EAttribute)convolution_layersEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getConvolution_layers_Padding() {
+		return (EAttribute)convolution_layersEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getConvolution_layers_Dilation() {
+		return (EAttribute)convolution_layersEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getUnfold() {
+		return unfoldEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getFold() {
+		return foldEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getFold_Output_size() {
+		return (EAttribute)foldEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getConv2d() {
+		return conv2dEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getbasic() {
+		return basicEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getbasic_Kernel_initializer() {
+		return (EAttribute)basicEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getbasic_Kernel_constraint() {
+		return (EReference)basicEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getbasic_Kernel_regularizer() {
+		return (EAttribute)basicEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getLayerWithFilter() {
+		return layerWithFilterEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getLayerWithFilter_Out_channels() {
+		return (EAttribute)layerWithFilterEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getConv3d() {
+		return conv3dEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getConvTranspose1d() {
+		return convTranspose1dEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getConvTranspose2d() {
+		return convTranspose2dEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass gettranspose() {
+		return transposeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute gettranspose_Output_padding() {
+		return (EAttribute)transposeEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getConvTranspose3d() {
+		return convTranspose3dEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getConv1d() {
+		return conv1dEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getSeparable() {
+		return separableEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getSeparable_Depth_multiplier() {
+		return (EAttribute)separableEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getSeparable_Depthwise_initializer() {
+		return (EAttribute)separableEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getSeparable_Pointwise_initializer() {
+		return (EAttribute)separableEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getSeparable_Depthwise_regularizer() {
+		return (EAttribute)separableEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getSeparable_Poitnwise_regularizer() {
+		return (EAttribute)separableEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getSeparable_Depthwise_constraint() {
+		return (EAttribute)separableEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getSeparable_Pointwise_constraint() {
+		return (EAttribute)separableEClass.getEStructuralFeatures().get(6);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getSeparableConv2D() {
+		return separableConv2DEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getSeparableConv1D() {
+		return separableConv1DEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getDepthwiseConv2D() {
+		return depthwiseConv2DEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getDepthwiseConv2D_Depth_multiplier() {
+		return (EAttribute)depthwiseConv2DEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getDepthwiseConv2D_Depthwise_initializer() {
+		return (EAttribute)depthwiseConv2DEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getDepthwiseConv2D_Depthwise_regularizer() {
+		return (EAttribute)depthwiseConv2DEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getDepthwiseConv2D_Depthwise_constraint() {
+		return (EAttribute)depthwiseConv2DEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Convolution_layersFactory getConvolution_layersFactory() {
+		return (Convolution_layersFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		convolutionEClass = createEClass(CONVOLUTION);
+		createEAttribute(convolutionEClass, CONVOLUTION__IN_CHANNELS);
+		createEAttribute(convolutionEClass, CONVOLUTION__GROUPS);
+		createEAttribute(convolutionEClass, CONVOLUTION__BIAIS);
+		createEAttribute(convolutionEClass, CONVOLUTION__PADDING_MODE);
+		createEAttribute(convolutionEClass, CONVOLUTION__DATA_FORMAT);
+		createEAttribute(convolutionEClass, CONVOLUTION__DILATION_RATE);
+		createEAttribute(convolutionEClass, CONVOLUTION__ACTIVATION);
+		createEAttribute(convolutionEClass, CONVOLUTION__BIAS_INITIALIZER);
+		createEAttribute(convolutionEClass, CONVOLUTION__ACTIVITY_REGULARIZER);
+		createEAttribute(convolutionEClass, CONVOLUTION__BIAS_CONSTRAINT);
+		createEAttribute(convolutionEClass, CONVOLUTION__BIAS_REGULARIZER);
+
+		convolution_layersEClass = createEClass(CONVOLUTION_LAYERS);
+		createEAttribute(convolution_layersEClass, CONVOLUTION_LAYERS__KERNEL_SIZE);
+		createEAttribute(convolution_layersEClass, CONVOLUTION_LAYERS__STRIDE);
+		createEAttribute(convolution_layersEClass, CONVOLUTION_LAYERS__PADDING);
+		createEAttribute(convolution_layersEClass, CONVOLUTION_LAYERS__DILATION);
+
+		unfoldEClass = createEClass(UNFOLD);
+
+		foldEClass = createEClass(FOLD);
+		createEAttribute(foldEClass, FOLD__OUTPUT_SIZE);
+
+		conv2dEClass = createEClass(CONV2D);
+
+		basicEClass = createEClass(BASIC);
+		createEAttribute(basicEClass, BASIC__KERNEL_INITIALIZER);
+		createEReference(basicEClass, BASIC__KERNEL_CONSTRAINT);
+		createEAttribute(basicEClass, BASIC__KERNEL_REGULARIZER);
+
+		layerWithFilterEClass = createEClass(LAYER_WITH_FILTER);
+		createEAttribute(layerWithFilterEClass, LAYER_WITH_FILTER__OUT_CHANNELS);
+
+		conv3dEClass = createEClass(CONV3D);
+
+		convTranspose1dEClass = createEClass(CONV_TRANSPOSE1D);
+
+		convTranspose2dEClass = createEClass(CONV_TRANSPOSE2D);
+
+		transposeEClass = createEClass(TRANSPOSE);
+		createEAttribute(transposeEClass, TRANSPOSE__OUTPUT_PADDING);
+
+		convTranspose3dEClass = createEClass(CONV_TRANSPOSE3D);
+
+		conv1dEClass = createEClass(CONV1D);
+
+		separableEClass = createEClass(SEPARABLE);
+		createEAttribute(separableEClass, SEPARABLE__DEPTH_MULTIPLIER);
+		createEAttribute(separableEClass, SEPARABLE__DEPTHWISE_INITIALIZER);
+		createEAttribute(separableEClass, SEPARABLE__POINTWISE_INITIALIZER);
+		createEAttribute(separableEClass, SEPARABLE__DEPTHWISE_REGULARIZER);
+		createEAttribute(separableEClass, SEPARABLE__POITNWISE_REGULARIZER);
+		createEAttribute(separableEClass, SEPARABLE__DEPTHWISE_CONSTRAINT);
+		createEAttribute(separableEClass, SEPARABLE__POINTWISE_CONSTRAINT);
+
+		separableConv2DEClass = createEClass(SEPARABLE_CONV2_D);
+
+		separableConv1DEClass = createEClass(SEPARABLE_CONV1_D);
+
+		depthwiseConv2DEClass = createEClass(DEPTHWISE_CONV2_D);
+		createEAttribute(depthwiseConv2DEClass, DEPTHWISE_CONV2_D__DEPTH_MULTIPLIER);
+		createEAttribute(depthwiseConv2DEClass, DEPTHWISE_CONV2_D__DEPTHWISE_INITIALIZER);
+		createEAttribute(depthwiseConv2DEClass, DEPTHWISE_CONV2_D__DEPTHWISE_REGULARIZER);
+		createEAttribute(depthwiseConv2DEClass, DEPTHWISE_CONV2_D__DEPTHWISE_CONSTRAINT);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+		ModulePackage theModulePackage = (ModulePackage)EPackage.Registry.INSTANCE.getEPackage(ModulePackage.eNS_URI);
+		Layer_weight_constraintsPackage theLayer_weight_constraintsPackage = (Layer_weight_constraintsPackage)EPackage.Registry.INSTANCE.getEPackage(Layer_weight_constraintsPackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+		convolutionEClass.getESuperTypes().add(this.getConvolution_layers());
+		convolution_layersEClass.getESuperTypes().add(theModulePackage.getModel());
+		unfoldEClass.getESuperTypes().add(this.getConvolution_layers());
+		foldEClass.getESuperTypes().add(this.getConvolution_layers());
+		conv2dEClass.getESuperTypes().add(this.getbasic());
+		basicEClass.getESuperTypes().add(this.getLayerWithFilter());
+		layerWithFilterEClass.getESuperTypes().add(this.getConvolution());
+		conv3dEClass.getESuperTypes().add(this.getbasic());
+		convTranspose1dEClass.getESuperTypes().add(this.getLayerWithFilter());
+		convTranspose2dEClass.getESuperTypes().add(this.gettranspose());
+		transposeEClass.getESuperTypes().add(this.getbasic());
+		convTranspose3dEClass.getESuperTypes().add(this.gettranspose());
+		conv1dEClass.getESuperTypes().add(this.getbasic());
+		separableEClass.getESuperTypes().add(this.getLayerWithFilter());
+		separableConv2DEClass.getESuperTypes().add(this.getSeparable());
+		separableConv1DEClass.getESuperTypes().add(this.getSeparable());
+		depthwiseConv2DEClass.getESuperTypes().add(this.getConvolution());
+
+		// Initialize classes, features, and operations; add parameters
+		initEClass(convolutionEClass, Convolution.class, "Convolution", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(getConvolution_In_channels(), theTypesPackage.getInteger(), "in_channels", null, 0, 1, Convolution.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getConvolution_Groups(), theTypesPackage.getInteger(), "groups", null, 0, 1, Convolution.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getConvolution_Biais(), theTypesPackage.getBoolean(), "biais", null, 0, 1, Convolution.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getConvolution_Padding_mode(), theTypesPackage.getString(), "padding_mode", null, 0, 1, Convolution.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getConvolution_Data_format(), theTypesPackage.getString(), "data_format", null, 0, 1, Convolution.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getConvolution_Dilation_rate(), theTypesPackage.getInteger(), "dilation_rate", null, 0, -1, Convolution.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getConvolution_Activation(), theTypesPackage.getString(), "activation", null, 0, 1, Convolution.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getConvolution_Bias_initializer(), theTypesPackage.getString(), "bias_initializer", null, 1, 1, Convolution.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getConvolution_Activity_regularizer(), theTypesPackage.getString(), "activity_regularizer", null, 1, 1, Convolution.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getConvolution_Bias_constraint(), theTypesPackage.getString(), "bias_constraint", null, 1, 1, Convolution.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getConvolution_Bias_regularizer(), theTypesPackage.getString(), "bias_regularizer", null, 1, 1, Convolution.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(convolution_layersEClass, Convolution_layers.class, "Convolution_layers", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(getConvolution_layers_Kernel_size(), theTypesPackage.getInteger(), "kernel_size", null, 0, -1, Convolution_layers.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getConvolution_layers_Stride(), theTypesPackage.getInteger(), "stride", null, 0, -1, Convolution_layers.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getConvolution_layers_Padding(), theTypesPackage.getInteger(), "padding", null, 0, -1, Convolution_layers.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getConvolution_layers_Dilation(), theTypesPackage.getInteger(), "dilation", null, 0, -1, Convolution_layers.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(unfoldEClass, Unfold.class, "Unfold", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		initEClass(foldEClass, Fold.class, "Fold", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(getFold_Output_size(), theTypesPackage.getInteger(), "output_size", null, 0, -1, Fold.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(conv2dEClass, Conv2d.class, "Conv2d", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		initEClass(basicEClass, basic.class, "basic", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(getbasic_Kernel_initializer(), theTypesPackage.getString(), "kernel_initializer", null, 0, 1, basic.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEReference(getbasic_Kernel_constraint(), theLayer_weight_constraintsPackage.getconstraints(), null, "kernel_constraint", null, 1, 1, basic.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getbasic_Kernel_regularizer(), theTypesPackage.getString(), "kernel_regularizer", null, 0, 1, basic.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(layerWithFilterEClass, LayerWithFilter.class, "LayerWithFilter", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(getLayerWithFilter_Out_channels(), theTypesPackage.getInteger(), "out_channels", null, 1, 1, LayerWithFilter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(conv3dEClass, Conv3d.class, "Conv3d", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		initEClass(convTranspose1dEClass, ConvTranspose1d.class, "ConvTranspose1d", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		initEClass(convTranspose2dEClass, ConvTranspose2d.class, "ConvTranspose2d", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		initEClass(transposeEClass, transpose.class, "transpose", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(gettranspose_Output_padding(), theTypesPackage.getInteger(), "output_padding", null, 0, -1, transpose.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(convTranspose3dEClass, ConvTranspose3d.class, "ConvTranspose3d", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		initEClass(conv1dEClass, Conv1d.class, "Conv1d", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		initEClass(separableEClass, Separable.class, "Separable", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(getSeparable_Depth_multiplier(), theTypesPackage.getInteger(), "depth_multiplier", null, 0, -1, Separable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getSeparable_Depthwise_initializer(), theTypesPackage.getString(), "depthwise_initializer", null, 0, 1, Separable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getSeparable_Pointwise_initializer(), theTypesPackage.getString(), "pointwise_initializer", null, 0, 1, Separable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getSeparable_Depthwise_regularizer(), theTypesPackage.getString(), "depthwise_regularizer", null, 1, 1, Separable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getSeparable_Poitnwise_regularizer(), theTypesPackage.getString(), "poitnwise_regularizer", null, 1, 1, Separable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getSeparable_Depthwise_constraint(), theTypesPackage.getString(), "depthwise_constraint", null, 1, 1, Separable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getSeparable_Pointwise_constraint(), theTypesPackage.getString(), "pointwise_constraint", null, 1, 1, Separable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(separableConv2DEClass, SeparableConv2D.class, "SeparableConv2D", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		initEClass(separableConv1DEClass, SeparableConv1D.class, "SeparableConv1D", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		initEClass(depthwiseConv2DEClass, DepthwiseConv2D.class, "DepthwiseConv2D", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(getDepthwiseConv2D_Depth_multiplier(), theTypesPackage.getInteger(), "depth_multiplier", null, 0, -1, DepthwiseConv2D.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getDepthwiseConv2D_Depthwise_initializer(), theTypesPackage.getString(), "depthwise_initializer", null, 1, 1, DepthwiseConv2D.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getDepthwiseConv2D_Depthwise_regularizer(), theTypesPackage.getString(), "depthwise_regularizer", null, 1, 1, DepthwiseConv2D.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getDepthwiseConv2D_Depthwise_constraint(), theTypesPackage.getString(), "depthwise_constraint", null, 1, 1, DepthwiseConv2D.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+	}
+
+} //Convolution_layersPackageImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/DepthwiseConv2DImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/DepthwiseConv2DImpl.java
new file mode 100644
index 0000000..4c634fb
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/DepthwiseConv2DImpl.java
@@ -0,0 +1,329 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.DepthwiseConv2D;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Depthwise Conv2 D</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.DepthwiseConv2DImpl#getDepth_multiplier <em>Depth multiplier</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.DepthwiseConv2DImpl#getDepthwise_initializer <em>Depthwise initializer</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.DepthwiseConv2DImpl#getDepthwise_regularizer <em>Depthwise regularizer</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.DepthwiseConv2DImpl#getDepthwise_constraint <em>Depthwise constraint</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DepthwiseConv2DImpl extends ConvolutionImpl implements DepthwiseConv2D {
+	/**
+	 * The cached value of the '{@link #getDepth_multiplier() <em>Depth multiplier</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDepth_multiplier()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Integer> depth_multiplier;
+
+	/**
+	 * The default value of the '{@link #getDepthwise_initializer() <em>Depthwise initializer</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDepthwise_initializer()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DEPTHWISE_INITIALIZER_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getDepthwise_initializer() <em>Depthwise initializer</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDepthwise_initializer()
+	 * @generated
+	 * @ordered
+	 */
+	protected String depthwise_initializer = DEPTHWISE_INITIALIZER_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDepthwise_regularizer() <em>Depthwise regularizer</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDepthwise_regularizer()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DEPTHWISE_REGULARIZER_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getDepthwise_regularizer() <em>Depthwise regularizer</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDepthwise_regularizer()
+	 * @generated
+	 * @ordered
+	 */
+	protected String depthwise_regularizer = DEPTHWISE_REGULARIZER_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDepthwise_constraint() <em>Depthwise constraint</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDepthwise_constraint()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DEPTHWISE_CONSTRAINT_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getDepthwise_constraint() <em>Depthwise constraint</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDepthwise_constraint()
+	 * @generated
+	 * @ordered
+	 */
+	protected String depthwise_constraint = DEPTHWISE_CONSTRAINT_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DepthwiseConv2DImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Convolution_layersPackage.Literals.DEPTHWISE_CONV2_D;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<Integer> getDepth_multiplier() {
+		if (depth_multiplier == null) {
+			depth_multiplier = new EDataTypeUniqueEList<Integer>(Integer.class, this, Convolution_layersPackage.DEPTHWISE_CONV2_D__DEPTH_MULTIPLIER);
+		}
+		return depth_multiplier;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getDepthwise_initializer() {
+		return depthwise_initializer;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setDepthwise_initializer(String newDepthwise_initializer) {
+		String oldDepthwise_initializer = depthwise_initializer;
+		depthwise_initializer = newDepthwise_initializer;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Convolution_layersPackage.DEPTHWISE_CONV2_D__DEPTHWISE_INITIALIZER, oldDepthwise_initializer, depthwise_initializer));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getDepthwise_regularizer() {
+		return depthwise_regularizer;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setDepthwise_regularizer(String newDepthwise_regularizer) {
+		String oldDepthwise_regularizer = depthwise_regularizer;
+		depthwise_regularizer = newDepthwise_regularizer;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Convolution_layersPackage.DEPTHWISE_CONV2_D__DEPTHWISE_REGULARIZER, oldDepthwise_regularizer, depthwise_regularizer));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getDepthwise_constraint() {
+		return depthwise_constraint;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setDepthwise_constraint(String newDepthwise_constraint) {
+		String oldDepthwise_constraint = depthwise_constraint;
+		depthwise_constraint = newDepthwise_constraint;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Convolution_layersPackage.DEPTHWISE_CONV2_D__DEPTHWISE_CONSTRAINT, oldDepthwise_constraint, depthwise_constraint));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case Convolution_layersPackage.DEPTHWISE_CONV2_D__DEPTH_MULTIPLIER:
+				return getDepth_multiplier();
+			case Convolution_layersPackage.DEPTHWISE_CONV2_D__DEPTHWISE_INITIALIZER:
+				return getDepthwise_initializer();
+			case Convolution_layersPackage.DEPTHWISE_CONV2_D__DEPTHWISE_REGULARIZER:
+				return getDepthwise_regularizer();
+			case Convolution_layersPackage.DEPTHWISE_CONV2_D__DEPTHWISE_CONSTRAINT:
+				return getDepthwise_constraint();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case Convolution_layersPackage.DEPTHWISE_CONV2_D__DEPTH_MULTIPLIER:
+				getDepth_multiplier().clear();
+				getDepth_multiplier().addAll((Collection<? extends Integer>)newValue);
+				return;
+			case Convolution_layersPackage.DEPTHWISE_CONV2_D__DEPTHWISE_INITIALIZER:
+				setDepthwise_initializer((String)newValue);
+				return;
+			case Convolution_layersPackage.DEPTHWISE_CONV2_D__DEPTHWISE_REGULARIZER:
+				setDepthwise_regularizer((String)newValue);
+				return;
+			case Convolution_layersPackage.DEPTHWISE_CONV2_D__DEPTHWISE_CONSTRAINT:
+				setDepthwise_constraint((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case Convolution_layersPackage.DEPTHWISE_CONV2_D__DEPTH_MULTIPLIER:
+				getDepth_multiplier().clear();
+				return;
+			case Convolution_layersPackage.DEPTHWISE_CONV2_D__DEPTHWISE_INITIALIZER:
+				setDepthwise_initializer(DEPTHWISE_INITIALIZER_EDEFAULT);
+				return;
+			case Convolution_layersPackage.DEPTHWISE_CONV2_D__DEPTHWISE_REGULARIZER:
+				setDepthwise_regularizer(DEPTHWISE_REGULARIZER_EDEFAULT);
+				return;
+			case Convolution_layersPackage.DEPTHWISE_CONV2_D__DEPTHWISE_CONSTRAINT:
+				setDepthwise_constraint(DEPTHWISE_CONSTRAINT_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case Convolution_layersPackage.DEPTHWISE_CONV2_D__DEPTH_MULTIPLIER:
+				return depth_multiplier != null && !depth_multiplier.isEmpty();
+			case Convolution_layersPackage.DEPTHWISE_CONV2_D__DEPTHWISE_INITIALIZER:
+				return DEPTHWISE_INITIALIZER_EDEFAULT == null ? depthwise_initializer != null : !DEPTHWISE_INITIALIZER_EDEFAULT.equals(depthwise_initializer);
+			case Convolution_layersPackage.DEPTHWISE_CONV2_D__DEPTHWISE_REGULARIZER:
+				return DEPTHWISE_REGULARIZER_EDEFAULT == null ? depthwise_regularizer != null : !DEPTHWISE_REGULARIZER_EDEFAULT.equals(depthwise_regularizer);
+			case Convolution_layersPackage.DEPTHWISE_CONV2_D__DEPTHWISE_CONSTRAINT:
+				return DEPTHWISE_CONSTRAINT_EDEFAULT == null ? depthwise_constraint != null : !DEPTHWISE_CONSTRAINT_EDEFAULT.equals(depthwise_constraint);
+		}
+		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(" (depth_multiplier: "); //$NON-NLS-1$
+		result.append(depth_multiplier);
+		result.append(", depthwise_initializer: "); //$NON-NLS-1$
+		result.append(depthwise_initializer);
+		result.append(", depthwise_regularizer: "); //$NON-NLS-1$
+		result.append(depthwise_regularizer);
+		result.append(", depthwise_constraint: "); //$NON-NLS-1$
+		result.append(depthwise_constraint);
+		result.append(')');
+		return result.toString();
+	}
+
+} //DepthwiseConv2DImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/FoldImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/FoldImpl.java
new file mode 100644
index 0000000..23a81f2
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/FoldImpl.java
@@ -0,0 +1,157 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Fold;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Fold</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.FoldImpl#getOutput_size <em>Output size</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class FoldImpl extends Convolution_layersImpl implements Fold {
+	/**
+	 * The cached value of the '{@link #getOutput_size() <em>Output size</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOutput_size()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Integer> output_size;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected FoldImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Convolution_layersPackage.Literals.FOLD;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<Integer> getOutput_size() {
+		if (output_size == null) {
+			output_size = new EDataTypeUniqueEList<Integer>(Integer.class, this, Convolution_layersPackage.FOLD__OUTPUT_SIZE);
+		}
+		return output_size;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case Convolution_layersPackage.FOLD__OUTPUT_SIZE:
+				return getOutput_size();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case Convolution_layersPackage.FOLD__OUTPUT_SIZE:
+				getOutput_size().clear();
+				getOutput_size().addAll((Collection<? extends Integer>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case Convolution_layersPackage.FOLD__OUTPUT_SIZE:
+				getOutput_size().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case Convolution_layersPackage.FOLD__OUTPUT_SIZE:
+				return output_size != null && !output_size.isEmpty();
+		}
+		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(" (output_size: "); //$NON-NLS-1$
+		result.append(output_size);
+		result.append(')');
+		return result.toString();
+	}
+
+} //FoldImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/LayerWithFilterImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/LayerWithFilterImpl.java
new file mode 100644
index 0000000..f7ee965
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/LayerWithFilterImpl.java
@@ -0,0 +1,173 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.LayerWithFilter;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Layer With Filter</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.LayerWithFilterImpl#getOut_channels <em>Out channels</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class LayerWithFilterImpl extends ConvolutionImpl implements LayerWithFilter {
+	/**
+	 * The default value of the '{@link #getOut_channels() <em>Out channels</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOut_channels()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int OUT_CHANNELS_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getOut_channels() <em>Out channels</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOut_channels()
+	 * @generated
+	 * @ordered
+	 */
+	protected int out_channels = OUT_CHANNELS_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected LayerWithFilterImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Convolution_layersPackage.Literals.LAYER_WITH_FILTER;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int getOut_channels() {
+		return out_channels;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setOut_channels(int newOut_channels) {
+		int oldOut_channels = out_channels;
+		out_channels = newOut_channels;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Convolution_layersPackage.LAYER_WITH_FILTER__OUT_CHANNELS, oldOut_channels, out_channels));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case Convolution_layersPackage.LAYER_WITH_FILTER__OUT_CHANNELS:
+				return getOut_channels();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case Convolution_layersPackage.LAYER_WITH_FILTER__OUT_CHANNELS:
+				setOut_channels((Integer)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case Convolution_layersPackage.LAYER_WITH_FILTER__OUT_CHANNELS:
+				setOut_channels(OUT_CHANNELS_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case Convolution_layersPackage.LAYER_WITH_FILTER__OUT_CHANNELS:
+				return out_channels != OUT_CHANNELS_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(" (out_channels: "); //$NON-NLS-1$
+		result.append(out_channels);
+		result.append(')');
+		return result.toString();
+	}
+
+} //LayerWithFilterImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/SeparableConv1DImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/SeparableConv1DImpl.java
new file mode 100644
index 0000000..0ac0d08
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/SeparableConv1DImpl.java
@@ -0,0 +1,46 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.SeparableConv1D;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Separable Conv1 D</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class SeparableConv1DImpl extends SeparableImpl implements SeparableConv1D {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected SeparableConv1DImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Convolution_layersPackage.Literals.SEPARABLE_CONV1_D;
+	}
+
+} //SeparableConv1DImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/SeparableConv2DImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/SeparableConv2DImpl.java
new file mode 100644
index 0000000..a047ad8
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/SeparableConv2DImpl.java
@@ -0,0 +1,46 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.SeparableConv2D;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Separable Conv2 D</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class SeparableConv2DImpl extends SeparableImpl implements SeparableConv2D {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected SeparableConv2DImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Convolution_layersPackage.Literals.SEPARABLE_CONV2_D;
+	}
+
+} //SeparableConv2DImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/SeparableImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/SeparableImpl.java
new file mode 100644
index 0000000..a1f92ff
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/SeparableImpl.java
@@ -0,0 +1,497 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Separable;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Separable</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.SeparableImpl#getDepth_multiplier <em>Depth multiplier</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.SeparableImpl#getDepthwise_initializer <em>Depthwise initializer</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.SeparableImpl#getPointwise_initializer <em>Pointwise initializer</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.SeparableImpl#getDepthwise_regularizer <em>Depthwise regularizer</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.SeparableImpl#getPoitnwise_regularizer <em>Poitnwise regularizer</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.SeparableImpl#getDepthwise_constraint <em>Depthwise constraint</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.SeparableImpl#getPointwise_constraint <em>Pointwise constraint</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class SeparableImpl extends LayerWithFilterImpl implements Separable {
+	/**
+	 * The cached value of the '{@link #getDepth_multiplier() <em>Depth multiplier</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDepth_multiplier()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Integer> depth_multiplier;
+
+	/**
+	 * The default value of the '{@link #getDepthwise_initializer() <em>Depthwise initializer</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDepthwise_initializer()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DEPTHWISE_INITIALIZER_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getDepthwise_initializer() <em>Depthwise initializer</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDepthwise_initializer()
+	 * @generated
+	 * @ordered
+	 */
+	protected String depthwise_initializer = DEPTHWISE_INITIALIZER_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getPointwise_initializer() <em>Pointwise initializer</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPointwise_initializer()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String POINTWISE_INITIALIZER_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getPointwise_initializer() <em>Pointwise initializer</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPointwise_initializer()
+	 * @generated
+	 * @ordered
+	 */
+	protected String pointwise_initializer = POINTWISE_INITIALIZER_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDepthwise_regularizer() <em>Depthwise regularizer</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDepthwise_regularizer()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DEPTHWISE_REGULARIZER_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getDepthwise_regularizer() <em>Depthwise regularizer</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDepthwise_regularizer()
+	 * @generated
+	 * @ordered
+	 */
+	protected String depthwise_regularizer = DEPTHWISE_REGULARIZER_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getPoitnwise_regularizer() <em>Poitnwise regularizer</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPoitnwise_regularizer()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String POITNWISE_REGULARIZER_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getPoitnwise_regularizer() <em>Poitnwise regularizer</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPoitnwise_regularizer()
+	 * @generated
+	 * @ordered
+	 */
+	protected String poitnwise_regularizer = POITNWISE_REGULARIZER_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDepthwise_constraint() <em>Depthwise constraint</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDepthwise_constraint()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DEPTHWISE_CONSTRAINT_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getDepthwise_constraint() <em>Depthwise constraint</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDepthwise_constraint()
+	 * @generated
+	 * @ordered
+	 */
+	protected String depthwise_constraint = DEPTHWISE_CONSTRAINT_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getPointwise_constraint() <em>Pointwise constraint</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPointwise_constraint()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String POINTWISE_CONSTRAINT_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getPointwise_constraint() <em>Pointwise constraint</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPointwise_constraint()
+	 * @generated
+	 * @ordered
+	 */
+	protected String pointwise_constraint = POINTWISE_CONSTRAINT_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected SeparableImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Convolution_layersPackage.Literals.SEPARABLE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<Integer> getDepth_multiplier() {
+		if (depth_multiplier == null) {
+			depth_multiplier = new EDataTypeUniqueEList<Integer>(Integer.class, this, Convolution_layersPackage.SEPARABLE__DEPTH_MULTIPLIER);
+		}
+		return depth_multiplier;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getDepthwise_initializer() {
+		return depthwise_initializer;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setDepthwise_initializer(String newDepthwise_initializer) {
+		String oldDepthwise_initializer = depthwise_initializer;
+		depthwise_initializer = newDepthwise_initializer;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Convolution_layersPackage.SEPARABLE__DEPTHWISE_INITIALIZER, oldDepthwise_initializer, depthwise_initializer));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getPointwise_initializer() {
+		return pointwise_initializer;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setPointwise_initializer(String newPointwise_initializer) {
+		String oldPointwise_initializer = pointwise_initializer;
+		pointwise_initializer = newPointwise_initializer;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Convolution_layersPackage.SEPARABLE__POINTWISE_INITIALIZER, oldPointwise_initializer, pointwise_initializer));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getDepthwise_regularizer() {
+		return depthwise_regularizer;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setDepthwise_regularizer(String newDepthwise_regularizer) {
+		String oldDepthwise_regularizer = depthwise_regularizer;
+		depthwise_regularizer = newDepthwise_regularizer;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Convolution_layersPackage.SEPARABLE__DEPTHWISE_REGULARIZER, oldDepthwise_regularizer, depthwise_regularizer));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getPoitnwise_regularizer() {
+		return poitnwise_regularizer;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setPoitnwise_regularizer(String newPoitnwise_regularizer) {
+		String oldPoitnwise_regularizer = poitnwise_regularizer;
+		poitnwise_regularizer = newPoitnwise_regularizer;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Convolution_layersPackage.SEPARABLE__POITNWISE_REGULARIZER, oldPoitnwise_regularizer, poitnwise_regularizer));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getDepthwise_constraint() {
+		return depthwise_constraint;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setDepthwise_constraint(String newDepthwise_constraint) {
+		String oldDepthwise_constraint = depthwise_constraint;
+		depthwise_constraint = newDepthwise_constraint;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Convolution_layersPackage.SEPARABLE__DEPTHWISE_CONSTRAINT, oldDepthwise_constraint, depthwise_constraint));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getPointwise_constraint() {
+		return pointwise_constraint;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setPointwise_constraint(String newPointwise_constraint) {
+		String oldPointwise_constraint = pointwise_constraint;
+		pointwise_constraint = newPointwise_constraint;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Convolution_layersPackage.SEPARABLE__POINTWISE_CONSTRAINT, oldPointwise_constraint, pointwise_constraint));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case Convolution_layersPackage.SEPARABLE__DEPTH_MULTIPLIER:
+				return getDepth_multiplier();
+			case Convolution_layersPackage.SEPARABLE__DEPTHWISE_INITIALIZER:
+				return getDepthwise_initializer();
+			case Convolution_layersPackage.SEPARABLE__POINTWISE_INITIALIZER:
+				return getPointwise_initializer();
+			case Convolution_layersPackage.SEPARABLE__DEPTHWISE_REGULARIZER:
+				return getDepthwise_regularizer();
+			case Convolution_layersPackage.SEPARABLE__POITNWISE_REGULARIZER:
+				return getPoitnwise_regularizer();
+			case Convolution_layersPackage.SEPARABLE__DEPTHWISE_CONSTRAINT:
+				return getDepthwise_constraint();
+			case Convolution_layersPackage.SEPARABLE__POINTWISE_CONSTRAINT:
+				return getPointwise_constraint();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case Convolution_layersPackage.SEPARABLE__DEPTH_MULTIPLIER:
+				getDepth_multiplier().clear();
+				getDepth_multiplier().addAll((Collection<? extends Integer>)newValue);
+				return;
+			case Convolution_layersPackage.SEPARABLE__DEPTHWISE_INITIALIZER:
+				setDepthwise_initializer((String)newValue);
+				return;
+			case Convolution_layersPackage.SEPARABLE__POINTWISE_INITIALIZER:
+				setPointwise_initializer((String)newValue);
+				return;
+			case Convolution_layersPackage.SEPARABLE__DEPTHWISE_REGULARIZER:
+				setDepthwise_regularizer((String)newValue);
+				return;
+			case Convolution_layersPackage.SEPARABLE__POITNWISE_REGULARIZER:
+				setPoitnwise_regularizer((String)newValue);
+				return;
+			case Convolution_layersPackage.SEPARABLE__DEPTHWISE_CONSTRAINT:
+				setDepthwise_constraint((String)newValue);
+				return;
+			case Convolution_layersPackage.SEPARABLE__POINTWISE_CONSTRAINT:
+				setPointwise_constraint((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case Convolution_layersPackage.SEPARABLE__DEPTH_MULTIPLIER:
+				getDepth_multiplier().clear();
+				return;
+			case Convolution_layersPackage.SEPARABLE__DEPTHWISE_INITIALIZER:
+				setDepthwise_initializer(DEPTHWISE_INITIALIZER_EDEFAULT);
+				return;
+			case Convolution_layersPackage.SEPARABLE__POINTWISE_INITIALIZER:
+				setPointwise_initializer(POINTWISE_INITIALIZER_EDEFAULT);
+				return;
+			case Convolution_layersPackage.SEPARABLE__DEPTHWISE_REGULARIZER:
+				setDepthwise_regularizer(DEPTHWISE_REGULARIZER_EDEFAULT);
+				return;
+			case Convolution_layersPackage.SEPARABLE__POITNWISE_REGULARIZER:
+				setPoitnwise_regularizer(POITNWISE_REGULARIZER_EDEFAULT);
+				return;
+			case Convolution_layersPackage.SEPARABLE__DEPTHWISE_CONSTRAINT:
+				setDepthwise_constraint(DEPTHWISE_CONSTRAINT_EDEFAULT);
+				return;
+			case Convolution_layersPackage.SEPARABLE__POINTWISE_CONSTRAINT:
+				setPointwise_constraint(POINTWISE_CONSTRAINT_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case Convolution_layersPackage.SEPARABLE__DEPTH_MULTIPLIER:
+				return depth_multiplier != null && !depth_multiplier.isEmpty();
+			case Convolution_layersPackage.SEPARABLE__DEPTHWISE_INITIALIZER:
+				return DEPTHWISE_INITIALIZER_EDEFAULT == null ? depthwise_initializer != null : !DEPTHWISE_INITIALIZER_EDEFAULT.equals(depthwise_initializer);
+			case Convolution_layersPackage.SEPARABLE__POINTWISE_INITIALIZER:
+				return POINTWISE_INITIALIZER_EDEFAULT == null ? pointwise_initializer != null : !POINTWISE_INITIALIZER_EDEFAULT.equals(pointwise_initializer);
+			case Convolution_layersPackage.SEPARABLE__DEPTHWISE_REGULARIZER:
+				return DEPTHWISE_REGULARIZER_EDEFAULT == null ? depthwise_regularizer != null : !DEPTHWISE_REGULARIZER_EDEFAULT.equals(depthwise_regularizer);
+			case Convolution_layersPackage.SEPARABLE__POITNWISE_REGULARIZER:
+				return POITNWISE_REGULARIZER_EDEFAULT == null ? poitnwise_regularizer != null : !POITNWISE_REGULARIZER_EDEFAULT.equals(poitnwise_regularizer);
+			case Convolution_layersPackage.SEPARABLE__DEPTHWISE_CONSTRAINT:
+				return DEPTHWISE_CONSTRAINT_EDEFAULT == null ? depthwise_constraint != null : !DEPTHWISE_CONSTRAINT_EDEFAULT.equals(depthwise_constraint);
+			case Convolution_layersPackage.SEPARABLE__POINTWISE_CONSTRAINT:
+				return POINTWISE_CONSTRAINT_EDEFAULT == null ? pointwise_constraint != null : !POINTWISE_CONSTRAINT_EDEFAULT.equals(pointwise_constraint);
+		}
+		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(" (depth_multiplier: "); //$NON-NLS-1$
+		result.append(depth_multiplier);
+		result.append(", depthwise_initializer: "); //$NON-NLS-1$
+		result.append(depthwise_initializer);
+		result.append(", pointwise_initializer: "); //$NON-NLS-1$
+		result.append(pointwise_initializer);
+		result.append(", depthwise_regularizer: "); //$NON-NLS-1$
+		result.append(depthwise_regularizer);
+		result.append(", poitnwise_regularizer: "); //$NON-NLS-1$
+		result.append(poitnwise_regularizer);
+		result.append(", depthwise_constraint: "); //$NON-NLS-1$
+		result.append(depthwise_constraint);
+		result.append(", pointwise_constraint: "); //$NON-NLS-1$
+		result.append(pointwise_constraint);
+		result.append(')');
+		return result.toString();
+	}
+
+} //SeparableImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/UnfoldImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/UnfoldImpl.java
new file mode 100644
index 0000000..b53d99e
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/UnfoldImpl.java
@@ -0,0 +1,46 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Unfold;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Unfold</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class UnfoldImpl extends Convolution_layersImpl implements Unfold {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected UnfoldImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Convolution_layersPackage.Literals.UNFOLD;
+	}
+
+} //UnfoldImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/basicImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/basicImpl.java
new file mode 100644
index 0000000..2924efc
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/basicImpl.java
@@ -0,0 +1,294 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.basic;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.constraints;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>basic</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.basicImpl#getKernel_initializer <em>Kernel initializer</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.basicImpl#getKernel_constraint <em>Kernel constraint</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.basicImpl#getKernel_regularizer <em>Kernel regularizer</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class basicImpl extends LayerWithFilterImpl implements basic {
+	/**
+	 * The default value of the '{@link #getKernel_initializer() <em>Kernel initializer</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getKernel_initializer()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String KERNEL_INITIALIZER_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getKernel_initializer() <em>Kernel initializer</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getKernel_initializer()
+	 * @generated
+	 * @ordered
+	 */
+	protected String kernel_initializer = KERNEL_INITIALIZER_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getKernel_constraint() <em>Kernel constraint</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getKernel_constraint()
+	 * @generated
+	 * @ordered
+	 */
+	protected constraints kernel_constraint;
+
+	/**
+	 * The default value of the '{@link #getKernel_regularizer() <em>Kernel regularizer</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getKernel_regularizer()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String KERNEL_REGULARIZER_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getKernel_regularizer() <em>Kernel regularizer</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getKernel_regularizer()
+	 * @generated
+	 * @ordered
+	 */
+	protected String kernel_regularizer = KERNEL_REGULARIZER_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected basicImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Convolution_layersPackage.Literals.BASIC;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getKernel_initializer() {
+		return kernel_initializer;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setKernel_initializer(String newKernel_initializer) {
+		String oldKernel_initializer = kernel_initializer;
+		kernel_initializer = newKernel_initializer;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Convolution_layersPackage.BASIC__KERNEL_INITIALIZER, oldKernel_initializer, kernel_initializer));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public constraints getKernel_constraint() {
+		if (kernel_constraint != null && kernel_constraint.eIsProxy()) {
+			InternalEObject oldKernel_constraint = (InternalEObject)kernel_constraint;
+			kernel_constraint = (constraints)eResolveProxy(oldKernel_constraint);
+			if (kernel_constraint != oldKernel_constraint) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, Convolution_layersPackage.BASIC__KERNEL_CONSTRAINT, oldKernel_constraint, kernel_constraint));
+			}
+		}
+		return kernel_constraint;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public constraints basicGetKernel_constraint() {
+		return kernel_constraint;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setKernel_constraint(constraints newKernel_constraint) {
+		constraints oldKernel_constraint = kernel_constraint;
+		kernel_constraint = newKernel_constraint;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Convolution_layersPackage.BASIC__KERNEL_CONSTRAINT, oldKernel_constraint, kernel_constraint));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getKernel_regularizer() {
+		return kernel_regularizer;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setKernel_regularizer(String newKernel_regularizer) {
+		String oldKernel_regularizer = kernel_regularizer;
+		kernel_regularizer = newKernel_regularizer;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Convolution_layersPackage.BASIC__KERNEL_REGULARIZER, oldKernel_regularizer, kernel_regularizer));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case Convolution_layersPackage.BASIC__KERNEL_INITIALIZER:
+				return getKernel_initializer();
+			case Convolution_layersPackage.BASIC__KERNEL_CONSTRAINT:
+				if (resolve) return getKernel_constraint();
+				return basicGetKernel_constraint();
+			case Convolution_layersPackage.BASIC__KERNEL_REGULARIZER:
+				return getKernel_regularizer();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case Convolution_layersPackage.BASIC__KERNEL_INITIALIZER:
+				setKernel_initializer((String)newValue);
+				return;
+			case Convolution_layersPackage.BASIC__KERNEL_CONSTRAINT:
+				setKernel_constraint((constraints)newValue);
+				return;
+			case Convolution_layersPackage.BASIC__KERNEL_REGULARIZER:
+				setKernel_regularizer((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case Convolution_layersPackage.BASIC__KERNEL_INITIALIZER:
+				setKernel_initializer(KERNEL_INITIALIZER_EDEFAULT);
+				return;
+			case Convolution_layersPackage.BASIC__KERNEL_CONSTRAINT:
+				setKernel_constraint((constraints)null);
+				return;
+			case Convolution_layersPackage.BASIC__KERNEL_REGULARIZER:
+				setKernel_regularizer(KERNEL_REGULARIZER_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case Convolution_layersPackage.BASIC__KERNEL_INITIALIZER:
+				return KERNEL_INITIALIZER_EDEFAULT == null ? kernel_initializer != null : !KERNEL_INITIALIZER_EDEFAULT.equals(kernel_initializer);
+			case Convolution_layersPackage.BASIC__KERNEL_CONSTRAINT:
+				return kernel_constraint != null;
+			case Convolution_layersPackage.BASIC__KERNEL_REGULARIZER:
+				return KERNEL_REGULARIZER_EDEFAULT == null ? kernel_regularizer != null : !KERNEL_REGULARIZER_EDEFAULT.equals(kernel_regularizer);
+		}
+		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(" (kernel_initializer: "); //$NON-NLS-1$
+		result.append(kernel_initializer);
+		result.append(", kernel_regularizer: "); //$NON-NLS-1$
+		result.append(kernel_regularizer);
+		result.append(')');
+		return result.toString();
+	}
+
+} //basicImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/transposeImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/transposeImpl.java
new file mode 100644
index 0000000..7e1170b
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/impl/transposeImpl.java
@@ -0,0 +1,157 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.transpose;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>transpose</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.transposeImpl#getOutput_padding <em>Output padding</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class transposeImpl extends basicImpl implements transpose {
+	/**
+	 * The cached value of the '{@link #getOutput_padding() <em>Output padding</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOutput_padding()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Integer> output_padding;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected transposeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Convolution_layersPackage.Literals.TRANSPOSE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<Integer> getOutput_padding() {
+		if (output_padding == null) {
+			output_padding = new EDataTypeUniqueEList<Integer>(Integer.class, this, Convolution_layersPackage.TRANSPOSE__OUTPUT_PADDING);
+		}
+		return output_padding;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case Convolution_layersPackage.TRANSPOSE__OUTPUT_PADDING:
+				return getOutput_padding();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case Convolution_layersPackage.TRANSPOSE__OUTPUT_PADDING:
+				getOutput_padding().clear();
+				getOutput_padding().addAll((Collection<? extends Integer>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case Convolution_layersPackage.TRANSPOSE__OUTPUT_PADDING:
+				getOutput_padding().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case Convolution_layersPackage.TRANSPOSE__OUTPUT_PADDING:
+				return output_padding != null && !output_padding.isEmpty();
+		}
+		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(" (output_padding: "); //$NON-NLS-1$
+		result.append(output_padding);
+		result.append(')');
+		return result.toString();
+	}
+
+} //transposeImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/transpose.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/transpose.java
new file mode 100644
index 0000000..fd6dcf0
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/transpose.java
@@ -0,0 +1,49 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>transpose</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.transpose#getOutput_padding <em>Output padding</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#gettranspose()
+ * @model abstract="true"
+ * @generated
+ */
+public interface transpose extends basic {
+	/**
+	 * Returns the value of the '<em><b>Output padding</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.Integer}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Output padding</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Output padding</em>' attribute list.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage#gettranspose_Output_padding()
+	 * @model dataType="org.eclipse.uml2.types.Integer" ordered="false"
+	 * @generated
+	 */
+	EList<Integer> getOutput_padding();
+
+} // transpose
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/util/Convolution_layersAdapterFactory.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/util/Convolution_layersAdapterFactory.java
new file mode 100644
index 0000000..5f30a4e
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/util/Convolution_layersAdapterFactory.java
@@ -0,0 +1,436 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.*;
+import org.eclipse.papyrus.aiml.profile.AIML.Module.Model;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage
+ * @generated
+ */
+public class Convolution_layersAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static Convolution_layersPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Convolution_layersAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = Convolution_layersPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Convolution_layersSwitch<Adapter> modelSwitch =
+		new Convolution_layersSwitch<Adapter>() {
+			@Override
+			public Adapter caseConvolution(Convolution object) {
+				return createConvolutionAdapter();
+			}
+			@Override
+			public Adapter caseConvolution_layers(Convolution_layers object) {
+				return createConvolution_layersAdapter();
+			}
+			@Override
+			public Adapter caseUnfold(Unfold object) {
+				return createUnfoldAdapter();
+			}
+			@Override
+			public Adapter caseFold(Fold object) {
+				return createFoldAdapter();
+			}
+			@Override
+			public Adapter caseConv2d(Conv2d object) {
+				return createConv2dAdapter();
+			}
+			@Override
+			public Adapter casebasic(basic object) {
+				return createbasicAdapter();
+			}
+			@Override
+			public Adapter caseLayerWithFilter(LayerWithFilter object) {
+				return createLayerWithFilterAdapter();
+			}
+			@Override
+			public Adapter caseConv3d(Conv3d object) {
+				return createConv3dAdapter();
+			}
+			@Override
+			public Adapter caseConvTranspose1d(ConvTranspose1d object) {
+				return createConvTranspose1dAdapter();
+			}
+			@Override
+			public Adapter caseConvTranspose2d(ConvTranspose2d object) {
+				return createConvTranspose2dAdapter();
+			}
+			@Override
+			public Adapter casetranspose(transpose object) {
+				return createtransposeAdapter();
+			}
+			@Override
+			public Adapter caseConvTranspose3d(ConvTranspose3d object) {
+				return createConvTranspose3dAdapter();
+			}
+			@Override
+			public Adapter caseConv1d(Conv1d object) {
+				return createConv1dAdapter();
+			}
+			@Override
+			public Adapter caseSeparable(Separable object) {
+				return createSeparableAdapter();
+			}
+			@Override
+			public Adapter caseSeparableConv2D(SeparableConv2D object) {
+				return createSeparableConv2DAdapter();
+			}
+			@Override
+			public Adapter caseSeparableConv1D(SeparableConv1D object) {
+				return createSeparableConv1DAdapter();
+			}
+			@Override
+			public Adapter caseDepthwiseConv2D(DepthwiseConv2D object) {
+				return createDepthwiseConv2DAdapter();
+			}
+			@Override
+			public Adapter caseModel(Model object) {
+				return createModelAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution <em>Convolution</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.aiml.profile.AIML.Convolution_layers.Convolution
+	 * @generated
+	 */
+	public Adapter createConvolutionAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layers <em>Convolution layers</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.aiml.profile.AIML.Convolution_layers.Convolution_layers
+	 * @generated
+	 */
+	public Adapter createConvolution_layersAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Unfold <em>Unfold</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.aiml.profile.AIML.Convolution_layers.Unfold
+	 * @generated
+	 */
+	public Adapter createUnfoldAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Fold <em>Fold</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.aiml.profile.AIML.Convolution_layers.Fold
+	 * @generated
+	 */
+	public Adapter createFoldAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Conv2d <em>Conv2d</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.aiml.profile.AIML.Convolution_layers.Conv2d
+	 * @generated
+	 */
+	public Adapter createConv2dAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.basic <em>basic</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.aiml.profile.AIML.Convolution_layers.basic
+	 * @generated
+	 */
+	public Adapter createbasicAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.LayerWithFilter <em>Layer With Filter</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.aiml.profile.AIML.Convolution_layers.LayerWithFilter
+	 * @generated
+	 */
+	public Adapter createLayerWithFilterAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Conv3d <em>Conv3d</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.aiml.profile.AIML.Convolution_layers.Conv3d
+	 * @generated
+	 */
+	public Adapter createConv3dAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.ConvTranspose1d <em>Conv Transpose1d</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.aiml.profile.AIML.Convolution_layers.ConvTranspose1d
+	 * @generated
+	 */
+	public Adapter createConvTranspose1dAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.ConvTranspose2d <em>Conv Transpose2d</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.aiml.profile.AIML.Convolution_layers.ConvTranspose2d
+	 * @generated
+	 */
+	public Adapter createConvTranspose2dAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.transpose <em>transpose</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.aiml.profile.AIML.Convolution_layers.transpose
+	 * @generated
+	 */
+	public Adapter createtransposeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.ConvTranspose3d <em>Conv Transpose3d</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.aiml.profile.AIML.Convolution_layers.ConvTranspose3d
+	 * @generated
+	 */
+	public Adapter createConvTranspose3dAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Conv1d <em>Conv1d</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.aiml.profile.AIML.Convolution_layers.Conv1d
+	 * @generated
+	 */
+	public Adapter createConv1dAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Separable <em>Separable</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.aiml.profile.AIML.Convolution_layers.Separable
+	 * @generated
+	 */
+	public Adapter createSeparableAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.SeparableConv2D <em>Separable Conv2 D</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.aiml.profile.AIML.Convolution_layers.SeparableConv2D
+	 * @generated
+	 */
+	public Adapter createSeparableConv2DAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.SeparableConv1D <em>Separable Conv1 D</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.aiml.profile.AIML.Convolution_layers.SeparableConv1D
+	 * @generated
+	 */
+	public Adapter createSeparableConv1DAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.DepthwiseConv2D <em>Depthwise Conv2 D</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.aiml.profile.AIML.Convolution_layers.DepthwiseConv2D
+	 * @generated
+	 */
+	public Adapter createDepthwiseConv2DAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Module.Model <em>Model</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.aiml.profile.AIML.Module.Model
+	 * @generated
+	 */
+	public Adapter createModelAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //Convolution_layersAdapterFactory
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/util/Convolution_layersSwitch.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/util/Convolution_layersSwitch.java
new file mode 100644
index 0000000..e891157
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Convolution_layers/util/Convolution_layersSwitch.java
@@ -0,0 +1,538 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.*;
+import org.eclipse.papyrus.aiml.profile.AIML.Module.Model;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage
+ * @generated
+ */
+public class Convolution_layersSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static Convolution_layersPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Convolution_layersSwitch() {
+		if (modelPackage == null) {
+			modelPackage = Convolution_layersPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case Convolution_layersPackage.CONVOLUTION: {
+				Convolution convolution = (Convolution)theEObject;
+				T result = caseConvolution(convolution);
+				if (result == null) result = caseConvolution_layers(convolution);
+				if (result == null) result = caseModel(convolution);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Convolution_layersPackage.CONVOLUTION_LAYERS: {
+				Convolution_layers convolution_layers = (Convolution_layers)theEObject;
+				T result = caseConvolution_layers(convolution_layers);
+				if (result == null) result = caseModel(convolution_layers);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Convolution_layersPackage.UNFOLD: {
+				Unfold unfold = (Unfold)theEObject;
+				T result = caseUnfold(unfold);
+				if (result == null) result = caseConvolution_layers(unfold);
+				if (result == null) result = caseModel(unfold);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Convolution_layersPackage.FOLD: {
+				Fold fold = (Fold)theEObject;
+				T result = caseFold(fold);
+				if (result == null) result = caseConvolution_layers(fold);
+				if (result == null) result = caseModel(fold);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Convolution_layersPackage.CONV2D: {
+				Conv2d conv2d = (Conv2d)theEObject;
+				T result = caseConv2d(conv2d);
+				if (result == null) result = casebasic(conv2d);
+				if (result == null) result = caseLayerWithFilter(conv2d);
+				if (result == null) result = caseConvolution(conv2d);
+				if (result == null) result = caseConvolution_layers(conv2d);
+				if (result == null) result = caseModel(conv2d);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Convolution_layersPackage.BASIC: {
+				basic basic = (basic)theEObject;
+				T result = casebasic(basic);
+				if (result == null) result = caseLayerWithFilter(basic);
+				if (result == null) result = caseConvolution(basic);
+				if (result == null) result = caseConvolution_layers(basic);
+				if (result == null) result = caseModel(basic);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Convolution_layersPackage.LAYER_WITH_FILTER: {
+				LayerWithFilter layerWithFilter = (LayerWithFilter)theEObject;
+				T result = caseLayerWithFilter(layerWithFilter);
+				if (result == null) result = caseConvolution(layerWithFilter);
+				if (result == null) result = caseConvolution_layers(layerWithFilter);
+				if (result == null) result = caseModel(layerWithFilter);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Convolution_layersPackage.CONV3D: {
+				Conv3d conv3d = (Conv3d)theEObject;
+				T result = caseConv3d(conv3d);
+				if (result == null) result = casebasic(conv3d);
+				if (result == null) result = caseLayerWithFilter(conv3d);
+				if (result == null) result = caseConvolution(conv3d);
+				if (result == null) result = caseConvolution_layers(conv3d);
+				if (result == null) result = caseModel(conv3d);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Convolution_layersPackage.CONV_TRANSPOSE1D: {
+				ConvTranspose1d convTranspose1d = (ConvTranspose1d)theEObject;
+				T result = caseConvTranspose1d(convTranspose1d);
+				if (result == null) result = caseLayerWithFilter(convTranspose1d);
+				if (result == null) result = caseConvolution(convTranspose1d);
+				if (result == null) result = caseConvolution_layers(convTranspose1d);
+				if (result == null) result = caseModel(convTranspose1d);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Convolution_layersPackage.CONV_TRANSPOSE2D: {
+				ConvTranspose2d convTranspose2d = (ConvTranspose2d)theEObject;
+				T result = caseConvTranspose2d(convTranspose2d);
+				if (result == null) result = casetranspose(convTranspose2d);
+				if (result == null) result = casebasic(convTranspose2d);
+				if (result == null) result = caseLayerWithFilter(convTranspose2d);
+				if (result == null) result = caseConvolution(convTranspose2d);
+				if (result == null) result = caseConvolution_layers(convTranspose2d);
+				if (result == null) result = caseModel(convTranspose2d);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Convolution_layersPackage.TRANSPOSE: {
+				transpose transpose = (transpose)theEObject;
+				T result = casetranspose(transpose);
+				if (result == null) result = casebasic(transpose);
+				if (result == null) result = caseLayerWithFilter(transpose);
+				if (result == null) result = caseConvolution(transpose);
+				if (result == null) result = caseConvolution_layers(transpose);
+				if (result == null) result = caseModel(transpose);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Convolution_layersPackage.CONV_TRANSPOSE3D: {
+				ConvTranspose3d convTranspose3d = (ConvTranspose3d)theEObject;
+				T result = caseConvTranspose3d(convTranspose3d);
+				if (result == null) result = casetranspose(convTranspose3d);
+				if (result == null) result = casebasic(convTranspose3d);
+				if (result == null) result = caseLayerWithFilter(convTranspose3d);
+				if (result == null) result = caseConvolution(convTranspose3d);
+				if (result == null) result = caseConvolution_layers(convTranspose3d);
+				if (result == null) result = caseModel(convTranspose3d);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Convolution_layersPackage.CONV1D: {
+				Conv1d conv1d = (Conv1d)theEObject;
+				T result = caseConv1d(conv1d);
+				if (result == null) result = casebasic(conv1d);
+				if (result == null) result = caseLayerWithFilter(conv1d);
+				if (result == null) result = caseConvolution(conv1d);
+				if (result == null) result = caseConvolution_layers(conv1d);
+				if (result == null) result = caseModel(conv1d);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Convolution_layersPackage.SEPARABLE: {
+				Separable separable = (Separable)theEObject;
+				T result = caseSeparable(separable);
+				if (result == null) result = caseLayerWithFilter(separable);
+				if (result == null) result = caseConvolution(separable);
+				if (result == null) result = caseConvolution_layers(separable);
+				if (result == null) result = caseModel(separable);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Convolution_layersPackage.SEPARABLE_CONV2_D: {
+				SeparableConv2D separableConv2D = (SeparableConv2D)theEObject;
+				T result = caseSeparableConv2D(separableConv2D);
+				if (result == null) result = caseSeparable(separableConv2D);
+				if (result == null) result = caseLayerWithFilter(separableConv2D);
+				if (result == null) result = caseConvolution(separableConv2D);
+				if (result == null) result = caseConvolution_layers(separableConv2D);
+				if (result == null) result = caseModel(separableConv2D);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Convolution_layersPackage.SEPARABLE_CONV1_D: {
+				SeparableConv1D separableConv1D = (SeparableConv1D)theEObject;
+				T result = caseSeparableConv1D(separableConv1D);
+				if (result == null) result = caseSeparable(separableConv1D);
+				if (result == null) result = caseLayerWithFilter(separableConv1D);
+				if (result == null) result = caseConvolution(separableConv1D);
+				if (result == null) result = caseConvolution_layers(separableConv1D);
+				if (result == null) result = caseModel(separableConv1D);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Convolution_layersPackage.DEPTHWISE_CONV2_D: {
+				DepthwiseConv2D depthwiseConv2D = (DepthwiseConv2D)theEObject;
+				T result = caseDepthwiseConv2D(depthwiseConv2D);
+				if (result == null) result = caseConvolution(depthwiseConv2D);
+				if (result == null) result = caseConvolution_layers(depthwiseConv2D);
+				if (result == null) result = caseModel(depthwiseConv2D);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Convolution</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>Convolution</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseConvolution(Convolution object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Convolution layers</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>Convolution layers</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseConvolution_layers(Convolution_layers object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Unfold</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>Unfold</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseUnfold(Unfold object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Fold</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>Fold</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseFold(Fold object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Conv2d</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>Conv2d</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseConv2d(Conv2d object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>basic</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>basic</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casebasic(basic object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Layer With Filter</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>Layer With Filter</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseLayerWithFilter(LayerWithFilter object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Conv3d</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>Conv3d</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseConv3d(Conv3d object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Conv Transpose1d</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>Conv Transpose1d</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseConvTranspose1d(ConvTranspose1d object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Conv Transpose2d</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>Conv Transpose2d</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseConvTranspose2d(ConvTranspose2d object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>transpose</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>transpose</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casetranspose(transpose object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Conv Transpose3d</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>Conv Transpose3d</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseConvTranspose3d(ConvTranspose3d object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Conv1d</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>Conv1d</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseConv1d(Conv1d object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Separable</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>Separable</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseSeparable(Separable object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Separable Conv2 D</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>Separable Conv2 D</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseSeparableConv2D(SeparableConv2D object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Separable Conv1 D</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>Separable Conv1 D</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseSeparableConv1D(SeparableConv1D object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Depthwise Conv2 D</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>Depthwise Conv2 D</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDepthwiseConv2D(DepthwiseConv2D object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Model</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>Model</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseModel(Model object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+} //Convolution_layersSwitch
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/DataParallel_layers/DataParallel.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/DataParallel_layers/DataParallel.java
new file mode 100644
index 0000000..4c41b3f
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/DataParallel_layers/DataParallel.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Data Parallel</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layersPackage#getDataParallel()
+ * @model
+ * @generated
+ */
+public interface DataParallel extends DataParallel_layers {
+} // DataParallel
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/DataParallel_layers/DataParallel_layers.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/DataParallel_layers/DataParallel_layers.java
new file mode 100644
index 0000000..a4fea2e
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/DataParallel_layers/DataParallel_layers.java
@@ -0,0 +1,94 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.aiml.profile.AIML.Module.Model;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Data Parallel layers</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layers#getModule <em>Module</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layers#getDevice_ids <em>Device ids</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layers#getOutput_device <em>Output device</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layersPackage#getDataParallel_layers()
+ * @model abstract="true"
+ * @generated
+ */
+public interface DataParallel_layers extends Model {
+	/**
+	 * Returns the value of the '<em><b>Module</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Module</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Module</em>' reference.
+	 * @see #setModule(Model)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layersPackage#getDataParallel_layers_Module()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Model getModule();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layers#getModule <em>Module</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Module</em>' reference.
+	 * @see #getModule()
+	 * @generated
+	 */
+	void setModule(Model value);
+
+	/**
+	 * Returns the value of the '<em><b>Device ids</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.Integer}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Device ids</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Device ids</em>' attribute list.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layersPackage#getDataParallel_layers_Device_ids()
+	 * @model dataType="org.eclipse.uml2.types.Integer" ordered="false"
+	 * @generated
+	 */
+	EList<Integer> getDevice_ids();
+
+	/**
+	 * Returns the value of the '<em><b>Output device</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.Integer}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Output device</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Output device</em>' attribute list.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layersPackage#getDataParallel_layers_Output_device()
+	 * @model dataType="org.eclipse.uml2.types.Integer" ordered="false"
+	 * @generated
+	 */
+	EList<Integer> getOutput_device();
+
+} // DataParallel_layers
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/DataParallel_layers/DataParallel_layersFactory.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/DataParallel_layers/DataParallel_layersFactory.java
new file mode 100644
index 0000000..25da7a5
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/DataParallel_layers/DataParallel_layersFactory.java
@@ -0,0 +1,60 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layersPackage
+ * @generated
+ */
+public interface DataParallel_layersFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	DataParallel_layersFactory eINSTANCE = org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl.DataParallel_layersFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Distributed Data Parallel</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Distributed Data Parallel</em>'.
+	 * @generated
+	 */
+	DistributedDataParallel createDistributedDataParallel();
+
+	/**
+	 * Returns a new object of class '<em>Data Parallel</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Data Parallel</em>'.
+	 * @generated
+	 */
+	DataParallel createDataParallel();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	DataParallel_layersPackage getDataParallel_layersPackage();
+
+} //DataParallel_layersFactory
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/DataParallel_layers/DataParallel_layersPackage.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/DataParallel_layers/DataParallel_layersPackage.java
new file mode 100644
index 0000000..f4e558b
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/DataParallel_layers/DataParallel_layersPackage.java
@@ -0,0 +1,707 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Module.ModulePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each operation of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layersFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface DataParallel_layersPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "DataParallel_layers"; //$NON-NLS-1$
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://www.eclipse.org/papyrus/AIML/dataparallel/1"; //$NON-NLS-1$
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "AIML.DataParallel_layers"; //$NON-NLS-1$
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	DataParallel_layersPackage eINSTANCE = org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl.DataParallel_layersPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl.DataParallel_layersImpl <em>Data Parallel layers</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl.DataParallel_layersImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl.DataParallel_layersPackageImpl#getDataParallel_layers()
+	 * @generated
+	 */
+	int DATA_PARALLEL_LAYERS = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_PARALLEL_LAYERS__BASE_CLASS = ModulePackage.MODEL__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_PARALLEL_LAYERS__NAME = ModulePackage.MODEL__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_PARALLEL_LAYERS__DATA = ModulePackage.MODEL__DATA;
+
+	/**
+	 * The feature id for the '<em><b>Requires grad</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_PARALLEL_LAYERS__REQUIRES_GRAD = ModulePackage.MODEL__REQUIRES_GRAD;
+
+	/**
+	 * The feature id for the '<em><b>Sub Module</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_PARALLEL_LAYERS__SUB_MODULE = ModulePackage.MODEL__SUB_MODULE;
+
+	/**
+	 * The feature id for the '<em><b>Optimizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_PARALLEL_LAYERS__OPTIMIZER = ModulePackage.MODEL__OPTIMIZER;
+
+	/**
+	 * The feature id for the '<em><b>Loss</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_PARALLEL_LAYERS__LOSS = ModulePackage.MODEL__LOSS;
+
+	/**
+	 * The feature id for the '<em><b>Module</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_PARALLEL_LAYERS__MODULE = ModulePackage.MODEL_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Device ids</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_PARALLEL_LAYERS__DEVICE_IDS = ModulePackage.MODEL_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Output device</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_PARALLEL_LAYERS__OUTPUT_DEVICE = ModulePackage.MODEL_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of structural features of the '<em>Data Parallel layers</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_PARALLEL_LAYERS_FEATURE_COUNT = ModulePackage.MODEL_FEATURE_COUNT + 3;
+
+	/**
+	 * The number of operations of the '<em>Data Parallel layers</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_PARALLEL_LAYERS_OPERATION_COUNT = ModulePackage.MODEL_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl.DistributedDataParallelImpl <em>Distributed Data Parallel</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl.DistributedDataParallelImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl.DataParallel_layersPackageImpl#getDistributedDataParallel()
+	 * @generated
+	 */
+	int DISTRIBUTED_DATA_PARALLEL = 1;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DISTRIBUTED_DATA_PARALLEL__BASE_CLASS = DATA_PARALLEL_LAYERS__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DISTRIBUTED_DATA_PARALLEL__NAME = DATA_PARALLEL_LAYERS__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DISTRIBUTED_DATA_PARALLEL__DATA = DATA_PARALLEL_LAYERS__DATA;
+
+	/**
+	 * The feature id for the '<em><b>Requires grad</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DISTRIBUTED_DATA_PARALLEL__REQUIRES_GRAD = DATA_PARALLEL_LAYERS__REQUIRES_GRAD;
+
+	/**
+	 * The feature id for the '<em><b>Sub Module</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DISTRIBUTED_DATA_PARALLEL__SUB_MODULE = DATA_PARALLEL_LAYERS__SUB_MODULE;
+
+	/**
+	 * The feature id for the '<em><b>Optimizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DISTRIBUTED_DATA_PARALLEL__OPTIMIZER = DATA_PARALLEL_LAYERS__OPTIMIZER;
+
+	/**
+	 * The feature id for the '<em><b>Loss</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DISTRIBUTED_DATA_PARALLEL__LOSS = DATA_PARALLEL_LAYERS__LOSS;
+
+	/**
+	 * The feature id for the '<em><b>Module</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DISTRIBUTED_DATA_PARALLEL__MODULE = DATA_PARALLEL_LAYERS__MODULE;
+
+	/**
+	 * The feature id for the '<em><b>Device ids</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DISTRIBUTED_DATA_PARALLEL__DEVICE_IDS = DATA_PARALLEL_LAYERS__DEVICE_IDS;
+
+	/**
+	 * The feature id for the '<em><b>Output device</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DISTRIBUTED_DATA_PARALLEL__OUTPUT_DEVICE = DATA_PARALLEL_LAYERS__OUTPUT_DEVICE;
+
+	/**
+	 * The feature id for the '<em><b>Broadcast buffers</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DISTRIBUTED_DATA_PARALLEL__BROADCAST_BUFFERS = DATA_PARALLEL_LAYERS_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Process group</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DISTRIBUTED_DATA_PARALLEL__PROCESS_GROUP = DATA_PARALLEL_LAYERS_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Bucket cap mb</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DISTRIBUTED_DATA_PARALLEL__BUCKET_CAP_MB = DATA_PARALLEL_LAYERS_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Find unsused parameters</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DISTRIBUTED_DATA_PARALLEL__FIND_UNSUSED_PARAMETERS = DATA_PARALLEL_LAYERS_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>Check reduction</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DISTRIBUTED_DATA_PARALLEL__CHECK_REDUCTION = DATA_PARALLEL_LAYERS_FEATURE_COUNT + 4;
+
+	/**
+	 * The number of structural features of the '<em>Distributed Data Parallel</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DISTRIBUTED_DATA_PARALLEL_FEATURE_COUNT = DATA_PARALLEL_LAYERS_FEATURE_COUNT + 5;
+
+	/**
+	 * The number of operations of the '<em>Distributed Data Parallel</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DISTRIBUTED_DATA_PARALLEL_OPERATION_COUNT = DATA_PARALLEL_LAYERS_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl.DataParallelImpl <em>Data Parallel</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl.DataParallelImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl.DataParallel_layersPackageImpl#getDataParallel()
+	 * @generated
+	 */
+	int DATA_PARALLEL = 2;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_PARALLEL__BASE_CLASS = DATA_PARALLEL_LAYERS__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_PARALLEL__NAME = DATA_PARALLEL_LAYERS__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_PARALLEL__DATA = DATA_PARALLEL_LAYERS__DATA;
+
+	/**
+	 * The feature id for the '<em><b>Requires grad</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_PARALLEL__REQUIRES_GRAD = DATA_PARALLEL_LAYERS__REQUIRES_GRAD;
+
+	/**
+	 * The feature id for the '<em><b>Sub Module</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_PARALLEL__SUB_MODULE = DATA_PARALLEL_LAYERS__SUB_MODULE;
+
+	/**
+	 * The feature id for the '<em><b>Optimizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_PARALLEL__OPTIMIZER = DATA_PARALLEL_LAYERS__OPTIMIZER;
+
+	/**
+	 * The feature id for the '<em><b>Loss</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_PARALLEL__LOSS = DATA_PARALLEL_LAYERS__LOSS;
+
+	/**
+	 * The feature id for the '<em><b>Module</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_PARALLEL__MODULE = DATA_PARALLEL_LAYERS__MODULE;
+
+	/**
+	 * The feature id for the '<em><b>Device ids</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_PARALLEL__DEVICE_IDS = DATA_PARALLEL_LAYERS__DEVICE_IDS;
+
+	/**
+	 * The feature id for the '<em><b>Output device</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_PARALLEL__OUTPUT_DEVICE = DATA_PARALLEL_LAYERS__OUTPUT_DEVICE;
+
+	/**
+	 * The number of structural features of the '<em>Data Parallel</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_PARALLEL_FEATURE_COUNT = DATA_PARALLEL_LAYERS_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>Data Parallel</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_PARALLEL_OPERATION_COUNT = DATA_PARALLEL_LAYERS_OPERATION_COUNT + 0;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layers <em>Data Parallel layers</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Data Parallel layers</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layers
+	 * @generated
+	 */
+	EClass getDataParallel_layers();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layers#getModule <em>Module</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Module</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layers#getModule()
+	 * @see #getDataParallel_layers()
+	 * @generated
+	 */
+	EReference getDataParallel_layers_Module();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layers#getDevice_ids <em>Device ids</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Device ids</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layers#getDevice_ids()
+	 * @see #getDataParallel_layers()
+	 * @generated
+	 */
+	EAttribute getDataParallel_layers_Device_ids();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layers#getOutput_device <em>Output device</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Output device</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layers#getOutput_device()
+	 * @see #getDataParallel_layers()
+	 * @generated
+	 */
+	EAttribute getDataParallel_layers_Output_device();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DistributedDataParallel <em>Distributed Data Parallel</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Distributed Data Parallel</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DistributedDataParallel
+	 * @generated
+	 */
+	EClass getDistributedDataParallel();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DistributedDataParallel#isBroadcast_buffers <em>Broadcast buffers</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Broadcast buffers</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DistributedDataParallel#isBroadcast_buffers()
+	 * @see #getDistributedDataParallel()
+	 * @generated
+	 */
+	EAttribute getDistributedDataParallel_Broadcast_buffers();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DistributedDataParallel#getProcess_group <em>Process group</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Process group</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DistributedDataParallel#getProcess_group()
+	 * @see #getDistributedDataParallel()
+	 * @generated
+	 */
+	EAttribute getDistributedDataParallel_Process_group();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DistributedDataParallel#getBucket_cap_mb <em>Bucket cap mb</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Bucket cap mb</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DistributedDataParallel#getBucket_cap_mb()
+	 * @see #getDistributedDataParallel()
+	 * @generated
+	 */
+	EAttribute getDistributedDataParallel_Bucket_cap_mb();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DistributedDataParallel#isFind_unsused_parameters <em>Find unsused parameters</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Find unsused parameters</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DistributedDataParallel#isFind_unsused_parameters()
+	 * @see #getDistributedDataParallel()
+	 * @generated
+	 */
+	EAttribute getDistributedDataParallel_Find_unsused_parameters();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DistributedDataParallel#isCheck_reduction <em>Check reduction</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Check reduction</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DistributedDataParallel#isCheck_reduction()
+	 * @see #getDistributedDataParallel()
+	 * @generated
+	 */
+	EAttribute getDistributedDataParallel_Check_reduction();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel <em>Data Parallel</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Data Parallel</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel
+	 * @generated
+	 */
+	EClass getDataParallel();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	DataParallel_layersFactory getDataParallel_layersFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each operation of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl.DataParallel_layersImpl <em>Data Parallel layers</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl.DataParallel_layersImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl.DataParallel_layersPackageImpl#getDataParallel_layers()
+		 * @generated
+		 */
+		EClass DATA_PARALLEL_LAYERS = eINSTANCE.getDataParallel_layers();
+
+		/**
+		 * The meta object literal for the '<em><b>Module</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference DATA_PARALLEL_LAYERS__MODULE = eINSTANCE.getDataParallel_layers_Module();
+
+		/**
+		 * The meta object literal for the '<em><b>Device ids</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DATA_PARALLEL_LAYERS__DEVICE_IDS = eINSTANCE.getDataParallel_layers_Device_ids();
+
+		/**
+		 * The meta object literal for the '<em><b>Output device</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DATA_PARALLEL_LAYERS__OUTPUT_DEVICE = eINSTANCE.getDataParallel_layers_Output_device();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl.DistributedDataParallelImpl <em>Distributed Data Parallel</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl.DistributedDataParallelImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl.DataParallel_layersPackageImpl#getDistributedDataParallel()
+		 * @generated
+		 */
+		EClass DISTRIBUTED_DATA_PARALLEL = eINSTANCE.getDistributedDataParallel();
+
+		/**
+		 * The meta object literal for the '<em><b>Broadcast buffers</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DISTRIBUTED_DATA_PARALLEL__BROADCAST_BUFFERS = eINSTANCE.getDistributedDataParallel_Broadcast_buffers();
+
+		/**
+		 * The meta object literal for the '<em><b>Process group</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DISTRIBUTED_DATA_PARALLEL__PROCESS_GROUP = eINSTANCE.getDistributedDataParallel_Process_group();
+
+		/**
+		 * The meta object literal for the '<em><b>Bucket cap mb</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DISTRIBUTED_DATA_PARALLEL__BUCKET_CAP_MB = eINSTANCE.getDistributedDataParallel_Bucket_cap_mb();
+
+		/**
+		 * The meta object literal for the '<em><b>Find unsused parameters</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DISTRIBUTED_DATA_PARALLEL__FIND_UNSUSED_PARAMETERS = eINSTANCE.getDistributedDataParallel_Find_unsused_parameters();
+
+		/**
+		 * The meta object literal for the '<em><b>Check reduction</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DISTRIBUTED_DATA_PARALLEL__CHECK_REDUCTION = eINSTANCE.getDistributedDataParallel_Check_reduction();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl.DataParallelImpl <em>Data Parallel</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl.DataParallelImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl.DataParallel_layersPackageImpl#getDataParallel()
+		 * @generated
+		 */
+		EClass DATA_PARALLEL = eINSTANCE.getDataParallel();
+
+	}
+
+} //DataParallel_layersPackage
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/DataParallel_layers/DistributedDataParallel.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/DataParallel_layers/DistributedDataParallel.java
new file mode 100644
index 0000000..0587fce
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/DataParallel_layers/DistributedDataParallel.java
@@ -0,0 +1,166 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Distributed Data Parallel</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DistributedDataParallel#isBroadcast_buffers <em>Broadcast buffers</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DistributedDataParallel#getProcess_group <em>Process group</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DistributedDataParallel#getBucket_cap_mb <em>Bucket cap mb</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DistributedDataParallel#isFind_unsused_parameters <em>Find unsused parameters</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DistributedDataParallel#isCheck_reduction <em>Check reduction</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layersPackage#getDistributedDataParallel()
+ * @model
+ * @generated
+ */
+public interface DistributedDataParallel extends DataParallel_layers {
+	/**
+	 * Returns the value of the '<em><b>Broadcast buffers</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Broadcast buffers</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Broadcast buffers</em>' attribute.
+	 * @see #setBroadcast_buffers(boolean)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layersPackage#getDistributedDataParallel_Broadcast_buffers()
+	 * @model dataType="org.eclipse.uml2.types.Boolean" ordered="false"
+	 * @generated
+	 */
+	boolean isBroadcast_buffers();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DistributedDataParallel#isBroadcast_buffers <em>Broadcast buffers</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Broadcast buffers</em>' attribute.
+	 * @see #isBroadcast_buffers()
+	 * @generated
+	 */
+	void setBroadcast_buffers(boolean value);
+
+	/**
+	 * Returns the value of the '<em><b>Process group</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Process group</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Process group</em>' attribute.
+	 * @see #setProcess_group(int)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layersPackage#getDistributedDataParallel_Process_group()
+	 * @model dataType="org.eclipse.uml2.types.Integer" ordered="false"
+	 * @generated
+	 */
+	int getProcess_group();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DistributedDataParallel#getProcess_group <em>Process group</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Process group</em>' attribute.
+	 * @see #getProcess_group()
+	 * @generated
+	 */
+	void setProcess_group(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Bucket cap mb</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Bucket cap mb</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Bucket cap mb</em>' attribute.
+	 * @see #setBucket_cap_mb(int)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layersPackage#getDistributedDataParallel_Bucket_cap_mb()
+	 * @model dataType="org.eclipse.uml2.types.Integer" ordered="false"
+	 * @generated
+	 */
+	int getBucket_cap_mb();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DistributedDataParallel#getBucket_cap_mb <em>Bucket cap mb</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Bucket cap mb</em>' attribute.
+	 * @see #getBucket_cap_mb()
+	 * @generated
+	 */
+	void setBucket_cap_mb(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Find unsused parameters</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Find unsused parameters</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Find unsused parameters</em>' attribute.
+	 * @see #setFind_unsused_parameters(boolean)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layersPackage#getDistributedDataParallel_Find_unsused_parameters()
+	 * @model dataType="org.eclipse.uml2.types.Boolean" ordered="false"
+	 * @generated
+	 */
+	boolean isFind_unsused_parameters();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DistributedDataParallel#isFind_unsused_parameters <em>Find unsused parameters</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Find unsused parameters</em>' attribute.
+	 * @see #isFind_unsused_parameters()
+	 * @generated
+	 */
+	void setFind_unsused_parameters(boolean value);
+
+	/**
+	 * Returns the value of the '<em><b>Check reduction</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Check reduction</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Check reduction</em>' attribute.
+	 * @see #setCheck_reduction(boolean)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layersPackage#getDistributedDataParallel_Check_reduction()
+	 * @model dataType="org.eclipse.uml2.types.Boolean" ordered="false"
+	 * @generated
+	 */
+	boolean isCheck_reduction();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DistributedDataParallel#isCheck_reduction <em>Check reduction</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Check reduction</em>' attribute.
+	 * @see #isCheck_reduction()
+	 * @generated
+	 */
+	void setCheck_reduction(boolean value);
+
+} // DistributedDataParallel
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/DataParallel_layers/impl/DataParallelImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/DataParallel_layers/impl/DataParallelImpl.java
new file mode 100644
index 0000000..8921c53
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/DataParallel_layers/impl/DataParallelImpl.java
@@ -0,0 +1,46 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel;
+import org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layersPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Data Parallel</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class DataParallelImpl extends DataParallel_layersImpl implements DataParallel {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DataParallelImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DataParallel_layersPackage.Literals.DATA_PARALLEL;
+	}
+
+} //DataParallelImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/DataParallel_layers/impl/DataParallel_layersFactoryImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/DataParallel_layers/impl/DataParallel_layersFactoryImpl.java
new file mode 100644
index 0000000..2a23d3c
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/DataParallel_layers/impl/DataParallel_layersFactoryImpl.java
@@ -0,0 +1,118 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DataParallel_layersFactoryImpl extends EFactoryImpl implements DataParallel_layersFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static DataParallel_layersFactory init() {
+		try {
+			DataParallel_layersFactory theDataParallel_layersFactory = (DataParallel_layersFactory)EPackage.Registry.INSTANCE.getEFactory(DataParallel_layersPackage.eNS_URI);
+			if (theDataParallel_layersFactory != null) {
+				return theDataParallel_layersFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new DataParallel_layersFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DataParallel_layersFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case DataParallel_layersPackage.DISTRIBUTED_DATA_PARALLEL: return createDistributedDataParallel();
+			case DataParallel_layersPackage.DATA_PARALLEL: return createDataParallel();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public DistributedDataParallel createDistributedDataParallel() {
+		DistributedDataParallelImpl distributedDataParallel = new DistributedDataParallelImpl();
+		return distributedDataParallel;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public DataParallel createDataParallel() {
+		DataParallelImpl dataParallel = new DataParallelImpl();
+		return dataParallel;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public DataParallel_layersPackage getDataParallel_layersPackage() {
+		return (DataParallel_layersPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static DataParallel_layersPackage getPackage() {
+		return DataParallel_layersPackage.eINSTANCE;
+	}
+
+} //DataParallel_layersFactoryImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/DataParallel_layers/impl/DataParallel_layersImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/DataParallel_layers/impl/DataParallel_layersImpl.java
new file mode 100644
index 0000000..bd9678d
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/DataParallel_layers/impl/DataParallel_layersImpl.java
@@ -0,0 +1,263 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+
+import org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layers;
+import org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layersPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Module.Model;
+import org.eclipse.papyrus.aiml.profile.AIML.Module.impl.ModelImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Data Parallel layers</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl.DataParallel_layersImpl#getModule <em>Module</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl.DataParallel_layersImpl#getDevice_ids <em>Device ids</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl.DataParallel_layersImpl#getOutput_device <em>Output device</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class DataParallel_layersImpl extends ModelImpl implements DataParallel_layers {
+	/**
+	 * The cached value of the '{@link #getModule() <em>Module</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getModule()
+	 * @generated
+	 * @ordered
+	 */
+	protected Model module;
+
+	/**
+	 * The cached value of the '{@link #getDevice_ids() <em>Device ids</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDevice_ids()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Integer> device_ids;
+
+	/**
+	 * The cached value of the '{@link #getOutput_device() <em>Output device</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOutput_device()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Integer> output_device;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DataParallel_layersImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DataParallel_layersPackage.Literals.DATA_PARALLEL_LAYERS;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Model getModule() {
+		if (module != null && module.eIsProxy()) {
+			InternalEObject oldModule = (InternalEObject)module;
+			module = (Model)eResolveProxy(oldModule);
+			if (module != oldModule) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DataParallel_layersPackage.DATA_PARALLEL_LAYERS__MODULE, oldModule, module));
+			}
+		}
+		return module;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Model basicGetModule() {
+		return module;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setModule(Model newModule) {
+		Model oldModule = module;
+		module = newModule;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DataParallel_layersPackage.DATA_PARALLEL_LAYERS__MODULE, oldModule, module));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<Integer> getDevice_ids() {
+		if (device_ids == null) {
+			device_ids = new EDataTypeUniqueEList<Integer>(Integer.class, this, DataParallel_layersPackage.DATA_PARALLEL_LAYERS__DEVICE_IDS);
+		}
+		return device_ids;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<Integer> getOutput_device() {
+		if (output_device == null) {
+			output_device = new EDataTypeUniqueEList<Integer>(Integer.class, this, DataParallel_layersPackage.DATA_PARALLEL_LAYERS__OUTPUT_DEVICE);
+		}
+		return output_device;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DataParallel_layersPackage.DATA_PARALLEL_LAYERS__MODULE:
+				if (resolve) return getModule();
+				return basicGetModule();
+			case DataParallel_layersPackage.DATA_PARALLEL_LAYERS__DEVICE_IDS:
+				return getDevice_ids();
+			case DataParallel_layersPackage.DATA_PARALLEL_LAYERS__OUTPUT_DEVICE:
+				return getOutput_device();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DataParallel_layersPackage.DATA_PARALLEL_LAYERS__MODULE:
+				setModule((Model)newValue);
+				return;
+			case DataParallel_layersPackage.DATA_PARALLEL_LAYERS__DEVICE_IDS:
+				getDevice_ids().clear();
+				getDevice_ids().addAll((Collection<? extends Integer>)newValue);
+				return;
+			case DataParallel_layersPackage.DATA_PARALLEL_LAYERS__OUTPUT_DEVICE:
+				getOutput_device().clear();
+				getOutput_device().addAll((Collection<? extends Integer>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DataParallel_layersPackage.DATA_PARALLEL_LAYERS__MODULE:
+				setModule((Model)null);
+				return;
+			case DataParallel_layersPackage.DATA_PARALLEL_LAYERS__DEVICE_IDS:
+				getDevice_ids().clear();
+				return;
+			case DataParallel_layersPackage.DATA_PARALLEL_LAYERS__OUTPUT_DEVICE:
+				getOutput_device().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DataParallel_layersPackage.DATA_PARALLEL_LAYERS__MODULE:
+				return module != null;
+			case DataParallel_layersPackage.DATA_PARALLEL_LAYERS__DEVICE_IDS:
+				return device_ids != null && !device_ids.isEmpty();
+			case DataParallel_layersPackage.DATA_PARALLEL_LAYERS__OUTPUT_DEVICE:
+				return output_device != null && !output_device.isEmpty();
+		}
+		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(" (device_ids: "); //$NON-NLS-1$
+		result.append(device_ids);
+		result.append(", output_device: "); //$NON-NLS-1$
+		result.append(output_device);
+		result.append(')');
+		return result.toString();
+	}
+
+} //DataParallel_layersImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/DataParallel_layers/impl/DataParallel_layersPackageImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/DataParallel_layers/impl/DataParallel_layersPackageImpl.java
new file mode 100644
index 0000000..1c7be47
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/DataParallel_layers/impl/DataParallel_layersPackageImpl.java
@@ -0,0 +1,502 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.AIMLPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel;
+import org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layers;
+import org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layersFactory;
+import org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layersPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DistributedDataParallel;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.Distance_functionsPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.impl.Distance_functionsPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.Dropout_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.Layer_weight_constraintsPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.Layer_weight_constraintsPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.Layer_weight_initializersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.Layer_weight_regularizersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.Layer_weight_regularizersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.Linear_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Loss_functions.Loss_functionsPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Loss_functions.impl.Loss_functionsPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Module.ModulePackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Module.impl.ModulePackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.NonLinearActivationsPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.impl.NonLinearActivationsPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Normalization_layers.Normalization_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Normalization_layers.impl.Normalization_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Padding_layers.Padding_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Padding_layers.impl.Padding_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Pooling_layers.Pooling_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Pooling_layers.impl.Pooling_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Recurrent_layers.Recurrent_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Recurrent_layers.impl.Recurrent_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.SoftMinMaxActivations.SoftMinMaxActivationsPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.SoftMinMaxActivations.impl.SoftMinMaxActivationsPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Sparse_layers.Sparse_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Sparse_layers.impl.Sparse_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Tensor.TensorPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Tensor.impl.TensorPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Transformer_layers.Transformer_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Transformer_layers.impl.Transformer_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Vision_layers.Vision_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Vision_layers.impl.Vision_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.datatypes.DatatypesPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.datatypes.impl.DatatypesPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.impl.AIMLPackageImpl;
+
+import org.eclipse.uml2.types.TypesPackage;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DataParallel_layersPackageImpl extends EPackageImpl implements DataParallel_layersPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass dataParallel_layersEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass distributedDataParallelEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass dataParallelEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layersPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private DataParallel_layersPackageImpl() {
+		super(eNS_URI, DataParallel_layersFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 *
+	 * <p>This method is used to initialize {@link DataParallel_layersPackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static DataParallel_layersPackage init() {
+		if (isInited) return (DataParallel_layersPackage)EPackage.Registry.INSTANCE.getEPackage(DataParallel_layersPackage.eNS_URI);
+
+		// Obtain or create and register package
+		Object registeredDataParallel_layersPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+		DataParallel_layersPackageImpl theDataParallel_layersPackage = registeredDataParallel_layersPackage instanceof DataParallel_layersPackageImpl ? (DataParallel_layersPackageImpl)registeredDataParallel_layersPackage : new DataParallel_layersPackageImpl();
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		EcorePackage.eINSTANCE.eClass();
+		TypesPackage.eINSTANCE.eClass();
+		UMLPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		Object registeredPackage = EPackage.Registry.INSTANCE.getEPackage(AIMLPackage.eNS_URI);
+		AIMLPackageImpl theAIMLPackage = (AIMLPackageImpl)(registeredPackage instanceof AIMLPackageImpl ? registeredPackage : AIMLPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ModulePackage.eNS_URI);
+		ModulePackageImpl theModulePackage = (ModulePackageImpl)(registeredPackage instanceof ModulePackageImpl ? registeredPackage : ModulePackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(TensorPackage.eNS_URI);
+		TensorPackageImpl theTensorPackage = (TensorPackageImpl)(registeredPackage instanceof TensorPackageImpl ? registeredPackage : TensorPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI);
+		DatatypesPackageImpl theDatatypesPackage = (DatatypesPackageImpl)(registeredPackage instanceof DatatypesPackageImpl ? registeredPackage : DatatypesPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Pooling_layersPackage.eNS_URI);
+		Pooling_layersPackageImpl thePooling_layersPackage = (Pooling_layersPackageImpl)(registeredPackage instanceof Pooling_layersPackageImpl ? registeredPackage : Pooling_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Convolution_layersPackage.eNS_URI);
+		Convolution_layersPackageImpl theConvolution_layersPackage = (Convolution_layersPackageImpl)(registeredPackage instanceof Convolution_layersPackageImpl ? registeredPackage : Convolution_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Layer_weight_constraintsPackage.eNS_URI);
+		Layer_weight_constraintsPackageImpl theLayer_weight_constraintsPackage = (Layer_weight_constraintsPackageImpl)(registeredPackage instanceof Layer_weight_constraintsPackageImpl ? registeredPackage : Layer_weight_constraintsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Padding_layersPackage.eNS_URI);
+		Padding_layersPackageImpl thePadding_layersPackage = (Padding_layersPackageImpl)(registeredPackage instanceof Padding_layersPackageImpl ? registeredPackage : Padding_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(NonLinearActivationsPackage.eNS_URI);
+		NonLinearActivationsPackageImpl theNonLinearActivationsPackage = (NonLinearActivationsPackageImpl)(registeredPackage instanceof NonLinearActivationsPackageImpl ? registeredPackage : NonLinearActivationsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(SoftMinMaxActivationsPackage.eNS_URI);
+		SoftMinMaxActivationsPackageImpl theSoftMinMaxActivationsPackage = (SoftMinMaxActivationsPackageImpl)(registeredPackage instanceof SoftMinMaxActivationsPackageImpl ? registeredPackage : SoftMinMaxActivationsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Normalization_layersPackage.eNS_URI);
+		Normalization_layersPackageImpl theNormalization_layersPackage = (Normalization_layersPackageImpl)(registeredPackage instanceof Normalization_layersPackageImpl ? registeredPackage : Normalization_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Recurrent_layersPackage.eNS_URI);
+		Recurrent_layersPackageImpl theRecurrent_layersPackage = (Recurrent_layersPackageImpl)(registeredPackage instanceof Recurrent_layersPackageImpl ? registeredPackage : Recurrent_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Transformer_layersPackage.eNS_URI);
+		Transformer_layersPackageImpl theTransformer_layersPackage = (Transformer_layersPackageImpl)(registeredPackage instanceof Transformer_layersPackageImpl ? registeredPackage : Transformer_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Linear_layersPackage.eNS_URI);
+		Linear_layersPackageImpl theLinear_layersPackage = (Linear_layersPackageImpl)(registeredPackage instanceof Linear_layersPackageImpl ? registeredPackage : Linear_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Dropout_layersPackage.eNS_URI);
+		Dropout_layersPackageImpl theDropout_layersPackage = (Dropout_layersPackageImpl)(registeredPackage instanceof Dropout_layersPackageImpl ? registeredPackage : Dropout_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Sparse_layersPackage.eNS_URI);
+		Sparse_layersPackageImpl theSparse_layersPackage = (Sparse_layersPackageImpl)(registeredPackage instanceof Sparse_layersPackageImpl ? registeredPackage : Sparse_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Distance_functionsPackage.eNS_URI);
+		Distance_functionsPackageImpl theDistance_functionsPackage = (Distance_functionsPackageImpl)(registeredPackage instanceof Distance_functionsPackageImpl ? registeredPackage : Distance_functionsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Loss_functionsPackage.eNS_URI);
+		Loss_functionsPackageImpl theLoss_functionsPackage = (Loss_functionsPackageImpl)(registeredPackage instanceof Loss_functionsPackageImpl ? registeredPackage : Loss_functionsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Vision_layersPackage.eNS_URI);
+		Vision_layersPackageImpl theVision_layersPackage = (Vision_layersPackageImpl)(registeredPackage instanceof Vision_layersPackageImpl ? registeredPackage : Vision_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Layer_weight_regularizersPackage.eNS_URI);
+		Layer_weight_regularizersPackageImpl theLayer_weight_regularizersPackage = (Layer_weight_regularizersPackageImpl)(registeredPackage instanceof Layer_weight_regularizersPackageImpl ? registeredPackage : Layer_weight_regularizersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Layer_weight_initializersPackage.eNS_URI);
+		Layer_weight_initializersPackageImpl theLayer_weight_initializersPackage = (Layer_weight_initializersPackageImpl)(registeredPackage instanceof Layer_weight_initializersPackageImpl ? registeredPackage : Layer_weight_initializersPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theDataParallel_layersPackage.createPackageContents();
+		theAIMLPackage.createPackageContents();
+		theModulePackage.createPackageContents();
+		theTensorPackage.createPackageContents();
+		theDatatypesPackage.createPackageContents();
+		thePooling_layersPackage.createPackageContents();
+		theConvolution_layersPackage.createPackageContents();
+		theLayer_weight_constraintsPackage.createPackageContents();
+		thePadding_layersPackage.createPackageContents();
+		theNonLinearActivationsPackage.createPackageContents();
+		theSoftMinMaxActivationsPackage.createPackageContents();
+		theNormalization_layersPackage.createPackageContents();
+		theRecurrent_layersPackage.createPackageContents();
+		theTransformer_layersPackage.createPackageContents();
+		theLinear_layersPackage.createPackageContents();
+		theDropout_layersPackage.createPackageContents();
+		theSparse_layersPackage.createPackageContents();
+		theDistance_functionsPackage.createPackageContents();
+		theLoss_functionsPackage.createPackageContents();
+		theVision_layersPackage.createPackageContents();
+		theLayer_weight_regularizersPackage.createPackageContents();
+		theLayer_weight_initializersPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theDataParallel_layersPackage.initializePackageContents();
+		theAIMLPackage.initializePackageContents();
+		theModulePackage.initializePackageContents();
+		theTensorPackage.initializePackageContents();
+		theDatatypesPackage.initializePackageContents();
+		thePooling_layersPackage.initializePackageContents();
+		theConvolution_layersPackage.initializePackageContents();
+		theLayer_weight_constraintsPackage.initializePackageContents();
+		thePadding_layersPackage.initializePackageContents();
+		theNonLinearActivationsPackage.initializePackageContents();
+		theSoftMinMaxActivationsPackage.initializePackageContents();
+		theNormalization_layersPackage.initializePackageContents();
+		theRecurrent_layersPackage.initializePackageContents();
+		theTransformer_layersPackage.initializePackageContents();
+		theLinear_layersPackage.initializePackageContents();
+		theDropout_layersPackage.initializePackageContents();
+		theSparse_layersPackage.initializePackageContents();
+		theDistance_functionsPackage.initializePackageContents();
+		theLoss_functionsPackage.initializePackageContents();
+		theVision_layersPackage.initializePackageContents();
+		theLayer_weight_regularizersPackage.initializePackageContents();
+		theLayer_weight_initializersPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theDataParallel_layersPackage.freeze();
+
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(DataParallel_layersPackage.eNS_URI, theDataParallel_layersPackage);
+		return theDataParallel_layersPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getDataParallel_layers() {
+		return dataParallel_layersEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EReference getDataParallel_layers_Module() {
+		return (EReference)dataParallel_layersEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getDataParallel_layers_Device_ids() {
+		return (EAttribute)dataParallel_layersEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getDataParallel_layers_Output_device() {
+		return (EAttribute)dataParallel_layersEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getDistributedDataParallel() {
+		return distributedDataParallelEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getDistributedDataParallel_Broadcast_buffers() {
+		return (EAttribute)distributedDataParallelEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getDistributedDataParallel_Process_group() {
+		return (EAttribute)distributedDataParallelEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getDistributedDataParallel_Bucket_cap_mb() {
+		return (EAttribute)distributedDataParallelEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getDistributedDataParallel_Find_unsused_parameters() {
+		return (EAttribute)distributedDataParallelEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getDistributedDataParallel_Check_reduction() {
+		return (EAttribute)distributedDataParallelEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getDataParallel() {
+		return dataParallelEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public DataParallel_layersFactory getDataParallel_layersFactory() {
+		return (DataParallel_layersFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		dataParallel_layersEClass = createEClass(DATA_PARALLEL_LAYERS);
+		createEReference(dataParallel_layersEClass, DATA_PARALLEL_LAYERS__MODULE);
+		createEAttribute(dataParallel_layersEClass, DATA_PARALLEL_LAYERS__DEVICE_IDS);
+		createEAttribute(dataParallel_layersEClass, DATA_PARALLEL_LAYERS__OUTPUT_DEVICE);
+
+		distributedDataParallelEClass = createEClass(DISTRIBUTED_DATA_PARALLEL);
+		createEAttribute(distributedDataParallelEClass, DISTRIBUTED_DATA_PARALLEL__BROADCAST_BUFFERS);
+		createEAttribute(distributedDataParallelEClass, DISTRIBUTED_DATA_PARALLEL__PROCESS_GROUP);
+		createEAttribute(distributedDataParallelEClass, DISTRIBUTED_DATA_PARALLEL__BUCKET_CAP_MB);
+		createEAttribute(distributedDataParallelEClass, DISTRIBUTED_DATA_PARALLEL__FIND_UNSUSED_PARAMETERS);
+		createEAttribute(distributedDataParallelEClass, DISTRIBUTED_DATA_PARALLEL__CHECK_REDUCTION);
+
+		dataParallelEClass = createEClass(DATA_PARALLEL);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		ModulePackage theModulePackage = (ModulePackage)EPackage.Registry.INSTANCE.getEPackage(ModulePackage.eNS_URI);
+		TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+		dataParallel_layersEClass.getESuperTypes().add(theModulePackage.getModel());
+		distributedDataParallelEClass.getESuperTypes().add(this.getDataParallel_layers());
+		dataParallelEClass.getESuperTypes().add(this.getDataParallel_layers());
+
+		// Initialize classes, features, and operations; add parameters
+		initEClass(dataParallel_layersEClass, DataParallel_layers.class, "DataParallel_layers", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getDataParallel_layers_Module(), theModulePackage.getModel(), null, "module", null, 1, 1, DataParallel_layers.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getDataParallel_layers_Device_ids(), theTypesPackage.getInteger(), "device_ids", null, 0, -1, DataParallel_layers.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getDataParallel_layers_Output_device(), theTypesPackage.getInteger(), "output_device", null, 0, -1, DataParallel_layers.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(distributedDataParallelEClass, DistributedDataParallel.class, "DistributedDataParallel", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(getDistributedDataParallel_Broadcast_buffers(), theTypesPackage.getBoolean(), "broadcast_buffers", null, 0, 1, DistributedDataParallel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getDistributedDataParallel_Process_group(), theTypesPackage.getInteger(), "process_group", null, 0, 1, DistributedDataParallel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getDistributedDataParallel_Bucket_cap_mb(), theTypesPackage.getInteger(), "bucket_cap_mb", null, 0, 1, DistributedDataParallel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getDistributedDataParallel_Find_unsused_parameters(), theTypesPackage.getBoolean(), "find_unsused_parameters", null, 0, 1, DistributedDataParallel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getDistributedDataParallel_Check_reduction(), theTypesPackage.getBoolean(), "check_reduction", null, 0, 1, DistributedDataParallel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(dataParallelEClass, DataParallel.class, "DataParallel", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+	}
+
+} //DataParallel_layersPackageImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/DataParallel_layers/impl/DistributedDataParallelImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/DataParallel_layers/impl/DistributedDataParallelImpl.java
new file mode 100644
index 0000000..3a74902
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/DataParallel_layers/impl/DistributedDataParallelImpl.java
@@ -0,0 +1,397 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layersPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DistributedDataParallel;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Distributed Data Parallel</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl.DistributedDataParallelImpl#isBroadcast_buffers <em>Broadcast buffers</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl.DistributedDataParallelImpl#getProcess_group <em>Process group</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl.DistributedDataParallelImpl#getBucket_cap_mb <em>Bucket cap mb</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl.DistributedDataParallelImpl#isFind_unsused_parameters <em>Find unsused parameters</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl.DistributedDataParallelImpl#isCheck_reduction <em>Check reduction</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DistributedDataParallelImpl extends DataParallel_layersImpl implements DistributedDataParallel {
+	/**
+	 * The default value of the '{@link #isBroadcast_buffers() <em>Broadcast buffers</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isBroadcast_buffers()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean BROADCAST_BUFFERS_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isBroadcast_buffers() <em>Broadcast buffers</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isBroadcast_buffers()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean broadcast_buffers = BROADCAST_BUFFERS_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getProcess_group() <em>Process group</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProcess_group()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int PROCESS_GROUP_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getProcess_group() <em>Process group</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProcess_group()
+	 * @generated
+	 * @ordered
+	 */
+	protected int process_group = PROCESS_GROUP_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getBucket_cap_mb() <em>Bucket cap mb</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBucket_cap_mb()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int BUCKET_CAP_MB_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getBucket_cap_mb() <em>Bucket cap mb</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBucket_cap_mb()
+	 * @generated
+	 * @ordered
+	 */
+	protected int bucket_cap_mb = BUCKET_CAP_MB_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #isFind_unsused_parameters() <em>Find unsused parameters</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isFind_unsused_parameters()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean FIND_UNSUSED_PARAMETERS_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isFind_unsused_parameters() <em>Find unsused parameters</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isFind_unsused_parameters()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean find_unsused_parameters = FIND_UNSUSED_PARAMETERS_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #isCheck_reduction() <em>Check reduction</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isCheck_reduction()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean CHECK_REDUCTION_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isCheck_reduction() <em>Check reduction</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isCheck_reduction()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean check_reduction = CHECK_REDUCTION_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DistributedDataParallelImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DataParallel_layersPackage.Literals.DISTRIBUTED_DATA_PARALLEL;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isBroadcast_buffers() {
+		return broadcast_buffers;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setBroadcast_buffers(boolean newBroadcast_buffers) {
+		boolean oldBroadcast_buffers = broadcast_buffers;
+		broadcast_buffers = newBroadcast_buffers;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DataParallel_layersPackage.DISTRIBUTED_DATA_PARALLEL__BROADCAST_BUFFERS, oldBroadcast_buffers, broadcast_buffers));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int getProcess_group() {
+		return process_group;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setProcess_group(int newProcess_group) {
+		int oldProcess_group = process_group;
+		process_group = newProcess_group;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DataParallel_layersPackage.DISTRIBUTED_DATA_PARALLEL__PROCESS_GROUP, oldProcess_group, process_group));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int getBucket_cap_mb() {
+		return bucket_cap_mb;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setBucket_cap_mb(int newBucket_cap_mb) {
+		int oldBucket_cap_mb = bucket_cap_mb;
+		bucket_cap_mb = newBucket_cap_mb;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DataParallel_layersPackage.DISTRIBUTED_DATA_PARALLEL__BUCKET_CAP_MB, oldBucket_cap_mb, bucket_cap_mb));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isFind_unsused_parameters() {
+		return find_unsused_parameters;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setFind_unsused_parameters(boolean newFind_unsused_parameters) {
+		boolean oldFind_unsused_parameters = find_unsused_parameters;
+		find_unsused_parameters = newFind_unsused_parameters;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DataParallel_layersPackage.DISTRIBUTED_DATA_PARALLEL__FIND_UNSUSED_PARAMETERS, oldFind_unsused_parameters, find_unsused_parameters));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isCheck_reduction() {
+		return check_reduction;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setCheck_reduction(boolean newCheck_reduction) {
+		boolean oldCheck_reduction = check_reduction;
+		check_reduction = newCheck_reduction;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DataParallel_layersPackage.DISTRIBUTED_DATA_PARALLEL__CHECK_REDUCTION, oldCheck_reduction, check_reduction));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DataParallel_layersPackage.DISTRIBUTED_DATA_PARALLEL__BROADCAST_BUFFERS:
+				return isBroadcast_buffers();
+			case DataParallel_layersPackage.DISTRIBUTED_DATA_PARALLEL__PROCESS_GROUP:
+				return getProcess_group();
+			case DataParallel_layersPackage.DISTRIBUTED_DATA_PARALLEL__BUCKET_CAP_MB:
+				return getBucket_cap_mb();
+			case DataParallel_layersPackage.DISTRIBUTED_DATA_PARALLEL__FIND_UNSUSED_PARAMETERS:
+				return isFind_unsused_parameters();
+			case DataParallel_layersPackage.DISTRIBUTED_DATA_PARALLEL__CHECK_REDUCTION:
+				return isCheck_reduction();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DataParallel_layersPackage.DISTRIBUTED_DATA_PARALLEL__BROADCAST_BUFFERS:
+				setBroadcast_buffers((Boolean)newValue);
+				return;
+			case DataParallel_layersPackage.DISTRIBUTED_DATA_PARALLEL__PROCESS_GROUP:
+				setProcess_group((Integer)newValue);
+				return;
+			case DataParallel_layersPackage.DISTRIBUTED_DATA_PARALLEL__BUCKET_CAP_MB:
+				setBucket_cap_mb((Integer)newValue);
+				return;
+			case DataParallel_layersPackage.DISTRIBUTED_DATA_PARALLEL__FIND_UNSUSED_PARAMETERS:
+				setFind_unsused_parameters((Boolean)newValue);
+				return;
+			case DataParallel_layersPackage.DISTRIBUTED_DATA_PARALLEL__CHECK_REDUCTION:
+				setCheck_reduction((Boolean)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DataParallel_layersPackage.DISTRIBUTED_DATA_PARALLEL__BROADCAST_BUFFERS:
+				setBroadcast_buffers(BROADCAST_BUFFERS_EDEFAULT);
+				return;
+			case DataParallel_layersPackage.DISTRIBUTED_DATA_PARALLEL__PROCESS_GROUP:
+				setProcess_group(PROCESS_GROUP_EDEFAULT);
+				return;
+			case DataParallel_layersPackage.DISTRIBUTED_DATA_PARALLEL__BUCKET_CAP_MB:
+				setBucket_cap_mb(BUCKET_CAP_MB_EDEFAULT);
+				return;
+			case DataParallel_layersPackage.DISTRIBUTED_DATA_PARALLEL__FIND_UNSUSED_PARAMETERS:
+				setFind_unsused_parameters(FIND_UNSUSED_PARAMETERS_EDEFAULT);
+				return;
+			case DataParallel_layersPackage.DISTRIBUTED_DATA_PARALLEL__CHECK_REDUCTION:
+				setCheck_reduction(CHECK_REDUCTION_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DataParallel_layersPackage.DISTRIBUTED_DATA_PARALLEL__BROADCAST_BUFFERS:
+				return broadcast_buffers != BROADCAST_BUFFERS_EDEFAULT;
+			case DataParallel_layersPackage.DISTRIBUTED_DATA_PARALLEL__PROCESS_GROUP:
+				return process_group != PROCESS_GROUP_EDEFAULT;
+			case DataParallel_layersPackage.DISTRIBUTED_DATA_PARALLEL__BUCKET_CAP_MB:
+				return bucket_cap_mb != BUCKET_CAP_MB_EDEFAULT;
+			case DataParallel_layersPackage.DISTRIBUTED_DATA_PARALLEL__FIND_UNSUSED_PARAMETERS:
+				return find_unsused_parameters != FIND_UNSUSED_PARAMETERS_EDEFAULT;
+			case DataParallel_layersPackage.DISTRIBUTED_DATA_PARALLEL__CHECK_REDUCTION:
+				return check_reduction != CHECK_REDUCTION_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(" (broadcast_buffers: "); //$NON-NLS-1$
+		result.append(broadcast_buffers);
+		result.append(", process_group: "); //$NON-NLS-1$
+		result.append(process_group);
+		result.append(", bucket_cap_mb: "); //$NON-NLS-1$
+		result.append(bucket_cap_mb);
+		result.append(", find_unsused_parameters: "); //$NON-NLS-1$
+		result.append(find_unsused_parameters);
+		result.append(", check_reduction: "); //$NON-NLS-1$
+		result.append(check_reduction);
+		result.append(')');
+		return result.toString();
+	}
+
+} //DistributedDataParallelImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/DataParallel_layers/util/DataParallel_layersAdapterFactory.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/DataParallel_layers/util/DataParallel_layersAdapterFactory.java
new file mode 100644
index 0000000..5670f4b
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/DataParallel_layers/util/DataParallel_layersAdapterFactory.java
@@ -0,0 +1,184 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.*;
+import org.eclipse.papyrus.aiml.profile.AIML.Module.Model;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layersPackage
+ * @generated
+ */
+public class DataParallel_layersAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static DataParallel_layersPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DataParallel_layersAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = DataParallel_layersPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DataParallel_layersSwitch<Adapter> modelSwitch =
+		new DataParallel_layersSwitch<Adapter>() {
+			@Override
+			public Adapter caseDataParallel_layers(DataParallel_layers object) {
+				return createDataParallel_layersAdapter();
+			}
+			@Override
+			public Adapter caseDistributedDataParallel(DistributedDataParallel object) {
+				return createDistributedDataParallelAdapter();
+			}
+			@Override
+			public Adapter caseDataParallel(DataParallel object) {
+				return createDataParallelAdapter();
+			}
+			@Override
+			public Adapter caseModel(Model object) {
+				return createModelAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layers <em>Data Parallel layers</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.aiml.profile.AIML.DataParallel_layers.DataParallel_layers
+	 * @generated
+	 */
+	public Adapter createDataParallel_layersAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DistributedDataParallel <em>Distributed Data Parallel</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.aiml.profile.AIML.DataParallel_layers.DistributedDataParallel
+	 * @generated
+	 */
+	public Adapter createDistributedDataParallelAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel <em>Data Parallel</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.aiml.profile.AIML.DataParallel_layers.DataParallel
+	 * @generated
+	 */
+	public Adapter createDataParallelAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Module.Model <em>Model</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.aiml.profile.AIML.Module.Model
+	 * @generated
+	 */
+	public Adapter createModelAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //DataParallel_layersAdapterFactory
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/DataParallel_layers/util/DataParallel_layersSwitch.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/DataParallel_layers/util/DataParallel_layersSwitch.java
new file mode 100644
index 0000000..3dfcb1d
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/DataParallel_layers/util/DataParallel_layersSwitch.java
@@ -0,0 +1,182 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.*;
+import org.eclipse.papyrus.aiml.profile.AIML.Module.Model;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layersPackage
+ * @generated
+ */
+public class DataParallel_layersSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static DataParallel_layersPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DataParallel_layersSwitch() {
+		if (modelPackage == null) {
+			modelPackage = DataParallel_layersPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case DataParallel_layersPackage.DATA_PARALLEL_LAYERS: {
+				DataParallel_layers dataParallel_layers = (DataParallel_layers)theEObject;
+				T result = caseDataParallel_layers(dataParallel_layers);
+				if (result == null) result = caseModel(dataParallel_layers);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DataParallel_layersPackage.DISTRIBUTED_DATA_PARALLEL: {
+				DistributedDataParallel distributedDataParallel = (DistributedDataParallel)theEObject;
+				T result = caseDistributedDataParallel(distributedDataParallel);
+				if (result == null) result = caseDataParallel_layers(distributedDataParallel);
+				if (result == null) result = caseModel(distributedDataParallel);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DataParallel_layersPackage.DATA_PARALLEL: {
+				DataParallel dataParallel = (DataParallel)theEObject;
+				T result = caseDataParallel(dataParallel);
+				if (result == null) result = caseDataParallel_layers(dataParallel);
+				if (result == null) result = caseModel(dataParallel);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Data Parallel layers</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Data Parallel layers</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDataParallel_layers(DataParallel_layers object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Distributed Data Parallel</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>Distributed Data Parallel</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDistributedDataParallel(DistributedDataParallel object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Data Parallel</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Data Parallel</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDataParallel(DataParallel object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Model</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>Model</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseModel(Model object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+} //DataParallel_layersSwitch
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Distance_functions/CosineSimilarity.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Distance_functions/CosineSimilarity.java
new file mode 100644
index 0000000..3ba897d
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Distance_functions/CosineSimilarity.java
@@ -0,0 +1,58 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Distance_functions;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Cosine Similarity</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.CosineSimilarity#getDim <em>Dim</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.Distance_functionsPackage#getCosineSimilarity()
+ * @model
+ * @generated
+ */
+public interface CosineSimilarity extends Distance_functions {
+	/**
+	 * Returns the value of the '<em><b>Dim</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Dim</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Dim</em>' attribute.
+	 * @see #setDim(int)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.Distance_functionsPackage#getCosineSimilarity_Dim()
+	 * @model dataType="org.eclipse.uml2.types.Integer" ordered="false"
+	 * @generated
+	 */
+	int getDim();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.CosineSimilarity#getDim <em>Dim</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Dim</em>' attribute.
+	 * @see #getDim()
+	 * @generated
+	 */
+	void setDim(int value);
+
+} // CosineSimilarity
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Distance_functions/Distance_functions.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Distance_functions/Distance_functions.java
new file mode 100644
index 0000000..0e869a8
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Distance_functions/Distance_functions.java
@@ -0,0 +1,59 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Distance_functions;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Module.Model;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Distance functions</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.Distance_functions#getEps <em>Eps</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.Distance_functionsPackage#getDistance_functions()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Distance_functions extends Model {
+	/**
+	 * Returns the value of the '<em><b>Eps</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Eps</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Eps</em>' attribute.
+	 * @see #setEps(double)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.Distance_functionsPackage#getDistance_functions_Eps()
+	 * @model dataType="org.eclipse.uml2.types.Real" ordered="false"
+	 * @generated
+	 */
+	double getEps();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.Distance_functions#getEps <em>Eps</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Eps</em>' attribute.
+	 * @see #getEps()
+	 * @generated
+	 */
+	void setEps(double value);
+
+} // Distance_functions
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Distance_functions/Distance_functionsFactory.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Distance_functions/Distance_functionsFactory.java
new file mode 100644
index 0000000..70bb555
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Distance_functions/Distance_functionsFactory.java
@@ -0,0 +1,60 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Distance_functions;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.Distance_functionsPackage
+ * @generated
+ */
+public interface Distance_functionsFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	Distance_functionsFactory eINSTANCE = org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.impl.Distance_functionsFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Cosine Similarity</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Cosine Similarity</em>'.
+	 * @generated
+	 */
+	CosineSimilarity createCosineSimilarity();
+
+	/**
+	 * Returns a new object of class '<em>Pairwise Distance</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Pairwise Distance</em>'.
+	 * @generated
+	 */
+	PairwiseDistance createPairwiseDistance();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	Distance_functionsPackage getDistance_functionsPackage();
+
+} //Distance_functionsFactory
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Distance_functions/Distance_functionsPackage.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Distance_functions/Distance_functionsPackage.java
new file mode 100644
index 0000000..a3826bf
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Distance_functions/Distance_functionsPackage.java
@@ -0,0 +1,558 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Distance_functions;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Module.ModulePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each operation of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.Distance_functionsFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface Distance_functionsPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "Distance_functions"; //$NON-NLS-1$
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://www.eclipse.org/papyrus/AIML/distance/1"; //$NON-NLS-1$
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "AIML.Distance_functions"; //$NON-NLS-1$
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	Distance_functionsPackage eINSTANCE = org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.impl.Distance_functionsPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.impl.Distance_functionsImpl <em>Distance functions</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.impl.Distance_functionsImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.impl.Distance_functionsPackageImpl#getDistance_functions()
+	 * @generated
+	 */
+	int DISTANCE_FUNCTIONS = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DISTANCE_FUNCTIONS__BASE_CLASS = ModulePackage.MODEL__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DISTANCE_FUNCTIONS__NAME = ModulePackage.MODEL__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DISTANCE_FUNCTIONS__DATA = ModulePackage.MODEL__DATA;
+
+	/**
+	 * The feature id for the '<em><b>Requires grad</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DISTANCE_FUNCTIONS__REQUIRES_GRAD = ModulePackage.MODEL__REQUIRES_GRAD;
+
+	/**
+	 * The feature id for the '<em><b>Sub Module</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DISTANCE_FUNCTIONS__SUB_MODULE = ModulePackage.MODEL__SUB_MODULE;
+
+	/**
+	 * The feature id for the '<em><b>Optimizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DISTANCE_FUNCTIONS__OPTIMIZER = ModulePackage.MODEL__OPTIMIZER;
+
+	/**
+	 * The feature id for the '<em><b>Loss</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DISTANCE_FUNCTIONS__LOSS = ModulePackage.MODEL__LOSS;
+
+	/**
+	 * The feature id for the '<em><b>Eps</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DISTANCE_FUNCTIONS__EPS = ModulePackage.MODEL_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Distance functions</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DISTANCE_FUNCTIONS_FEATURE_COUNT = ModulePackage.MODEL_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>Distance functions</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DISTANCE_FUNCTIONS_OPERATION_COUNT = ModulePackage.MODEL_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.impl.CosineSimilarityImpl <em>Cosine Similarity</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.impl.CosineSimilarityImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.impl.Distance_functionsPackageImpl#getCosineSimilarity()
+	 * @generated
+	 */
+	int COSINE_SIMILARITY = 1;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COSINE_SIMILARITY__BASE_CLASS = DISTANCE_FUNCTIONS__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COSINE_SIMILARITY__NAME = DISTANCE_FUNCTIONS__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COSINE_SIMILARITY__DATA = DISTANCE_FUNCTIONS__DATA;
+
+	/**
+	 * The feature id for the '<em><b>Requires grad</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COSINE_SIMILARITY__REQUIRES_GRAD = DISTANCE_FUNCTIONS__REQUIRES_GRAD;
+
+	/**
+	 * The feature id for the '<em><b>Sub Module</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COSINE_SIMILARITY__SUB_MODULE = DISTANCE_FUNCTIONS__SUB_MODULE;
+
+	/**
+	 * The feature id for the '<em><b>Optimizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COSINE_SIMILARITY__OPTIMIZER = DISTANCE_FUNCTIONS__OPTIMIZER;
+
+	/**
+	 * The feature id for the '<em><b>Loss</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COSINE_SIMILARITY__LOSS = DISTANCE_FUNCTIONS__LOSS;
+
+	/**
+	 * The feature id for the '<em><b>Eps</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COSINE_SIMILARITY__EPS = DISTANCE_FUNCTIONS__EPS;
+
+	/**
+	 * The feature id for the '<em><b>Dim</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COSINE_SIMILARITY__DIM = DISTANCE_FUNCTIONS_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Cosine Similarity</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COSINE_SIMILARITY_FEATURE_COUNT = DISTANCE_FUNCTIONS_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>Cosine Similarity</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COSINE_SIMILARITY_OPERATION_COUNT = DISTANCE_FUNCTIONS_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.impl.PairwiseDistanceImpl <em>Pairwise Distance</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.impl.PairwiseDistanceImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.impl.Distance_functionsPackageImpl#getPairwiseDistance()
+	 * @generated
+	 */
+	int PAIRWISE_DISTANCE = 2;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PAIRWISE_DISTANCE__BASE_CLASS = DISTANCE_FUNCTIONS__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PAIRWISE_DISTANCE__NAME = DISTANCE_FUNCTIONS__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PAIRWISE_DISTANCE__DATA = DISTANCE_FUNCTIONS__DATA;
+
+	/**
+	 * The feature id for the '<em><b>Requires grad</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PAIRWISE_DISTANCE__REQUIRES_GRAD = DISTANCE_FUNCTIONS__REQUIRES_GRAD;
+
+	/**
+	 * The feature id for the '<em><b>Sub Module</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PAIRWISE_DISTANCE__SUB_MODULE = DISTANCE_FUNCTIONS__SUB_MODULE;
+
+	/**
+	 * The feature id for the '<em><b>Optimizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PAIRWISE_DISTANCE__OPTIMIZER = DISTANCE_FUNCTIONS__OPTIMIZER;
+
+	/**
+	 * The feature id for the '<em><b>Loss</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PAIRWISE_DISTANCE__LOSS = DISTANCE_FUNCTIONS__LOSS;
+
+	/**
+	 * The feature id for the '<em><b>Eps</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PAIRWISE_DISTANCE__EPS = DISTANCE_FUNCTIONS__EPS;
+
+	/**
+	 * The feature id for the '<em><b>P</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PAIRWISE_DISTANCE__P = DISTANCE_FUNCTIONS_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Keepdim</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PAIRWISE_DISTANCE__KEEPDIM = DISTANCE_FUNCTIONS_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the '<em>Pairwise Distance</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PAIRWISE_DISTANCE_FEATURE_COUNT = DISTANCE_FUNCTIONS_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of operations of the '<em>Pairwise Distance</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PAIRWISE_DISTANCE_OPERATION_COUNT = DISTANCE_FUNCTIONS_OPERATION_COUNT + 0;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.Distance_functions <em>Distance functions</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Distance functions</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.Distance_functions
+	 * @generated
+	 */
+	EClass getDistance_functions();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.Distance_functions#getEps <em>Eps</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Eps</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.Distance_functions#getEps()
+	 * @see #getDistance_functions()
+	 * @generated
+	 */
+	EAttribute getDistance_functions_Eps();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.CosineSimilarity <em>Cosine Similarity</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Cosine Similarity</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.CosineSimilarity
+	 * @generated
+	 */
+	EClass getCosineSimilarity();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.CosineSimilarity#getDim <em>Dim</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Dim</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.CosineSimilarity#getDim()
+	 * @see #getCosineSimilarity()
+	 * @generated
+	 */
+	EAttribute getCosineSimilarity_Dim();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.PairwiseDistance <em>Pairwise Distance</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Pairwise Distance</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.PairwiseDistance
+	 * @generated
+	 */
+	EClass getPairwiseDistance();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.PairwiseDistance#getP <em>P</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>P</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.PairwiseDistance#getP()
+	 * @see #getPairwiseDistance()
+	 * @generated
+	 */
+	EAttribute getPairwiseDistance_P();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.PairwiseDistance#isKeepdim <em>Keepdim</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Keepdim</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.PairwiseDistance#isKeepdim()
+	 * @see #getPairwiseDistance()
+	 * @generated
+	 */
+	EAttribute getPairwiseDistance_Keepdim();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	Distance_functionsFactory getDistance_functionsFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each operation of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.impl.Distance_functionsImpl <em>Distance functions</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.impl.Distance_functionsImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.impl.Distance_functionsPackageImpl#getDistance_functions()
+		 * @generated
+		 */
+		EClass DISTANCE_FUNCTIONS = eINSTANCE.getDistance_functions();
+
+		/**
+		 * The meta object literal for the '<em><b>Eps</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DISTANCE_FUNCTIONS__EPS = eINSTANCE.getDistance_functions_Eps();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.impl.CosineSimilarityImpl <em>Cosine Similarity</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.impl.CosineSimilarityImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.impl.Distance_functionsPackageImpl#getCosineSimilarity()
+		 * @generated
+		 */
+		EClass COSINE_SIMILARITY = eINSTANCE.getCosineSimilarity();
+
+		/**
+		 * The meta object literal for the '<em><b>Dim</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute COSINE_SIMILARITY__DIM = eINSTANCE.getCosineSimilarity_Dim();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.impl.PairwiseDistanceImpl <em>Pairwise Distance</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.impl.PairwiseDistanceImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.impl.Distance_functionsPackageImpl#getPairwiseDistance()
+		 * @generated
+		 */
+		EClass PAIRWISE_DISTANCE = eINSTANCE.getPairwiseDistance();
+
+		/**
+		 * The meta object literal for the '<em><b>P</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PAIRWISE_DISTANCE__P = eINSTANCE.getPairwiseDistance_P();
+
+		/**
+		 * The meta object literal for the '<em><b>Keepdim</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PAIRWISE_DISTANCE__KEEPDIM = eINSTANCE.getPairwiseDistance_Keepdim();
+
+	}
+
+} //Distance_functionsPackage
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Distance_functions/PairwiseDistance.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Distance_functions/PairwiseDistance.java
new file mode 100644
index 0000000..ad0a2a1
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Distance_functions/PairwiseDistance.java
@@ -0,0 +1,85 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Distance_functions;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Pairwise Distance</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.PairwiseDistance#getP <em>P</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.PairwiseDistance#isKeepdim <em>Keepdim</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.Distance_functionsPackage#getPairwiseDistance()
+ * @model
+ * @generated
+ */
+public interface PairwiseDistance extends Distance_functions {
+	/**
+	 * Returns the value of the '<em><b>P</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>P</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>P</em>' attribute.
+	 * @see #setP(double)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.Distance_functionsPackage#getPairwiseDistance_P()
+	 * @model dataType="org.eclipse.uml2.types.Real" ordered="false"
+	 * @generated
+	 */
+	double getP();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.PairwiseDistance#getP <em>P</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>P</em>' attribute.
+	 * @see #getP()
+	 * @generated
+	 */
+	void setP(double value);
+
+	/**
+	 * Returns the value of the '<em><b>Keepdim</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Keepdim</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Keepdim</em>' attribute.
+	 * @see #setKeepdim(boolean)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.Distance_functionsPackage#getPairwiseDistance_Keepdim()
+	 * @model dataType="org.eclipse.uml2.types.Boolean" ordered="false"
+	 * @generated
+	 */
+	boolean isKeepdim();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.PairwiseDistance#isKeepdim <em>Keepdim</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Keepdim</em>' attribute.
+	 * @see #isKeepdim()
+	 * @generated
+	 */
+	void setKeepdim(boolean value);
+
+} // PairwiseDistance
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Distance_functions/impl/CosineSimilarityImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Distance_functions/impl/CosineSimilarityImpl.java
new file mode 100644
index 0000000..e875fd4
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Distance_functions/impl/CosineSimilarityImpl.java
@@ -0,0 +1,173 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.CosineSimilarity;
+import org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.Distance_functionsPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Cosine Similarity</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.impl.CosineSimilarityImpl#getDim <em>Dim</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class CosineSimilarityImpl extends Distance_functionsImpl implements CosineSimilarity {
+	/**
+	 * The default value of the '{@link #getDim() <em>Dim</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDim()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int DIM_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getDim() <em>Dim</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDim()
+	 * @generated
+	 * @ordered
+	 */
+	protected int dim = DIM_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CosineSimilarityImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Distance_functionsPackage.Literals.COSINE_SIMILARITY;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int getDim() {
+		return dim;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setDim(int newDim) {
+		int oldDim = dim;
+		dim = newDim;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Distance_functionsPackage.COSINE_SIMILARITY__DIM, oldDim, dim));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case Distance_functionsPackage.COSINE_SIMILARITY__DIM:
+				return getDim();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case Distance_functionsPackage.COSINE_SIMILARITY__DIM:
+				setDim((Integer)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case Distance_functionsPackage.COSINE_SIMILARITY__DIM:
+				setDim(DIM_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case Distance_functionsPackage.COSINE_SIMILARITY__DIM:
+				return dim != DIM_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(" (dim: "); //$NON-NLS-1$
+		result.append(dim);
+		result.append(')');
+		return result.toString();
+	}
+
+} //CosineSimilarityImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Distance_functions/impl/Distance_functionsFactoryImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Distance_functions/impl/Distance_functionsFactoryImpl.java
new file mode 100644
index 0000000..ed36a6a
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Distance_functions/impl/Distance_functionsFactoryImpl.java
@@ -0,0 +1,118 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class Distance_functionsFactoryImpl extends EFactoryImpl implements Distance_functionsFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static Distance_functionsFactory init() {
+		try {
+			Distance_functionsFactory theDistance_functionsFactory = (Distance_functionsFactory)EPackage.Registry.INSTANCE.getEFactory(Distance_functionsPackage.eNS_URI);
+			if (theDistance_functionsFactory != null) {
+				return theDistance_functionsFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new Distance_functionsFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Distance_functionsFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case Distance_functionsPackage.COSINE_SIMILARITY: return createCosineSimilarity();
+			case Distance_functionsPackage.PAIRWISE_DISTANCE: return createPairwiseDistance();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public CosineSimilarity createCosineSimilarity() {
+		CosineSimilarityImpl cosineSimilarity = new CosineSimilarityImpl();
+		return cosineSimilarity;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public PairwiseDistance createPairwiseDistance() {
+		PairwiseDistanceImpl pairwiseDistance = new PairwiseDistanceImpl();
+		return pairwiseDistance;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Distance_functionsPackage getDistance_functionsPackage() {
+		return (Distance_functionsPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static Distance_functionsPackage getPackage() {
+		return Distance_functionsPackage.eINSTANCE;
+	}
+
+} //Distance_functionsFactoryImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Distance_functions/impl/Distance_functionsImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Distance_functions/impl/Distance_functionsImpl.java
new file mode 100644
index 0000000..d657868
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Distance_functions/impl/Distance_functionsImpl.java
@@ -0,0 +1,174 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.Distance_functions;
+import org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.Distance_functionsPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Module.impl.ModelImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Distance functions</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.impl.Distance_functionsImpl#getEps <em>Eps</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class Distance_functionsImpl extends ModelImpl implements Distance_functions {
+	/**
+	 * The default value of the '{@link #getEps() <em>Eps</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEps()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double EPS_EDEFAULT = 0.0;
+
+	/**
+	 * The cached value of the '{@link #getEps() <em>Eps</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEps()
+	 * @generated
+	 * @ordered
+	 */
+	protected double eps = EPS_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Distance_functionsImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Distance_functionsPackage.Literals.DISTANCE_FUNCTIONS;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public double getEps() {
+		return eps;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setEps(double newEps) {
+		double oldEps = eps;
+		eps = newEps;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Distance_functionsPackage.DISTANCE_FUNCTIONS__EPS, oldEps, eps));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case Distance_functionsPackage.DISTANCE_FUNCTIONS__EPS:
+				return getEps();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case Distance_functionsPackage.DISTANCE_FUNCTIONS__EPS:
+				setEps((Double)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case Distance_functionsPackage.DISTANCE_FUNCTIONS__EPS:
+				setEps(EPS_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case Distance_functionsPackage.DISTANCE_FUNCTIONS__EPS:
+				return eps != EPS_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(" (eps: "); //$NON-NLS-1$
+		result.append(eps);
+		result.append(')');
+		return result.toString();
+	}
+
+} //Distance_functionsImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Distance_functions/impl/Distance_functionsPackageImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Distance_functions/impl/Distance_functionsPackageImpl.java
new file mode 100644
index 0000000..1399efc
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Distance_functions/impl/Distance_functionsPackageImpl.java
@@ -0,0 +1,453 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EcorePackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.AIMLPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl.DataParallel_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.CosineSimilarity;
+import org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.Distance_functions;
+import org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.Distance_functionsFactory;
+import org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.Distance_functionsPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.PairwiseDistance;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.Dropout_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.Layer_weight_constraintsPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.Layer_weight_constraintsPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.Layer_weight_initializersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.Layer_weight_regularizersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.Layer_weight_regularizersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.Linear_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Loss_functions.Loss_functionsPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Loss_functions.impl.Loss_functionsPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Module.ModulePackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Module.impl.ModulePackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.NonLinearActivationsPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.impl.NonLinearActivationsPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Normalization_layers.Normalization_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Normalization_layers.impl.Normalization_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Padding_layers.Padding_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Padding_layers.impl.Padding_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Pooling_layers.Pooling_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Pooling_layers.impl.Pooling_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Recurrent_layers.Recurrent_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Recurrent_layers.impl.Recurrent_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.SoftMinMaxActivations.SoftMinMaxActivationsPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.SoftMinMaxActivations.impl.SoftMinMaxActivationsPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Sparse_layers.Sparse_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Sparse_layers.impl.Sparse_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Tensor.TensorPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Tensor.impl.TensorPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Transformer_layers.Transformer_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Transformer_layers.impl.Transformer_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Vision_layers.Vision_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Vision_layers.impl.Vision_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.datatypes.DatatypesPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.datatypes.impl.DatatypesPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.impl.AIMLPackageImpl;
+
+import org.eclipse.uml2.types.TypesPackage;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class Distance_functionsPackageImpl extends EPackageImpl implements Distance_functionsPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass distance_functionsEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass cosineSimilarityEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass pairwiseDistanceEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.Distance_functionsPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private Distance_functionsPackageImpl() {
+		super(eNS_URI, Distance_functionsFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 *
+	 * <p>This method is used to initialize {@link Distance_functionsPackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static Distance_functionsPackage init() {
+		if (isInited) return (Distance_functionsPackage)EPackage.Registry.INSTANCE.getEPackage(Distance_functionsPackage.eNS_URI);
+
+		// Obtain or create and register package
+		Object registeredDistance_functionsPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+		Distance_functionsPackageImpl theDistance_functionsPackage = registeredDistance_functionsPackage instanceof Distance_functionsPackageImpl ? (Distance_functionsPackageImpl)registeredDistance_functionsPackage : new Distance_functionsPackageImpl();
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		EcorePackage.eINSTANCE.eClass();
+		TypesPackage.eINSTANCE.eClass();
+		UMLPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		Object registeredPackage = EPackage.Registry.INSTANCE.getEPackage(AIMLPackage.eNS_URI);
+		AIMLPackageImpl theAIMLPackage = (AIMLPackageImpl)(registeredPackage instanceof AIMLPackageImpl ? registeredPackage : AIMLPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ModulePackage.eNS_URI);
+		ModulePackageImpl theModulePackage = (ModulePackageImpl)(registeredPackage instanceof ModulePackageImpl ? registeredPackage : ModulePackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(TensorPackage.eNS_URI);
+		TensorPackageImpl theTensorPackage = (TensorPackageImpl)(registeredPackage instanceof TensorPackageImpl ? registeredPackage : TensorPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI);
+		DatatypesPackageImpl theDatatypesPackage = (DatatypesPackageImpl)(registeredPackage instanceof DatatypesPackageImpl ? registeredPackage : DatatypesPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Pooling_layersPackage.eNS_URI);
+		Pooling_layersPackageImpl thePooling_layersPackage = (Pooling_layersPackageImpl)(registeredPackage instanceof Pooling_layersPackageImpl ? registeredPackage : Pooling_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Convolution_layersPackage.eNS_URI);
+		Convolution_layersPackageImpl theConvolution_layersPackage = (Convolution_layersPackageImpl)(registeredPackage instanceof Convolution_layersPackageImpl ? registeredPackage : Convolution_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Layer_weight_constraintsPackage.eNS_URI);
+		Layer_weight_constraintsPackageImpl theLayer_weight_constraintsPackage = (Layer_weight_constraintsPackageImpl)(registeredPackage instanceof Layer_weight_constraintsPackageImpl ? registeredPackage : Layer_weight_constraintsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Padding_layersPackage.eNS_URI);
+		Padding_layersPackageImpl thePadding_layersPackage = (Padding_layersPackageImpl)(registeredPackage instanceof Padding_layersPackageImpl ? registeredPackage : Padding_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(NonLinearActivationsPackage.eNS_URI);
+		NonLinearActivationsPackageImpl theNonLinearActivationsPackage = (NonLinearActivationsPackageImpl)(registeredPackage instanceof NonLinearActivationsPackageImpl ? registeredPackage : NonLinearActivationsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(SoftMinMaxActivationsPackage.eNS_URI);
+		SoftMinMaxActivationsPackageImpl theSoftMinMaxActivationsPackage = (SoftMinMaxActivationsPackageImpl)(registeredPackage instanceof SoftMinMaxActivationsPackageImpl ? registeredPackage : SoftMinMaxActivationsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Normalization_layersPackage.eNS_URI);
+		Normalization_layersPackageImpl theNormalization_layersPackage = (Normalization_layersPackageImpl)(registeredPackage instanceof Normalization_layersPackageImpl ? registeredPackage : Normalization_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Recurrent_layersPackage.eNS_URI);
+		Recurrent_layersPackageImpl theRecurrent_layersPackage = (Recurrent_layersPackageImpl)(registeredPackage instanceof Recurrent_layersPackageImpl ? registeredPackage : Recurrent_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Transformer_layersPackage.eNS_URI);
+		Transformer_layersPackageImpl theTransformer_layersPackage = (Transformer_layersPackageImpl)(registeredPackage instanceof Transformer_layersPackageImpl ? registeredPackage : Transformer_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Linear_layersPackage.eNS_URI);
+		Linear_layersPackageImpl theLinear_layersPackage = (Linear_layersPackageImpl)(registeredPackage instanceof Linear_layersPackageImpl ? registeredPackage : Linear_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Dropout_layersPackage.eNS_URI);
+		Dropout_layersPackageImpl theDropout_layersPackage = (Dropout_layersPackageImpl)(registeredPackage instanceof Dropout_layersPackageImpl ? registeredPackage : Dropout_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Sparse_layersPackage.eNS_URI);
+		Sparse_layersPackageImpl theSparse_layersPackage = (Sparse_layersPackageImpl)(registeredPackage instanceof Sparse_layersPackageImpl ? registeredPackage : Sparse_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Loss_functionsPackage.eNS_URI);
+		Loss_functionsPackageImpl theLoss_functionsPackage = (Loss_functionsPackageImpl)(registeredPackage instanceof Loss_functionsPackageImpl ? registeredPackage : Loss_functionsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Vision_layersPackage.eNS_URI);
+		Vision_layersPackageImpl theVision_layersPackage = (Vision_layersPackageImpl)(registeredPackage instanceof Vision_layersPackageImpl ? registeredPackage : Vision_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(DataParallel_layersPackage.eNS_URI);
+		DataParallel_layersPackageImpl theDataParallel_layersPackage = (DataParallel_layersPackageImpl)(registeredPackage instanceof DataParallel_layersPackageImpl ? registeredPackage : DataParallel_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Layer_weight_regularizersPackage.eNS_URI);
+		Layer_weight_regularizersPackageImpl theLayer_weight_regularizersPackage = (Layer_weight_regularizersPackageImpl)(registeredPackage instanceof Layer_weight_regularizersPackageImpl ? registeredPackage : Layer_weight_regularizersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Layer_weight_initializersPackage.eNS_URI);
+		Layer_weight_initializersPackageImpl theLayer_weight_initializersPackage = (Layer_weight_initializersPackageImpl)(registeredPackage instanceof Layer_weight_initializersPackageImpl ? registeredPackage : Layer_weight_initializersPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theDistance_functionsPackage.createPackageContents();
+		theAIMLPackage.createPackageContents();
+		theModulePackage.createPackageContents();
+		theTensorPackage.createPackageContents();
+		theDatatypesPackage.createPackageContents();
+		thePooling_layersPackage.createPackageContents();
+		theConvolution_layersPackage.createPackageContents();
+		theLayer_weight_constraintsPackage.createPackageContents();
+		thePadding_layersPackage.createPackageContents();
+		theNonLinearActivationsPackage.createPackageContents();
+		theSoftMinMaxActivationsPackage.createPackageContents();
+		theNormalization_layersPackage.createPackageContents();
+		theRecurrent_layersPackage.createPackageContents();
+		theTransformer_layersPackage.createPackageContents();
+		theLinear_layersPackage.createPackageContents();
+		theDropout_layersPackage.createPackageContents();
+		theSparse_layersPackage.createPackageContents();
+		theLoss_functionsPackage.createPackageContents();
+		theVision_layersPackage.createPackageContents();
+		theDataParallel_layersPackage.createPackageContents();
+		theLayer_weight_regularizersPackage.createPackageContents();
+		theLayer_weight_initializersPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theDistance_functionsPackage.initializePackageContents();
+		theAIMLPackage.initializePackageContents();
+		theModulePackage.initializePackageContents();
+		theTensorPackage.initializePackageContents();
+		theDatatypesPackage.initializePackageContents();
+		thePooling_layersPackage.initializePackageContents();
+		theConvolution_layersPackage.initializePackageContents();
+		theLayer_weight_constraintsPackage.initializePackageContents();
+		thePadding_layersPackage.initializePackageContents();
+		theNonLinearActivationsPackage.initializePackageContents();
+		theSoftMinMaxActivationsPackage.initializePackageContents();
+		theNormalization_layersPackage.initializePackageContents();
+		theRecurrent_layersPackage.initializePackageContents();
+		theTransformer_layersPackage.initializePackageContents();
+		theLinear_layersPackage.initializePackageContents();
+		theDropout_layersPackage.initializePackageContents();
+		theSparse_layersPackage.initializePackageContents();
+		theLoss_functionsPackage.initializePackageContents();
+		theVision_layersPackage.initializePackageContents();
+		theDataParallel_layersPackage.initializePackageContents();
+		theLayer_weight_regularizersPackage.initializePackageContents();
+		theLayer_weight_initializersPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theDistance_functionsPackage.freeze();
+
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(Distance_functionsPackage.eNS_URI, theDistance_functionsPackage);
+		return theDistance_functionsPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getDistance_functions() {
+		return distance_functionsEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getDistance_functions_Eps() {
+		return (EAttribute)distance_functionsEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getCosineSimilarity() {
+		return cosineSimilarityEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getCosineSimilarity_Dim() {
+		return (EAttribute)cosineSimilarityEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getPairwiseDistance() {
+		return pairwiseDistanceEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getPairwiseDistance_P() {
+		return (EAttribute)pairwiseDistanceEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getPairwiseDistance_Keepdim() {
+		return (EAttribute)pairwiseDistanceEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Distance_functionsFactory getDistance_functionsFactory() {
+		return (Distance_functionsFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		distance_functionsEClass = createEClass(DISTANCE_FUNCTIONS);
+		createEAttribute(distance_functionsEClass, DISTANCE_FUNCTIONS__EPS);
+
+		cosineSimilarityEClass = createEClass(COSINE_SIMILARITY);
+		createEAttribute(cosineSimilarityEClass, COSINE_SIMILARITY__DIM);
+
+		pairwiseDistanceEClass = createEClass(PAIRWISE_DISTANCE);
+		createEAttribute(pairwiseDistanceEClass, PAIRWISE_DISTANCE__P);
+		createEAttribute(pairwiseDistanceEClass, PAIRWISE_DISTANCE__KEEPDIM);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		ModulePackage theModulePackage = (ModulePackage)EPackage.Registry.INSTANCE.getEPackage(ModulePackage.eNS_URI);
+		TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+		distance_functionsEClass.getESuperTypes().add(theModulePackage.getModel());
+		cosineSimilarityEClass.getESuperTypes().add(this.getDistance_functions());
+		pairwiseDistanceEClass.getESuperTypes().add(this.getDistance_functions());
+
+		// Initialize classes, features, and operations; add parameters
+		initEClass(distance_functionsEClass, Distance_functions.class, "Distance_functions", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(getDistance_functions_Eps(), theTypesPackage.getReal(), "eps", null, 0, 1, Distance_functions.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(cosineSimilarityEClass, CosineSimilarity.class, "CosineSimilarity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(getCosineSimilarity_Dim(), theTypesPackage.getInteger(), "dim", null, 0, 1, CosineSimilarity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(pairwiseDistanceEClass, PairwiseDistance.class, "PairwiseDistance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(getPairwiseDistance_P(), theTypesPackage.getReal(), "p", null, 0, 1, PairwiseDistance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getPairwiseDistance_Keepdim(), theTypesPackage.getBoolean(), "keepdim", null, 0, 1, PairwiseDistance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+	}
+
+} //Distance_functionsPackageImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Distance_functions/impl/PairwiseDistanceImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Distance_functions/impl/PairwiseDistanceImpl.java
new file mode 100644
index 0000000..db6db4d
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Distance_functions/impl/PairwiseDistanceImpl.java
@@ -0,0 +1,229 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.Distance_functionsPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.PairwiseDistance;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Pairwise Distance</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.impl.PairwiseDistanceImpl#getP <em>P</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.impl.PairwiseDistanceImpl#isKeepdim <em>Keepdim</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class PairwiseDistanceImpl extends Distance_functionsImpl implements PairwiseDistance {
+	/**
+	 * The default value of the '{@link #getP() <em>P</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getP()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double P_EDEFAULT = 0.0;
+
+	/**
+	 * The cached value of the '{@link #getP() <em>P</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getP()
+	 * @generated
+	 * @ordered
+	 */
+	protected double p = P_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #isKeepdim() <em>Keepdim</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isKeepdim()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean KEEPDIM_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isKeepdim() <em>Keepdim</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isKeepdim()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean keepdim = KEEPDIM_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PairwiseDistanceImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Distance_functionsPackage.Literals.PAIRWISE_DISTANCE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public double getP() {
+		return p;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setP(double newP) {
+		double oldP = p;
+		p = newP;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Distance_functionsPackage.PAIRWISE_DISTANCE__P, oldP, p));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isKeepdim() {
+		return keepdim;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setKeepdim(boolean newKeepdim) {
+		boolean oldKeepdim = keepdim;
+		keepdim = newKeepdim;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Distance_functionsPackage.PAIRWISE_DISTANCE__KEEPDIM, oldKeepdim, keepdim));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case Distance_functionsPackage.PAIRWISE_DISTANCE__P:
+				return getP();
+			case Distance_functionsPackage.PAIRWISE_DISTANCE__KEEPDIM:
+				return isKeepdim();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case Distance_functionsPackage.PAIRWISE_DISTANCE__P:
+				setP((Double)newValue);
+				return;
+			case Distance_functionsPackage.PAIRWISE_DISTANCE__KEEPDIM:
+				setKeepdim((Boolean)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case Distance_functionsPackage.PAIRWISE_DISTANCE__P:
+				setP(P_EDEFAULT);
+				return;
+			case Distance_functionsPackage.PAIRWISE_DISTANCE__KEEPDIM:
+				setKeepdim(KEEPDIM_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case Distance_functionsPackage.PAIRWISE_DISTANCE__P:
+				return p != P_EDEFAULT;
+			case Distance_functionsPackage.PAIRWISE_DISTANCE__KEEPDIM:
+				return keepdim != KEEPDIM_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(" (p: "); //$NON-NLS-1$
+		result.append(p);
+		result.append(", keepdim: "); //$NON-NLS-1$
+		result.append(keepdim);
+		result.append(')');
+		return result.toString();
+	}
+
+} //PairwiseDistanceImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Distance_functions/util/Distance_functionsAdapterFactory.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Distance_functions/util/Distance_functionsAdapterFactory.java
new file mode 100644
index 0000000..f004452
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Distance_functions/util/Distance_functionsAdapterFactory.java
@@ -0,0 +1,184 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.*;
+import org.eclipse.papyrus.aiml.profile.AIML.Module.Model;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.Distance_functionsPackage
+ * @generated
+ */
+public class Distance_functionsAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static Distance_functionsPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Distance_functionsAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = Distance_functionsPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Distance_functionsSwitch<Adapter> modelSwitch =
+		new Distance_functionsSwitch<Adapter>() {
+			@Override
+			public Adapter caseDistance_functions(Distance_functions object) {
+				return createDistance_functionsAdapter();
+			}
+			@Override
+			public Adapter caseCosineSimilarity(CosineSimilarity object) {
+				return createCosineSimilarityAdapter();
+			}
+			@Override
+			public Adapter casePairwiseDistance(PairwiseDistance object) {
+				return createPairwiseDistanceAdapter();
+			}
+			@Override
+			public Adapter caseModel(Model object) {
+				return createModelAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.Distance_functions <em>Distance functions</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.aiml.profile.AIML.Distance_functions.Distance_functions
+	 * @generated
+	 */
+	public Adapter createDistance_functionsAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.CosineSimilarity <em>Cosine Similarity</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.aiml.profile.AIML.Distance_functions.CosineSimilarity
+	 * @generated
+	 */
+	public Adapter createCosineSimilarityAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.PairwiseDistance <em>Pairwise Distance</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.aiml.profile.AIML.Distance_functions.PairwiseDistance
+	 * @generated
+	 */
+	public Adapter createPairwiseDistanceAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Module.Model <em>Model</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.aiml.profile.AIML.Module.Model
+	 * @generated
+	 */
+	public Adapter createModelAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //Distance_functionsAdapterFactory
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Distance_functions/util/Distance_functionsSwitch.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Distance_functions/util/Distance_functionsSwitch.java
new file mode 100644
index 0000000..e1d1fd8
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Distance_functions/util/Distance_functionsSwitch.java
@@ -0,0 +1,182 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.*;
+import org.eclipse.papyrus.aiml.profile.AIML.Module.Model;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.Distance_functionsPackage
+ * @generated
+ */
+public class Distance_functionsSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static Distance_functionsPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Distance_functionsSwitch() {
+		if (modelPackage == null) {
+			modelPackage = Distance_functionsPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case Distance_functionsPackage.DISTANCE_FUNCTIONS: {
+				Distance_functions distance_functions = (Distance_functions)theEObject;
+				T result = caseDistance_functions(distance_functions);
+				if (result == null) result = caseModel(distance_functions);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Distance_functionsPackage.COSINE_SIMILARITY: {
+				CosineSimilarity cosineSimilarity = (CosineSimilarity)theEObject;
+				T result = caseCosineSimilarity(cosineSimilarity);
+				if (result == null) result = caseDistance_functions(cosineSimilarity);
+				if (result == null) result = caseModel(cosineSimilarity);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Distance_functionsPackage.PAIRWISE_DISTANCE: {
+				PairwiseDistance pairwiseDistance = (PairwiseDistance)theEObject;
+				T result = casePairwiseDistance(pairwiseDistance);
+				if (result == null) result = caseDistance_functions(pairwiseDistance);
+				if (result == null) result = caseModel(pairwiseDistance);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Distance functions</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>Distance functions</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDistance_functions(Distance_functions object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Cosine Similarity</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>Cosine Similarity</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseCosineSimilarity(CosineSimilarity object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Pairwise Distance</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>Pairwise Distance</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePairwiseDistance(PairwiseDistance object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Model</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>Model</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseModel(Model object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+} //Distance_functionsSwitch
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/AlphaDropout.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/AlphaDropout.java
new file mode 100644
index 0000000..353704f
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/AlphaDropout.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Alpha Dropout</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layersPackage#getAlphaDropout()
+ * @model
+ * @generated
+ */
+public interface AlphaDropout extends Dropout_layers {
+} // AlphaDropout
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/Dropout.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/Dropout.java
new file mode 100644
index 0000000..627656e
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/Dropout.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Dropout</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layersPackage#getDropout()
+ * @model
+ * @generated
+ */
+public interface Dropout extends Dropout_layers {
+} // Dropout
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/Dropout2d.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/Dropout2d.java
new file mode 100644
index 0000000..5b781af
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/Dropout2d.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Dropout2d</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layersPackage#getDropout2d()
+ * @model
+ * @generated
+ */
+public interface Dropout2d extends Dropout_layers {
+} // Dropout2d
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/Dropout3d.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/Dropout3d.java
new file mode 100644
index 0000000..9eac538
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/Dropout3d.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Dropout3d</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layersPackage#getDropout3d()
+ * @model
+ * @generated
+ */
+public interface Dropout3d extends Dropout_layers {
+} // Dropout3d
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/Dropout_layers.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/Dropout_layers.java
new file mode 100644
index 0000000..f33f3e1
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/Dropout_layers.java
@@ -0,0 +1,131 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.aiml.profile.AIML.Module.Model;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Dropout layers</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layers#getP <em>P</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layers#isInplace <em>Inplace</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layers#getNoise_shape <em>Noise shape</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layers#getSeed <em>Seed</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layersPackage#getDropout_layers()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Dropout_layers extends Model {
+	/**
+	 * Returns the value of the '<em><b>P</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>P</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>P</em>' attribute.
+	 * @see #setP(double)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layersPackage#getDropout_layers_P()
+	 * @model dataType="org.eclipse.uml2.types.Real" ordered="false"
+	 * @generated
+	 */
+	double getP();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layers#getP <em>P</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>P</em>' attribute.
+	 * @see #getP()
+	 * @generated
+	 */
+	void setP(double value);
+
+	/**
+	 * Returns the value of the '<em><b>Inplace</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Inplace</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Inplace</em>' attribute.
+	 * @see #setInplace(boolean)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layersPackage#getDropout_layers_Inplace()
+	 * @model dataType="org.eclipse.uml2.types.Boolean" ordered="false"
+	 * @generated
+	 */
+	boolean isInplace();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layers#isInplace <em>Inplace</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Inplace</em>' attribute.
+	 * @see #isInplace()
+	 * @generated
+	 */
+	void setInplace(boolean value);
+
+	/**
+	 * Returns the value of the '<em><b>Noise shape</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.Integer}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Noise shape</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Noise shape</em>' attribute list.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layersPackage#getDropout_layers_Noise_shape()
+	 * @model dataType="org.eclipse.uml2.types.Integer" ordered="false"
+	 * @generated
+	 */
+	EList<Integer> getNoise_shape();
+
+	/**
+	 * Returns the value of the '<em><b>Seed</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Seed</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Seed</em>' attribute.
+	 * @see #setSeed(int)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layersPackage#getDropout_layers_Seed()
+	 * @model dataType="org.eclipse.uml2.types.Integer" ordered="false"
+	 * @generated
+	 */
+	int getSeed();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layers#getSeed <em>Seed</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Seed</em>' attribute.
+	 * @see #getSeed()
+	 * @generated
+	 */
+	void setSeed(int value);
+
+} // Dropout_layers
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/Dropout_layersFactory.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/Dropout_layersFactory.java
new file mode 100644
index 0000000..94161d9
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/Dropout_layersFactory.java
@@ -0,0 +1,78 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layersPackage
+ * @generated
+ */
+public interface Dropout_layersFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	Dropout_layersFactory eINSTANCE = org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.Dropout_layersFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Dropout</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Dropout</em>'.
+	 * @generated
+	 */
+	Dropout createDropout();
+
+	/**
+	 * Returns a new object of class '<em>Dropout2d</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Dropout2d</em>'.
+	 * @generated
+	 */
+	Dropout2d createDropout2d();
+
+	/**
+	 * Returns a new object of class '<em>Dropout3d</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Dropout3d</em>'.
+	 * @generated
+	 */
+	Dropout3d createDropout3d();
+
+	/**
+	 * Returns a new object of class '<em>Alpha Dropout</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Alpha Dropout</em>'.
+	 * @generated
+	 */
+	AlphaDropout createAlphaDropout();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	Dropout_layersPackage getDropout_layersPackage();
+
+} //Dropout_layersFactory
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/Dropout_layersPackage.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/Dropout_layersPackage.java
new file mode 100644
index 0000000..a29291b
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/Dropout_layersPackage.java
@@ -0,0 +1,906 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Module.ModulePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each operation of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layersFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface Dropout_layersPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "Dropout_layers"; //$NON-NLS-1$
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://www.eclipse.org/papyrus/AIML/dropout/1"; //$NON-NLS-1$
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "AIML.Dropout_layers"; //$NON-NLS-1$
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	Dropout_layersPackage eINSTANCE = org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.Dropout_layersPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.Dropout_layersImpl <em>Dropout layers</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.Dropout_layersImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.Dropout_layersPackageImpl#getDropout_layers()
+	 * @generated
+	 */
+	int DROPOUT_LAYERS = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT_LAYERS__BASE_CLASS = ModulePackage.MODEL__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT_LAYERS__NAME = ModulePackage.MODEL__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT_LAYERS__DATA = ModulePackage.MODEL__DATA;
+
+	/**
+	 * The feature id for the '<em><b>Requires grad</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT_LAYERS__REQUIRES_GRAD = ModulePackage.MODEL__REQUIRES_GRAD;
+
+	/**
+	 * The feature id for the '<em><b>Sub Module</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT_LAYERS__SUB_MODULE = ModulePackage.MODEL__SUB_MODULE;
+
+	/**
+	 * The feature id for the '<em><b>Optimizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT_LAYERS__OPTIMIZER = ModulePackage.MODEL__OPTIMIZER;
+
+	/**
+	 * The feature id for the '<em><b>Loss</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT_LAYERS__LOSS = ModulePackage.MODEL__LOSS;
+
+	/**
+	 * The feature id for the '<em><b>P</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT_LAYERS__P = ModulePackage.MODEL_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Inplace</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT_LAYERS__INPLACE = ModulePackage.MODEL_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Noise shape</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT_LAYERS__NOISE_SHAPE = ModulePackage.MODEL_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Seed</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT_LAYERS__SEED = ModulePackage.MODEL_FEATURE_COUNT + 3;
+
+	/**
+	 * The number of structural features of the '<em>Dropout layers</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT_LAYERS_FEATURE_COUNT = ModulePackage.MODEL_FEATURE_COUNT + 4;
+
+	/**
+	 * The number of operations of the '<em>Dropout layers</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT_LAYERS_OPERATION_COUNT = ModulePackage.MODEL_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.DropoutImpl <em>Dropout</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.DropoutImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.Dropout_layersPackageImpl#getDropout()
+	 * @generated
+	 */
+	int DROPOUT = 1;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT__BASE_CLASS = DROPOUT_LAYERS__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT__NAME = DROPOUT_LAYERS__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT__DATA = DROPOUT_LAYERS__DATA;
+
+	/**
+	 * The feature id for the '<em><b>Requires grad</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT__REQUIRES_GRAD = DROPOUT_LAYERS__REQUIRES_GRAD;
+
+	/**
+	 * The feature id for the '<em><b>Sub Module</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT__SUB_MODULE = DROPOUT_LAYERS__SUB_MODULE;
+
+	/**
+	 * The feature id for the '<em><b>Optimizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT__OPTIMIZER = DROPOUT_LAYERS__OPTIMIZER;
+
+	/**
+	 * The feature id for the '<em><b>Loss</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT__LOSS = DROPOUT_LAYERS__LOSS;
+
+	/**
+	 * The feature id for the '<em><b>P</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT__P = DROPOUT_LAYERS__P;
+
+	/**
+	 * The feature id for the '<em><b>Inplace</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT__INPLACE = DROPOUT_LAYERS__INPLACE;
+
+	/**
+	 * The feature id for the '<em><b>Noise shape</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT__NOISE_SHAPE = DROPOUT_LAYERS__NOISE_SHAPE;
+
+	/**
+	 * The feature id for the '<em><b>Seed</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT__SEED = DROPOUT_LAYERS__SEED;
+
+	/**
+	 * The number of structural features of the '<em>Dropout</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT_FEATURE_COUNT = DROPOUT_LAYERS_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>Dropout</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT_OPERATION_COUNT = DROPOUT_LAYERS_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.Dropout2dImpl <em>Dropout2d</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.Dropout2dImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.Dropout_layersPackageImpl#getDropout2d()
+	 * @generated
+	 */
+	int DROPOUT2D = 2;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT2D__BASE_CLASS = DROPOUT_LAYERS__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT2D__NAME = DROPOUT_LAYERS__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT2D__DATA = DROPOUT_LAYERS__DATA;
+
+	/**
+	 * The feature id for the '<em><b>Requires grad</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT2D__REQUIRES_GRAD = DROPOUT_LAYERS__REQUIRES_GRAD;
+
+	/**
+	 * The feature id for the '<em><b>Sub Module</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT2D__SUB_MODULE = DROPOUT_LAYERS__SUB_MODULE;
+
+	/**
+	 * The feature id for the '<em><b>Optimizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT2D__OPTIMIZER = DROPOUT_LAYERS__OPTIMIZER;
+
+	/**
+	 * The feature id for the '<em><b>Loss</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT2D__LOSS = DROPOUT_LAYERS__LOSS;
+
+	/**
+	 * The feature id for the '<em><b>P</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT2D__P = DROPOUT_LAYERS__P;
+
+	/**
+	 * The feature id for the '<em><b>Inplace</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT2D__INPLACE = DROPOUT_LAYERS__INPLACE;
+
+	/**
+	 * The feature id for the '<em><b>Noise shape</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT2D__NOISE_SHAPE = DROPOUT_LAYERS__NOISE_SHAPE;
+
+	/**
+	 * The feature id for the '<em><b>Seed</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT2D__SEED = DROPOUT_LAYERS__SEED;
+
+	/**
+	 * The number of structural features of the '<em>Dropout2d</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT2D_FEATURE_COUNT = DROPOUT_LAYERS_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>Dropout2d</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT2D_OPERATION_COUNT = DROPOUT_LAYERS_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.Dropout3dImpl <em>Dropout3d</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.Dropout3dImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.Dropout_layersPackageImpl#getDropout3d()
+	 * @generated
+	 */
+	int DROPOUT3D = 3;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT3D__BASE_CLASS = DROPOUT_LAYERS__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT3D__NAME = DROPOUT_LAYERS__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT3D__DATA = DROPOUT_LAYERS__DATA;
+
+	/**
+	 * The feature id for the '<em><b>Requires grad</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT3D__REQUIRES_GRAD = DROPOUT_LAYERS__REQUIRES_GRAD;
+
+	/**
+	 * The feature id for the '<em><b>Sub Module</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT3D__SUB_MODULE = DROPOUT_LAYERS__SUB_MODULE;
+
+	/**
+	 * The feature id for the '<em><b>Optimizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT3D__OPTIMIZER = DROPOUT_LAYERS__OPTIMIZER;
+
+	/**
+	 * The feature id for the '<em><b>Loss</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT3D__LOSS = DROPOUT_LAYERS__LOSS;
+
+	/**
+	 * The feature id for the '<em><b>P</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT3D__P = DROPOUT_LAYERS__P;
+
+	/**
+	 * The feature id for the '<em><b>Inplace</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT3D__INPLACE = DROPOUT_LAYERS__INPLACE;
+
+	/**
+	 * The feature id for the '<em><b>Noise shape</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT3D__NOISE_SHAPE = DROPOUT_LAYERS__NOISE_SHAPE;
+
+	/**
+	 * The feature id for the '<em><b>Seed</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT3D__SEED = DROPOUT_LAYERS__SEED;
+
+	/**
+	 * The number of structural features of the '<em>Dropout3d</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT3D_FEATURE_COUNT = DROPOUT_LAYERS_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>Dropout3d</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DROPOUT3D_OPERATION_COUNT = DROPOUT_LAYERS_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.AlphaDropoutImpl <em>Alpha Dropout</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.AlphaDropoutImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.Dropout_layersPackageImpl#getAlphaDropout()
+	 * @generated
+	 */
+	int ALPHA_DROPOUT = 4;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ALPHA_DROPOUT__BASE_CLASS = DROPOUT_LAYERS__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ALPHA_DROPOUT__NAME = DROPOUT_LAYERS__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ALPHA_DROPOUT__DATA = DROPOUT_LAYERS__DATA;
+
+	/**
+	 * The feature id for the '<em><b>Requires grad</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ALPHA_DROPOUT__REQUIRES_GRAD = DROPOUT_LAYERS__REQUIRES_GRAD;
+
+	/**
+	 * The feature id for the '<em><b>Sub Module</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ALPHA_DROPOUT__SUB_MODULE = DROPOUT_LAYERS__SUB_MODULE;
+
+	/**
+	 * The feature id for the '<em><b>Optimizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ALPHA_DROPOUT__OPTIMIZER = DROPOUT_LAYERS__OPTIMIZER;
+
+	/**
+	 * The feature id for the '<em><b>Loss</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ALPHA_DROPOUT__LOSS = DROPOUT_LAYERS__LOSS;
+
+	/**
+	 * The feature id for the '<em><b>P</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ALPHA_DROPOUT__P = DROPOUT_LAYERS__P;
+
+	/**
+	 * The feature id for the '<em><b>Inplace</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ALPHA_DROPOUT__INPLACE = DROPOUT_LAYERS__INPLACE;
+
+	/**
+	 * The feature id for the '<em><b>Noise shape</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ALPHA_DROPOUT__NOISE_SHAPE = DROPOUT_LAYERS__NOISE_SHAPE;
+
+	/**
+	 * The feature id for the '<em><b>Seed</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ALPHA_DROPOUT__SEED = DROPOUT_LAYERS__SEED;
+
+	/**
+	 * The number of structural features of the '<em>Alpha Dropout</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ALPHA_DROPOUT_FEATURE_COUNT = DROPOUT_LAYERS_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>Alpha Dropout</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ALPHA_DROPOUT_OPERATION_COUNT = DROPOUT_LAYERS_OPERATION_COUNT + 0;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layers <em>Dropout layers</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Dropout layers</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layers
+	 * @generated
+	 */
+	EClass getDropout_layers();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layers#getP <em>P</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>P</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layers#getP()
+	 * @see #getDropout_layers()
+	 * @generated
+	 */
+	EAttribute getDropout_layers_P();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layers#isInplace <em>Inplace</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Inplace</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layers#isInplace()
+	 * @see #getDropout_layers()
+	 * @generated
+	 */
+	EAttribute getDropout_layers_Inplace();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layers#getNoise_shape <em>Noise shape</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Noise shape</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layers#getNoise_shape()
+	 * @see #getDropout_layers()
+	 * @generated
+	 */
+	EAttribute getDropout_layers_Noise_shape();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layers#getSeed <em>Seed</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Seed</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layers#getSeed()
+	 * @see #getDropout_layers()
+	 * @generated
+	 */
+	EAttribute getDropout_layers_Seed();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout <em>Dropout</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Dropout</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout
+	 * @generated
+	 */
+	EClass getDropout();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout2d <em>Dropout2d</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Dropout2d</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout2d
+	 * @generated
+	 */
+	EClass getDropout2d();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout3d <em>Dropout3d</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Dropout3d</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout3d
+	 * @generated
+	 */
+	EClass getDropout3d();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.AlphaDropout <em>Alpha Dropout</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Alpha Dropout</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.AlphaDropout
+	 * @generated
+	 */
+	EClass getAlphaDropout();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	Dropout_layersFactory getDropout_layersFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each operation of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.Dropout_layersImpl <em>Dropout layers</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.Dropout_layersImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.Dropout_layersPackageImpl#getDropout_layers()
+		 * @generated
+		 */
+		EClass DROPOUT_LAYERS = eINSTANCE.getDropout_layers();
+
+		/**
+		 * The meta object literal for the '<em><b>P</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DROPOUT_LAYERS__P = eINSTANCE.getDropout_layers_P();
+
+		/**
+		 * The meta object literal for the '<em><b>Inplace</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DROPOUT_LAYERS__INPLACE = eINSTANCE.getDropout_layers_Inplace();
+
+		/**
+		 * The meta object literal for the '<em><b>Noise shape</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DROPOUT_LAYERS__NOISE_SHAPE = eINSTANCE.getDropout_layers_Noise_shape();
+
+		/**
+		 * The meta object literal for the '<em><b>Seed</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DROPOUT_LAYERS__SEED = eINSTANCE.getDropout_layers_Seed();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.DropoutImpl <em>Dropout</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.DropoutImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.Dropout_layersPackageImpl#getDropout()
+		 * @generated
+		 */
+		EClass DROPOUT = eINSTANCE.getDropout();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.Dropout2dImpl <em>Dropout2d</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.Dropout2dImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.Dropout_layersPackageImpl#getDropout2d()
+		 * @generated
+		 */
+		EClass DROPOUT2D = eINSTANCE.getDropout2d();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.Dropout3dImpl <em>Dropout3d</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.Dropout3dImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.Dropout_layersPackageImpl#getDropout3d()
+		 * @generated
+		 */
+		EClass DROPOUT3D = eINSTANCE.getDropout3d();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.AlphaDropoutImpl <em>Alpha Dropout</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.AlphaDropoutImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.Dropout_layersPackageImpl#getAlphaDropout()
+		 * @generated
+		 */
+		EClass ALPHA_DROPOUT = eINSTANCE.getAlphaDropout();
+
+	}
+
+} //Dropout_layersPackage
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/impl/AlphaDropoutImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/impl/AlphaDropoutImpl.java
new file mode 100644
index 0000000..730909a
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/impl/AlphaDropoutImpl.java
@@ -0,0 +1,46 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.AlphaDropout;
+import org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layersPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Alpha Dropout</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class AlphaDropoutImpl extends Dropout_layersImpl implements AlphaDropout {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AlphaDropoutImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Dropout_layersPackage.Literals.ALPHA_DROPOUT;
+	}
+
+} //AlphaDropoutImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/impl/Dropout2dImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/impl/Dropout2dImpl.java
new file mode 100644
index 0000000..01cfacb
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/impl/Dropout2dImpl.java
@@ -0,0 +1,46 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout2d;
+import org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layersPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Dropout2d</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class Dropout2dImpl extends Dropout_layersImpl implements Dropout2d {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Dropout2dImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Dropout_layersPackage.Literals.DROPOUT2D;
+	}
+
+} //Dropout2dImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/impl/Dropout3dImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/impl/Dropout3dImpl.java
new file mode 100644
index 0000000..102c533
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/impl/Dropout3dImpl.java
@@ -0,0 +1,46 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout3d;
+import org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layersPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Dropout3d</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class Dropout3dImpl extends Dropout_layersImpl implements Dropout3d {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Dropout3dImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Dropout_layersPackage.Literals.DROPOUT3D;
+	}
+
+} //Dropout3dImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/impl/DropoutImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/impl/DropoutImpl.java
new file mode 100644
index 0000000..dbd6d7e
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/impl/DropoutImpl.java
@@ -0,0 +1,46 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout;
+import org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layersPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Dropout</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class DropoutImpl extends Dropout_layersImpl implements Dropout {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DropoutImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Dropout_layersPackage.Literals.DROPOUT;
+	}
+
+} //DropoutImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/impl/Dropout_layersFactoryImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/impl/Dropout_layersFactoryImpl.java
new file mode 100644
index 0000000..cf8810d
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/impl/Dropout_layersFactoryImpl.java
@@ -0,0 +1,142 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class Dropout_layersFactoryImpl extends EFactoryImpl implements Dropout_layersFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static Dropout_layersFactory init() {
+		try {
+			Dropout_layersFactory theDropout_layersFactory = (Dropout_layersFactory)EPackage.Registry.INSTANCE.getEFactory(Dropout_layersPackage.eNS_URI);
+			if (theDropout_layersFactory != null) {
+				return theDropout_layersFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new Dropout_layersFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Dropout_layersFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case Dropout_layersPackage.DROPOUT: return createDropout();
+			case Dropout_layersPackage.DROPOUT2D: return createDropout2d();
+			case Dropout_layersPackage.DROPOUT3D: return createDropout3d();
+			case Dropout_layersPackage.ALPHA_DROPOUT: return createAlphaDropout();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Dropout createDropout() {
+		DropoutImpl dropout = new DropoutImpl();
+		return dropout;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Dropout2d createDropout2d() {
+		Dropout2dImpl dropout2d = new Dropout2dImpl();
+		return dropout2d;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Dropout3d createDropout3d() {
+		Dropout3dImpl dropout3d = new Dropout3dImpl();
+		return dropout3d;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public AlphaDropout createAlphaDropout() {
+		AlphaDropoutImpl alphaDropout = new AlphaDropoutImpl();
+		return alphaDropout;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Dropout_layersPackage getDropout_layersPackage() {
+		return (Dropout_layersPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static Dropout_layersPackage getPackage() {
+		return Dropout_layersPackage.eINSTANCE;
+	}
+
+} //Dropout_layersFactoryImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/impl/Dropout_layersImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/impl/Dropout_layersImpl.java
new file mode 100644
index 0000000..8702ac9
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/impl/Dropout_layersImpl.java
@@ -0,0 +1,330 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layers;
+import org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layersPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Module.impl.ModelImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Dropout layers</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.Dropout_layersImpl#getP <em>P</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.Dropout_layersImpl#isInplace <em>Inplace</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.Dropout_layersImpl#getNoise_shape <em>Noise shape</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.Dropout_layersImpl#getSeed <em>Seed</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class Dropout_layersImpl extends ModelImpl implements Dropout_layers {
+	/**
+	 * The default value of the '{@link #getP() <em>P</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getP()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double P_EDEFAULT = 0.0;
+
+	/**
+	 * The cached value of the '{@link #getP() <em>P</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getP()
+	 * @generated
+	 * @ordered
+	 */
+	protected double p = P_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #isInplace() <em>Inplace</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isInplace()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean INPLACE_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isInplace() <em>Inplace</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isInplace()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean inplace = INPLACE_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getNoise_shape() <em>Noise shape</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getNoise_shape()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Integer> noise_shape;
+
+	/**
+	 * The default value of the '{@link #getSeed() <em>Seed</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSeed()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int SEED_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getSeed() <em>Seed</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSeed()
+	 * @generated
+	 * @ordered
+	 */
+	protected int seed = SEED_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Dropout_layersImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Dropout_layersPackage.Literals.DROPOUT_LAYERS;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public double getP() {
+		return p;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setP(double newP) {
+		double oldP = p;
+		p = newP;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Dropout_layersPackage.DROPOUT_LAYERS__P, oldP, p));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isInplace() {
+		return inplace;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setInplace(boolean newInplace) {
+		boolean oldInplace = inplace;
+		inplace = newInplace;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Dropout_layersPackage.DROPOUT_LAYERS__INPLACE, oldInplace, inplace));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<Integer> getNoise_shape() {
+		if (noise_shape == null) {
+			noise_shape = new EDataTypeUniqueEList<Integer>(Integer.class, this, Dropout_layersPackage.DROPOUT_LAYERS__NOISE_SHAPE);
+		}
+		return noise_shape;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int getSeed() {
+		return seed;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setSeed(int newSeed) {
+		int oldSeed = seed;
+		seed = newSeed;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Dropout_layersPackage.DROPOUT_LAYERS__SEED, oldSeed, seed));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case Dropout_layersPackage.DROPOUT_LAYERS__P:
+				return getP();
+			case Dropout_layersPackage.DROPOUT_LAYERS__INPLACE:
+				return isInplace();
+			case Dropout_layersPackage.DROPOUT_LAYERS__NOISE_SHAPE:
+				return getNoise_shape();
+			case Dropout_layersPackage.DROPOUT_LAYERS__SEED:
+				return getSeed();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case Dropout_layersPackage.DROPOUT_LAYERS__P:
+				setP((Double)newValue);
+				return;
+			case Dropout_layersPackage.DROPOUT_LAYERS__INPLACE:
+				setInplace((Boolean)newValue);
+				return;
+			case Dropout_layersPackage.DROPOUT_LAYERS__NOISE_SHAPE:
+				getNoise_shape().clear();
+				getNoise_shape().addAll((Collection<? extends Integer>)newValue);
+				return;
+			case Dropout_layersPackage.DROPOUT_LAYERS__SEED:
+				setSeed((Integer)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case Dropout_layersPackage.DROPOUT_LAYERS__P:
+				setP(P_EDEFAULT);
+				return;
+			case Dropout_layersPackage.DROPOUT_LAYERS__INPLACE:
+				setInplace(INPLACE_EDEFAULT);
+				return;
+			case Dropout_layersPackage.DROPOUT_LAYERS__NOISE_SHAPE:
+				getNoise_shape().clear();
+				return;
+			case Dropout_layersPackage.DROPOUT_LAYERS__SEED:
+				setSeed(SEED_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case Dropout_layersPackage.DROPOUT_LAYERS__P:
+				return p != P_EDEFAULT;
+			case Dropout_layersPackage.DROPOUT_LAYERS__INPLACE:
+				return inplace != INPLACE_EDEFAULT;
+			case Dropout_layersPackage.DROPOUT_LAYERS__NOISE_SHAPE:
+				return noise_shape != null && !noise_shape.isEmpty();
+			case Dropout_layersPackage.DROPOUT_LAYERS__SEED:
+				return seed != SEED_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(" (p: "); //$NON-NLS-1$
+		result.append(p);
+		result.append(", inplace: "); //$NON-NLS-1$
+		result.append(inplace);
+		result.append(", noise_shape: "); //$NON-NLS-1$
+		result.append(noise_shape);
+		result.append(", seed: "); //$NON-NLS-1$
+		result.append(seed);
+		result.append(')');
+		return result.toString();
+	}
+
+} //Dropout_layersImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/impl/Dropout_layersPackageImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/impl/Dropout_layersPackageImpl.java
new file mode 100644
index 0000000..22378aa
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/impl/Dropout_layersPackageImpl.java
@@ -0,0 +1,499 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EcorePackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.AIMLPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl.DataParallel_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.Distance_functionsPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.impl.Distance_functionsPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.AlphaDropout;
+import org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout;
+import org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout2d;
+import org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout3d;
+import org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layers;
+import org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layersFactory;
+import org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.Layer_weight_constraintsPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.Layer_weight_constraintsPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.Layer_weight_initializersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.Layer_weight_regularizersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.Layer_weight_regularizersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.Linear_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Loss_functions.Loss_functionsPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Loss_functions.impl.Loss_functionsPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Module.ModulePackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Module.impl.ModulePackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.NonLinearActivationsPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.impl.NonLinearActivationsPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Normalization_layers.Normalization_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Normalization_layers.impl.Normalization_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Padding_layers.Padding_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Padding_layers.impl.Padding_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Pooling_layers.Pooling_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Pooling_layers.impl.Pooling_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Recurrent_layers.Recurrent_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Recurrent_layers.impl.Recurrent_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.SoftMinMaxActivations.SoftMinMaxActivationsPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.SoftMinMaxActivations.impl.SoftMinMaxActivationsPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Sparse_layers.Sparse_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Sparse_layers.impl.Sparse_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Tensor.TensorPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Tensor.impl.TensorPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Transformer_layers.Transformer_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Transformer_layers.impl.Transformer_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Vision_layers.Vision_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Vision_layers.impl.Vision_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.datatypes.DatatypesPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.datatypes.impl.DatatypesPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.impl.AIMLPackageImpl;
+
+import org.eclipse.uml2.types.TypesPackage;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class Dropout_layersPackageImpl extends EPackageImpl implements Dropout_layersPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass dropout_layersEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass dropoutEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass dropout2dEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass dropout3dEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass alphaDropoutEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layersPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private Dropout_layersPackageImpl() {
+		super(eNS_URI, Dropout_layersFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 *
+	 * <p>This method is used to initialize {@link Dropout_layersPackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static Dropout_layersPackage init() {
+		if (isInited) return (Dropout_layersPackage)EPackage.Registry.INSTANCE.getEPackage(Dropout_layersPackage.eNS_URI);
+
+		// Obtain or create and register package
+		Object registeredDropout_layersPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+		Dropout_layersPackageImpl theDropout_layersPackage = registeredDropout_layersPackage instanceof Dropout_layersPackageImpl ? (Dropout_layersPackageImpl)registeredDropout_layersPackage : new Dropout_layersPackageImpl();
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		EcorePackage.eINSTANCE.eClass();
+		TypesPackage.eINSTANCE.eClass();
+		UMLPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		Object registeredPackage = EPackage.Registry.INSTANCE.getEPackage(AIMLPackage.eNS_URI);
+		AIMLPackageImpl theAIMLPackage = (AIMLPackageImpl)(registeredPackage instanceof AIMLPackageImpl ? registeredPackage : AIMLPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ModulePackage.eNS_URI);
+		ModulePackageImpl theModulePackage = (ModulePackageImpl)(registeredPackage instanceof ModulePackageImpl ? registeredPackage : ModulePackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(TensorPackage.eNS_URI);
+		TensorPackageImpl theTensorPackage = (TensorPackageImpl)(registeredPackage instanceof TensorPackageImpl ? registeredPackage : TensorPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI);
+		DatatypesPackageImpl theDatatypesPackage = (DatatypesPackageImpl)(registeredPackage instanceof DatatypesPackageImpl ? registeredPackage : DatatypesPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Pooling_layersPackage.eNS_URI);
+		Pooling_layersPackageImpl thePooling_layersPackage = (Pooling_layersPackageImpl)(registeredPackage instanceof Pooling_layersPackageImpl ? registeredPackage : Pooling_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Convolution_layersPackage.eNS_URI);
+		Convolution_layersPackageImpl theConvolution_layersPackage = (Convolution_layersPackageImpl)(registeredPackage instanceof Convolution_layersPackageImpl ? registeredPackage : Convolution_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Layer_weight_constraintsPackage.eNS_URI);
+		Layer_weight_constraintsPackageImpl theLayer_weight_constraintsPackage = (Layer_weight_constraintsPackageImpl)(registeredPackage instanceof Layer_weight_constraintsPackageImpl ? registeredPackage : Layer_weight_constraintsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Padding_layersPackage.eNS_URI);
+		Padding_layersPackageImpl thePadding_layersPackage = (Padding_layersPackageImpl)(registeredPackage instanceof Padding_layersPackageImpl ? registeredPackage : Padding_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(NonLinearActivationsPackage.eNS_URI);
+		NonLinearActivationsPackageImpl theNonLinearActivationsPackage = (NonLinearActivationsPackageImpl)(registeredPackage instanceof NonLinearActivationsPackageImpl ? registeredPackage : NonLinearActivationsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(SoftMinMaxActivationsPackage.eNS_URI);
+		SoftMinMaxActivationsPackageImpl theSoftMinMaxActivationsPackage = (SoftMinMaxActivationsPackageImpl)(registeredPackage instanceof SoftMinMaxActivationsPackageImpl ? registeredPackage : SoftMinMaxActivationsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Normalization_layersPackage.eNS_URI);
+		Normalization_layersPackageImpl theNormalization_layersPackage = (Normalization_layersPackageImpl)(registeredPackage instanceof Normalization_layersPackageImpl ? registeredPackage : Normalization_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Recurrent_layersPackage.eNS_URI);
+		Recurrent_layersPackageImpl theRecurrent_layersPackage = (Recurrent_layersPackageImpl)(registeredPackage instanceof Recurrent_layersPackageImpl ? registeredPackage : Recurrent_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Transformer_layersPackage.eNS_URI);
+		Transformer_layersPackageImpl theTransformer_layersPackage = (Transformer_layersPackageImpl)(registeredPackage instanceof Transformer_layersPackageImpl ? registeredPackage : Transformer_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Linear_layersPackage.eNS_URI);
+		Linear_layersPackageImpl theLinear_layersPackage = (Linear_layersPackageImpl)(registeredPackage instanceof Linear_layersPackageImpl ? registeredPackage : Linear_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Sparse_layersPackage.eNS_URI);
+		Sparse_layersPackageImpl theSparse_layersPackage = (Sparse_layersPackageImpl)(registeredPackage instanceof Sparse_layersPackageImpl ? registeredPackage : Sparse_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Distance_functionsPackage.eNS_URI);
+		Distance_functionsPackageImpl theDistance_functionsPackage = (Distance_functionsPackageImpl)(registeredPackage instanceof Distance_functionsPackageImpl ? registeredPackage : Distance_functionsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Loss_functionsPackage.eNS_URI);
+		Loss_functionsPackageImpl theLoss_functionsPackage = (Loss_functionsPackageImpl)(registeredPackage instanceof Loss_functionsPackageImpl ? registeredPackage : Loss_functionsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Vision_layersPackage.eNS_URI);
+		Vision_layersPackageImpl theVision_layersPackage = (Vision_layersPackageImpl)(registeredPackage instanceof Vision_layersPackageImpl ? registeredPackage : Vision_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(DataParallel_layersPackage.eNS_URI);
+		DataParallel_layersPackageImpl theDataParallel_layersPackage = (DataParallel_layersPackageImpl)(registeredPackage instanceof DataParallel_layersPackageImpl ? registeredPackage : DataParallel_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Layer_weight_regularizersPackage.eNS_URI);
+		Layer_weight_regularizersPackageImpl theLayer_weight_regularizersPackage = (Layer_weight_regularizersPackageImpl)(registeredPackage instanceof Layer_weight_regularizersPackageImpl ? registeredPackage : Layer_weight_regularizersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Layer_weight_initializersPackage.eNS_URI);
+		Layer_weight_initializersPackageImpl theLayer_weight_initializersPackage = (Layer_weight_initializersPackageImpl)(registeredPackage instanceof Layer_weight_initializersPackageImpl ? registeredPackage : Layer_weight_initializersPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theDropout_layersPackage.createPackageContents();
+		theAIMLPackage.createPackageContents();
+		theModulePackage.createPackageContents();
+		theTensorPackage.createPackageContents();
+		theDatatypesPackage.createPackageContents();
+		thePooling_layersPackage.createPackageContents();
+		theConvolution_layersPackage.createPackageContents();
+		theLayer_weight_constraintsPackage.createPackageContents();
+		thePadding_layersPackage.createPackageContents();
+		theNonLinearActivationsPackage.createPackageContents();
+		theSoftMinMaxActivationsPackage.createPackageContents();
+		theNormalization_layersPackage.createPackageContents();
+		theRecurrent_layersPackage.createPackageContents();
+		theTransformer_layersPackage.createPackageContents();
+		theLinear_layersPackage.createPackageContents();
+		theSparse_layersPackage.createPackageContents();
+		theDistance_functionsPackage.createPackageContents();
+		theLoss_functionsPackage.createPackageContents();
+		theVision_layersPackage.createPackageContents();
+		theDataParallel_layersPackage.createPackageContents();
+		theLayer_weight_regularizersPackage.createPackageContents();
+		theLayer_weight_initializersPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theDropout_layersPackage.initializePackageContents();
+		theAIMLPackage.initializePackageContents();
+		theModulePackage.initializePackageContents();
+		theTensorPackage.initializePackageContents();
+		theDatatypesPackage.initializePackageContents();
+		thePooling_layersPackage.initializePackageContents();
+		theConvolution_layersPackage.initializePackageContents();
+		theLayer_weight_constraintsPackage.initializePackageContents();
+		thePadding_layersPackage.initializePackageContents();
+		theNonLinearActivationsPackage.initializePackageContents();
+		theSoftMinMaxActivationsPackage.initializePackageContents();
+		theNormalization_layersPackage.initializePackageContents();
+		theRecurrent_layersPackage.initializePackageContents();
+		theTransformer_layersPackage.initializePackageContents();
+		theLinear_layersPackage.initializePackageContents();
+		theSparse_layersPackage.initializePackageContents();
+		theDistance_functionsPackage.initializePackageContents();
+		theLoss_functionsPackage.initializePackageContents();
+		theVision_layersPackage.initializePackageContents();
+		theDataParallel_layersPackage.initializePackageContents();
+		theLayer_weight_regularizersPackage.initializePackageContents();
+		theLayer_weight_initializersPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theDropout_layersPackage.freeze();
+
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(Dropout_layersPackage.eNS_URI, theDropout_layersPackage);
+		return theDropout_layersPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getDropout_layers() {
+		return dropout_layersEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getDropout_layers_P() {
+		return (EAttribute)dropout_layersEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getDropout_layers_Inplace() {
+		return (EAttribute)dropout_layersEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getDropout_layers_Noise_shape() {
+		return (EAttribute)dropout_layersEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getDropout_layers_Seed() {
+		return (EAttribute)dropout_layersEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getDropout() {
+		return dropoutEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getDropout2d() {
+		return dropout2dEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getDropout3d() {
+		return dropout3dEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getAlphaDropout() {
+		return alphaDropoutEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Dropout_layersFactory getDropout_layersFactory() {
+		return (Dropout_layersFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		dropout_layersEClass = createEClass(DROPOUT_LAYERS);
+		createEAttribute(dropout_layersEClass, DROPOUT_LAYERS__P);
+		createEAttribute(dropout_layersEClass, DROPOUT_LAYERS__INPLACE);
+		createEAttribute(dropout_layersEClass, DROPOUT_LAYERS__NOISE_SHAPE);
+		createEAttribute(dropout_layersEClass, DROPOUT_LAYERS__SEED);
+
+		dropoutEClass = createEClass(DROPOUT);
+
+		dropout2dEClass = createEClass(DROPOUT2D);
+
+		dropout3dEClass = createEClass(DROPOUT3D);
+
+		alphaDropoutEClass = createEClass(ALPHA_DROPOUT);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		ModulePackage theModulePackage = (ModulePackage)EPackage.Registry.INSTANCE.getEPackage(ModulePackage.eNS_URI);
+		TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+		dropout_layersEClass.getESuperTypes().add(theModulePackage.getModel());
+		dropoutEClass.getESuperTypes().add(this.getDropout_layers());
+		dropout2dEClass.getESuperTypes().add(this.getDropout_layers());
+		dropout3dEClass.getESuperTypes().add(this.getDropout_layers());
+		alphaDropoutEClass.getESuperTypes().add(this.getDropout_layers());
+
+		// Initialize classes, features, and operations; add parameters
+		initEClass(dropout_layersEClass, Dropout_layers.class, "Dropout_layers", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(getDropout_layers_P(), theTypesPackage.getReal(), "p", null, 0, 1, Dropout_layers.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getDropout_layers_Inplace(), theTypesPackage.getBoolean(), "inplace", null, 0, 1, Dropout_layers.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getDropout_layers_Noise_shape(), theTypesPackage.getInteger(), "noise_shape", null, 0, -1, Dropout_layers.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getDropout_layers_Seed(), theTypesPackage.getInteger(), "seed", null, 0, 1, Dropout_layers.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(dropoutEClass, Dropout.class, "Dropout", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		initEClass(dropout2dEClass, Dropout2d.class, "Dropout2d", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		initEClass(dropout3dEClass, Dropout3d.class, "Dropout3d", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		initEClass(alphaDropoutEClass, AlphaDropout.class, "AlphaDropout", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+	}
+
+} //Dropout_layersPackageImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/util/Dropout_layersAdapterFactory.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/util/Dropout_layersAdapterFactory.java
new file mode 100644
index 0000000..7bc7576
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/util/Dropout_layersAdapterFactory.java
@@ -0,0 +1,220 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.*;
+import org.eclipse.papyrus.aiml.profile.AIML.Module.Model;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layersPackage
+ * @generated
+ */
+public class Dropout_layersAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static Dropout_layersPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Dropout_layersAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = Dropout_layersPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Dropout_layersSwitch<Adapter> modelSwitch =
+		new Dropout_layersSwitch<Adapter>() {
+			@Override
+			public Adapter caseDropout_layers(Dropout_layers object) {
+				return createDropout_layersAdapter();
+			}
+			@Override
+			public Adapter caseDropout(Dropout object) {
+				return createDropoutAdapter();
+			}
+			@Override
+			public Adapter caseDropout2d(Dropout2d object) {
+				return createDropout2dAdapter();
+			}
+			@Override
+			public Adapter caseDropout3d(Dropout3d object) {
+				return createDropout3dAdapter();
+			}
+			@Override
+			public Adapter caseAlphaDropout(AlphaDropout object) {
+				return createAlphaDropoutAdapter();
+			}
+			@Override
+			public Adapter caseModel(Model object) {
+				return createModelAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layers <em>Dropout layers</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.aiml.profile.AIML.Dropout_layers.Dropout_layers
+	 * @generated
+	 */
+	public Adapter createDropout_layersAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout <em>Dropout</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.aiml.profile.AIML.Dropout_layers.Dropout
+	 * @generated
+	 */
+	public Adapter createDropoutAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout2d <em>Dropout2d</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.aiml.profile.AIML.Dropout_layers.Dropout2d
+	 * @generated
+	 */
+	public Adapter createDropout2dAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout3d <em>Dropout3d</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.aiml.profile.AIML.Dropout_layers.Dropout3d
+	 * @generated
+	 */
+	public Adapter createDropout3dAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.AlphaDropout <em>Alpha Dropout</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.aiml.profile.AIML.Dropout_layers.AlphaDropout
+	 * @generated
+	 */
+	public Adapter createAlphaDropoutAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Module.Model <em>Model</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.aiml.profile.AIML.Module.Model
+	 * @generated
+	 */
+	public Adapter createModelAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //Dropout_layersAdapterFactory
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/util/Dropout_layersSwitch.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/util/Dropout_layersSwitch.java
new file mode 100644
index 0000000..ba3ae1a
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Dropout_layers/util/Dropout_layersSwitch.java
@@ -0,0 +1,228 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.*;
+import org.eclipse.papyrus.aiml.profile.AIML.Module.Model;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layersPackage
+ * @generated
+ */
+public class Dropout_layersSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static Dropout_layersPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Dropout_layersSwitch() {
+		if (modelPackage == null) {
+			modelPackage = Dropout_layersPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case Dropout_layersPackage.DROPOUT_LAYERS: {
+				Dropout_layers dropout_layers = (Dropout_layers)theEObject;
+				T result = caseDropout_layers(dropout_layers);
+				if (result == null) result = caseModel(dropout_layers);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Dropout_layersPackage.DROPOUT: {
+				Dropout dropout = (Dropout)theEObject;
+				T result = caseDropout(dropout);
+				if (result == null) result = caseDropout_layers(dropout);
+				if (result == null) result = caseModel(dropout);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Dropout_layersPackage.DROPOUT2D: {
+				Dropout2d dropout2d = (Dropout2d)theEObject;
+				T result = caseDropout2d(dropout2d);
+				if (result == null) result = caseDropout_layers(dropout2d);
+				if (result == null) result = caseModel(dropout2d);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Dropout_layersPackage.DROPOUT3D: {
+				Dropout3d dropout3d = (Dropout3d)theEObject;
+				T result = caseDropout3d(dropout3d);
+				if (result == null) result = caseDropout_layers(dropout3d);
+				if (result == null) result = caseModel(dropout3d);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Dropout_layersPackage.ALPHA_DROPOUT: {
+				AlphaDropout alphaDropout = (AlphaDropout)theEObject;
+				T result = caseAlphaDropout(alphaDropout);
+				if (result == null) result = caseDropout_layers(alphaDropout);
+				if (result == null) result = caseModel(alphaDropout);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Dropout layers</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>Dropout layers</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDropout_layers(Dropout_layers object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Dropout</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>Dropout</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDropout(Dropout object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Dropout2d</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>Dropout2d</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDropout2d(Dropout2d object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Dropout3d</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>Dropout3d</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDropout3d(Dropout3d object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Alpha Dropout</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>Alpha Dropout</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseAlphaDropout(AlphaDropout object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Model</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>Model</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseModel(Model object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+} //Dropout_layersSwitch
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/Layer_weight_constraintsFactory.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/Layer_weight_constraintsFactory.java
new file mode 100644
index 0000000..8fb8633
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/Layer_weight_constraintsFactory.java
@@ -0,0 +1,87 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.Layer_weight_constraintsPackage
+ * @generated
+ */
+public interface Layer_weight_constraintsFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	Layer_weight_constraintsFactory eINSTANCE = org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.Layer_weight_constraintsFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>min max norm</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>min max norm</em>'.
+	 * @generated
+	 */
+	min_max_norm createmin_max_norm();
+
+	/**
+	 * Returns a new object of class '<em>max norm</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>max norm</em>'.
+	 * @generated
+	 */
+	max_norm createmax_norm();
+
+	/**
+	 * Returns a new object of class '<em>non neg</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>non neg</em>'.
+	 * @generated
+	 */
+	non_neg createnon_neg();
+
+	/**
+	 * Returns a new object of class '<em>radial constraint</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>radial constraint</em>'.
+	 * @generated
+	 */
+	radial_constraint createradial_constraint();
+
+	/**
+	 * Returns a new object of class '<em>unit norm</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>unit norm</em>'.
+	 * @generated
+	 */
+	unit_norm createunit_norm();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	Layer_weight_constraintsPackage getLayer_weight_constraintsPackage();
+
+} //Layer_weight_constraintsFactory
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/Layer_weight_constraintsPackage.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/Layer_weight_constraintsPackage.java
new file mode 100644
index 0000000..86ad8a8
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/Layer_weight_constraintsPackage.java
@@ -0,0 +1,643 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each operation of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.Layer_weight_constraintsFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface Layer_weight_constraintsPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "Layer_weight_constraints"; //$NON-NLS-1$
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http:///AIML/Layer_weight_constraints.ecore"; //$NON-NLS-1$
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "AIML.Layer_weight_constraints"; //$NON-NLS-1$
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	Layer_weight_constraintsPackage eINSTANCE = org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.Layer_weight_constraintsPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.constraintsImpl <em>constraints</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.constraintsImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.Layer_weight_constraintsPackageImpl#getconstraints()
+	 * @generated
+	 */
+	int CONSTRAINTS = 7;
+
+	/**
+	 * The number of structural features of the '<em>constraints</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINTS_FEATURE_COUNT = 0;
+
+	/**
+	 * The number of operations of the '<em>constraints</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINTS_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.normImpl <em>norm</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.normImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.Layer_weight_constraintsPackageImpl#getnorm()
+	 * @generated
+	 */
+	int NORM = 2;
+
+	/**
+	 * The feature id for the '<em><b>Axis</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NORM__AXIS = CONSTRAINTS_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>norm</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NORM_FEATURE_COUNT = CONSTRAINTS_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>norm</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NORM_OPERATION_COUNT = CONSTRAINTS_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.NormWithMaxValueImpl <em>Norm With Max Value</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.NormWithMaxValueImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.Layer_weight_constraintsPackageImpl#getNormWithMaxValue()
+	 * @generated
+	 */
+	int NORM_WITH_MAX_VALUE = 1;
+
+	/**
+	 * The feature id for the '<em><b>Axis</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NORM_WITH_MAX_VALUE__AXIS = NORM__AXIS;
+
+	/**
+	 * The feature id for the '<em><b>Max value</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NORM_WITH_MAX_VALUE__MAX_VALUE = NORM_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Norm With Max Value</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NORM_WITH_MAX_VALUE_FEATURE_COUNT = NORM_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>Norm With Max Value</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NORM_WITH_MAX_VALUE_OPERATION_COUNT = NORM_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.min_max_normImpl <em>min max norm</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.min_max_normImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.Layer_weight_constraintsPackageImpl#getmin_max_norm()
+	 * @generated
+	 */
+	int MIN_MAX_NORM = 0;
+
+	/**
+	 * The feature id for the '<em><b>Axis</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MIN_MAX_NORM__AXIS = NORM_WITH_MAX_VALUE__AXIS;
+
+	/**
+	 * The feature id for the '<em><b>Max value</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MIN_MAX_NORM__MAX_VALUE = NORM_WITH_MAX_VALUE__MAX_VALUE;
+
+	/**
+	 * The feature id for the '<em><b>Min value</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MIN_MAX_NORM__MIN_VALUE = NORM_WITH_MAX_VALUE_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Rate</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MIN_MAX_NORM__RATE = NORM_WITH_MAX_VALUE_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the '<em>min max norm</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MIN_MAX_NORM_FEATURE_COUNT = NORM_WITH_MAX_VALUE_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of operations of the '<em>min max norm</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MIN_MAX_NORM_OPERATION_COUNT = NORM_WITH_MAX_VALUE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.max_normImpl <em>max norm</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.max_normImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.Layer_weight_constraintsPackageImpl#getmax_norm()
+	 * @generated
+	 */
+	int MAX_NORM = 3;
+
+	/**
+	 * The feature id for the '<em><b>Axis</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MAX_NORM__AXIS = NORM_WITH_MAX_VALUE__AXIS;
+
+	/**
+	 * The feature id for the '<em><b>Max value</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MAX_NORM__MAX_VALUE = NORM_WITH_MAX_VALUE__MAX_VALUE;
+
+	/**
+	 * The number of structural features of the '<em>max norm</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MAX_NORM_FEATURE_COUNT = NORM_WITH_MAX_VALUE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>max norm</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MAX_NORM_OPERATION_COUNT = NORM_WITH_MAX_VALUE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.non_negImpl <em>non neg</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.non_negImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.Layer_weight_constraintsPackageImpl#getnon_neg()
+	 * @generated
+	 */
+	int NON_NEG = 4;
+
+	/**
+	 * The number of structural features of the '<em>non neg</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NON_NEG_FEATURE_COUNT = CONSTRAINTS_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>non neg</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NON_NEG_OPERATION_COUNT = CONSTRAINTS_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.radial_constraintImpl <em>radial constraint</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.radial_constraintImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.Layer_weight_constraintsPackageImpl#getradial_constraint()
+	 * @generated
+	 */
+	int RADIAL_CONSTRAINT = 5;
+
+	/**
+	 * The number of structural features of the '<em>radial constraint</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RADIAL_CONSTRAINT_FEATURE_COUNT = CONSTRAINTS_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>radial constraint</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RADIAL_CONSTRAINT_OPERATION_COUNT = CONSTRAINTS_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.unit_normImpl <em>unit norm</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.unit_normImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.Layer_weight_constraintsPackageImpl#getunit_norm()
+	 * @generated
+	 */
+	int UNIT_NORM = 6;
+
+	/**
+	 * The feature id for the '<em><b>Axis</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UNIT_NORM__AXIS = NORM__AXIS;
+
+	/**
+	 * The number of structural features of the '<em>unit norm</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UNIT_NORM_FEATURE_COUNT = NORM_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>unit norm</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UNIT_NORM_OPERATION_COUNT = NORM_OPERATION_COUNT + 0;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.min_max_norm <em>min max norm</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>min max norm</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.min_max_norm
+	 * @generated
+	 */
+	EClass getmin_max_norm();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.min_max_norm#getMin_value <em>Min value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Min value</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.min_max_norm#getMin_value()
+	 * @see #getmin_max_norm()
+	 * @generated
+	 */
+	EAttribute getmin_max_norm_Min_value();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.min_max_norm#getRate <em>Rate</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Rate</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.min_max_norm#getRate()
+	 * @see #getmin_max_norm()
+	 * @generated
+	 */
+	EAttribute getmin_max_norm_Rate();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.NormWithMaxValue <em>Norm With Max Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Norm With Max Value</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.NormWithMaxValue
+	 * @generated
+	 */
+	EClass getNormWithMaxValue();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.NormWithMaxValue#getMax_value <em>Max value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Max value</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.NormWithMaxValue#getMax_value()
+	 * @see #getNormWithMaxValue()
+	 * @generated
+	 */
+	EAttribute getNormWithMaxValue_Max_value();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.norm <em>norm</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>norm</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.norm
+	 * @generated
+	 */
+	EClass getnorm();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.norm#getAxis <em>Axis</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Axis</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.norm#getAxis()
+	 * @see #getnorm()
+	 * @generated
+	 */
+	EAttribute getnorm_Axis();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.max_norm <em>max norm</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>max norm</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.max_norm
+	 * @generated
+	 */
+	EClass getmax_norm();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.non_neg <em>non neg</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>non neg</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.non_neg
+	 * @generated
+	 */
+	EClass getnon_neg();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.radial_constraint <em>radial constraint</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>radial constraint</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.radial_constraint
+	 * @generated
+	 */
+	EClass getradial_constraint();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.unit_norm <em>unit norm</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>unit norm</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.unit_norm
+	 * @generated
+	 */
+	EClass getunit_norm();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.constraints <em>constraints</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>constraints</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.constraints
+	 * @generated
+	 */
+	EClass getconstraints();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	Layer_weight_constraintsFactory getLayer_weight_constraintsFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each operation of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.min_max_normImpl <em>min max norm</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.min_max_normImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.Layer_weight_constraintsPackageImpl#getmin_max_norm()
+		 * @generated
+		 */
+		EClass MIN_MAX_NORM = eINSTANCE.getmin_max_norm();
+
+		/**
+		 * The meta object literal for the '<em><b>Min value</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute MIN_MAX_NORM__MIN_VALUE = eINSTANCE.getmin_max_norm_Min_value();
+
+		/**
+		 * The meta object literal for the '<em><b>Rate</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute MIN_MAX_NORM__RATE = eINSTANCE.getmin_max_norm_Rate();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.NormWithMaxValueImpl <em>Norm With Max Value</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.NormWithMaxValueImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.Layer_weight_constraintsPackageImpl#getNormWithMaxValue()
+		 * @generated
+		 */
+		EClass NORM_WITH_MAX_VALUE = eINSTANCE.getNormWithMaxValue();
+
+		/**
+		 * The meta object literal for the '<em><b>Max value</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute NORM_WITH_MAX_VALUE__MAX_VALUE = eINSTANCE.getNormWithMaxValue_Max_value();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.normImpl <em>norm</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.normImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.Layer_weight_constraintsPackageImpl#getnorm()
+		 * @generated
+		 */
+		EClass NORM = eINSTANCE.getnorm();
+
+		/**
+		 * The meta object literal for the '<em><b>Axis</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute NORM__AXIS = eINSTANCE.getnorm_Axis();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.max_normImpl <em>max norm</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.max_normImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.Layer_weight_constraintsPackageImpl#getmax_norm()
+		 * @generated
+		 */
+		EClass MAX_NORM = eINSTANCE.getmax_norm();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.non_negImpl <em>non neg</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.non_negImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.Layer_weight_constraintsPackageImpl#getnon_neg()
+		 * @generated
+		 */
+		EClass NON_NEG = eINSTANCE.getnon_neg();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.radial_constraintImpl <em>radial constraint</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.radial_constraintImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.Layer_weight_constraintsPackageImpl#getradial_constraint()
+		 * @generated
+		 */
+		EClass RADIAL_CONSTRAINT = eINSTANCE.getradial_constraint();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.unit_normImpl <em>unit norm</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.unit_normImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.Layer_weight_constraintsPackageImpl#getunit_norm()
+		 * @generated
+		 */
+		EClass UNIT_NORM = eINSTANCE.getunit_norm();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.constraintsImpl <em>constraints</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.constraintsImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.Layer_weight_constraintsPackageImpl#getconstraints()
+		 * @generated
+		 */
+		EClass CONSTRAINTS = eINSTANCE.getconstraints();
+
+	}
+
+} //Layer_weight_constraintsPackage
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/NormWithMaxValue.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/NormWithMaxValue.java
new file mode 100644
index 0000000..ff7ebd6
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/NormWithMaxValue.java
@@ -0,0 +1,58 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Norm With Max Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.NormWithMaxValue#getMax_value <em>Max value</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.Layer_weight_constraintsPackage#getNormWithMaxValue()
+ * @model abstract="true"
+ * @generated
+ */
+public interface NormWithMaxValue extends norm {
+	/**
+	 * Returns the value of the '<em><b>Max value</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Max value</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Max value</em>' attribute.
+	 * @see #setMax_value(double)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.Layer_weight_constraintsPackage#getNormWithMaxValue_Max_value()
+	 * @model dataType="org.eclipse.uml2.types.Real" required="true" ordered="false"
+	 * @generated
+	 */
+	double getMax_value();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.NormWithMaxValue#getMax_value <em>Max value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Max value</em>' attribute.
+	 * @see #getMax_value()
+	 * @generated
+	 */
+	void setMax_value(double value);
+
+} // NormWithMaxValue
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/constraints.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/constraints.java
new file mode 100644
index 0000000..6b54d6f
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/constraints.java
@@ -0,0 +1,27 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>constraints</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.Layer_weight_constraintsPackage#getconstraints()
+ * @model abstract="true"
+ * @generated
+ */
+public interface constraints extends EObject {
+} // constraints
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/impl/Layer_weight_constraintsFactoryImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/impl/Layer_weight_constraintsFactoryImpl.java
new file mode 100644
index 0000000..5b09109
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/impl/Layer_weight_constraintsFactoryImpl.java
@@ -0,0 +1,154 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class Layer_weight_constraintsFactoryImpl extends EFactoryImpl implements Layer_weight_constraintsFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static Layer_weight_constraintsFactory init() {
+		try {
+			Layer_weight_constraintsFactory theLayer_weight_constraintsFactory = (Layer_weight_constraintsFactory)EPackage.Registry.INSTANCE.getEFactory(Layer_weight_constraintsPackage.eNS_URI);
+			if (theLayer_weight_constraintsFactory != null) {
+				return theLayer_weight_constraintsFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new Layer_weight_constraintsFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Layer_weight_constraintsFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case Layer_weight_constraintsPackage.MIN_MAX_NORM: return createmin_max_norm();
+			case Layer_weight_constraintsPackage.MAX_NORM: return createmax_norm();
+			case Layer_weight_constraintsPackage.NON_NEG: return createnon_neg();
+			case Layer_weight_constraintsPackage.RADIAL_CONSTRAINT: return createradial_constraint();
+			case Layer_weight_constraintsPackage.UNIT_NORM: return createunit_norm();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public min_max_norm createmin_max_norm() {
+		min_max_normImpl min_max_norm = new min_max_normImpl();
+		return min_max_norm;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public max_norm createmax_norm() {
+		max_normImpl max_norm = new max_normImpl();
+		return max_norm;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public non_neg createnon_neg() {
+		non_negImpl non_neg = new non_negImpl();
+		return non_neg;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public radial_constraint createradial_constraint() {
+		radial_constraintImpl radial_constraint = new radial_constraintImpl();
+		return radial_constraint;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public unit_norm createunit_norm() {
+		unit_normImpl unit_norm = new unit_normImpl();
+		return unit_norm;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Layer_weight_constraintsPackage getLayer_weight_constraintsPackage() {
+		return (Layer_weight_constraintsPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static Layer_weight_constraintsPackage getPackage() {
+		return Layer_weight_constraintsPackage.eINSTANCE;
+	}
+
+} //Layer_weight_constraintsFactoryImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/impl/Layer_weight_constraintsPackageImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/impl/Layer_weight_constraintsPackageImpl.java
new file mode 100644
index 0000000..c746295
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/impl/Layer_weight_constraintsPackageImpl.java
@@ -0,0 +1,566 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EcorePackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.AIMLPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl.DataParallel_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.Distance_functionsPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.impl.Distance_functionsPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.Dropout_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.Layer_weight_constraintsFactory;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.Layer_weight_constraintsPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.NormWithMaxValue;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.constraints;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.max_norm;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.min_max_norm;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.non_neg;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.norm;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.radial_constraint;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.unit_norm;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.Layer_weight_initializersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.Layer_weight_regularizersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.Layer_weight_regularizersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.Linear_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Loss_functions.Loss_functionsPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Loss_functions.impl.Loss_functionsPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Module.ModulePackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Module.impl.ModulePackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.NonLinearActivationsPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.impl.NonLinearActivationsPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Normalization_layers.Normalization_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Normalization_layers.impl.Normalization_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Padding_layers.Padding_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Padding_layers.impl.Padding_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Pooling_layers.Pooling_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Pooling_layers.impl.Pooling_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Recurrent_layers.Recurrent_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Recurrent_layers.impl.Recurrent_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.SoftMinMaxActivations.SoftMinMaxActivationsPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.SoftMinMaxActivations.impl.SoftMinMaxActivationsPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Sparse_layers.Sparse_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Sparse_layers.impl.Sparse_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Tensor.TensorPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Tensor.impl.TensorPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Transformer_layers.Transformer_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Transformer_layers.impl.Transformer_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Vision_layers.Vision_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Vision_layers.impl.Vision_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.datatypes.DatatypesPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.datatypes.impl.DatatypesPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.impl.AIMLPackageImpl;
+
+import org.eclipse.uml2.types.TypesPackage;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class Layer_weight_constraintsPackageImpl extends EPackageImpl implements Layer_weight_constraintsPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass min_max_normEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass normWithMaxValueEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass normEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass max_normEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass non_negEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass radial_constraintEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass unit_normEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass constraintsEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.Layer_weight_constraintsPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private Layer_weight_constraintsPackageImpl() {
+		super(eNS_URI, Layer_weight_constraintsFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 *
+	 * <p>This method is used to initialize {@link Layer_weight_constraintsPackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static Layer_weight_constraintsPackage init() {
+		if (isInited) return (Layer_weight_constraintsPackage)EPackage.Registry.INSTANCE.getEPackage(Layer_weight_constraintsPackage.eNS_URI);
+
+		// Obtain or create and register package
+		Object registeredLayer_weight_constraintsPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+		Layer_weight_constraintsPackageImpl theLayer_weight_constraintsPackage = registeredLayer_weight_constraintsPackage instanceof Layer_weight_constraintsPackageImpl ? (Layer_weight_constraintsPackageImpl)registeredLayer_weight_constraintsPackage : new Layer_weight_constraintsPackageImpl();
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		EcorePackage.eINSTANCE.eClass();
+		TypesPackage.eINSTANCE.eClass();
+		UMLPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		Object registeredPackage = EPackage.Registry.INSTANCE.getEPackage(AIMLPackage.eNS_URI);
+		AIMLPackageImpl theAIMLPackage = (AIMLPackageImpl)(registeredPackage instanceof AIMLPackageImpl ? registeredPackage : AIMLPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ModulePackage.eNS_URI);
+		ModulePackageImpl theModulePackage = (ModulePackageImpl)(registeredPackage instanceof ModulePackageImpl ? registeredPackage : ModulePackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(TensorPackage.eNS_URI);
+		TensorPackageImpl theTensorPackage = (TensorPackageImpl)(registeredPackage instanceof TensorPackageImpl ? registeredPackage : TensorPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI);
+		DatatypesPackageImpl theDatatypesPackage = (DatatypesPackageImpl)(registeredPackage instanceof DatatypesPackageImpl ? registeredPackage : DatatypesPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Pooling_layersPackage.eNS_URI);
+		Pooling_layersPackageImpl thePooling_layersPackage = (Pooling_layersPackageImpl)(registeredPackage instanceof Pooling_layersPackageImpl ? registeredPackage : Pooling_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Convolution_layersPackage.eNS_URI);
+		Convolution_layersPackageImpl theConvolution_layersPackage = (Convolution_layersPackageImpl)(registeredPackage instanceof Convolution_layersPackageImpl ? registeredPackage : Convolution_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Padding_layersPackage.eNS_URI);
+		Padding_layersPackageImpl thePadding_layersPackage = (Padding_layersPackageImpl)(registeredPackage instanceof Padding_layersPackageImpl ? registeredPackage : Padding_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(NonLinearActivationsPackage.eNS_URI);
+		NonLinearActivationsPackageImpl theNonLinearActivationsPackage = (NonLinearActivationsPackageImpl)(registeredPackage instanceof NonLinearActivationsPackageImpl ? registeredPackage : NonLinearActivationsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(SoftMinMaxActivationsPackage.eNS_URI);
+		SoftMinMaxActivationsPackageImpl theSoftMinMaxActivationsPackage = (SoftMinMaxActivationsPackageImpl)(registeredPackage instanceof SoftMinMaxActivationsPackageImpl ? registeredPackage : SoftMinMaxActivationsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Normalization_layersPackage.eNS_URI);
+		Normalization_layersPackageImpl theNormalization_layersPackage = (Normalization_layersPackageImpl)(registeredPackage instanceof Normalization_layersPackageImpl ? registeredPackage : Normalization_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Recurrent_layersPackage.eNS_URI);
+		Recurrent_layersPackageImpl theRecurrent_layersPackage = (Recurrent_layersPackageImpl)(registeredPackage instanceof Recurrent_layersPackageImpl ? registeredPackage : Recurrent_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Transformer_layersPackage.eNS_URI);
+		Transformer_layersPackageImpl theTransformer_layersPackage = (Transformer_layersPackageImpl)(registeredPackage instanceof Transformer_layersPackageImpl ? registeredPackage : Transformer_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Linear_layersPackage.eNS_URI);
+		Linear_layersPackageImpl theLinear_layersPackage = (Linear_layersPackageImpl)(registeredPackage instanceof Linear_layersPackageImpl ? registeredPackage : Linear_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Dropout_layersPackage.eNS_URI);
+		Dropout_layersPackageImpl theDropout_layersPackage = (Dropout_layersPackageImpl)(registeredPackage instanceof Dropout_layersPackageImpl ? registeredPackage : Dropout_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Sparse_layersPackage.eNS_URI);
+		Sparse_layersPackageImpl theSparse_layersPackage = (Sparse_layersPackageImpl)(registeredPackage instanceof Sparse_layersPackageImpl ? registeredPackage : Sparse_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Distance_functionsPackage.eNS_URI);
+		Distance_functionsPackageImpl theDistance_functionsPackage = (Distance_functionsPackageImpl)(registeredPackage instanceof Distance_functionsPackageImpl ? registeredPackage : Distance_functionsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Loss_functionsPackage.eNS_URI);
+		Loss_functionsPackageImpl theLoss_functionsPackage = (Loss_functionsPackageImpl)(registeredPackage instanceof Loss_functionsPackageImpl ? registeredPackage : Loss_functionsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Vision_layersPackage.eNS_URI);
+		Vision_layersPackageImpl theVision_layersPackage = (Vision_layersPackageImpl)(registeredPackage instanceof Vision_layersPackageImpl ? registeredPackage : Vision_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(DataParallel_layersPackage.eNS_URI);
+		DataParallel_layersPackageImpl theDataParallel_layersPackage = (DataParallel_layersPackageImpl)(registeredPackage instanceof DataParallel_layersPackageImpl ? registeredPackage : DataParallel_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Layer_weight_regularizersPackage.eNS_URI);
+		Layer_weight_regularizersPackageImpl theLayer_weight_regularizersPackage = (Layer_weight_regularizersPackageImpl)(registeredPackage instanceof Layer_weight_regularizersPackageImpl ? registeredPackage : Layer_weight_regularizersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Layer_weight_initializersPackage.eNS_URI);
+		Layer_weight_initializersPackageImpl theLayer_weight_initializersPackage = (Layer_weight_initializersPackageImpl)(registeredPackage instanceof Layer_weight_initializersPackageImpl ? registeredPackage : Layer_weight_initializersPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theLayer_weight_constraintsPackage.createPackageContents();
+		theAIMLPackage.createPackageContents();
+		theModulePackage.createPackageContents();
+		theTensorPackage.createPackageContents();
+		theDatatypesPackage.createPackageContents();
+		thePooling_layersPackage.createPackageContents();
+		theConvolution_layersPackage.createPackageContents();
+		thePadding_layersPackage.createPackageContents();
+		theNonLinearActivationsPackage.createPackageContents();
+		theSoftMinMaxActivationsPackage.createPackageContents();
+		theNormalization_layersPackage.createPackageContents();
+		theRecurrent_layersPackage.createPackageContents();
+		theTransformer_layersPackage.createPackageContents();
+		theLinear_layersPackage.createPackageContents();
+		theDropout_layersPackage.createPackageContents();
+		theSparse_layersPackage.createPackageContents();
+		theDistance_functionsPackage.createPackageContents();
+		theLoss_functionsPackage.createPackageContents();
+		theVision_layersPackage.createPackageContents();
+		theDataParallel_layersPackage.createPackageContents();
+		theLayer_weight_regularizersPackage.createPackageContents();
+		theLayer_weight_initializersPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theLayer_weight_constraintsPackage.initializePackageContents();
+		theAIMLPackage.initializePackageContents();
+		theModulePackage.initializePackageContents();
+		theTensorPackage.initializePackageContents();
+		theDatatypesPackage.initializePackageContents();
+		thePooling_layersPackage.initializePackageContents();
+		theConvolution_layersPackage.initializePackageContents();
+		thePadding_layersPackage.initializePackageContents();
+		theNonLinearActivationsPackage.initializePackageContents();
+		theSoftMinMaxActivationsPackage.initializePackageContents();
+		theNormalization_layersPackage.initializePackageContents();
+		theRecurrent_layersPackage.initializePackageContents();
+		theTransformer_layersPackage.initializePackageContents();
+		theLinear_layersPackage.initializePackageContents();
+		theDropout_layersPackage.initializePackageContents();
+		theSparse_layersPackage.initializePackageContents();
+		theDistance_functionsPackage.initializePackageContents();
+		theLoss_functionsPackage.initializePackageContents();
+		theVision_layersPackage.initializePackageContents();
+		theDataParallel_layersPackage.initializePackageContents();
+		theLayer_weight_regularizersPackage.initializePackageContents();
+		theLayer_weight_initializersPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theLayer_weight_constraintsPackage.freeze();
+
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(Layer_weight_constraintsPackage.eNS_URI, theLayer_weight_constraintsPackage);
+		return theLayer_weight_constraintsPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getmin_max_norm() {
+		return min_max_normEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getmin_max_norm_Min_value() {
+		return (EAttribute)min_max_normEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getmin_max_norm_Rate() {
+		return (EAttribute)min_max_normEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getNormWithMaxValue() {
+		return normWithMaxValueEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getNormWithMaxValue_Max_value() {
+		return (EAttribute)normWithMaxValueEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getnorm() {
+		return normEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getnorm_Axis() {
+		return (EAttribute)normEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getmax_norm() {
+		return max_normEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getnon_neg() {
+		return non_negEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getradial_constraint() {
+		return radial_constraintEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getunit_norm() {
+		return unit_normEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getconstraints() {
+		return constraintsEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Layer_weight_constraintsFactory getLayer_weight_constraintsFactory() {
+		return (Layer_weight_constraintsFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		min_max_normEClass = createEClass(MIN_MAX_NORM);
+		createEAttribute(min_max_normEClass, MIN_MAX_NORM__MIN_VALUE);
+		createEAttribute(min_max_normEClass, MIN_MAX_NORM__RATE);
+
+		normWithMaxValueEClass = createEClass(NORM_WITH_MAX_VALUE);
+		createEAttribute(normWithMaxValueEClass, NORM_WITH_MAX_VALUE__MAX_VALUE);
+
+		normEClass = createEClass(NORM);
+		createEAttribute(normEClass, NORM__AXIS);
+
+		max_normEClass = createEClass(MAX_NORM);
+
+		non_negEClass = createEClass(NON_NEG);
+
+		radial_constraintEClass = createEClass(RADIAL_CONSTRAINT);
+
+		unit_normEClass = createEClass(UNIT_NORM);
+
+		constraintsEClass = createEClass(CONSTRAINTS);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+		min_max_normEClass.getESuperTypes().add(this.getNormWithMaxValue());
+		normWithMaxValueEClass.getESuperTypes().add(this.getnorm());
+		normEClass.getESuperTypes().add(this.getconstraints());
+		max_normEClass.getESuperTypes().add(this.getNormWithMaxValue());
+		non_negEClass.getESuperTypes().add(this.getconstraints());
+		radial_constraintEClass.getESuperTypes().add(this.getconstraints());
+		unit_normEClass.getESuperTypes().add(this.getnorm());
+
+		// Initialize classes, features, and operations; add parameters
+		initEClass(min_max_normEClass, min_max_norm.class, "min_max_norm", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(getmin_max_norm_Min_value(), theTypesPackage.getReal(), "min_value", null, 1, 1, min_max_norm.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getmin_max_norm_Rate(), theTypesPackage.getReal(), "rate", null, 1, 1, min_max_norm.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(normWithMaxValueEClass, NormWithMaxValue.class, "NormWithMaxValue", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(getNormWithMaxValue_Max_value(), theTypesPackage.getReal(), "max_value", null, 1, 1, NormWithMaxValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(normEClass, norm.class, "norm", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(getnorm_Axis(), theTypesPackage.getInteger(), "axis", null, 1, -1, norm.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(max_normEClass, max_norm.class, "max_norm", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		initEClass(non_negEClass, non_neg.class, "non_neg", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		initEClass(radial_constraintEClass, radial_constraint.class, "radial_constraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		initEClass(unit_normEClass, unit_norm.class, "unit_norm", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		initEClass(constraintsEClass, constraints.class, "constraints", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+	}
+
+} //Layer_weight_constraintsPackageImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/impl/NormWithMaxValueImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/impl/NormWithMaxValueImpl.java
new file mode 100644
index 0000000..1d002f1
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/impl/NormWithMaxValueImpl.java
@@ -0,0 +1,173 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.Layer_weight_constraintsPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.NormWithMaxValue;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Norm With Max Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.NormWithMaxValueImpl#getMax_value <em>Max value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class NormWithMaxValueImpl extends normImpl implements NormWithMaxValue {
+	/**
+	 * The default value of the '{@link #getMax_value() <em>Max value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMax_value()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double MAX_VALUE_EDEFAULT = 0.0;
+
+	/**
+	 * The cached value of the '{@link #getMax_value() <em>Max value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMax_value()
+	 * @generated
+	 * @ordered
+	 */
+	protected double max_value = MAX_VALUE_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected NormWithMaxValueImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Layer_weight_constraintsPackage.Literals.NORM_WITH_MAX_VALUE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public double getMax_value() {
+		return max_value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setMax_value(double newMax_value) {
+		double oldMax_value = max_value;
+		max_value = newMax_value;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Layer_weight_constraintsPackage.NORM_WITH_MAX_VALUE__MAX_VALUE, oldMax_value, max_value));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case Layer_weight_constraintsPackage.NORM_WITH_MAX_VALUE__MAX_VALUE:
+				return getMax_value();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case Layer_weight_constraintsPackage.NORM_WITH_MAX_VALUE__MAX_VALUE:
+				setMax_value((Double)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case Layer_weight_constraintsPackage.NORM_WITH_MAX_VALUE__MAX_VALUE:
+				setMax_value(MAX_VALUE_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case Layer_weight_constraintsPackage.NORM_WITH_MAX_VALUE__MAX_VALUE:
+				return max_value != MAX_VALUE_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(" (max_value: "); //$NON-NLS-1$
+		result.append(max_value);
+		result.append(')');
+		return result.toString();
+	}
+
+} //NormWithMaxValueImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/impl/constraintsImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/impl/constraintsImpl.java
new file mode 100644
index 0000000..92e146b
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/impl/constraintsImpl.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.Layer_weight_constraintsPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.constraints;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>constraints</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public abstract class constraintsImpl extends MinimalEObjectImpl.Container implements constraints {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected constraintsImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Layer_weight_constraintsPackage.Literals.CONSTRAINTS;
+	}
+
+} //constraintsImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/impl/max_normImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/impl/max_normImpl.java
new file mode 100644
index 0000000..d2b4d43
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/impl/max_normImpl.java
@@ -0,0 +1,46 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.Layer_weight_constraintsPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.max_norm;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>max norm</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class max_normImpl extends NormWithMaxValueImpl implements max_norm {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected max_normImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Layer_weight_constraintsPackage.Literals.MAX_NORM;
+	}
+
+} //max_normImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/impl/min_max_normImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/impl/min_max_normImpl.java
new file mode 100644
index 0000000..d14d552
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/impl/min_max_normImpl.java
@@ -0,0 +1,229 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.Layer_weight_constraintsPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.min_max_norm;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>min max norm</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.min_max_normImpl#getMin_value <em>Min value</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.min_max_normImpl#getRate <em>Rate</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class min_max_normImpl extends NormWithMaxValueImpl implements min_max_norm {
+	/**
+	 * The default value of the '{@link #getMin_value() <em>Min value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMin_value()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double MIN_VALUE_EDEFAULT = 0.0;
+
+	/**
+	 * The cached value of the '{@link #getMin_value() <em>Min value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMin_value()
+	 * @generated
+	 * @ordered
+	 */
+	protected double min_value = MIN_VALUE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getRate() <em>Rate</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRate()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double RATE_EDEFAULT = 0.0;
+
+	/**
+	 * The cached value of the '{@link #getRate() <em>Rate</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRate()
+	 * @generated
+	 * @ordered
+	 */
+	protected double rate = RATE_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected min_max_normImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Layer_weight_constraintsPackage.Literals.MIN_MAX_NORM;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public double getMin_value() {
+		return min_value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setMin_value(double newMin_value) {
+		double oldMin_value = min_value;
+		min_value = newMin_value;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Layer_weight_constraintsPackage.MIN_MAX_NORM__MIN_VALUE, oldMin_value, min_value));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public double getRate() {
+		return rate;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setRate(double newRate) {
+		double oldRate = rate;
+		rate = newRate;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Layer_weight_constraintsPackage.MIN_MAX_NORM__RATE, oldRate, rate));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case Layer_weight_constraintsPackage.MIN_MAX_NORM__MIN_VALUE:
+				return getMin_value();
+			case Layer_weight_constraintsPackage.MIN_MAX_NORM__RATE:
+				return getRate();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case Layer_weight_constraintsPackage.MIN_MAX_NORM__MIN_VALUE:
+				setMin_value((Double)newValue);
+				return;
+			case Layer_weight_constraintsPackage.MIN_MAX_NORM__RATE:
+				setRate((Double)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case Layer_weight_constraintsPackage.MIN_MAX_NORM__MIN_VALUE:
+				setMin_value(MIN_VALUE_EDEFAULT);
+				return;
+			case Layer_weight_constraintsPackage.MIN_MAX_NORM__RATE:
+				setRate(RATE_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case Layer_weight_constraintsPackage.MIN_MAX_NORM__MIN_VALUE:
+				return min_value != MIN_VALUE_EDEFAULT;
+			case Layer_weight_constraintsPackage.MIN_MAX_NORM__RATE:
+				return rate != RATE_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(" (min_value: "); //$NON-NLS-1$
+		result.append(min_value);
+		result.append(", rate: "); //$NON-NLS-1$
+		result.append(rate);
+		result.append(')');
+		return result.toString();
+	}
+
+} //min_max_normImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/impl/non_negImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/impl/non_negImpl.java
new file mode 100644
index 0000000..258f976
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/impl/non_negImpl.java
@@ -0,0 +1,46 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.Layer_weight_constraintsPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.non_neg;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>non neg</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class non_negImpl extends constraintsImpl implements non_neg {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected non_negImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Layer_weight_constraintsPackage.Literals.NON_NEG;
+	}
+
+} //non_negImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/impl/normImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/impl/normImpl.java
new file mode 100644
index 0000000..b449801
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/impl/normImpl.java
@@ -0,0 +1,157 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.Layer_weight_constraintsPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.norm;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>norm</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.normImpl#getAxis <em>Axis</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class normImpl extends constraintsImpl implements norm {
+	/**
+	 * The cached value of the '{@link #getAxis() <em>Axis</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAxis()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Integer> axis;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected normImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Layer_weight_constraintsPackage.Literals.NORM;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EList<Integer> getAxis() {
+		if (axis == null) {
+			axis = new EDataTypeUniqueEList<Integer>(Integer.class, this, Layer_weight_constraintsPackage.NORM__AXIS);
+		}
+		return axis;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case Layer_weight_constraintsPackage.NORM__AXIS:
+				return getAxis();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case Layer_weight_constraintsPackage.NORM__AXIS:
+				getAxis().clear();
+				getAxis().addAll((Collection<? extends Integer>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case Layer_weight_constraintsPackage.NORM__AXIS:
+				getAxis().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case Layer_weight_constraintsPackage.NORM__AXIS:
+				return axis != null && !axis.isEmpty();
+		}
+		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(" (axis: "); //$NON-NLS-1$
+		result.append(axis);
+		result.append(')');
+		return result.toString();
+	}
+
+} //normImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/impl/radial_constraintImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/impl/radial_constraintImpl.java
new file mode 100644
index 0000000..cf2348f
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/impl/radial_constraintImpl.java
@@ -0,0 +1,46 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.Layer_weight_constraintsPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.radial_constraint;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>radial constraint</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class radial_constraintImpl extends constraintsImpl implements radial_constraint {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected radial_constraintImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Layer_weight_constraintsPackage.Literals.RADIAL_CONSTRAINT;
+	}
+
+} //radial_constraintImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/impl/unit_normImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/impl/unit_normImpl.java
new file mode 100644
index 0000000..4ed8f6f
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/impl/unit_normImpl.java
@@ -0,0 +1,46 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.Layer_weight_constraintsPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.unit_norm;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>unit norm</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class unit_normImpl extends normImpl implements unit_norm {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected unit_normImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Layer_weight_constraintsPackage.Literals.UNIT_NORM;
+	}
+
+} //unit_normImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/max_norm.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/max_norm.java
new file mode 100644
index 0000000..d59b873
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/max_norm.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>max norm</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.Layer_weight_constraintsPackage#getmax_norm()
+ * @model
+ * @generated
+ */
+public interface max_norm extends NormWithMaxValue {
+} // max_norm
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/min_max_norm.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/min_max_norm.java
new file mode 100644
index 0000000..8904424
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/min_max_norm.java
@@ -0,0 +1,85 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>min max norm</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.min_max_norm#getMin_value <em>Min value</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.min_max_norm#getRate <em>Rate</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.Layer_weight_constraintsPackage#getmin_max_norm()
+ * @model
+ * @generated
+ */
+public interface min_max_norm extends NormWithMaxValue {
+	/**
+	 * Returns the value of the '<em><b>Min value</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Min value</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Min value</em>' attribute.
+	 * @see #setMin_value(double)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.Layer_weight_constraintsPackage#getmin_max_norm_Min_value()
+	 * @model dataType="org.eclipse.uml2.types.Real" required="true" ordered="false"
+	 * @generated
+	 */
+	double getMin_value();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.min_max_norm#getMin_value <em>Min value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Min value</em>' attribute.
+	 * @see #getMin_value()
+	 * @generated
+	 */
+	void setMin_value(double value);
+
+	/**
+	 * Returns the value of the '<em><b>Rate</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Rate</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Rate</em>' attribute.
+	 * @see #setRate(double)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.Layer_weight_constraintsPackage#getmin_max_norm_Rate()
+	 * @model dataType="org.eclipse.uml2.types.Real" required="true" ordered="false"
+	 * @generated
+	 */
+	double getRate();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.min_max_norm#getRate <em>Rate</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Rate</em>' attribute.
+	 * @see #getRate()
+	 * @generated
+	 */
+	void setRate(double value);
+
+} // min_max_norm
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/non_neg.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/non_neg.java
new file mode 100644
index 0000000..2da9cbc
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/non_neg.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>non neg</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.Layer_weight_constraintsPackage#getnon_neg()
+ * @model
+ * @generated
+ */
+public interface non_neg extends constraints {
+} // non_neg
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/norm.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/norm.java
new file mode 100644
index 0000000..2be164c
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/norm.java
@@ -0,0 +1,49 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>norm</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.norm#getAxis <em>Axis</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.Layer_weight_constraintsPackage#getnorm()
+ * @model abstract="true"
+ * @generated
+ */
+public interface norm extends constraints {
+	/**
+	 * Returns the value of the '<em><b>Axis</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.Integer}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Axis</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Axis</em>' attribute list.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.Layer_weight_constraintsPackage#getnorm_Axis()
+	 * @model dataType="org.eclipse.uml2.types.Integer" required="true" ordered="false"
+	 * @generated
+	 */
+	EList<Integer> getAxis();
+
+} // norm
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/radial_constraint.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/radial_constraint.java
new file mode 100644
index 0000000..45197c9
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/radial_constraint.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>radial constraint</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.Layer_weight_constraintsPackage#getradial_constraint()
+ * @model
+ * @generated
+ */
+public interface radial_constraint extends constraints {
+} // radial_constraint
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/unit_norm.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/unit_norm.java
new file mode 100644
index 0000000..3d938a9
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/unit_norm.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>unit norm</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.Layer_weight_constraintsPackage#getunit_norm()
+ * @model
+ * @generated
+ */
+public interface unit_norm extends norm {
+} // unit_norm
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/util/Layer_weight_constraintsAdapterFactory.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/util/Layer_weight_constraintsAdapterFactory.java
new file mode 100644
index 0000000..5cc9c80
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/util/Layer_weight_constraintsAdapterFactory.java
@@ -0,0 +1,255 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.Layer_weight_constraintsPackage
+ * @generated
+ */
+public class Layer_weight_constraintsAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static Layer_weight_constraintsPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Layer_weight_constraintsAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = Layer_weight_constraintsPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Layer_weight_constraintsSwitch<Adapter> modelSwitch =
+		new Layer_weight_constraintsSwitch<Adapter>() {
+			@Override
+			public Adapter casemin_max_norm(min_max_norm object) {
+				return createmin_max_normAdapter();
+			}
+			@Override
+			public Adapter caseNormWithMaxValue(NormWithMaxValue object) {
+				return createNormWithMaxValueAdapter();
+			}
+			@Override
+			public Adapter casenorm(norm object) {
+				return createnormAdapter();
+			}
+			@Override
+			public Adapter casemax_norm(max_norm object) {
+				return createmax_normAdapter();
+			}
+			@Override
+			public Adapter casenon_neg(non_neg object) {
+				return createnon_negAdapter();
+			}
+			@Override
+			public Adapter caseradial_constraint(radial_constraint object) {
+				return createradial_constraintAdapter();
+			}
+			@Override
+			public Adapter caseunit_norm(unit_norm object) {
+				return createunit_normAdapter();
+			}
+			@Override
+			public Adapter caseconstraints(constraints object) {
+				return createconstraintsAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.min_max_norm <em>min max norm</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.aiml.profile.AIML.Layer_weight_constraints.min_max_norm
+	 * @generated
+	 */
+	public Adapter createmin_max_normAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.NormWithMaxValue <em>Norm With Max Value</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.aiml.profile.AIML.Layer_weight_constraints.NormWithMaxValue
+	 * @generated
+	 */
+	public Adapter createNormWithMaxValueAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.norm <em>norm</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.aiml.profile.AIML.Layer_weight_constraints.norm
+	 * @generated
+	 */
+	public Adapter createnormAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.max_norm <em>max norm</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.aiml.profile.AIML.Layer_weight_constraints.max_norm
+	 * @generated
+	 */
+	public Adapter createmax_normAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.non_neg <em>non neg</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.aiml.profile.AIML.Layer_weight_constraints.non_neg
+	 * @generated
+	 */
+	public Adapter createnon_negAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.radial_constraint <em>radial constraint</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.aiml.profile.AIML.Layer_weight_constraints.radial_constraint
+	 * @generated
+	 */
+	public Adapter createradial_constraintAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.unit_norm <em>unit norm</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.aiml.profile.AIML.Layer_weight_constraints.unit_norm
+	 * @generated
+	 */
+	public Adapter createunit_normAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.constraints <em>constraints</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.aiml.profile.AIML.Layer_weight_constraints.constraints
+	 * @generated
+	 */
+	public Adapter createconstraintsAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //Layer_weight_constraintsAdapterFactory
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/util/Layer_weight_constraintsSwitch.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/util/Layer_weight_constraintsSwitch.java
new file mode 100644
index 0000000..8f11f62
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_constraints/util/Layer_weight_constraintsSwitch.java
@@ -0,0 +1,279 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.Layer_weight_constraintsPackage
+ * @generated
+ */
+public class Layer_weight_constraintsSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static Layer_weight_constraintsPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Layer_weight_constraintsSwitch() {
+		if (modelPackage == null) {
+			modelPackage = Layer_weight_constraintsPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case Layer_weight_constraintsPackage.MIN_MAX_NORM: {
+				min_max_norm min_max_norm = (min_max_norm)theEObject;
+				T result = casemin_max_norm(min_max_norm);
+				if (result == null) result = caseNormWithMaxValue(min_max_norm);
+				if (result == null) result = casenorm(min_max_norm);
+				if (result == null) result = caseconstraints(min_max_norm);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Layer_weight_constraintsPackage.NORM_WITH_MAX_VALUE: {
+				NormWithMaxValue normWithMaxValue = (NormWithMaxValue)theEObject;
+				T result = caseNormWithMaxValue(normWithMaxValue);
+				if (result == null) result = casenorm(normWithMaxValue);
+				if (result == null) result = caseconstraints(normWithMaxValue);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Layer_weight_constraintsPackage.NORM: {
+				norm norm = (norm)theEObject;
+				T result = casenorm(norm);
+				if (result == null) result = caseconstraints(norm);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Layer_weight_constraintsPackage.MAX_NORM: {
+				max_norm max_norm = (max_norm)theEObject;
+				T result = casemax_norm(max_norm);
+				if (result == null) result = caseNormWithMaxValue(max_norm);
+				if (result == null) result = casenorm(max_norm);
+				if (result == null) result = caseconstraints(max_norm);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Layer_weight_constraintsPackage.NON_NEG: {
+				non_neg non_neg = (non_neg)theEObject;
+				T result = casenon_neg(non_neg);
+				if (result == null) result = caseconstraints(non_neg);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Layer_weight_constraintsPackage.RADIAL_CONSTRAINT: {
+				radial_constraint radial_constraint = (radial_constraint)theEObject;
+				T result = caseradial_constraint(radial_constraint);
+				if (result == null) result = caseconstraints(radial_constraint);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Layer_weight_constraintsPackage.UNIT_NORM: {
+				unit_norm unit_norm = (unit_norm)theEObject;
+				T result = caseunit_norm(unit_norm);
+				if (result == null) result = casenorm(unit_norm);
+				if (result == null) result = caseconstraints(unit_norm);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Layer_weight_constraintsPackage.CONSTRAINTS: {
+				constraints constraints = (constraints)theEObject;
+				T result = caseconstraints(constraints);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>min max norm</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>min max norm</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casemin_max_norm(min_max_norm object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Norm With Max Value</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>Norm With Max Value</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseNormWithMaxValue(NormWithMaxValue object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>norm</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>norm</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casenorm(norm object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>max norm</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>max norm</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casemax_norm(max_norm object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>non neg</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>non neg</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casenon_neg(non_neg object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>radial constraint</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>radial constraint</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseradial_constraint(radial_constraint object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>unit norm</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>unit norm</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseunit_norm(unit_norm object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>constraints</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>constraints</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseconstraints(constraints object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+} //Layer_weight_constraintsSwitch
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/Layer_weight_initializersFactory.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/Layer_weight_initializersFactory.java
new file mode 100644
index 0000000..9271bfd
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/Layer_weight_initializersFactory.java
@@ -0,0 +1,141 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage
+ * @generated
+ */
+public interface Layer_weight_initializersFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	Layer_weight_initializersFactory eINSTANCE = org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.Layer_weight_initializersFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>random normal</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>random normal</em>'.
+	 * @generated
+	 */
+	random_normal createrandom_normal();
+
+	/**
+	 * Returns a new object of class '<em>random uniform</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>random uniform</em>'.
+	 * @generated
+	 */
+	random_uniform createrandom_uniform();
+
+	/**
+	 * Returns a new object of class '<em>truncated normal</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>truncated normal</em>'.
+	 * @generated
+	 */
+	truncated_normal createtruncated_normal();
+
+	/**
+	 * Returns a new object of class '<em>zeros</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>zeros</em>'.
+	 * @generated
+	 */
+	zeros createzeros();
+
+	/**
+	 * Returns a new object of class '<em>ones</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>ones</em>'.
+	 * @generated
+	 */
+	ones createones();
+
+	/**
+	 * Returns a new object of class '<em>glorot normal</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>glorot normal</em>'.
+	 * @generated
+	 */
+	glorot_normal createglorot_normal();
+
+	/**
+	 * Returns a new object of class '<em>glorot uniform</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>glorot uniform</em>'.
+	 * @generated
+	 */
+	glorot_uniform createglorot_uniform();
+
+	/**
+	 * Returns a new object of class '<em>identity</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>identity</em>'.
+	 * @generated
+	 */
+	identity createidentity();
+
+	/**
+	 * Returns a new object of class '<em>orthogonal</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>orthogonal</em>'.
+	 * @generated
+	 */
+	orthogonal createorthogonal();
+
+	/**
+	 * Returns a new object of class '<em>constant</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>constant</em>'.
+	 * @generated
+	 */
+	constant createconstant();
+
+	/**
+	 * Returns a new object of class '<em>variance scaling</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>variance scaling</em>'.
+	 * @generated
+	 */
+	variance_scaling createvariance_scaling();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	Layer_weight_initializersPackage getLayer_weight_initializersPackage();
+
+} //Layer_weight_initializersFactory
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/Layer_weight_initializersPackage.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/Layer_weight_initializersPackage.java
new file mode 100644
index 0000000..ac605cc
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/Layer_weight_initializersPackage.java
@@ -0,0 +1,1171 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each operation of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface Layer_weight_initializersPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "Layer_weight_initializers"; //$NON-NLS-1$
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http:///AIML/Layer_weight_initializers.ecore"; //$NON-NLS-1$
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "AIML.Layer_weight_initializers"; //$NON-NLS-1$
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	Layer_weight_initializersPackage eINSTANCE = org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.Layer_weight_initializersPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.initializer_with_seedImpl <em>initializer with seed</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.initializer_with_seedImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.Layer_weight_initializersPackageImpl#getinitializer_with_seed()
+	 * @generated
+	 */
+	int INITIALIZER_WITH_SEED = 2;
+
+	/**
+	 * The feature id for the '<em><b>Seed</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INITIALIZER_WITH_SEED__SEED = 0;
+
+	/**
+	 * The number of structural features of the '<em>initializer with seed</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INITIALIZER_WITH_SEED_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>initializer with seed</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INITIALIZER_WITH_SEED_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.initializer_with_mean_stddevImpl <em>initializer with mean stddev</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.initializer_with_mean_stddevImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.Layer_weight_initializersPackageImpl#getinitializer_with_mean_stddev()
+	 * @generated
+	 */
+	int INITIALIZER_WITH_MEAN_STDDEV = 1;
+
+	/**
+	 * The feature id for the '<em><b>Seed</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INITIALIZER_WITH_MEAN_STDDEV__SEED = INITIALIZER_WITH_SEED__SEED;
+
+	/**
+	 * The feature id for the '<em><b>Mean</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INITIALIZER_WITH_MEAN_STDDEV__MEAN = INITIALIZER_WITH_SEED_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Stddev</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INITIALIZER_WITH_MEAN_STDDEV__STDDEV = INITIALIZER_WITH_SEED_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the '<em>initializer with mean stddev</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INITIALIZER_WITH_MEAN_STDDEV_FEATURE_COUNT = INITIALIZER_WITH_SEED_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of operations of the '<em>initializer with mean stddev</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INITIALIZER_WITH_MEAN_STDDEV_OPERATION_COUNT = INITIALIZER_WITH_SEED_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.random_normalImpl <em>random normal</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.random_normalImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.Layer_weight_initializersPackageImpl#getrandom_normal()
+	 * @generated
+	 */
+	int RANDOM_NORMAL = 0;
+
+	/**
+	 * The feature id for the '<em><b>Seed</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RANDOM_NORMAL__SEED = INITIALIZER_WITH_MEAN_STDDEV__SEED;
+
+	/**
+	 * The feature id for the '<em><b>Mean</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RANDOM_NORMAL__MEAN = INITIALIZER_WITH_MEAN_STDDEV__MEAN;
+
+	/**
+	 * The feature id for the '<em><b>Stddev</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RANDOM_NORMAL__STDDEV = INITIALIZER_WITH_MEAN_STDDEV__STDDEV;
+
+	/**
+	 * The number of structural features of the '<em>random normal</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RANDOM_NORMAL_FEATURE_COUNT = INITIALIZER_WITH_MEAN_STDDEV_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>random normal</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RANDOM_NORMAL_OPERATION_COUNT = INITIALIZER_WITH_MEAN_STDDEV_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.random_uniformImpl <em>random uniform</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.random_uniformImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.Layer_weight_initializersPackageImpl#getrandom_uniform()
+	 * @generated
+	 */
+	int RANDOM_UNIFORM = 3;
+
+	/**
+	 * The feature id for the '<em><b>Seed</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RANDOM_UNIFORM__SEED = INITIALIZER_WITH_SEED__SEED;
+
+	/**
+	 * The feature id for the '<em><b>Minval</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RANDOM_UNIFORM__MINVAL = INITIALIZER_WITH_SEED_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Maxval</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RANDOM_UNIFORM__MAXVAL = INITIALIZER_WITH_SEED_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the '<em>random uniform</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RANDOM_UNIFORM_FEATURE_COUNT = INITIALIZER_WITH_SEED_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of operations of the '<em>random uniform</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RANDOM_UNIFORM_OPERATION_COUNT = INITIALIZER_WITH_SEED_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.truncated_normalImpl <em>truncated normal</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.truncated_normalImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.Layer_weight_initializersPackageImpl#gettruncated_normal()
+	 * @generated
+	 */
+	int TRUNCATED_NORMAL = 4;
+
+	/**
+	 * The feature id for the '<em><b>Seed</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRUNCATED_NORMAL__SEED = INITIALIZER_WITH_MEAN_STDDEV__SEED;
+
+	/**
+	 * The feature id for the '<em><b>Mean</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRUNCATED_NORMAL__MEAN = INITIALIZER_WITH_MEAN_STDDEV__MEAN;
+
+	/**
+	 * The feature id for the '<em><b>Stddev</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRUNCATED_NORMAL__STDDEV = INITIALIZER_WITH_MEAN_STDDEV__STDDEV;
+
+	/**
+	 * The number of structural features of the '<em>truncated normal</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRUNCATED_NORMAL_FEATURE_COUNT = INITIALIZER_WITH_MEAN_STDDEV_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>truncated normal</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRUNCATED_NORMAL_OPERATION_COUNT = INITIALIZER_WITH_MEAN_STDDEV_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.zerosImpl <em>zeros</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.zerosImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.Layer_weight_initializersPackageImpl#getzeros()
+	 * @generated
+	 */
+	int ZEROS = 5;
+
+	/**
+	 * The number of structural features of the '<em>zeros</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ZEROS_FEATURE_COUNT = 0;
+
+	/**
+	 * The number of operations of the '<em>zeros</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ZEROS_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.onesImpl <em>ones</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.onesImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.Layer_weight_initializersPackageImpl#getones()
+	 * @generated
+	 */
+	int ONES = 6;
+
+	/**
+	 * The number of structural features of the '<em>ones</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ONES_FEATURE_COUNT = 0;
+
+	/**
+	 * The number of operations of the '<em>ones</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ONES_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.glorot_normalImpl <em>glorot normal</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.glorot_normalImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.Layer_weight_initializersPackageImpl#getglorot_normal()
+	 * @generated
+	 */
+	int GLOROT_NORMAL = 7;
+
+	/**
+	 * The feature id for the '<em><b>Seed</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GLOROT_NORMAL__SEED = INITIALIZER_WITH_SEED__SEED;
+
+	/**
+	 * The number of structural features of the '<em>glorot normal</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GLOROT_NORMAL_FEATURE_COUNT = INITIALIZER_WITH_SEED_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>glorot normal</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GLOROT_NORMAL_OPERATION_COUNT = INITIALIZER_WITH_SEED_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.glorot_uniformImpl <em>glorot uniform</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.glorot_uniformImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.Layer_weight_initializersPackageImpl#getglorot_uniform()
+	 * @generated
+	 */
+	int GLOROT_UNIFORM = 8;
+
+	/**
+	 * The feature id for the '<em><b>Seed</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GLOROT_UNIFORM__SEED = INITIALIZER_WITH_SEED__SEED;
+
+	/**
+	 * The number of structural features of the '<em>glorot uniform</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GLOROT_UNIFORM_FEATURE_COUNT = INITIALIZER_WITH_SEED_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>glorot uniform</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GLOROT_UNIFORM_OPERATION_COUNT = INITIALIZER_WITH_SEED_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.initializer_with_gainImpl <em>initializer with gain</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.initializer_with_gainImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.Layer_weight_initializersPackageImpl#getinitializer_with_gain()
+	 * @generated
+	 */
+	int INITIALIZER_WITH_GAIN = 10;
+
+	/**
+	 * The feature id for the '<em><b>Gain</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INITIALIZER_WITH_GAIN__GAIN = 0;
+
+	/**
+	 * The number of structural features of the '<em>initializer with gain</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INITIALIZER_WITH_GAIN_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>initializer with gain</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INITIALIZER_WITH_GAIN_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.identityImpl <em>identity</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.identityImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.Layer_weight_initializersPackageImpl#getidentity()
+	 * @generated
+	 */
+	int IDENTITY = 9;
+
+	/**
+	 * The feature id for the '<em><b>Gain</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IDENTITY__GAIN = INITIALIZER_WITH_GAIN__GAIN;
+
+	/**
+	 * The number of structural features of the '<em>identity</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IDENTITY_FEATURE_COUNT = INITIALIZER_WITH_GAIN_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>identity</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IDENTITY_OPERATION_COUNT = INITIALIZER_WITH_GAIN_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.orthogonalImpl <em>orthogonal</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.orthogonalImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.Layer_weight_initializersPackageImpl#getorthogonal()
+	 * @generated
+	 */
+	int ORTHOGONAL = 11;
+
+	/**
+	 * The feature id for the '<em><b>Gain</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ORTHOGONAL__GAIN = INITIALIZER_WITH_GAIN__GAIN;
+
+	/**
+	 * The feature id for the '<em><b>Seed</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ORTHOGONAL__SEED = INITIALIZER_WITH_GAIN_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>orthogonal</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ORTHOGONAL_FEATURE_COUNT = INITIALIZER_WITH_GAIN_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>orthogonal</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ORTHOGONAL_OPERATION_COUNT = INITIALIZER_WITH_GAIN_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.constantImpl <em>constant</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.constantImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.Layer_weight_initializersPackageImpl#getconstant()
+	 * @generated
+	 */
+	int CONSTANT = 12;
+
+	/**
+	 * The feature id for the '<em><b>Value</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTANT__VALUE = 0;
+
+	/**
+	 * The number of structural features of the '<em>constant</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTANT_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>constant</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTANT_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.variance_scalingImpl <em>variance scaling</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.variance_scalingImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.Layer_weight_initializersPackageImpl#getvariance_scaling()
+	 * @generated
+	 */
+	int VARIANCE_SCALING = 13;
+
+	/**
+	 * The feature id for the '<em><b>Seed</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VARIANCE_SCALING__SEED = INITIALIZER_WITH_SEED__SEED;
+
+	/**
+	 * The feature id for the '<em><b>Scale</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VARIANCE_SCALING__SCALE = INITIALIZER_WITH_SEED_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Mode</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VARIANCE_SCALING__MODE = INITIALIZER_WITH_SEED_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Distribution</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VARIANCE_SCALING__DISTRIBUTION = INITIALIZER_WITH_SEED_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of structural features of the '<em>variance scaling</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VARIANCE_SCALING_FEATURE_COUNT = INITIALIZER_WITH_SEED_FEATURE_COUNT + 3;
+
+	/**
+	 * The number of operations of the '<em>variance scaling</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VARIANCE_SCALING_OPERATION_COUNT = INITIALIZER_WITH_SEED_OPERATION_COUNT + 0;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.random_normal <em>random normal</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>random normal</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.random_normal
+	 * @generated
+	 */
+	EClass getrandom_normal();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.initializer_with_mean_stddev <em>initializer with mean stddev</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>initializer with mean stddev</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.initializer_with_mean_stddev
+	 * @generated
+	 */
+	EClass getinitializer_with_mean_stddev();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.initializer_with_mean_stddev#getMean <em>Mean</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Mean</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.initializer_with_mean_stddev#getMean()
+	 * @see #getinitializer_with_mean_stddev()
+	 * @generated
+	 */
+	EAttribute getinitializer_with_mean_stddev_Mean();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.initializer_with_mean_stddev#getStddev <em>Stddev</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Stddev</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.initializer_with_mean_stddev#getStddev()
+	 * @see #getinitializer_with_mean_stddev()
+	 * @generated
+	 */
+	EAttribute getinitializer_with_mean_stddev_Stddev();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.initializer_with_seed <em>initializer with seed</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>initializer with seed</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.initializer_with_seed
+	 * @generated
+	 */
+	EClass getinitializer_with_seed();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.initializer_with_seed#getSeed <em>Seed</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Seed</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.initializer_with_seed#getSeed()
+	 * @see #getinitializer_with_seed()
+	 * @generated
+	 */
+	EAttribute getinitializer_with_seed_Seed();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.random_uniform <em>random uniform</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>random uniform</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.random_uniform
+	 * @generated
+	 */
+	EClass getrandom_uniform();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.random_uniform#getMinval <em>Minval</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Minval</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.random_uniform#getMinval()
+	 * @see #getrandom_uniform()
+	 * @generated
+	 */
+	EAttribute getrandom_uniform_Minval();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.random_uniform#getMaxval <em>Maxval</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Maxval</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.random_uniform#getMaxval()
+	 * @see #getrandom_uniform()
+	 * @generated
+	 */
+	EAttribute getrandom_uniform_Maxval();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.truncated_normal <em>truncated normal</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>truncated normal</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.truncated_normal
+	 * @generated
+	 */
+	EClass gettruncated_normal();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.zeros <em>zeros</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>zeros</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.zeros
+	 * @generated
+	 */
+	EClass getzeros();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.ones <em>ones</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>ones</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.ones
+	 * @generated
+	 */
+	EClass getones();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.glorot_normal <em>glorot normal</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>glorot normal</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.glorot_normal
+	 * @generated
+	 */
+	EClass getglorot_normal();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.glorot_uniform <em>glorot uniform</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>glorot uniform</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.glorot_uniform
+	 * @generated
+	 */
+	EClass getglorot_uniform();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.identity <em>identity</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>identity</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.identity
+	 * @generated
+	 */
+	EClass getidentity();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.initializer_with_gain <em>initializer with gain</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>initializer with gain</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.initializer_with_gain
+	 * @generated
+	 */
+	EClass getinitializer_with_gain();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.initializer_with_gain#getGain <em>Gain</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Gain</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.initializer_with_gain#getGain()
+	 * @see #getinitializer_with_gain()
+	 * @generated
+	 */
+	EAttribute getinitializer_with_gain_Gain();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.orthogonal <em>orthogonal</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>orthogonal</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.orthogonal
+	 * @generated
+	 */
+	EClass getorthogonal();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.constant <em>constant</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>constant</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.constant
+	 * @generated
+	 */
+	EClass getconstant();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.constant#getValue <em>Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Value</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.constant#getValue()
+	 * @see #getconstant()
+	 * @generated
+	 */
+	EAttribute getconstant_Value();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.variance_scaling <em>variance scaling</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>variance scaling</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.variance_scaling
+	 * @generated
+	 */
+	EClass getvariance_scaling();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.variance_scaling#getScale <em>Scale</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Scale</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.variance_scaling#getScale()
+	 * @see #getvariance_scaling()
+	 * @generated
+	 */
+	EAttribute getvariance_scaling_Scale();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.variance_scaling#getMode <em>Mode</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Mode</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.variance_scaling#getMode()
+	 * @see #getvariance_scaling()
+	 * @generated
+	 */
+	EAttribute getvariance_scaling_Mode();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.variance_scaling#getDistribution <em>Distribution</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Distribution</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.variance_scaling#getDistribution()
+	 * @see #getvariance_scaling()
+	 * @generated
+	 */
+	EAttribute getvariance_scaling_Distribution();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	Layer_weight_initializersFactory getLayer_weight_initializersFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each operation of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.random_normalImpl <em>random normal</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.random_normalImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.Layer_weight_initializersPackageImpl#getrandom_normal()
+		 * @generated
+		 */
+		EClass RANDOM_NORMAL = eINSTANCE.getrandom_normal();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.initializer_with_mean_stddevImpl <em>initializer with mean stddev</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.initializer_with_mean_stddevImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.Layer_weight_initializersPackageImpl#getinitializer_with_mean_stddev()
+		 * @generated
+		 */
+		EClass INITIALIZER_WITH_MEAN_STDDEV = eINSTANCE.getinitializer_with_mean_stddev();
+
+		/**
+		 * The meta object literal for the '<em><b>Mean</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute INITIALIZER_WITH_MEAN_STDDEV__MEAN = eINSTANCE.getinitializer_with_mean_stddev_Mean();
+
+		/**
+		 * The meta object literal for the '<em><b>Stddev</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute INITIALIZER_WITH_MEAN_STDDEV__STDDEV = eINSTANCE.getinitializer_with_mean_stddev_Stddev();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.initializer_with_seedImpl <em>initializer with seed</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.initializer_with_seedImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.Layer_weight_initializersPackageImpl#getinitializer_with_seed()
+		 * @generated
+		 */
+		EClass INITIALIZER_WITH_SEED = eINSTANCE.getinitializer_with_seed();
+
+		/**
+		 * The meta object literal for the '<em><b>Seed</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute INITIALIZER_WITH_SEED__SEED = eINSTANCE.getinitializer_with_seed_Seed();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.random_uniformImpl <em>random uniform</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.random_uniformImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.Layer_weight_initializersPackageImpl#getrandom_uniform()
+		 * @generated
+		 */
+		EClass RANDOM_UNIFORM = eINSTANCE.getrandom_uniform();
+
+		/**
+		 * The meta object literal for the '<em><b>Minval</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute RANDOM_UNIFORM__MINVAL = eINSTANCE.getrandom_uniform_Minval();
+
+		/**
+		 * The meta object literal for the '<em><b>Maxval</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute RANDOM_UNIFORM__MAXVAL = eINSTANCE.getrandom_uniform_Maxval();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.truncated_normalImpl <em>truncated normal</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.truncated_normalImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.Layer_weight_initializersPackageImpl#gettruncated_normal()
+		 * @generated
+		 */
+		EClass TRUNCATED_NORMAL = eINSTANCE.gettruncated_normal();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.zerosImpl <em>zeros</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.zerosImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.Layer_weight_initializersPackageImpl#getzeros()
+		 * @generated
+		 */
+		EClass ZEROS = eINSTANCE.getzeros();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.onesImpl <em>ones</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.onesImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.Layer_weight_initializersPackageImpl#getones()
+		 * @generated
+		 */
+		EClass ONES = eINSTANCE.getones();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.glorot_normalImpl <em>glorot normal</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.glorot_normalImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.Layer_weight_initializersPackageImpl#getglorot_normal()
+		 * @generated
+		 */
+		EClass GLOROT_NORMAL = eINSTANCE.getglorot_normal();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.glorot_uniformImpl <em>glorot uniform</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.glorot_uniformImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.Layer_weight_initializersPackageImpl#getglorot_uniform()
+		 * @generated
+		 */
+		EClass GLOROT_UNIFORM = eINSTANCE.getglorot_uniform();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.identityImpl <em>identity</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.identityImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.Layer_weight_initializersPackageImpl#getidentity()
+		 * @generated
+		 */
+		EClass IDENTITY = eINSTANCE.getidentity();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.initializer_with_gainImpl <em>initializer with gain</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.initializer_with_gainImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.Layer_weight_initializersPackageImpl#getinitializer_with_gain()
+		 * @generated
+		 */
+		EClass INITIALIZER_WITH_GAIN = eINSTANCE.getinitializer_with_gain();
+
+		/**
+		 * The meta object literal for the '<em><b>Gain</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute INITIALIZER_WITH_GAIN__GAIN = eINSTANCE.getinitializer_with_gain_Gain();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.orthogonalImpl <em>orthogonal</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.orthogonalImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.Layer_weight_initializersPackageImpl#getorthogonal()
+		 * @generated
+		 */
+		EClass ORTHOGONAL = eINSTANCE.getorthogonal();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.constantImpl <em>constant</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.constantImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.Layer_weight_initializersPackageImpl#getconstant()
+		 * @generated
+		 */
+		EClass CONSTANT = eINSTANCE.getconstant();
+
+		/**
+		 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CONSTANT__VALUE = eINSTANCE.getconstant_Value();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.variance_scalingImpl <em>variance scaling</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.variance_scalingImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.Layer_weight_initializersPackageImpl#getvariance_scaling()
+		 * @generated
+		 */
+		EClass VARIANCE_SCALING = eINSTANCE.getvariance_scaling();
+
+		/**
+		 * The meta object literal for the '<em><b>Scale</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute VARIANCE_SCALING__SCALE = eINSTANCE.getvariance_scaling_Scale();
+
+		/**
+		 * The meta object literal for the '<em><b>Mode</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute VARIANCE_SCALING__MODE = eINSTANCE.getvariance_scaling_Mode();
+
+		/**
+		 * The meta object literal for the '<em><b>Distribution</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute VARIANCE_SCALING__DISTRIBUTION = eINSTANCE.getvariance_scaling_Distribution();
+
+	}
+
+} //Layer_weight_initializersPackage
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/constant.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/constant.java
new file mode 100644
index 0000000..94bd899
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/constant.java
@@ -0,0 +1,59 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>constant</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.constant#getValue <em>Value</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage#getconstant()
+ * @model
+ * @generated
+ */
+public interface constant extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Value</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Value</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Value</em>' attribute.
+	 * @see #setValue(double)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage#getconstant_Value()
+	 * @model dataType="org.eclipse.uml2.types.Real" required="true" ordered="false"
+	 * @generated
+	 */
+	double getValue();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.constant#getValue <em>Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Value</em>' attribute.
+	 * @see #getValue()
+	 * @generated
+	 */
+	void setValue(double value);
+
+} // constant
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/glorot_normal.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/glorot_normal.java
new file mode 100644
index 0000000..4649319
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/glorot_normal.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>glorot normal</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage#getglorot_normal()
+ * @model
+ * @generated
+ */
+public interface glorot_normal extends initializer_with_seed {
+} // glorot_normal
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/glorot_uniform.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/glorot_uniform.java
new file mode 100644
index 0000000..bf7fac4
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/glorot_uniform.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>glorot uniform</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage#getglorot_uniform()
+ * @model
+ * @generated
+ */
+public interface glorot_uniform extends initializer_with_seed {
+} // glorot_uniform
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/identity.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/identity.java
new file mode 100644
index 0000000..0441baa
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/identity.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>identity</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage#getidentity()
+ * @model
+ * @generated
+ */
+public interface identity extends initializer_with_gain {
+} // identity
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/Layer_weight_initializersFactoryImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/Layer_weight_initializersFactoryImpl.java
new file mode 100644
index 0000000..9fb5ecb
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/Layer_weight_initializersFactoryImpl.java
@@ -0,0 +1,226 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class Layer_weight_initializersFactoryImpl extends EFactoryImpl implements Layer_weight_initializersFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static Layer_weight_initializersFactory init() {
+		try {
+			Layer_weight_initializersFactory theLayer_weight_initializersFactory = (Layer_weight_initializersFactory)EPackage.Registry.INSTANCE.getEFactory(Layer_weight_initializersPackage.eNS_URI);
+			if (theLayer_weight_initializersFactory != null) {
+				return theLayer_weight_initializersFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new Layer_weight_initializersFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Layer_weight_initializersFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case Layer_weight_initializersPackage.RANDOM_NORMAL: return createrandom_normal();
+			case Layer_weight_initializersPackage.RANDOM_UNIFORM: return createrandom_uniform();
+			case Layer_weight_initializersPackage.TRUNCATED_NORMAL: return createtruncated_normal();
+			case Layer_weight_initializersPackage.ZEROS: return createzeros();
+			case Layer_weight_initializersPackage.ONES: return createones();
+			case Layer_weight_initializersPackage.GLOROT_NORMAL: return createglorot_normal();
+			case Layer_weight_initializersPackage.GLOROT_UNIFORM: return createglorot_uniform();
+			case Layer_weight_initializersPackage.IDENTITY: return createidentity();
+			case Layer_weight_initializersPackage.ORTHOGONAL: return createorthogonal();
+			case Layer_weight_initializersPackage.CONSTANT: return createconstant();
+			case Layer_weight_initializersPackage.VARIANCE_SCALING: return createvariance_scaling();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public random_normal createrandom_normal() {
+		random_normalImpl random_normal = new random_normalImpl();
+		return random_normal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public random_uniform createrandom_uniform() {
+		random_uniformImpl random_uniform = new random_uniformImpl();
+		return random_uniform;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public truncated_normal createtruncated_normal() {
+		truncated_normalImpl truncated_normal = new truncated_normalImpl();
+		return truncated_normal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public zeros createzeros() {
+		zerosImpl zeros = new zerosImpl();
+		return zeros;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ones createones() {
+		onesImpl ones = new onesImpl();
+		return ones;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public glorot_normal createglorot_normal() {
+		glorot_normalImpl glorot_normal = new glorot_normalImpl();
+		return glorot_normal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public glorot_uniform createglorot_uniform() {
+		glorot_uniformImpl glorot_uniform = new glorot_uniformImpl();
+		return glorot_uniform;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public identity createidentity() {
+		identityImpl identity = new identityImpl();
+		return identity;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public orthogonal createorthogonal() {
+		orthogonalImpl orthogonal = new orthogonalImpl();
+		return orthogonal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public constant createconstant() {
+		constantImpl constant = new constantImpl();
+		return constant;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public variance_scaling createvariance_scaling() {
+		variance_scalingImpl variance_scaling = new variance_scalingImpl();
+		return variance_scaling;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Layer_weight_initializersPackage getLayer_weight_initializersPackage() {
+		return (Layer_weight_initializersPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static Layer_weight_initializersPackage getPackage() {
+		return Layer_weight_initializersPackage.eINSTANCE;
+	}
+
+} //Layer_weight_initializersFactoryImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/Layer_weight_initializersPackageImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/Layer_weight_initializersPackageImpl.java
new file mode 100644
index 0000000..683ebb9
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/Layer_weight_initializersPackageImpl.java
@@ -0,0 +1,773 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EcorePackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.AIMLPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl.DataParallel_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.Distance_functionsPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.impl.Distance_functionsPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.Dropout_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.Layer_weight_constraintsPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.Layer_weight_constraintsPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersFactory;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.constant;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.glorot_normal;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.glorot_uniform;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.identity;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.initializer_with_gain;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.initializer_with_mean_stddev;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.initializer_with_seed;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.ones;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.orthogonal;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.random_normal;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.random_uniform;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.truncated_normal;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.variance_scaling;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.zeros;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.Layer_weight_regularizersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.Layer_weight_regularizersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.Linear_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Loss_functions.Loss_functionsPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Loss_functions.impl.Loss_functionsPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Module.ModulePackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Module.impl.ModulePackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.NonLinearActivationsPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.impl.NonLinearActivationsPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Normalization_layers.Normalization_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Normalization_layers.impl.Normalization_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Padding_layers.Padding_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Padding_layers.impl.Padding_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Pooling_layers.Pooling_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Pooling_layers.impl.Pooling_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Recurrent_layers.Recurrent_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Recurrent_layers.impl.Recurrent_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.SoftMinMaxActivations.SoftMinMaxActivationsPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.SoftMinMaxActivations.impl.SoftMinMaxActivationsPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Sparse_layers.Sparse_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Sparse_layers.impl.Sparse_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Tensor.TensorPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Tensor.impl.TensorPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Transformer_layers.Transformer_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Transformer_layers.impl.Transformer_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Vision_layers.Vision_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Vision_layers.impl.Vision_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.datatypes.DatatypesPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.datatypes.impl.DatatypesPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.impl.AIMLPackageImpl;
+
+import org.eclipse.uml2.types.TypesPackage;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class Layer_weight_initializersPackageImpl extends EPackageImpl implements Layer_weight_initializersPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass random_normalEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass initializer_with_mean_stddevEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass initializer_with_seedEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass random_uniformEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass truncated_normalEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass zerosEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass onesEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass glorot_normalEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass glorot_uniformEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass identityEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass initializer_with_gainEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass orthogonalEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass constantEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass variance_scalingEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private Layer_weight_initializersPackageImpl() {
+		super(eNS_URI, Layer_weight_initializersFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 *
+	 * <p>This method is used to initialize {@link Layer_weight_initializersPackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static Layer_weight_initializersPackage init() {
+		if (isInited) return (Layer_weight_initializersPackage)EPackage.Registry.INSTANCE.getEPackage(Layer_weight_initializersPackage.eNS_URI);
+
+		// Obtain or create and register package
+		Object registeredLayer_weight_initializersPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+		Layer_weight_initializersPackageImpl theLayer_weight_initializersPackage = registeredLayer_weight_initializersPackage instanceof Layer_weight_initializersPackageImpl ? (Layer_weight_initializersPackageImpl)registeredLayer_weight_initializersPackage : new Layer_weight_initializersPackageImpl();
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		EcorePackage.eINSTANCE.eClass();
+		TypesPackage.eINSTANCE.eClass();
+		UMLPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		Object registeredPackage = EPackage.Registry.INSTANCE.getEPackage(AIMLPackage.eNS_URI);
+		AIMLPackageImpl theAIMLPackage = (AIMLPackageImpl)(registeredPackage instanceof AIMLPackageImpl ? registeredPackage : AIMLPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ModulePackage.eNS_URI);
+		ModulePackageImpl theModulePackage = (ModulePackageImpl)(registeredPackage instanceof ModulePackageImpl ? registeredPackage : ModulePackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(TensorPackage.eNS_URI);
+		TensorPackageImpl theTensorPackage = (TensorPackageImpl)(registeredPackage instanceof TensorPackageImpl ? registeredPackage : TensorPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI);
+		DatatypesPackageImpl theDatatypesPackage = (DatatypesPackageImpl)(registeredPackage instanceof DatatypesPackageImpl ? registeredPackage : DatatypesPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Pooling_layersPackage.eNS_URI);
+		Pooling_layersPackageImpl thePooling_layersPackage = (Pooling_layersPackageImpl)(registeredPackage instanceof Pooling_layersPackageImpl ? registeredPackage : Pooling_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Convolution_layersPackage.eNS_URI);
+		Convolution_layersPackageImpl theConvolution_layersPackage = (Convolution_layersPackageImpl)(registeredPackage instanceof Convolution_layersPackageImpl ? registeredPackage : Convolution_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Layer_weight_constraintsPackage.eNS_URI);
+		Layer_weight_constraintsPackageImpl theLayer_weight_constraintsPackage = (Layer_weight_constraintsPackageImpl)(registeredPackage instanceof Layer_weight_constraintsPackageImpl ? registeredPackage : Layer_weight_constraintsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Padding_layersPackage.eNS_URI);
+		Padding_layersPackageImpl thePadding_layersPackage = (Padding_layersPackageImpl)(registeredPackage instanceof Padding_layersPackageImpl ? registeredPackage : Padding_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(NonLinearActivationsPackage.eNS_URI);
+		NonLinearActivationsPackageImpl theNonLinearActivationsPackage = (NonLinearActivationsPackageImpl)(registeredPackage instanceof NonLinearActivationsPackageImpl ? registeredPackage : NonLinearActivationsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(SoftMinMaxActivationsPackage.eNS_URI);
+		SoftMinMaxActivationsPackageImpl theSoftMinMaxActivationsPackage = (SoftMinMaxActivationsPackageImpl)(registeredPackage instanceof SoftMinMaxActivationsPackageImpl ? registeredPackage : SoftMinMaxActivationsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Normalization_layersPackage.eNS_URI);
+		Normalization_layersPackageImpl theNormalization_layersPackage = (Normalization_layersPackageImpl)(registeredPackage instanceof Normalization_layersPackageImpl ? registeredPackage : Normalization_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Recurrent_layersPackage.eNS_URI);
+		Recurrent_layersPackageImpl theRecurrent_layersPackage = (Recurrent_layersPackageImpl)(registeredPackage instanceof Recurrent_layersPackageImpl ? registeredPackage : Recurrent_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Transformer_layersPackage.eNS_URI);
+		Transformer_layersPackageImpl theTransformer_layersPackage = (Transformer_layersPackageImpl)(registeredPackage instanceof Transformer_layersPackageImpl ? registeredPackage : Transformer_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Linear_layersPackage.eNS_URI);
+		Linear_layersPackageImpl theLinear_layersPackage = (Linear_layersPackageImpl)(registeredPackage instanceof Linear_layersPackageImpl ? registeredPackage : Linear_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Dropout_layersPackage.eNS_URI);
+		Dropout_layersPackageImpl theDropout_layersPackage = (Dropout_layersPackageImpl)(registeredPackage instanceof Dropout_layersPackageImpl ? registeredPackage : Dropout_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Sparse_layersPackage.eNS_URI);
+		Sparse_layersPackageImpl theSparse_layersPackage = (Sparse_layersPackageImpl)(registeredPackage instanceof Sparse_layersPackageImpl ? registeredPackage : Sparse_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Distance_functionsPackage.eNS_URI);
+		Distance_functionsPackageImpl theDistance_functionsPackage = (Distance_functionsPackageImpl)(registeredPackage instanceof Distance_functionsPackageImpl ? registeredPackage : Distance_functionsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Loss_functionsPackage.eNS_URI);
+		Loss_functionsPackageImpl theLoss_functionsPackage = (Loss_functionsPackageImpl)(registeredPackage instanceof Loss_functionsPackageImpl ? registeredPackage : Loss_functionsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Vision_layersPackage.eNS_URI);
+		Vision_layersPackageImpl theVision_layersPackage = (Vision_layersPackageImpl)(registeredPackage instanceof Vision_layersPackageImpl ? registeredPackage : Vision_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(DataParallel_layersPackage.eNS_URI);
+		DataParallel_layersPackageImpl theDataParallel_layersPackage = (DataParallel_layersPackageImpl)(registeredPackage instanceof DataParallel_layersPackageImpl ? registeredPackage : DataParallel_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Layer_weight_regularizersPackage.eNS_URI);
+		Layer_weight_regularizersPackageImpl theLayer_weight_regularizersPackage = (Layer_weight_regularizersPackageImpl)(registeredPackage instanceof Layer_weight_regularizersPackageImpl ? registeredPackage : Layer_weight_regularizersPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theLayer_weight_initializersPackage.createPackageContents();
+		theAIMLPackage.createPackageContents();
+		theModulePackage.createPackageContents();
+		theTensorPackage.createPackageContents();
+		theDatatypesPackage.createPackageContents();
+		thePooling_layersPackage.createPackageContents();
+		theConvolution_layersPackage.createPackageContents();
+		theLayer_weight_constraintsPackage.createPackageContents();
+		thePadding_layersPackage.createPackageContents();
+		theNonLinearActivationsPackage.createPackageContents();
+		theSoftMinMaxActivationsPackage.createPackageContents();
+		theNormalization_layersPackage.createPackageContents();
+		theRecurrent_layersPackage.createPackageContents();
+		theTransformer_layersPackage.createPackageContents();
+		theLinear_layersPackage.createPackageContents();
+		theDropout_layersPackage.createPackageContents();
+		theSparse_layersPackage.createPackageContents();
+		theDistance_functionsPackage.createPackageContents();
+		theLoss_functionsPackage.createPackageContents();
+		theVision_layersPackage.createPackageContents();
+		theDataParallel_layersPackage.createPackageContents();
+		theLayer_weight_regularizersPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theLayer_weight_initializersPackage.initializePackageContents();
+		theAIMLPackage.initializePackageContents();
+		theModulePackage.initializePackageContents();
+		theTensorPackage.initializePackageContents();
+		theDatatypesPackage.initializePackageContents();
+		thePooling_layersPackage.initializePackageContents();
+		theConvolution_layersPackage.initializePackageContents();
+		theLayer_weight_constraintsPackage.initializePackageContents();
+		thePadding_layersPackage.initializePackageContents();
+		theNonLinearActivationsPackage.initializePackageContents();
+		theSoftMinMaxActivationsPackage.initializePackageContents();
+		theNormalization_layersPackage.initializePackageContents();
+		theRecurrent_layersPackage.initializePackageContents();
+		theTransformer_layersPackage.initializePackageContents();
+		theLinear_layersPackage.initializePackageContents();
+		theDropout_layersPackage.initializePackageContents();
+		theSparse_layersPackage.initializePackageContents();
+		theDistance_functionsPackage.initializePackageContents();
+		theLoss_functionsPackage.initializePackageContents();
+		theVision_layersPackage.initializePackageContents();
+		theDataParallel_layersPackage.initializePackageContents();
+		theLayer_weight_regularizersPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theLayer_weight_initializersPackage.freeze();
+
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(Layer_weight_initializersPackage.eNS_URI, theLayer_weight_initializersPackage);
+		return theLayer_weight_initializersPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getrandom_normal() {
+		return random_normalEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getinitializer_with_mean_stddev() {
+		return initializer_with_mean_stddevEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getinitializer_with_mean_stddev_Mean() {
+		return (EAttribute)initializer_with_mean_stddevEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getinitializer_with_mean_stddev_Stddev() {
+		return (EAttribute)initializer_with_mean_stddevEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getinitializer_with_seed() {
+		return initializer_with_seedEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getinitializer_with_seed_Seed() {
+		return (EAttribute)initializer_with_seedEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getrandom_uniform() {
+		return random_uniformEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getrandom_uniform_Minval() {
+		return (EAttribute)random_uniformEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getrandom_uniform_Maxval() {
+		return (EAttribute)random_uniformEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass gettruncated_normal() {
+		return truncated_normalEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getzeros() {
+		return zerosEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getones() {
+		return onesEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getglorot_normal() {
+		return glorot_normalEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getglorot_uniform() {
+		return glorot_uniformEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getidentity() {
+		return identityEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getinitializer_with_gain() {
+		return initializer_with_gainEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getinitializer_with_gain_Gain() {
+		return (EAttribute)initializer_with_gainEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getorthogonal() {
+		return orthogonalEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getconstant() {
+		return constantEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getconstant_Value() {
+		return (EAttribute)constantEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getvariance_scaling() {
+		return variance_scalingEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getvariance_scaling_Scale() {
+		return (EAttribute)variance_scalingEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getvariance_scaling_Mode() {
+		return (EAttribute)variance_scalingEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getvariance_scaling_Distribution() {
+		return (EAttribute)variance_scalingEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Layer_weight_initializersFactory getLayer_weight_initializersFactory() {
+		return (Layer_weight_initializersFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		random_normalEClass = createEClass(RANDOM_NORMAL);
+
+		initializer_with_mean_stddevEClass = createEClass(INITIALIZER_WITH_MEAN_STDDEV);
+		createEAttribute(initializer_with_mean_stddevEClass, INITIALIZER_WITH_MEAN_STDDEV__MEAN);
+		createEAttribute(initializer_with_mean_stddevEClass, INITIALIZER_WITH_MEAN_STDDEV__STDDEV);
+
+		initializer_with_seedEClass = createEClass(INITIALIZER_WITH_SEED);
+		createEAttribute(initializer_with_seedEClass, INITIALIZER_WITH_SEED__SEED);
+
+		random_uniformEClass = createEClass(RANDOM_UNIFORM);
+		createEAttribute(random_uniformEClass, RANDOM_UNIFORM__MINVAL);
+		createEAttribute(random_uniformEClass, RANDOM_UNIFORM__MAXVAL);
+
+		truncated_normalEClass = createEClass(TRUNCATED_NORMAL);
+
+		zerosEClass = createEClass(ZEROS);
+
+		onesEClass = createEClass(ONES);
+
+		glorot_normalEClass = createEClass(GLOROT_NORMAL);
+
+		glorot_uniformEClass = createEClass(GLOROT_UNIFORM);
+
+		identityEClass = createEClass(IDENTITY);
+
+		initializer_with_gainEClass = createEClass(INITIALIZER_WITH_GAIN);
+		createEAttribute(initializer_with_gainEClass, INITIALIZER_WITH_GAIN__GAIN);
+
+		orthogonalEClass = createEClass(ORTHOGONAL);
+
+		constantEClass = createEClass(CONSTANT);
+		createEAttribute(constantEClass, CONSTANT__VALUE);
+
+		variance_scalingEClass = createEClass(VARIANCE_SCALING);
+		createEAttribute(variance_scalingEClass, VARIANCE_SCALING__SCALE);
+		createEAttribute(variance_scalingEClass, VARIANCE_SCALING__MODE);
+		createEAttribute(variance_scalingEClass, VARIANCE_SCALING__DISTRIBUTION);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+		random_normalEClass.getESuperTypes().add(this.getinitializer_with_mean_stddev());
+		initializer_with_mean_stddevEClass.getESuperTypes().add(this.getinitializer_with_seed());
+		random_uniformEClass.getESuperTypes().add(this.getinitializer_with_seed());
+		truncated_normalEClass.getESuperTypes().add(this.getinitializer_with_mean_stddev());
+		glorot_normalEClass.getESuperTypes().add(this.getinitializer_with_seed());
+		glorot_uniformEClass.getESuperTypes().add(this.getinitializer_with_seed());
+		identityEClass.getESuperTypes().add(this.getinitializer_with_gain());
+		orthogonalEClass.getESuperTypes().add(this.getinitializer_with_gain());
+		orthogonalEClass.getESuperTypes().add(this.getinitializer_with_seed());
+		variance_scalingEClass.getESuperTypes().add(this.getinitializer_with_seed());
+
+		// Initialize classes, features, and operations; add parameters
+		initEClass(random_normalEClass, random_normal.class, "random_normal", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		initEClass(initializer_with_mean_stddevEClass, initializer_with_mean_stddev.class, "initializer_with_mean_stddev", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(getinitializer_with_mean_stddev_Mean(), theTypesPackage.getReal(), "mean", null, 1, 1, initializer_with_mean_stddev.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getinitializer_with_mean_stddev_Stddev(), theTypesPackage.getReal(), "stddev", null, 1, 1, initializer_with_mean_stddev.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(initializer_with_seedEClass, initializer_with_seed.class, "initializer_with_seed", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(getinitializer_with_seed_Seed(), theTypesPackage.getInteger(), "seed", null, 1, 1, initializer_with_seed.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(random_uniformEClass, random_uniform.class, "random_uniform", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(getrandom_uniform_Minval(), theTypesPackage.getReal(), "minval", null, 1, 1, random_uniform.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getrandom_uniform_Maxval(), theTypesPackage.getReal(), "maxval", null, 1, 1, random_uniform.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(truncated_normalEClass, truncated_normal.class, "truncated_normal", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		initEClass(zerosEClass, zeros.class, "zeros", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		initEClass(onesEClass, ones.class, "ones", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		initEClass(glorot_normalEClass, glorot_normal.class, "glorot_normal", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		initEClass(glorot_uniformEClass, glorot_uniform.class, "glorot_uniform", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		initEClass(identityEClass, identity.class, "identity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		initEClass(initializer_with_gainEClass, initializer_with_gain.class, "initializer_with_gain", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(getinitializer_with_gain_Gain(), theTypesPackage.getReal(), "gain", null, 1, 1, initializer_with_gain.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(orthogonalEClass, orthogonal.class, "orthogonal", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		initEClass(constantEClass, constant.class, "constant", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(getconstant_Value(), theTypesPackage.getReal(), "value", null, 1, 1, constant.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(variance_scalingEClass, variance_scaling.class, "variance_scaling", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(getvariance_scaling_Scale(), theTypesPackage.getReal(), "scale", null, 1, 1, variance_scaling.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getvariance_scaling_Mode(), theTypesPackage.getString(), "mode", null, 1, 1, variance_scaling.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getvariance_scaling_Distribution(), theTypesPackage.getString(), "distribution", null, 1, 1, variance_scaling.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+	}
+
+} //Layer_weight_initializersPackageImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/constantImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/constantImpl.java
new file mode 100644
index 0000000..052421f
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/constantImpl.java
@@ -0,0 +1,174 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.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.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.constant;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>constant</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.constantImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class constantImpl extends MinimalEObjectImpl.Container implements constant {
+	/**
+	 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getValue()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double VALUE_EDEFAULT = 0.0;
+
+	/**
+	 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getValue()
+	 * @generated
+	 * @ordered
+	 */
+	protected double value = VALUE_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected constantImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Layer_weight_initializersPackage.Literals.CONSTANT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public double getValue() {
+		return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setValue(double newValue) {
+		double oldValue = value;
+		value = newValue;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Layer_weight_initializersPackage.CONSTANT__VALUE, oldValue, value));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case Layer_weight_initializersPackage.CONSTANT__VALUE:
+				return getValue();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case Layer_weight_initializersPackage.CONSTANT__VALUE:
+				setValue((Double)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case Layer_weight_initializersPackage.CONSTANT__VALUE:
+				setValue(VALUE_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case Layer_weight_initializersPackage.CONSTANT__VALUE:
+				return value != VALUE_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(" (value: "); //$NON-NLS-1$
+		result.append(value);
+		result.append(')');
+		return result.toString();
+	}
+
+} //constantImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/glorot_normalImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/glorot_normalImpl.java
new file mode 100644
index 0000000..d2cf3f7
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/glorot_normalImpl.java
@@ -0,0 +1,46 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.glorot_normal;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>glorot normal</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class glorot_normalImpl extends initializer_with_seedImpl implements glorot_normal {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected glorot_normalImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Layer_weight_initializersPackage.Literals.GLOROT_NORMAL;
+	}
+
+} //glorot_normalImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/glorot_uniformImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/glorot_uniformImpl.java
new file mode 100644
index 0000000..70b7f23
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/glorot_uniformImpl.java
@@ -0,0 +1,46 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.glorot_uniform;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>glorot uniform</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class glorot_uniformImpl extends initializer_with_seedImpl implements glorot_uniform {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected glorot_uniformImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Layer_weight_initializersPackage.Literals.GLOROT_UNIFORM;
+	}
+
+} //glorot_uniformImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/identityImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/identityImpl.java
new file mode 100644
index 0000000..cc18810
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/identityImpl.java
@@ -0,0 +1,46 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.identity;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>identity</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class identityImpl extends initializer_with_gainImpl implements identity {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected identityImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Layer_weight_initializersPackage.Literals.IDENTITY;
+	}
+
+} //identityImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/initializer_with_gainImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/initializer_with_gainImpl.java
new file mode 100644
index 0000000..c36ef90
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/initializer_with_gainImpl.java
@@ -0,0 +1,174 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.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.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.initializer_with_gain;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>initializer with gain</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.initializer_with_gainImpl#getGain <em>Gain</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class initializer_with_gainImpl extends MinimalEObjectImpl.Container implements initializer_with_gain {
+	/**
+	 * The default value of the '{@link #getGain() <em>Gain</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getGain()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double GAIN_EDEFAULT = 0.0;
+
+	/**
+	 * The cached value of the '{@link #getGain() <em>Gain</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getGain()
+	 * @generated
+	 * @ordered
+	 */
+	protected double gain = GAIN_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected initializer_with_gainImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Layer_weight_initializersPackage.Literals.INITIALIZER_WITH_GAIN;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public double getGain() {
+		return gain;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setGain(double newGain) {
+		double oldGain = gain;
+		gain = newGain;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Layer_weight_initializersPackage.INITIALIZER_WITH_GAIN__GAIN, oldGain, gain));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case Layer_weight_initializersPackage.INITIALIZER_WITH_GAIN__GAIN:
+				return getGain();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case Layer_weight_initializersPackage.INITIALIZER_WITH_GAIN__GAIN:
+				setGain((Double)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case Layer_weight_initializersPackage.INITIALIZER_WITH_GAIN__GAIN:
+				setGain(GAIN_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case Layer_weight_initializersPackage.INITIALIZER_WITH_GAIN__GAIN:
+				return gain != GAIN_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(" (gain: "); //$NON-NLS-1$
+		result.append(gain);
+		result.append(')');
+		return result.toString();
+	}
+
+} //initializer_with_gainImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/initializer_with_mean_stddevImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/initializer_with_mean_stddevImpl.java
new file mode 100644
index 0000000..315f9df
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/initializer_with_mean_stddevImpl.java
@@ -0,0 +1,229 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.initializer_with_mean_stddev;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>initializer with mean stddev</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.initializer_with_mean_stddevImpl#getMean <em>Mean</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.initializer_with_mean_stddevImpl#getStddev <em>Stddev</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class initializer_with_mean_stddevImpl extends initializer_with_seedImpl implements initializer_with_mean_stddev {
+	/**
+	 * The default value of the '{@link #getMean() <em>Mean</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMean()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double MEAN_EDEFAULT = 0.0;
+
+	/**
+	 * The cached value of the '{@link #getMean() <em>Mean</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMean()
+	 * @generated
+	 * @ordered
+	 */
+	protected double mean = MEAN_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getStddev() <em>Stddev</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getStddev()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double STDDEV_EDEFAULT = 0.0;
+
+	/**
+	 * The cached value of the '{@link #getStddev() <em>Stddev</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getStddev()
+	 * @generated
+	 * @ordered
+	 */
+	protected double stddev = STDDEV_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected initializer_with_mean_stddevImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Layer_weight_initializersPackage.Literals.INITIALIZER_WITH_MEAN_STDDEV;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public double getMean() {
+		return mean;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setMean(double newMean) {
+		double oldMean = mean;
+		mean = newMean;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Layer_weight_initializersPackage.INITIALIZER_WITH_MEAN_STDDEV__MEAN, oldMean, mean));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public double getStddev() {
+		return stddev;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setStddev(double newStddev) {
+		double oldStddev = stddev;
+		stddev = newStddev;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Layer_weight_initializersPackage.INITIALIZER_WITH_MEAN_STDDEV__STDDEV, oldStddev, stddev));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case Layer_weight_initializersPackage.INITIALIZER_WITH_MEAN_STDDEV__MEAN:
+				return getMean();
+			case Layer_weight_initializersPackage.INITIALIZER_WITH_MEAN_STDDEV__STDDEV:
+				return getStddev();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case Layer_weight_initializersPackage.INITIALIZER_WITH_MEAN_STDDEV__MEAN:
+				setMean((Double)newValue);
+				return;
+			case Layer_weight_initializersPackage.INITIALIZER_WITH_MEAN_STDDEV__STDDEV:
+				setStddev((Double)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case Layer_weight_initializersPackage.INITIALIZER_WITH_MEAN_STDDEV__MEAN:
+				setMean(MEAN_EDEFAULT);
+				return;
+			case Layer_weight_initializersPackage.INITIALIZER_WITH_MEAN_STDDEV__STDDEV:
+				setStddev(STDDEV_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case Layer_weight_initializersPackage.INITIALIZER_WITH_MEAN_STDDEV__MEAN:
+				return mean != MEAN_EDEFAULT;
+			case Layer_weight_initializersPackage.INITIALIZER_WITH_MEAN_STDDEV__STDDEV:
+				return stddev != STDDEV_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(" (mean: "); //$NON-NLS-1$
+		result.append(mean);
+		result.append(", stddev: "); //$NON-NLS-1$
+		result.append(stddev);
+		result.append(')');
+		return result.toString();
+	}
+
+} //initializer_with_mean_stddevImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/initializer_with_seedImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/initializer_with_seedImpl.java
new file mode 100644
index 0000000..3654375
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/initializer_with_seedImpl.java
@@ -0,0 +1,174 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.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.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.initializer_with_seed;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>initializer with seed</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.initializer_with_seedImpl#getSeed <em>Seed</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class initializer_with_seedImpl extends MinimalEObjectImpl.Container implements initializer_with_seed {
+	/**
+	 * The default value of the '{@link #getSeed() <em>Seed</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSeed()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int SEED_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getSeed() <em>Seed</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSeed()
+	 * @generated
+	 * @ordered
+	 */
+	protected int seed = SEED_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected initializer_with_seedImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Layer_weight_initializersPackage.Literals.INITIALIZER_WITH_SEED;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int getSeed() {
+		return seed;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setSeed(int newSeed) {
+		int oldSeed = seed;
+		seed = newSeed;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Layer_weight_initializersPackage.INITIALIZER_WITH_SEED__SEED, oldSeed, seed));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case Layer_weight_initializersPackage.INITIALIZER_WITH_SEED__SEED:
+				return getSeed();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case Layer_weight_initializersPackage.INITIALIZER_WITH_SEED__SEED:
+				setSeed((Integer)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case Layer_weight_initializersPackage.INITIALIZER_WITH_SEED__SEED:
+				setSeed(SEED_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case Layer_weight_initializersPackage.INITIALIZER_WITH_SEED__SEED:
+				return seed != SEED_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(" (seed: "); //$NON-NLS-1$
+		result.append(seed);
+		result.append(')');
+		return result.toString();
+	}
+
+} //initializer_with_seedImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/onesImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/onesImpl.java
new file mode 100644
index 0000000..c957c65
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/onesImpl.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.ones;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>ones</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class onesImpl extends MinimalEObjectImpl.Container implements ones {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected onesImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Layer_weight_initializersPackage.Literals.ONES;
+	}
+
+} //onesImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/orthogonalImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/orthogonalImpl.java
new file mode 100644
index 0000000..87bd616
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/orthogonalImpl.java
@@ -0,0 +1,206 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.initializer_with_seed;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.orthogonal;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>orthogonal</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.orthogonalImpl#getSeed <em>Seed</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class orthogonalImpl extends initializer_with_gainImpl implements orthogonal {
+	/**
+	 * The default value of the '{@link #getSeed() <em>Seed</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSeed()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int SEED_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getSeed() <em>Seed</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSeed()
+	 * @generated
+	 * @ordered
+	 */
+	protected int seed = SEED_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected orthogonalImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Layer_weight_initializersPackage.Literals.ORTHOGONAL;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int getSeed() {
+		return seed;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setSeed(int newSeed) {
+		int oldSeed = seed;
+		seed = newSeed;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Layer_weight_initializersPackage.ORTHOGONAL__SEED, oldSeed, seed));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case Layer_weight_initializersPackage.ORTHOGONAL__SEED:
+				return getSeed();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case Layer_weight_initializersPackage.ORTHOGONAL__SEED:
+				setSeed((Integer)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case Layer_weight_initializersPackage.ORTHOGONAL__SEED:
+				setSeed(SEED_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case Layer_weight_initializersPackage.ORTHOGONAL__SEED:
+				return seed != SEED_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+		if (baseClass == initializer_with_seed.class) {
+			switch (derivedFeatureID) {
+				case Layer_weight_initializersPackage.ORTHOGONAL__SEED: return Layer_weight_initializersPackage.INITIALIZER_WITH_SEED__SEED;
+				default: return -1;
+			}
+		}
+		return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+		if (baseClass == initializer_with_seed.class) {
+			switch (baseFeatureID) {
+				case Layer_weight_initializersPackage.INITIALIZER_WITH_SEED__SEED: return Layer_weight_initializersPackage.ORTHOGONAL__SEED;
+				default: return -1;
+			}
+		}
+		return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (seed: "); //$NON-NLS-1$
+		result.append(seed);
+		result.append(')');
+		return result.toString();
+	}
+
+} //orthogonalImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/random_normalImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/random_normalImpl.java
new file mode 100644
index 0000000..cac151a
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/random_normalImpl.java
@@ -0,0 +1,46 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.random_normal;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>random normal</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class random_normalImpl extends initializer_with_mean_stddevImpl implements random_normal {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected random_normalImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Layer_weight_initializersPackage.Literals.RANDOM_NORMAL;
+	}
+
+} //random_normalImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/random_uniformImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/random_uniformImpl.java
new file mode 100644
index 0000000..c7ab8f0
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/random_uniformImpl.java
@@ -0,0 +1,229 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.random_uniform;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>random uniform</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.random_uniformImpl#getMinval <em>Minval</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.random_uniformImpl#getMaxval <em>Maxval</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class random_uniformImpl extends initializer_with_seedImpl implements random_uniform {
+	/**
+	 * The default value of the '{@link #getMinval() <em>Minval</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMinval()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double MINVAL_EDEFAULT = 0.0;
+
+	/**
+	 * The cached value of the '{@link #getMinval() <em>Minval</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMinval()
+	 * @generated
+	 * @ordered
+	 */
+	protected double minval = MINVAL_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getMaxval() <em>Maxval</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMaxval()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double MAXVAL_EDEFAULT = 0.0;
+
+	/**
+	 * The cached value of the '{@link #getMaxval() <em>Maxval</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMaxval()
+	 * @generated
+	 * @ordered
+	 */
+	protected double maxval = MAXVAL_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected random_uniformImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Layer_weight_initializersPackage.Literals.RANDOM_UNIFORM;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public double getMinval() {
+		return minval;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setMinval(double newMinval) {
+		double oldMinval = minval;
+		minval = newMinval;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Layer_weight_initializersPackage.RANDOM_UNIFORM__MINVAL, oldMinval, minval));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public double getMaxval() {
+		return maxval;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setMaxval(double newMaxval) {
+		double oldMaxval = maxval;
+		maxval = newMaxval;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Layer_weight_initializersPackage.RANDOM_UNIFORM__MAXVAL, oldMaxval, maxval));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case Layer_weight_initializersPackage.RANDOM_UNIFORM__MINVAL:
+				return getMinval();
+			case Layer_weight_initializersPackage.RANDOM_UNIFORM__MAXVAL:
+				return getMaxval();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case Layer_weight_initializersPackage.RANDOM_UNIFORM__MINVAL:
+				setMinval((Double)newValue);
+				return;
+			case Layer_weight_initializersPackage.RANDOM_UNIFORM__MAXVAL:
+				setMaxval((Double)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case Layer_weight_initializersPackage.RANDOM_UNIFORM__MINVAL:
+				setMinval(MINVAL_EDEFAULT);
+				return;
+			case Layer_weight_initializersPackage.RANDOM_UNIFORM__MAXVAL:
+				setMaxval(MAXVAL_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case Layer_weight_initializersPackage.RANDOM_UNIFORM__MINVAL:
+				return minval != MINVAL_EDEFAULT;
+			case Layer_weight_initializersPackage.RANDOM_UNIFORM__MAXVAL:
+				return maxval != MAXVAL_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(" (minval: "); //$NON-NLS-1$
+		result.append(minval);
+		result.append(", maxval: "); //$NON-NLS-1$
+		result.append(maxval);
+		result.append(')');
+		return result.toString();
+	}
+
+} //random_uniformImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/truncated_normalImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/truncated_normalImpl.java
new file mode 100644
index 0000000..ff9953c
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/truncated_normalImpl.java
@@ -0,0 +1,46 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.truncated_normal;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>truncated normal</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class truncated_normalImpl extends initializer_with_mean_stddevImpl implements truncated_normal {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected truncated_normalImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Layer_weight_initializersPackage.Literals.TRUNCATED_NORMAL;
+	}
+
+} //truncated_normalImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/variance_scalingImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/variance_scalingImpl.java
new file mode 100644
index 0000000..cceaa7a
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/variance_scalingImpl.java
@@ -0,0 +1,285 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.variance_scaling;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>variance scaling</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.variance_scalingImpl#getScale <em>Scale</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.variance_scalingImpl#getMode <em>Mode</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.variance_scalingImpl#getDistribution <em>Distribution</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class variance_scalingImpl extends initializer_with_seedImpl implements variance_scaling {
+	/**
+	 * The default value of the '{@link #getScale() <em>Scale</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getScale()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double SCALE_EDEFAULT = 0.0;
+
+	/**
+	 * The cached value of the '{@link #getScale() <em>Scale</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getScale()
+	 * @generated
+	 * @ordered
+	 */
+	protected double scale = SCALE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getMode() <em>Mode</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMode()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String MODE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getMode() <em>Mode</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMode()
+	 * @generated
+	 * @ordered
+	 */
+	protected String mode = MODE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDistribution() <em>Distribution</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDistribution()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DISTRIBUTION_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getDistribution() <em>Distribution</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDistribution()
+	 * @generated
+	 * @ordered
+	 */
+	protected String distribution = DISTRIBUTION_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected variance_scalingImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Layer_weight_initializersPackage.Literals.VARIANCE_SCALING;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public double getScale() {
+		return scale;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setScale(double newScale) {
+		double oldScale = scale;
+		scale = newScale;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Layer_weight_initializersPackage.VARIANCE_SCALING__SCALE, oldScale, scale));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getMode() {
+		return mode;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setMode(String newMode) {
+		String oldMode = mode;
+		mode = newMode;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Layer_weight_initializersPackage.VARIANCE_SCALING__MODE, oldMode, mode));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getDistribution() {
+		return distribution;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setDistribution(String newDistribution) {
+		String oldDistribution = distribution;
+		distribution = newDistribution;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Layer_weight_initializersPackage.VARIANCE_SCALING__DISTRIBUTION, oldDistribution, distribution));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case Layer_weight_initializersPackage.VARIANCE_SCALING__SCALE:
+				return getScale();
+			case Layer_weight_initializersPackage.VARIANCE_SCALING__MODE:
+				return getMode();
+			case Layer_weight_initializersPackage.VARIANCE_SCALING__DISTRIBUTION:
+				return getDistribution();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case Layer_weight_initializersPackage.VARIANCE_SCALING__SCALE:
+				setScale((Double)newValue);
+				return;
+			case Layer_weight_initializersPackage.VARIANCE_SCALING__MODE:
+				setMode((String)newValue);
+				return;
+			case Layer_weight_initializersPackage.VARIANCE_SCALING__DISTRIBUTION:
+				setDistribution((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case Layer_weight_initializersPackage.VARIANCE_SCALING__SCALE:
+				setScale(SCALE_EDEFAULT);
+				return;
+			case Layer_weight_initializersPackage.VARIANCE_SCALING__MODE:
+				setMode(MODE_EDEFAULT);
+				return;
+			case Layer_weight_initializersPackage.VARIANCE_SCALING__DISTRIBUTION:
+				setDistribution(DISTRIBUTION_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case Layer_weight_initializersPackage.VARIANCE_SCALING__SCALE:
+				return scale != SCALE_EDEFAULT;
+			case Layer_weight_initializersPackage.VARIANCE_SCALING__MODE:
+				return MODE_EDEFAULT == null ? mode != null : !MODE_EDEFAULT.equals(mode);
+			case Layer_weight_initializersPackage.VARIANCE_SCALING__DISTRIBUTION:
+				return DISTRIBUTION_EDEFAULT == null ? distribution != null : !DISTRIBUTION_EDEFAULT.equals(distribution);
+		}
+		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(" (scale: "); //$NON-NLS-1$
+		result.append(scale);
+		result.append(", mode: "); //$NON-NLS-1$
+		result.append(mode);
+		result.append(", distribution: "); //$NON-NLS-1$
+		result.append(distribution);
+		result.append(')');
+		return result.toString();
+	}
+
+} //variance_scalingImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/zerosImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/zerosImpl.java
new file mode 100644
index 0000000..1231fa8
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/impl/zerosImpl.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.zeros;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>zeros</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class zerosImpl extends MinimalEObjectImpl.Container implements zeros {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected zerosImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Layer_weight_initializersPackage.Literals.ZEROS;
+	}
+
+} //zerosImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/initializer_with_gain.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/initializer_with_gain.java
new file mode 100644
index 0000000..1ad5aa8
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/initializer_with_gain.java
@@ -0,0 +1,59 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>initializer with gain</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.initializer_with_gain#getGain <em>Gain</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage#getinitializer_with_gain()
+ * @model abstract="true"
+ * @generated
+ */
+public interface initializer_with_gain extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Gain</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Gain</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Gain</em>' attribute.
+	 * @see #setGain(double)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage#getinitializer_with_gain_Gain()
+	 * @model dataType="org.eclipse.uml2.types.Real" required="true" ordered="false"
+	 * @generated
+	 */
+	double getGain();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.initializer_with_gain#getGain <em>Gain</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Gain</em>' attribute.
+	 * @see #getGain()
+	 * @generated
+	 */
+	void setGain(double value);
+
+} // initializer_with_gain
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/initializer_with_mean_stddev.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/initializer_with_mean_stddev.java
new file mode 100644
index 0000000..480133b
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/initializer_with_mean_stddev.java
@@ -0,0 +1,85 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>initializer with mean stddev</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.initializer_with_mean_stddev#getMean <em>Mean</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.initializer_with_mean_stddev#getStddev <em>Stddev</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage#getinitializer_with_mean_stddev()
+ * @model abstract="true"
+ * @generated
+ */
+public interface initializer_with_mean_stddev extends initializer_with_seed {
+	/**
+	 * Returns the value of the '<em><b>Mean</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Mean</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Mean</em>' attribute.
+	 * @see #setMean(double)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage#getinitializer_with_mean_stddev_Mean()
+	 * @model dataType="org.eclipse.uml2.types.Real" required="true" ordered="false"
+	 * @generated
+	 */
+	double getMean();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.initializer_with_mean_stddev#getMean <em>Mean</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Mean</em>' attribute.
+	 * @see #getMean()
+	 * @generated
+	 */
+	void setMean(double value);
+
+	/**
+	 * Returns the value of the '<em><b>Stddev</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Stddev</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Stddev</em>' attribute.
+	 * @see #setStddev(double)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage#getinitializer_with_mean_stddev_Stddev()
+	 * @model dataType="org.eclipse.uml2.types.Real" required="true" ordered="false"
+	 * @generated
+	 */
+	double getStddev();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.initializer_with_mean_stddev#getStddev <em>Stddev</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Stddev</em>' attribute.
+	 * @see #getStddev()
+	 * @generated
+	 */
+	void setStddev(double value);
+
+} // initializer_with_mean_stddev
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/initializer_with_seed.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/initializer_with_seed.java
new file mode 100644
index 0000000..268bf90
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/initializer_with_seed.java
@@ -0,0 +1,59 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>initializer with seed</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.initializer_with_seed#getSeed <em>Seed</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage#getinitializer_with_seed()
+ * @model abstract="true"
+ * @generated
+ */
+public interface initializer_with_seed extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Seed</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Seed</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Seed</em>' attribute.
+	 * @see #setSeed(int)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage#getinitializer_with_seed_Seed()
+	 * @model dataType="org.eclipse.uml2.types.Integer" required="true" ordered="false"
+	 * @generated
+	 */
+	int getSeed();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.initializer_with_seed#getSeed <em>Seed</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Seed</em>' attribute.
+	 * @see #getSeed()
+	 * @generated
+	 */
+	void setSeed(int value);
+
+} // initializer_with_seed
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/ones.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/ones.java
new file mode 100644
index 0000000..981cc3c
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/ones.java
@@ -0,0 +1,27 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>ones</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage#getones()
+ * @model
+ * @generated
+ */
+public interface ones extends EObject {
+} // ones
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/orthogonal.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/orthogonal.java
new file mode 100644
index 0000000..c02c7c4
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/orthogonal.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>orthogonal</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage#getorthogonal()
+ * @model
+ * @generated
+ */
+public interface orthogonal extends initializer_with_gain, initializer_with_seed {
+} // orthogonal
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/random_normal.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/random_normal.java
new file mode 100644
index 0000000..3854d89
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/random_normal.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>random normal</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage#getrandom_normal()
+ * @model
+ * @generated
+ */
+public interface random_normal extends initializer_with_mean_stddev {
+} // random_normal
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/random_uniform.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/random_uniform.java
new file mode 100644
index 0000000..069ac58
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/random_uniform.java
@@ -0,0 +1,85 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>random uniform</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.random_uniform#getMinval <em>Minval</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.random_uniform#getMaxval <em>Maxval</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage#getrandom_uniform()
+ * @model
+ * @generated
+ */
+public interface random_uniform extends initializer_with_seed {
+	/**
+	 * Returns the value of the '<em><b>Minval</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Minval</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Minval</em>' attribute.
+	 * @see #setMinval(double)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage#getrandom_uniform_Minval()
+	 * @model dataType="org.eclipse.uml2.types.Real" required="true" ordered="false"
+	 * @generated
+	 */
+	double getMinval();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.random_uniform#getMinval <em>Minval</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Minval</em>' attribute.
+	 * @see #getMinval()
+	 * @generated
+	 */
+	void setMinval(double value);
+
+	/**
+	 * Returns the value of the '<em><b>Maxval</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Maxval</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Maxval</em>' attribute.
+	 * @see #setMaxval(double)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage#getrandom_uniform_Maxval()
+	 * @model dataType="org.eclipse.uml2.types.Real" required="true" ordered="false"
+	 * @generated
+	 */
+	double getMaxval();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.random_uniform#getMaxval <em>Maxval</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Maxval</em>' attribute.
+	 * @see #getMaxval()
+	 * @generated
+	 */
+	void setMaxval(double value);
+
+} // random_uniform
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/truncated_normal.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/truncated_normal.java
new file mode 100644
index 0000000..b2626d8
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/truncated_normal.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>truncated normal</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage#gettruncated_normal()
+ * @model
+ * @generated
+ */
+public interface truncated_normal extends initializer_with_mean_stddev {
+} // truncated_normal
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/util/Layer_weight_initializersAdapterFactory.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/util/Layer_weight_initializersAdapterFactory.java
new file mode 100644
index 0000000..e85fc24
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/util/Layer_weight_initializersAdapterFactory.java
@@ -0,0 +1,363 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage
+ * @generated
+ */
+public class Layer_weight_initializersAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static Layer_weight_initializersPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Layer_weight_initializersAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = Layer_weight_initializersPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Layer_weight_initializersSwitch<Adapter> modelSwitch =
+		new Layer_weight_initializersSwitch<Adapter>() {
+			@Override
+			public Adapter caserandom_normal(random_normal object) {
+				return createrandom_normalAdapter();
+			}
+			@Override
+			public Adapter caseinitializer_with_mean_stddev(initializer_with_mean_stddev object) {
+				return createinitializer_with_mean_stddevAdapter();
+			}
+			@Override
+			public Adapter caseinitializer_with_seed(initializer_with_seed object) {
+				return createinitializer_with_seedAdapter();
+			}
+			@Override
+			public Adapter caserandom_uniform(random_uniform object) {
+				return createrandom_uniformAdapter();
+			}
+			@Override
+			public Adapter casetruncated_normal(truncated_normal object) {
+				return createtruncated_normalAdapter();
+			}
+			@Override
+			public Adapter casezeros(zeros object) {
+				return createzerosAdapter();
+			}
+			@Override
+			public Adapter caseones(ones object) {
+				return createonesAdapter();
+			}
+			@Override
+			public Adapter caseglorot_normal(glorot_normal object) {
+				return createglorot_normalAdapter();
+			}
+			@Override
+			public Adapter caseglorot_uniform(glorot_uniform object) {
+				return createglorot_uniformAdapter();
+			}
+			@Override
+			public Adapter caseidentity(identity object) {
+				return createidentityAdapter();
+			}
+			@Override
+			public Adapter caseinitializer_with_gain(initializer_with_gain object) {
+				return createinitializer_with_gainAdapter();
+			}
+			@Override
+			public Adapter caseorthogonal(orthogonal object) {
+				return createorthogonalAdapter();
+			}
+			@Override
+			public Adapter caseconstant(constant object) {
+				return createconstantAdapter();
+			}
+			@Override
+			public Adapter casevariance_scaling(variance_scaling object) {
+				return createvariance_scalingAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.random_normal <em>random normal</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.aiml.profile.AIML.Layer_weight_initializers.random_normal
+	 * @generated
+	 */
+	public Adapter createrandom_normalAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.initializer_with_mean_stddev <em>initializer with mean stddev</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.aiml.profile.AIML.Layer_weight_initializers.initializer_with_mean_stddev
+	 * @generated
+	 */
+	public Adapter createinitializer_with_mean_stddevAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.initializer_with_seed <em>initializer with seed</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.aiml.profile.AIML.Layer_weight_initializers.initializer_with_seed
+	 * @generated
+	 */
+	public Adapter createinitializer_with_seedAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.random_uniform <em>random uniform</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.aiml.profile.AIML.Layer_weight_initializers.random_uniform
+	 * @generated
+	 */
+	public Adapter createrandom_uniformAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.truncated_normal <em>truncated normal</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.aiml.profile.AIML.Layer_weight_initializers.truncated_normal
+	 * @generated
+	 */
+	public Adapter createtruncated_normalAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.zeros <em>zeros</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.aiml.profile.AIML.Layer_weight_initializers.zeros
+	 * @generated
+	 */
+	public Adapter createzerosAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.ones <em>ones</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.aiml.profile.AIML.Layer_weight_initializers.ones
+	 * @generated
+	 */
+	public Adapter createonesAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.glorot_normal <em>glorot normal</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.aiml.profile.AIML.Layer_weight_initializers.glorot_normal
+	 * @generated
+	 */
+	public Adapter createglorot_normalAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.glorot_uniform <em>glorot uniform</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.aiml.profile.AIML.Layer_weight_initializers.glorot_uniform
+	 * @generated
+	 */
+	public Adapter createglorot_uniformAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.identity <em>identity</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.aiml.profile.AIML.Layer_weight_initializers.identity
+	 * @generated
+	 */
+	public Adapter createidentityAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.initializer_with_gain <em>initializer with gain</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.aiml.profile.AIML.Layer_weight_initializers.initializer_with_gain
+	 * @generated
+	 */
+	public Adapter createinitializer_with_gainAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.orthogonal <em>orthogonal</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.aiml.profile.AIML.Layer_weight_initializers.orthogonal
+	 * @generated
+	 */
+	public Adapter createorthogonalAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.constant <em>constant</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.aiml.profile.AIML.Layer_weight_initializers.constant
+	 * @generated
+	 */
+	public Adapter createconstantAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.variance_scaling <em>variance scaling</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.aiml.profile.AIML.Layer_weight_initializers.variance_scaling
+	 * @generated
+	 */
+	public Adapter createvariance_scalingAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //Layer_weight_initializersAdapterFactory
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/util/Layer_weight_initializersSwitch.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/util/Layer_weight_initializersSwitch.java
new file mode 100644
index 0000000..ad90c82
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/util/Layer_weight_initializersSwitch.java
@@ -0,0 +1,404 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage
+ * @generated
+ */
+public class Layer_weight_initializersSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static Layer_weight_initializersPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Layer_weight_initializersSwitch() {
+		if (modelPackage == null) {
+			modelPackage = Layer_weight_initializersPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case Layer_weight_initializersPackage.RANDOM_NORMAL: {
+				random_normal random_normal = (random_normal)theEObject;
+				T result = caserandom_normal(random_normal);
+				if (result == null) result = caseinitializer_with_mean_stddev(random_normal);
+				if (result == null) result = caseinitializer_with_seed(random_normal);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Layer_weight_initializersPackage.INITIALIZER_WITH_MEAN_STDDEV: {
+				initializer_with_mean_stddev initializer_with_mean_stddev = (initializer_with_mean_stddev)theEObject;
+				T result = caseinitializer_with_mean_stddev(initializer_with_mean_stddev);
+				if (result == null) result = caseinitializer_with_seed(initializer_with_mean_stddev);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Layer_weight_initializersPackage.INITIALIZER_WITH_SEED: {
+				initializer_with_seed initializer_with_seed = (initializer_with_seed)theEObject;
+				T result = caseinitializer_with_seed(initializer_with_seed);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Layer_weight_initializersPackage.RANDOM_UNIFORM: {
+				random_uniform random_uniform = (random_uniform)theEObject;
+				T result = caserandom_uniform(random_uniform);
+				if (result == null) result = caseinitializer_with_seed(random_uniform);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Layer_weight_initializersPackage.TRUNCATED_NORMAL: {
+				truncated_normal truncated_normal = (truncated_normal)theEObject;
+				T result = casetruncated_normal(truncated_normal);
+				if (result == null) result = caseinitializer_with_mean_stddev(truncated_normal);
+				if (result == null) result = caseinitializer_with_seed(truncated_normal);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Layer_weight_initializersPackage.ZEROS: {
+				zeros zeros = (zeros)theEObject;
+				T result = casezeros(zeros);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Layer_weight_initializersPackage.ONES: {
+				ones ones = (ones)theEObject;
+				T result = caseones(ones);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Layer_weight_initializersPackage.GLOROT_NORMAL: {
+				glorot_normal glorot_normal = (glorot_normal)theEObject;
+				T result = caseglorot_normal(glorot_normal);
+				if (result == null) result = caseinitializer_with_seed(glorot_normal);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Layer_weight_initializersPackage.GLOROT_UNIFORM: {
+				glorot_uniform glorot_uniform = (glorot_uniform)theEObject;
+				T result = caseglorot_uniform(glorot_uniform);
+				if (result == null) result = caseinitializer_with_seed(glorot_uniform);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Layer_weight_initializersPackage.IDENTITY: {
+				identity identity = (identity)theEObject;
+				T result = caseidentity(identity);
+				if (result == null) result = caseinitializer_with_gain(identity);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Layer_weight_initializersPackage.INITIALIZER_WITH_GAIN: {
+				initializer_with_gain initializer_with_gain = (initializer_with_gain)theEObject;
+				T result = caseinitializer_with_gain(initializer_with_gain);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Layer_weight_initializersPackage.ORTHOGONAL: {
+				orthogonal orthogonal = (orthogonal)theEObject;
+				T result = caseorthogonal(orthogonal);
+				if (result == null) result = caseinitializer_with_gain(orthogonal);
+				if (result == null) result = caseinitializer_with_seed(orthogonal);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Layer_weight_initializersPackage.CONSTANT: {
+				constant constant = (constant)theEObject;
+				T result = caseconstant(constant);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Layer_weight_initializersPackage.VARIANCE_SCALING: {
+				variance_scaling variance_scaling = (variance_scaling)theEObject;
+				T result = casevariance_scaling(variance_scaling);
+				if (result == null) result = caseinitializer_with_seed(variance_scaling);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>random normal</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>random normal</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caserandom_normal(random_normal object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>initializer with mean stddev</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>initializer with mean stddev</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseinitializer_with_mean_stddev(initializer_with_mean_stddev object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>initializer with seed</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>initializer with seed</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseinitializer_with_seed(initializer_with_seed object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>random uniform</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>random uniform</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caserandom_uniform(random_uniform object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>truncated normal</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>truncated normal</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casetruncated_normal(truncated_normal object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>zeros</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>zeros</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casezeros(zeros object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>ones</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>ones</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseones(ones object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>glorot normal</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>glorot normal</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseglorot_normal(glorot_normal object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>glorot uniform</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>glorot uniform</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseglorot_uniform(glorot_uniform object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>identity</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>identity</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseidentity(identity object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>initializer with gain</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>initializer with gain</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseinitializer_with_gain(initializer_with_gain object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>orthogonal</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>orthogonal</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseorthogonal(orthogonal object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>constant</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>constant</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseconstant(constant object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>variance scaling</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>variance scaling</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casevariance_scaling(variance_scaling object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+} //Layer_weight_initializersSwitch
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/variance_scaling.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/variance_scaling.java
new file mode 100644
index 0000000..ac7d2f5
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/variance_scaling.java
@@ -0,0 +1,112 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>variance scaling</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.variance_scaling#getScale <em>Scale</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.variance_scaling#getMode <em>Mode</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.variance_scaling#getDistribution <em>Distribution</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage#getvariance_scaling()
+ * @model
+ * @generated
+ */
+public interface variance_scaling extends initializer_with_seed {
+	/**
+	 * Returns the value of the '<em><b>Scale</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Scale</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Scale</em>' attribute.
+	 * @see #setScale(double)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage#getvariance_scaling_Scale()
+	 * @model dataType="org.eclipse.uml2.types.Real" required="true" ordered="false"
+	 * @generated
+	 */
+	double getScale();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.variance_scaling#getScale <em>Scale</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Scale</em>' attribute.
+	 * @see #getScale()
+	 * @generated
+	 */
+	void setScale(double value);
+
+	/**
+	 * Returns the value of the '<em><b>Mode</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Mode</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Mode</em>' attribute.
+	 * @see #setMode(String)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage#getvariance_scaling_Mode()
+	 * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+	 * @generated
+	 */
+	String getMode();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.variance_scaling#getMode <em>Mode</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Mode</em>' attribute.
+	 * @see #getMode()
+	 * @generated
+	 */
+	void setMode(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Distribution</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Distribution</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Distribution</em>' attribute.
+	 * @see #setDistribution(String)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage#getvariance_scaling_Distribution()
+	 * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+	 * @generated
+	 */
+	String getDistribution();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.variance_scaling#getDistribution <em>Distribution</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Distribution</em>' attribute.
+	 * @see #getDistribution()
+	 * @generated
+	 */
+	void setDistribution(String value);
+
+} // variance_scaling
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/zeros.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/zeros.java
new file mode 100644
index 0000000..652e090
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_initializers/zeros.java
@@ -0,0 +1,27 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>zeros</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage#getzeros()
+ * @model
+ * @generated
+ */
+public interface zeros extends EObject {
+} // zeros
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/Layer_weight_regularizersFactory.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/Layer_weight_regularizersFactory.java
new file mode 100644
index 0000000..aeea1f7
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/Layer_weight_regularizersFactory.java
@@ -0,0 +1,69 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.Layer_weight_regularizersPackage
+ * @generated
+ */
+public interface Layer_weight_regularizersFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	Layer_weight_regularizersFactory eINSTANCE = org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.Layer_weight_regularizersFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>l1</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>l1</em>'.
+	 * @generated
+	 */
+	l1 createl1();
+
+	/**
+	 * Returns a new object of class '<em>l2</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>l2</em>'.
+	 * @generated
+	 */
+	l2 createl2();
+
+	/**
+	 * Returns a new object of class '<em>l1 l2</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>l1 l2</em>'.
+	 * @generated
+	 */
+	l1_l2 createl1_l2();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	Layer_weight_regularizersPackage getLayer_weight_regularizersPackage();
+
+} //Layer_weight_regularizersFactory
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/Layer_weight_regularizersPackage.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/Layer_weight_regularizersPackage.java
new file mode 100644
index 0000000..6473634
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/Layer_weight_regularizersPackage.java
@@ -0,0 +1,425 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each operation of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.Layer_weight_regularizersFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface Layer_weight_regularizersPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "Layer_weight_regularizers"; //$NON-NLS-1$
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http:///AIML/Layer_weight_regularizers.ecore"; //$NON-NLS-1$
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "AIML.Layer_weight_regularizers"; //$NON-NLS-1$
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	Layer_weight_regularizersPackage eINSTANCE = org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.Layer_weight_regularizersPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.ReguWithl1Impl <em>Regu Withl1</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.ReguWithl1Impl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.Layer_weight_regularizersPackageImpl#getReguWithl1()
+	 * @generated
+	 */
+	int REGU_WITHL1 = 1;
+
+	/**
+	 * The feature id for the '<em><b>L1</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REGU_WITHL1__L1 = 0;
+
+	/**
+	 * The number of structural features of the '<em>Regu Withl1</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REGU_WITHL1_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Regu Withl1</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REGU_WITHL1_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.l1Impl <em>l1</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.l1Impl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.Layer_weight_regularizersPackageImpl#getl1()
+	 * @generated
+	 */
+	int L1 = 0;
+
+	/**
+	 * The feature id for the '<em><b>L1</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int L1__L1 = REGU_WITHL1__L1;
+
+	/**
+	 * The number of structural features of the '<em>l1</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int L1_FEATURE_COUNT = REGU_WITHL1_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>l1</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int L1_OPERATION_COUNT = REGU_WITHL1_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.ReguWithl2Impl <em>Regu Withl2</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.ReguWithl2Impl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.Layer_weight_regularizersPackageImpl#getReguWithl2()
+	 * @generated
+	 */
+	int REGU_WITHL2 = 3;
+
+	/**
+	 * The feature id for the '<em><b>L2</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REGU_WITHL2__L2 = 0;
+
+	/**
+	 * The number of structural features of the '<em>Regu Withl2</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REGU_WITHL2_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Regu Withl2</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REGU_WITHL2_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.l2Impl <em>l2</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.l2Impl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.Layer_weight_regularizersPackageImpl#getl2()
+	 * @generated
+	 */
+	int L2 = 2;
+
+	/**
+	 * The feature id for the '<em><b>L2</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int L2__L2 = REGU_WITHL2__L2;
+
+	/**
+	 * The number of structural features of the '<em>l2</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int L2_FEATURE_COUNT = REGU_WITHL2_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>l2</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int L2_OPERATION_COUNT = REGU_WITHL2_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.l1_l2Impl <em>l1 l2</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.l1_l2Impl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.Layer_weight_regularizersPackageImpl#getl1_l2()
+	 * @generated
+	 */
+	int L1_L2 = 4;
+
+	/**
+	 * The feature id for the '<em><b>L1</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int L1_L2__L1 = REGU_WITHL1__L1;
+
+	/**
+	 * The feature id for the '<em><b>L2</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int L1_L2__L2 = REGU_WITHL1_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>l1 l2</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int L1_L2_FEATURE_COUNT = REGU_WITHL1_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>l1 l2</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int L1_L2_OPERATION_COUNT = REGU_WITHL1_OPERATION_COUNT + 0;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.l1 <em>l1</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>l1</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.l1
+	 * @generated
+	 */
+	EClass getl1();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.ReguWithl1 <em>Regu Withl1</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Regu Withl1</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.ReguWithl1
+	 * @generated
+	 */
+	EClass getReguWithl1();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.ReguWithl1#getL1 <em>L1</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>L1</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.ReguWithl1#getL1()
+	 * @see #getReguWithl1()
+	 * @generated
+	 */
+	EAttribute getReguWithl1_L1();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.l2 <em>l2</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>l2</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.l2
+	 * @generated
+	 */
+	EClass getl2();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.ReguWithl2 <em>Regu Withl2</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Regu Withl2</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.ReguWithl2
+	 * @generated
+	 */
+	EClass getReguWithl2();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.ReguWithl2#getL2 <em>L2</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>L2</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.ReguWithl2#getL2()
+	 * @see #getReguWithl2()
+	 * @generated
+	 */
+	EAttribute getReguWithl2_L2();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.l1_l2 <em>l1 l2</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>l1 l2</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.l1_l2
+	 * @generated
+	 */
+	EClass getl1_l2();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	Layer_weight_regularizersFactory getLayer_weight_regularizersFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each operation of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.l1Impl <em>l1</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.l1Impl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.Layer_weight_regularizersPackageImpl#getl1()
+		 * @generated
+		 */
+		EClass L1 = eINSTANCE.getl1();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.ReguWithl1Impl <em>Regu Withl1</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.ReguWithl1Impl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.Layer_weight_regularizersPackageImpl#getReguWithl1()
+		 * @generated
+		 */
+		EClass REGU_WITHL1 = eINSTANCE.getReguWithl1();
+
+		/**
+		 * The meta object literal for the '<em><b>L1</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute REGU_WITHL1__L1 = eINSTANCE.getReguWithl1_L1();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.l2Impl <em>l2</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.l2Impl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.Layer_weight_regularizersPackageImpl#getl2()
+		 * @generated
+		 */
+		EClass L2 = eINSTANCE.getl2();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.ReguWithl2Impl <em>Regu Withl2</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.ReguWithl2Impl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.Layer_weight_regularizersPackageImpl#getReguWithl2()
+		 * @generated
+		 */
+		EClass REGU_WITHL2 = eINSTANCE.getReguWithl2();
+
+		/**
+		 * The meta object literal for the '<em><b>L2</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute REGU_WITHL2__L2 = eINSTANCE.getReguWithl2_L2();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.l1_l2Impl <em>l1 l2</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.l1_l2Impl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.Layer_weight_regularizersPackageImpl#getl1_l2()
+		 * @generated
+		 */
+		EClass L1_L2 = eINSTANCE.getl1_l2();
+
+	}
+
+} //Layer_weight_regularizersPackage
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/ReguWithl1.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/ReguWithl1.java
new file mode 100644
index 0000000..a29f8b5
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/ReguWithl1.java
@@ -0,0 +1,59 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Regu Withl1</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.ReguWithl1#getL1 <em>L1</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.Layer_weight_regularizersPackage#getReguWithl1()
+ * @model abstract="true"
+ * @generated
+ */
+public interface ReguWithl1 extends EObject {
+	/**
+	 * Returns the value of the '<em><b>L1</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>L1</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>L1</em>' attribute.
+	 * @see #setL1(double)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.Layer_weight_regularizersPackage#getReguWithl1_L1()
+	 * @model dataType="org.eclipse.uml2.types.Real" ordered="false"
+	 * @generated
+	 */
+	double getL1();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.ReguWithl1#getL1 <em>L1</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>L1</em>' attribute.
+	 * @see #getL1()
+	 * @generated
+	 */
+	void setL1(double value);
+
+} // ReguWithl1
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/ReguWithl2.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/ReguWithl2.java
new file mode 100644
index 0000000..8d9b7cd
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/ReguWithl2.java
@@ -0,0 +1,59 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Regu Withl2</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.ReguWithl2#getL2 <em>L2</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.Layer_weight_regularizersPackage#getReguWithl2()
+ * @model abstract="true"
+ * @generated
+ */
+public interface ReguWithl2 extends EObject {
+	/**
+	 * Returns the value of the '<em><b>L2</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>L2</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>L2</em>' attribute.
+	 * @see #setL2(double)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.Layer_weight_regularizersPackage#getReguWithl2_L2()
+	 * @model dataType="org.eclipse.uml2.types.Real" ordered="false"
+	 * @generated
+	 */
+	double getL2();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.ReguWithl2#getL2 <em>L2</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>L2</em>' attribute.
+	 * @see #getL2()
+	 * @generated
+	 */
+	void setL2(double value);
+
+} // ReguWithl2
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/impl/Layer_weight_regularizersFactoryImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/impl/Layer_weight_regularizersFactoryImpl.java
new file mode 100644
index 0000000..524866e
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/impl/Layer_weight_regularizersFactoryImpl.java
@@ -0,0 +1,130 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class Layer_weight_regularizersFactoryImpl extends EFactoryImpl implements Layer_weight_regularizersFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static Layer_weight_regularizersFactory init() {
+		try {
+			Layer_weight_regularizersFactory theLayer_weight_regularizersFactory = (Layer_weight_regularizersFactory)EPackage.Registry.INSTANCE.getEFactory(Layer_weight_regularizersPackage.eNS_URI);
+			if (theLayer_weight_regularizersFactory != null) {
+				return theLayer_weight_regularizersFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new Layer_weight_regularizersFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Layer_weight_regularizersFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case Layer_weight_regularizersPackage.L1: return createl1();
+			case Layer_weight_regularizersPackage.L2: return createl2();
+			case Layer_weight_regularizersPackage.L1_L2: return createl1_l2();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public l1 createl1() {
+		l1Impl l1 = new l1Impl();
+		return l1;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public l2 createl2() {
+		l2Impl l2 = new l2Impl();
+		return l2;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public l1_l2 createl1_l2() {
+		l1_l2Impl l1_l2 = new l1_l2Impl();
+		return l1_l2;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Layer_weight_regularizersPackage getLayer_weight_regularizersPackage() {
+		return (Layer_weight_regularizersPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static Layer_weight_regularizersPackage getPackage() {
+		return Layer_weight_regularizersPackage.eINSTANCE;
+	}
+
+} //Layer_weight_regularizersFactoryImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/impl/Layer_weight_regularizersPackageImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/impl/Layer_weight_regularizersPackageImpl.java
new file mode 100644
index 0000000..854d9fa
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/impl/Layer_weight_regularizersPackageImpl.java
@@ -0,0 +1,473 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EcorePackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.AIMLPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl.DataParallel_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.Distance_functionsPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.impl.Distance_functionsPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.Dropout_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.Layer_weight_constraintsPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.Layer_weight_constraintsPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.Layer_weight_initializersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.Layer_weight_regularizersFactory;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.Layer_weight_regularizersPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.ReguWithl1;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.ReguWithl2;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.l1;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.l1_l2;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.l2;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.Linear_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Loss_functions.Loss_functionsPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Loss_functions.impl.Loss_functionsPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Module.ModulePackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Module.impl.ModulePackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.NonLinearActivationsPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.impl.NonLinearActivationsPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Normalization_layers.Normalization_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Normalization_layers.impl.Normalization_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Padding_layers.Padding_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Padding_layers.impl.Padding_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Pooling_layers.Pooling_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Pooling_layers.impl.Pooling_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Recurrent_layers.Recurrent_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Recurrent_layers.impl.Recurrent_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.SoftMinMaxActivations.SoftMinMaxActivationsPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.SoftMinMaxActivations.impl.SoftMinMaxActivationsPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Sparse_layers.Sparse_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Sparse_layers.impl.Sparse_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Tensor.TensorPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Tensor.impl.TensorPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Transformer_layers.Transformer_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Transformer_layers.impl.Transformer_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Vision_layers.Vision_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Vision_layers.impl.Vision_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.datatypes.DatatypesPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.datatypes.impl.DatatypesPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.impl.AIMLPackageImpl;
+
+import org.eclipse.uml2.types.TypesPackage;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class Layer_weight_regularizersPackageImpl extends EPackageImpl implements Layer_weight_regularizersPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass l1EClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass reguWithl1EClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass l2EClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass reguWithl2EClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass l1_l2EClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.Layer_weight_regularizersPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private Layer_weight_regularizersPackageImpl() {
+		super(eNS_URI, Layer_weight_regularizersFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 *
+	 * <p>This method is used to initialize {@link Layer_weight_regularizersPackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static Layer_weight_regularizersPackage init() {
+		if (isInited) return (Layer_weight_regularizersPackage)EPackage.Registry.INSTANCE.getEPackage(Layer_weight_regularizersPackage.eNS_URI);
+
+		// Obtain or create and register package
+		Object registeredLayer_weight_regularizersPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+		Layer_weight_regularizersPackageImpl theLayer_weight_regularizersPackage = registeredLayer_weight_regularizersPackage instanceof Layer_weight_regularizersPackageImpl ? (Layer_weight_regularizersPackageImpl)registeredLayer_weight_regularizersPackage : new Layer_weight_regularizersPackageImpl();
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		EcorePackage.eINSTANCE.eClass();
+		TypesPackage.eINSTANCE.eClass();
+		UMLPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		Object registeredPackage = EPackage.Registry.INSTANCE.getEPackage(AIMLPackage.eNS_URI);
+		AIMLPackageImpl theAIMLPackage = (AIMLPackageImpl)(registeredPackage instanceof AIMLPackageImpl ? registeredPackage : AIMLPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ModulePackage.eNS_URI);
+		ModulePackageImpl theModulePackage = (ModulePackageImpl)(registeredPackage instanceof ModulePackageImpl ? registeredPackage : ModulePackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(TensorPackage.eNS_URI);
+		TensorPackageImpl theTensorPackage = (TensorPackageImpl)(registeredPackage instanceof TensorPackageImpl ? registeredPackage : TensorPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI);
+		DatatypesPackageImpl theDatatypesPackage = (DatatypesPackageImpl)(registeredPackage instanceof DatatypesPackageImpl ? registeredPackage : DatatypesPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Pooling_layersPackage.eNS_URI);
+		Pooling_layersPackageImpl thePooling_layersPackage = (Pooling_layersPackageImpl)(registeredPackage instanceof Pooling_layersPackageImpl ? registeredPackage : Pooling_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Convolution_layersPackage.eNS_URI);
+		Convolution_layersPackageImpl theConvolution_layersPackage = (Convolution_layersPackageImpl)(registeredPackage instanceof Convolution_layersPackageImpl ? registeredPackage : Convolution_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Layer_weight_constraintsPackage.eNS_URI);
+		Layer_weight_constraintsPackageImpl theLayer_weight_constraintsPackage = (Layer_weight_constraintsPackageImpl)(registeredPackage instanceof Layer_weight_constraintsPackageImpl ? registeredPackage : Layer_weight_constraintsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Padding_layersPackage.eNS_URI);
+		Padding_layersPackageImpl thePadding_layersPackage = (Padding_layersPackageImpl)(registeredPackage instanceof Padding_layersPackageImpl ? registeredPackage : Padding_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(NonLinearActivationsPackage.eNS_URI);
+		NonLinearActivationsPackageImpl theNonLinearActivationsPackage = (NonLinearActivationsPackageImpl)(registeredPackage instanceof NonLinearActivationsPackageImpl ? registeredPackage : NonLinearActivationsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(SoftMinMaxActivationsPackage.eNS_URI);
+		SoftMinMaxActivationsPackageImpl theSoftMinMaxActivationsPackage = (SoftMinMaxActivationsPackageImpl)(registeredPackage instanceof SoftMinMaxActivationsPackageImpl ? registeredPackage : SoftMinMaxActivationsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Normalization_layersPackage.eNS_URI);
+		Normalization_layersPackageImpl theNormalization_layersPackage = (Normalization_layersPackageImpl)(registeredPackage instanceof Normalization_layersPackageImpl ? registeredPackage : Normalization_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Recurrent_layersPackage.eNS_URI);
+		Recurrent_layersPackageImpl theRecurrent_layersPackage = (Recurrent_layersPackageImpl)(registeredPackage instanceof Recurrent_layersPackageImpl ? registeredPackage : Recurrent_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Transformer_layersPackage.eNS_URI);
+		Transformer_layersPackageImpl theTransformer_layersPackage = (Transformer_layersPackageImpl)(registeredPackage instanceof Transformer_layersPackageImpl ? registeredPackage : Transformer_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Linear_layersPackage.eNS_URI);
+		Linear_layersPackageImpl theLinear_layersPackage = (Linear_layersPackageImpl)(registeredPackage instanceof Linear_layersPackageImpl ? registeredPackage : Linear_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Dropout_layersPackage.eNS_URI);
+		Dropout_layersPackageImpl theDropout_layersPackage = (Dropout_layersPackageImpl)(registeredPackage instanceof Dropout_layersPackageImpl ? registeredPackage : Dropout_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Sparse_layersPackage.eNS_URI);
+		Sparse_layersPackageImpl theSparse_layersPackage = (Sparse_layersPackageImpl)(registeredPackage instanceof Sparse_layersPackageImpl ? registeredPackage : Sparse_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Distance_functionsPackage.eNS_URI);
+		Distance_functionsPackageImpl theDistance_functionsPackage = (Distance_functionsPackageImpl)(registeredPackage instanceof Distance_functionsPackageImpl ? registeredPackage : Distance_functionsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Loss_functionsPackage.eNS_URI);
+		Loss_functionsPackageImpl theLoss_functionsPackage = (Loss_functionsPackageImpl)(registeredPackage instanceof Loss_functionsPackageImpl ? registeredPackage : Loss_functionsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Vision_layersPackage.eNS_URI);
+		Vision_layersPackageImpl theVision_layersPackage = (Vision_layersPackageImpl)(registeredPackage instanceof Vision_layersPackageImpl ? registeredPackage : Vision_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(DataParallel_layersPackage.eNS_URI);
+		DataParallel_layersPackageImpl theDataParallel_layersPackage = (DataParallel_layersPackageImpl)(registeredPackage instanceof DataParallel_layersPackageImpl ? registeredPackage : DataParallel_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Layer_weight_initializersPackage.eNS_URI);
+		Layer_weight_initializersPackageImpl theLayer_weight_initializersPackage = (Layer_weight_initializersPackageImpl)(registeredPackage instanceof Layer_weight_initializersPackageImpl ? registeredPackage : Layer_weight_initializersPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theLayer_weight_regularizersPackage.createPackageContents();
+		theAIMLPackage.createPackageContents();
+		theModulePackage.createPackageContents();
+		theTensorPackage.createPackageContents();
+		theDatatypesPackage.createPackageContents();
+		thePooling_layersPackage.createPackageContents();
+		theConvolution_layersPackage.createPackageContents();
+		theLayer_weight_constraintsPackage.createPackageContents();
+		thePadding_layersPackage.createPackageContents();
+		theNonLinearActivationsPackage.createPackageContents();
+		theSoftMinMaxActivationsPackage.createPackageContents();
+		theNormalization_layersPackage.createPackageContents();
+		theRecurrent_layersPackage.createPackageContents();
+		theTransformer_layersPackage.createPackageContents();
+		theLinear_layersPackage.createPackageContents();
+		theDropout_layersPackage.createPackageContents();
+		theSparse_layersPackage.createPackageContents();
+		theDistance_functionsPackage.createPackageContents();
+		theLoss_functionsPackage.createPackageContents();
+		theVision_layersPackage.createPackageContents();
+		theDataParallel_layersPackage.createPackageContents();
+		theLayer_weight_initializersPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theLayer_weight_regularizersPackage.initializePackageContents();
+		theAIMLPackage.initializePackageContents();
+		theModulePackage.initializePackageContents();
+		theTensorPackage.initializePackageContents();
+		theDatatypesPackage.initializePackageContents();
+		thePooling_layersPackage.initializePackageContents();
+		theConvolution_layersPackage.initializePackageContents();
+		theLayer_weight_constraintsPackage.initializePackageContents();
+		thePadding_layersPackage.initializePackageContents();
+		theNonLinearActivationsPackage.initializePackageContents();
+		theSoftMinMaxActivationsPackage.initializePackageContents();
+		theNormalization_layersPackage.initializePackageContents();
+		theRecurrent_layersPackage.initializePackageContents();
+		theTransformer_layersPackage.initializePackageContents();
+		theLinear_layersPackage.initializePackageContents();
+		theDropout_layersPackage.initializePackageContents();
+		theSparse_layersPackage.initializePackageContents();
+		theDistance_functionsPackage.initializePackageContents();
+		theLoss_functionsPackage.initializePackageContents();
+		theVision_layersPackage.initializePackageContents();
+		theDataParallel_layersPackage.initializePackageContents();
+		theLayer_weight_initializersPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theLayer_weight_regularizersPackage.freeze();
+
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(Layer_weight_regularizersPackage.eNS_URI, theLayer_weight_regularizersPackage);
+		return theLayer_weight_regularizersPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getl1() {
+		return l1EClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getReguWithl1() {
+		return reguWithl1EClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getReguWithl1_L1() {
+		return (EAttribute)reguWithl1EClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getl2() {
+		return l2EClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getReguWithl2() {
+		return reguWithl2EClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getReguWithl2_L2() {
+		return (EAttribute)reguWithl2EClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getl1_l2() {
+		return l1_l2EClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Layer_weight_regularizersFactory getLayer_weight_regularizersFactory() {
+		return (Layer_weight_regularizersFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		l1EClass = createEClass(L1);
+
+		reguWithl1EClass = createEClass(REGU_WITHL1);
+		createEAttribute(reguWithl1EClass, REGU_WITHL1__L1);
+
+		l2EClass = createEClass(L2);
+
+		reguWithl2EClass = createEClass(REGU_WITHL2);
+		createEAttribute(reguWithl2EClass, REGU_WITHL2__L2);
+
+		l1_l2EClass = createEClass(L1_L2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+		l1EClass.getESuperTypes().add(this.getReguWithl1());
+		l2EClass.getESuperTypes().add(this.getReguWithl2());
+		l1_l2EClass.getESuperTypes().add(this.getReguWithl1());
+		l1_l2EClass.getESuperTypes().add(this.getReguWithl2());
+
+		// Initialize classes, features, and operations; add parameters
+		initEClass(l1EClass, l1.class, "l1", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		initEClass(reguWithl1EClass, ReguWithl1.class, "ReguWithl1", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(getReguWithl1_L1(), theTypesPackage.getReal(), "l1", null, 0, 1, ReguWithl1.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(l2EClass, l2.class, "l2", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		initEClass(reguWithl2EClass, ReguWithl2.class, "ReguWithl2", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(getReguWithl2_L2(), theTypesPackage.getReal(), "l2", null, 0, 1, ReguWithl2.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(l1_l2EClass, l1_l2.class, "l1_l2", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+	}
+
+} //Layer_weight_regularizersPackageImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/impl/ReguWithl1Impl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/impl/ReguWithl1Impl.java
new file mode 100644
index 0000000..a84802d
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/impl/ReguWithl1Impl.java
@@ -0,0 +1,174 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.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.aiml.profile.AIML.Layer_weight_regularizers.Layer_weight_regularizersPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.ReguWithl1;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Regu Withl1</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.ReguWithl1Impl#getL1 <em>L1</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class ReguWithl1Impl extends MinimalEObjectImpl.Container implements ReguWithl1 {
+	/**
+	 * The default value of the '{@link #getL1() <em>L1</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getL1()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double L1_EDEFAULT = 0.0;
+
+	/**
+	 * The cached value of the '{@link #getL1() <em>L1</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getL1()
+	 * @generated
+	 * @ordered
+	 */
+	protected double l1 = L1_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ReguWithl1Impl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Layer_weight_regularizersPackage.Literals.REGU_WITHL1;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public double getL1() {
+		return l1;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setL1(double newL1) {
+		double oldL1 = l1;
+		l1 = newL1;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Layer_weight_regularizersPackage.REGU_WITHL1__L1, oldL1, l1));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case Layer_weight_regularizersPackage.REGU_WITHL1__L1:
+				return getL1();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case Layer_weight_regularizersPackage.REGU_WITHL1__L1:
+				setL1((Double)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case Layer_weight_regularizersPackage.REGU_WITHL1__L1:
+				setL1(L1_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case Layer_weight_regularizersPackage.REGU_WITHL1__L1:
+				return l1 != L1_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(" (l1: "); //$NON-NLS-1$
+		result.append(l1);
+		result.append(')');
+		return result.toString();
+	}
+
+} //ReguWithl1Impl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/impl/ReguWithl2Impl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/impl/ReguWithl2Impl.java
new file mode 100644
index 0000000..076efe7
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/impl/ReguWithl2Impl.java
@@ -0,0 +1,174 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.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.aiml.profile.AIML.Layer_weight_regularizers.Layer_weight_regularizersPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.ReguWithl2;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Regu Withl2</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.ReguWithl2Impl#getL2 <em>L2</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class ReguWithl2Impl extends MinimalEObjectImpl.Container implements ReguWithl2 {
+	/**
+	 * The default value of the '{@link #getL2() <em>L2</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getL2()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double L2_EDEFAULT = 0.0;
+
+	/**
+	 * The cached value of the '{@link #getL2() <em>L2</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getL2()
+	 * @generated
+	 * @ordered
+	 */
+	protected double l2 = L2_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ReguWithl2Impl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Layer_weight_regularizersPackage.Literals.REGU_WITHL2;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public double getL2() {
+		return l2;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setL2(double newL2) {
+		double oldL2 = l2;
+		l2 = newL2;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Layer_weight_regularizersPackage.REGU_WITHL2__L2, oldL2, l2));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case Layer_weight_regularizersPackage.REGU_WITHL2__L2:
+				return getL2();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case Layer_weight_regularizersPackage.REGU_WITHL2__L2:
+				setL2((Double)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case Layer_weight_regularizersPackage.REGU_WITHL2__L2:
+				setL2(L2_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case Layer_weight_regularizersPackage.REGU_WITHL2__L2:
+				return l2 != L2_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(" (l2: "); //$NON-NLS-1$
+		result.append(l2);
+		result.append(')');
+		return result.toString();
+	}
+
+} //ReguWithl2Impl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/impl/l1Impl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/impl/l1Impl.java
new file mode 100644
index 0000000..30c8b00
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/impl/l1Impl.java
@@ -0,0 +1,46 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.Layer_weight_regularizersPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.l1;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>l1</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class l1Impl extends ReguWithl1Impl implements l1 {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected l1Impl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Layer_weight_regularizersPackage.Literals.L1;
+	}
+
+} //l1Impl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/impl/l1_l2Impl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/impl/l1_l2Impl.java
new file mode 100644
index 0000000..3b76c2c
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/impl/l1_l2Impl.java
@@ -0,0 +1,206 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.Layer_weight_regularizersPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.ReguWithl2;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.l1_l2;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>l1 l2</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.l1_l2Impl#getL2 <em>L2</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class l1_l2Impl extends ReguWithl1Impl implements l1_l2 {
+	/**
+	 * The default value of the '{@link #getL2() <em>L2</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getL2()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double L2_EDEFAULT = 0.0;
+
+	/**
+	 * The cached value of the '{@link #getL2() <em>L2</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getL2()
+	 * @generated
+	 * @ordered
+	 */
+	protected double l2 = L2_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected l1_l2Impl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Layer_weight_regularizersPackage.Literals.L1_L2;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public double getL2() {
+		return l2;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setL2(double newL2) {
+		double oldL2 = l2;
+		l2 = newL2;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Layer_weight_regularizersPackage.L1_L2__L2, oldL2, l2));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case Layer_weight_regularizersPackage.L1_L2__L2:
+				return getL2();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case Layer_weight_regularizersPackage.L1_L2__L2:
+				setL2((Double)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case Layer_weight_regularizersPackage.L1_L2__L2:
+				setL2(L2_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case Layer_weight_regularizersPackage.L1_L2__L2:
+				return l2 != L2_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+		if (baseClass == ReguWithl2.class) {
+			switch (derivedFeatureID) {
+				case Layer_weight_regularizersPackage.L1_L2__L2: return Layer_weight_regularizersPackage.REGU_WITHL2__L2;
+				default: return -1;
+			}
+		}
+		return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+		if (baseClass == ReguWithl2.class) {
+			switch (baseFeatureID) {
+				case Layer_weight_regularizersPackage.REGU_WITHL2__L2: return Layer_weight_regularizersPackage.L1_L2__L2;
+				default: return -1;
+			}
+		}
+		return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (l2: "); //$NON-NLS-1$
+		result.append(l2);
+		result.append(')');
+		return result.toString();
+	}
+
+} //l1_l2Impl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/impl/l2Impl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/impl/l2Impl.java
new file mode 100644
index 0000000..214b6c3
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/impl/l2Impl.java
@@ -0,0 +1,46 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.Layer_weight_regularizersPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.l2;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>l2</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class l2Impl extends ReguWithl2Impl implements l2 {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected l2Impl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Layer_weight_regularizersPackage.Literals.L2;
+	}
+
+} //l2Impl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/l1.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/l1.java
new file mode 100644
index 0000000..94bb60f
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/l1.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>l1</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.Layer_weight_regularizersPackage#getl1()
+ * @model
+ * @generated
+ */
+public interface l1 extends ReguWithl1 {
+} // l1
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/l1_l2.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/l1_l2.java
new file mode 100644
index 0000000..d291416
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/l1_l2.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>l1 l2</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.Layer_weight_regularizersPackage#getl1_l2()
+ * @model
+ * @generated
+ */
+public interface l1_l2 extends ReguWithl1, ReguWithl2 {
+} // l1_l2
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/l2.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/l2.java
new file mode 100644
index 0000000..57cfcfb
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/l2.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>l2</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.Layer_weight_regularizersPackage#getl2()
+ * @model
+ * @generated
+ */
+public interface l2 extends ReguWithl2 {
+} // l2
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/util/Layer_weight_regularizersAdapterFactory.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/util/Layer_weight_regularizersAdapterFactory.java
new file mode 100644
index 0000000..3986cff
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/util/Layer_weight_regularizersAdapterFactory.java
@@ -0,0 +1,201 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.Layer_weight_regularizersPackage
+ * @generated
+ */
+public class Layer_weight_regularizersAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static Layer_weight_regularizersPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Layer_weight_regularizersAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = Layer_weight_regularizersPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Layer_weight_regularizersSwitch<Adapter> modelSwitch =
+		new Layer_weight_regularizersSwitch<Adapter>() {
+			@Override
+			public Adapter casel1(l1 object) {
+				return createl1Adapter();
+			}
+			@Override
+			public Adapter caseReguWithl1(ReguWithl1 object) {
+				return createReguWithl1Adapter();
+			}
+			@Override
+			public Adapter casel2(l2 object) {
+				return createl2Adapter();
+			}
+			@Override
+			public Adapter caseReguWithl2(ReguWithl2 object) {
+				return createReguWithl2Adapter();
+			}
+			@Override
+			public Adapter casel1_l2(l1_l2 object) {
+				return createl1_l2Adapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.l1 <em>l1</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.aiml.profile.AIML.Layer_weight_regularizers.l1
+	 * @generated
+	 */
+	public Adapter createl1Adapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.ReguWithl1 <em>Regu Withl1</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.aiml.profile.AIML.Layer_weight_regularizers.ReguWithl1
+	 * @generated
+	 */
+	public Adapter createReguWithl1Adapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.l2 <em>l2</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.aiml.profile.AIML.Layer_weight_regularizers.l2
+	 * @generated
+	 */
+	public Adapter createl2Adapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.ReguWithl2 <em>Regu Withl2</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.aiml.profile.AIML.Layer_weight_regularizers.ReguWithl2
+	 * @generated
+	 */
+	public Adapter createReguWithl2Adapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.l1_l2 <em>l1 l2</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.aiml.profile.AIML.Layer_weight_regularizers.l1_l2
+	 * @generated
+	 */
+	public Adapter createl1_l2Adapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //Layer_weight_regularizersAdapterFactory
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/util/Layer_weight_regularizersSwitch.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/util/Layer_weight_regularizersSwitch.java
new file mode 100644
index 0000000..9e2c36b
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Layer_weight_regularizers/util/Layer_weight_regularizersSwitch.java
@@ -0,0 +1,207 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.Layer_weight_regularizersPackage
+ * @generated
+ */
+public class Layer_weight_regularizersSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static Layer_weight_regularizersPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Layer_weight_regularizersSwitch() {
+		if (modelPackage == null) {
+			modelPackage = Layer_weight_regularizersPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case Layer_weight_regularizersPackage.L1: {
+				l1 l1 = (l1)theEObject;
+				T result = casel1(l1);
+				if (result == null) result = caseReguWithl1(l1);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Layer_weight_regularizersPackage.REGU_WITHL1: {
+				ReguWithl1 reguWithl1 = (ReguWithl1)theEObject;
+				T result = caseReguWithl1(reguWithl1);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Layer_weight_regularizersPackage.L2: {
+				l2 l2 = (l2)theEObject;
+				T result = casel2(l2);
+				if (result == null) result = caseReguWithl2(l2);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Layer_weight_regularizersPackage.REGU_WITHL2: {
+				ReguWithl2 reguWithl2 = (ReguWithl2)theEObject;
+				T result = caseReguWithl2(reguWithl2);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Layer_weight_regularizersPackage.L1_L2: {
+				l1_l2 l1_l2 = (l1_l2)theEObject;
+				T result = casel1_l2(l1_l2);
+				if (result == null) result = caseReguWithl1(l1_l2);
+				if (result == null) result = caseReguWithl2(l1_l2);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>l1</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>l1</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casel1(l1 object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Regu Withl1</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>Regu Withl1</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseReguWithl1(ReguWithl1 object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>l2</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>l2</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casel2(l2 object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Regu Withl2</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>Regu Withl2</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseReguWithl2(ReguWithl2 object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>l1 l2</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>l1 l2</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casel1_l2(l1_l2 object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+} //Layer_weight_regularizersSwitch
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/Bilinear.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/Bilinear.java
new file mode 100644
index 0000000..849f723
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/Bilinear.java
@@ -0,0 +1,85 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Linear_layers;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Bilinear</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Bilinear#getIn1_features <em>In1 features</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Bilinear#getIn2_features <em>In2 features</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layersPackage#getBilinear()
+ * @model
+ * @generated
+ */
+public interface Bilinear extends Linear_layers_1 {
+	/**
+	 * Returns the value of the '<em><b>In1 features</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>In1 features</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>In1 features</em>' attribute.
+	 * @see #setIn1_features(int)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layersPackage#getBilinear_In1_features()
+	 * @model dataType="org.eclipse.uml2.types.Integer" required="true" ordered="false"
+	 * @generated
+	 */
+	int getIn1_features();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Bilinear#getIn1_features <em>In1 features</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>In1 features</em>' attribute.
+	 * @see #getIn1_features()
+	 * @generated
+	 */
+	void setIn1_features(int value);
+
+	/**
+	 * Returns the value of the '<em><b>In2 features</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>In2 features</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>In2 features</em>' attribute.
+	 * @see #setIn2_features(int)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layersPackage#getBilinear_In2_features()
+	 * @model dataType="org.eclipse.uml2.types.Integer" required="true" ordered="false"
+	 * @generated
+	 */
+	int getIn2_features();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Bilinear#getIn2_features <em>In2 features</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>In2 features</em>' attribute.
+	 * @see #getIn2_features()
+	 * @generated
+	 */
+	void setIn2_features(int value);
+
+} // Bilinear
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/Identity.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/Identity.java
new file mode 100644
index 0000000..0b01802
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/Identity.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Linear_layers;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Identity</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layersPackage#getIdentity()
+ * @model
+ * @generated
+ */
+public interface Identity extends Linear_layers {
+} // Identity
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/Linear.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/Linear.java
new file mode 100644
index 0000000..1b74378
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/Linear.java
@@ -0,0 +1,139 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Linear_layers;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Linear</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear#getIn_features <em>In features</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear#getActivation <em>Activation</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear#getKernel_initializer <em>Kernel initializer</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear#getBias_initializer <em>Bias initializer</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layersPackage#getLinear()
+ * @model
+ * @generated
+ */
+public interface Linear extends Linear_layers_1 {
+	/**
+	 * Returns the value of the '<em><b>In features</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>In features</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>In features</em>' attribute.
+	 * @see #setIn_features(int)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layersPackage#getLinear_In_features()
+	 * @model dataType="org.eclipse.uml2.types.Integer" ordered="false"
+	 * @generated
+	 */
+	int getIn_features();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear#getIn_features <em>In features</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>In features</em>' attribute.
+	 * @see #getIn_features()
+	 * @generated
+	 */
+	void setIn_features(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Activation</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Activation</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Activation</em>' attribute.
+	 * @see #setActivation(String)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layersPackage#getLinear_Activation()
+	 * @model dataType="org.eclipse.uml2.types.String" ordered="false"
+	 * @generated
+	 */
+	String getActivation();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear#getActivation <em>Activation</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Activation</em>' attribute.
+	 * @see #getActivation()
+	 * @generated
+	 */
+	void setActivation(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Kernel initializer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Kernel initializer</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Kernel initializer</em>' attribute.
+	 * @see #setKernel_initializer(String)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layersPackage#getLinear_Kernel_initializer()
+	 * @model dataType="org.eclipse.uml2.types.String" ordered="false"
+	 * @generated
+	 */
+	String getKernel_initializer();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear#getKernel_initializer <em>Kernel initializer</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Kernel initializer</em>' attribute.
+	 * @see #getKernel_initializer()
+	 * @generated
+	 */
+	void setKernel_initializer(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Bias initializer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Bias initializer</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Bias initializer</em>' attribute.
+	 * @see #setBias_initializer(String)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layersPackage#getLinear_Bias_initializer()
+	 * @model dataType="org.eclipse.uml2.types.String" ordered="false"
+	 * @generated
+	 */
+	String getBias_initializer();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear#getBias_initializer <em>Bias initializer</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Bias initializer</em>' attribute.
+	 * @see #getBias_initializer()
+	 * @generated
+	 */
+	void setBias_initializer(String value);
+
+} // Linear
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/Linear_layers.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/Linear_layers.java
new file mode 100644
index 0000000..f45c99d
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/Linear_layers.java
@@ -0,0 +1,27 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Linear_layers;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Module.Model;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Linear layers</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layersPackage#getLinear_layers()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Linear_layers extends Model {
+} // Linear_layers
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/Linear_layersFactory.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/Linear_layersFactory.java
new file mode 100644
index 0000000..2c63d18
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/Linear_layersFactory.java
@@ -0,0 +1,69 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Linear_layers;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layersPackage
+ * @generated
+ */
+public interface Linear_layersFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	Linear_layersFactory eINSTANCE = org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.Linear_layersFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Identity</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Identity</em>'.
+	 * @generated
+	 */
+	Identity createIdentity();
+
+	/**
+	 * Returns a new object of class '<em>Linear</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Linear</em>'.
+	 * @generated
+	 */
+	Linear createLinear();
+
+	/**
+	 * Returns a new object of class '<em>Bilinear</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Bilinear</em>'.
+	 * @generated
+	 */
+	Bilinear createBilinear();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	Linear_layersPackage getLinear_layersPackage();
+
+} //Linear_layersFactory
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/Linear_layersPackage.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/Linear_layersPackage.java
new file mode 100644
index 0000000..f9f33cd
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/Linear_layersPackage.java
@@ -0,0 +1,910 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Linear_layers;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Module.ModulePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each operation of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layersFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface Linear_layersPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "Linear_layers"; //$NON-NLS-1$
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://www.eclipse.org/papyrus/AIML/linear/1"; //$NON-NLS-1$
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "AIML.Linear_layers"; //$NON-NLS-1$
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	Linear_layersPackage eINSTANCE = org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.Linear_layersPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.Linear_layersImpl <em>Linear layers</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.Linear_layersImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.Linear_layersPackageImpl#getLinear_layers()
+	 * @generated
+	 */
+	int LINEAR_LAYERS = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINEAR_LAYERS__BASE_CLASS = ModulePackage.MODEL__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINEAR_LAYERS__NAME = ModulePackage.MODEL__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINEAR_LAYERS__DATA = ModulePackage.MODEL__DATA;
+
+	/**
+	 * The feature id for the '<em><b>Requires grad</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINEAR_LAYERS__REQUIRES_GRAD = ModulePackage.MODEL__REQUIRES_GRAD;
+
+	/**
+	 * The feature id for the '<em><b>Sub Module</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINEAR_LAYERS__SUB_MODULE = ModulePackage.MODEL__SUB_MODULE;
+
+	/**
+	 * The feature id for the '<em><b>Optimizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINEAR_LAYERS__OPTIMIZER = ModulePackage.MODEL__OPTIMIZER;
+
+	/**
+	 * The feature id for the '<em><b>Loss</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINEAR_LAYERS__LOSS = ModulePackage.MODEL__LOSS;
+
+	/**
+	 * The number of structural features of the '<em>Linear layers</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINEAR_LAYERS_FEATURE_COUNT = ModulePackage.MODEL_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>Linear layers</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINEAR_LAYERS_OPERATION_COUNT = ModulePackage.MODEL_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.IdentityImpl <em>Identity</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.IdentityImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.Linear_layersPackageImpl#getIdentity()
+	 * @generated
+	 */
+	int IDENTITY = 1;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IDENTITY__BASE_CLASS = LINEAR_LAYERS__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IDENTITY__NAME = LINEAR_LAYERS__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IDENTITY__DATA = LINEAR_LAYERS__DATA;
+
+	/**
+	 * The feature id for the '<em><b>Requires grad</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IDENTITY__REQUIRES_GRAD = LINEAR_LAYERS__REQUIRES_GRAD;
+
+	/**
+	 * The feature id for the '<em><b>Sub Module</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IDENTITY__SUB_MODULE = LINEAR_LAYERS__SUB_MODULE;
+
+	/**
+	 * The feature id for the '<em><b>Optimizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IDENTITY__OPTIMIZER = LINEAR_LAYERS__OPTIMIZER;
+
+	/**
+	 * The feature id for the '<em><b>Loss</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IDENTITY__LOSS = LINEAR_LAYERS__LOSS;
+
+	/**
+	 * The number of structural features of the '<em>Identity</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IDENTITY_FEATURE_COUNT = LINEAR_LAYERS_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>Identity</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int IDENTITY_OPERATION_COUNT = LINEAR_LAYERS_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.Linear_layers_1Impl <em>Linear layers 1</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.Linear_layers_1Impl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.Linear_layersPackageImpl#getLinear_layers_1()
+	 * @generated
+	 */
+	int LINEAR_LAYERS_1 = 2;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINEAR_LAYERS_1__BASE_CLASS = LINEAR_LAYERS__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINEAR_LAYERS_1__NAME = LINEAR_LAYERS__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINEAR_LAYERS_1__DATA = LINEAR_LAYERS__DATA;
+
+	/**
+	 * The feature id for the '<em><b>Requires grad</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINEAR_LAYERS_1__REQUIRES_GRAD = LINEAR_LAYERS__REQUIRES_GRAD;
+
+	/**
+	 * The feature id for the '<em><b>Sub Module</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINEAR_LAYERS_1__SUB_MODULE = LINEAR_LAYERS__SUB_MODULE;
+
+	/**
+	 * The feature id for the '<em><b>Optimizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINEAR_LAYERS_1__OPTIMIZER = LINEAR_LAYERS__OPTIMIZER;
+
+	/**
+	 * The feature id for the '<em><b>Loss</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINEAR_LAYERS_1__LOSS = LINEAR_LAYERS__LOSS;
+
+	/**
+	 * The feature id for the '<em><b>Out features</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINEAR_LAYERS_1__OUT_FEATURES = LINEAR_LAYERS_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Bias</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINEAR_LAYERS_1__BIAS = LINEAR_LAYERS_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the '<em>Linear layers 1</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINEAR_LAYERS_1_FEATURE_COUNT = LINEAR_LAYERS_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of operations of the '<em>Linear layers 1</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINEAR_LAYERS_1_OPERATION_COUNT = LINEAR_LAYERS_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.LinearImpl <em>Linear</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.LinearImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.Linear_layersPackageImpl#getLinear()
+	 * @generated
+	 */
+	int LINEAR = 3;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINEAR__BASE_CLASS = LINEAR_LAYERS_1__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINEAR__NAME = LINEAR_LAYERS_1__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINEAR__DATA = LINEAR_LAYERS_1__DATA;
+
+	/**
+	 * The feature id for the '<em><b>Requires grad</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINEAR__REQUIRES_GRAD = LINEAR_LAYERS_1__REQUIRES_GRAD;
+
+	/**
+	 * The feature id for the '<em><b>Sub Module</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINEAR__SUB_MODULE = LINEAR_LAYERS_1__SUB_MODULE;
+
+	/**
+	 * The feature id for the '<em><b>Optimizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINEAR__OPTIMIZER = LINEAR_LAYERS_1__OPTIMIZER;
+
+	/**
+	 * The feature id for the '<em><b>Loss</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINEAR__LOSS = LINEAR_LAYERS_1__LOSS;
+
+	/**
+	 * The feature id for the '<em><b>Out features</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINEAR__OUT_FEATURES = LINEAR_LAYERS_1__OUT_FEATURES;
+
+	/**
+	 * The feature id for the '<em><b>Bias</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINEAR__BIAS = LINEAR_LAYERS_1__BIAS;
+
+	/**
+	 * The feature id for the '<em><b>In features</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINEAR__IN_FEATURES = LINEAR_LAYERS_1_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Activation</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINEAR__ACTIVATION = LINEAR_LAYERS_1_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Kernel initializer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINEAR__KERNEL_INITIALIZER = LINEAR_LAYERS_1_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Bias initializer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINEAR__BIAS_INITIALIZER = LINEAR_LAYERS_1_FEATURE_COUNT + 3;
+
+	/**
+	 * The number of structural features of the '<em>Linear</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINEAR_FEATURE_COUNT = LINEAR_LAYERS_1_FEATURE_COUNT + 4;
+
+	/**
+	 * The number of operations of the '<em>Linear</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINEAR_OPERATION_COUNT = LINEAR_LAYERS_1_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.BilinearImpl <em>Bilinear</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.BilinearImpl
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.Linear_layersPackageImpl#getBilinear()
+	 * @generated
+	 */
+	int BILINEAR = 4;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BILINEAR__BASE_CLASS = LINEAR_LAYERS_1__BASE_CLASS;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BILINEAR__NAME = LINEAR_LAYERS_1__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BILINEAR__DATA = LINEAR_LAYERS_1__DATA;
+
+	/**
+	 * The feature id for the '<em><b>Requires grad</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BILINEAR__REQUIRES_GRAD = LINEAR_LAYERS_1__REQUIRES_GRAD;
+
+	/**
+	 * The feature id for the '<em><b>Sub Module</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BILINEAR__SUB_MODULE = LINEAR_LAYERS_1__SUB_MODULE;
+
+	/**
+	 * The feature id for the '<em><b>Optimizer</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BILINEAR__OPTIMIZER = LINEAR_LAYERS_1__OPTIMIZER;
+
+	/**
+	 * The feature id for the '<em><b>Loss</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BILINEAR__LOSS = LINEAR_LAYERS_1__LOSS;
+
+	/**
+	 * The feature id for the '<em><b>Out features</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BILINEAR__OUT_FEATURES = LINEAR_LAYERS_1__OUT_FEATURES;
+
+	/**
+	 * The feature id for the '<em><b>Bias</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BILINEAR__BIAS = LINEAR_LAYERS_1__BIAS;
+
+	/**
+	 * The feature id for the '<em><b>In1 features</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BILINEAR__IN1_FEATURES = LINEAR_LAYERS_1_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>In2 features</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BILINEAR__IN2_FEATURES = LINEAR_LAYERS_1_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the '<em>Bilinear</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BILINEAR_FEATURE_COUNT = LINEAR_LAYERS_1_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of operations of the '<em>Bilinear</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BILINEAR_OPERATION_COUNT = LINEAR_LAYERS_1_OPERATION_COUNT + 0;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layers <em>Linear layers</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Linear layers</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layers
+	 * @generated
+	 */
+	EClass getLinear_layers();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Identity <em>Identity</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Identity</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Identity
+	 * @generated
+	 */
+	EClass getIdentity();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layers_1 <em>Linear layers 1</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Linear layers 1</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layers_1
+	 * @generated
+	 */
+	EClass getLinear_layers_1();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layers_1#getOut_features <em>Out features</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Out features</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layers_1#getOut_features()
+	 * @see #getLinear_layers_1()
+	 * @generated
+	 */
+	EAttribute getLinear_layers_1_Out_features();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layers_1#isBias <em>Bias</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Bias</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layers_1#isBias()
+	 * @see #getLinear_layers_1()
+	 * @generated
+	 */
+	EAttribute getLinear_layers_1_Bias();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear <em>Linear</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Linear</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear
+	 * @generated
+	 */
+	EClass getLinear();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear#getIn_features <em>In features</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>In features</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear#getIn_features()
+	 * @see #getLinear()
+	 * @generated
+	 */
+	EAttribute getLinear_In_features();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear#getActivation <em>Activation</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Activation</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear#getActivation()
+	 * @see #getLinear()
+	 * @generated
+	 */
+	EAttribute getLinear_Activation();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear#getKernel_initializer <em>Kernel initializer</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Kernel initializer</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear#getKernel_initializer()
+	 * @see #getLinear()
+	 * @generated
+	 */
+	EAttribute getLinear_Kernel_initializer();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear#getBias_initializer <em>Bias initializer</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Bias initializer</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear#getBias_initializer()
+	 * @see #getLinear()
+	 * @generated
+	 */
+	EAttribute getLinear_Bias_initializer();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Bilinear <em>Bilinear</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Bilinear</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Bilinear
+	 * @generated
+	 */
+	EClass getBilinear();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Bilinear#getIn1_features <em>In1 features</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>In1 features</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Bilinear#getIn1_features()
+	 * @see #getBilinear()
+	 * @generated
+	 */
+	EAttribute getBilinear_In1_features();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Bilinear#getIn2_features <em>In2 features</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>In2 features</em>'.
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Bilinear#getIn2_features()
+	 * @see #getBilinear()
+	 * @generated
+	 */
+	EAttribute getBilinear_In2_features();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	Linear_layersFactory getLinear_layersFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each operation of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.Linear_layersImpl <em>Linear layers</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.Linear_layersImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.Linear_layersPackageImpl#getLinear_layers()
+		 * @generated
+		 */
+		EClass LINEAR_LAYERS = eINSTANCE.getLinear_layers();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.IdentityImpl <em>Identity</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.IdentityImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.Linear_layersPackageImpl#getIdentity()
+		 * @generated
+		 */
+		EClass IDENTITY = eINSTANCE.getIdentity();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.Linear_layers_1Impl <em>Linear layers 1</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.Linear_layers_1Impl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.Linear_layersPackageImpl#getLinear_layers_1()
+		 * @generated
+		 */
+		EClass LINEAR_LAYERS_1 = eINSTANCE.getLinear_layers_1();
+
+		/**
+		 * The meta object literal for the '<em><b>Out features</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute LINEAR_LAYERS_1__OUT_FEATURES = eINSTANCE.getLinear_layers_1_Out_features();
+
+		/**
+		 * The meta object literal for the '<em><b>Bias</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute LINEAR_LAYERS_1__BIAS = eINSTANCE.getLinear_layers_1_Bias();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.LinearImpl <em>Linear</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.LinearImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.Linear_layersPackageImpl#getLinear()
+		 * @generated
+		 */
+		EClass LINEAR = eINSTANCE.getLinear();
+
+		/**
+		 * The meta object literal for the '<em><b>In features</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute LINEAR__IN_FEATURES = eINSTANCE.getLinear_In_features();
+
+		/**
+		 * The meta object literal for the '<em><b>Activation</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute LINEAR__ACTIVATION = eINSTANCE.getLinear_Activation();
+
+		/**
+		 * The meta object literal for the '<em><b>Kernel initializer</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute LINEAR__KERNEL_INITIALIZER = eINSTANCE.getLinear_Kernel_initializer();
+
+		/**
+		 * The meta object literal for the '<em><b>Bias initializer</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute LINEAR__BIAS_INITIALIZER = eINSTANCE.getLinear_Bias_initializer();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.BilinearImpl <em>Bilinear</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.BilinearImpl
+		 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.Linear_layersPackageImpl#getBilinear()
+		 * @generated
+		 */
+		EClass BILINEAR = eINSTANCE.getBilinear();
+
+		/**
+		 * The meta object literal for the '<em><b>In1 features</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute BILINEAR__IN1_FEATURES = eINSTANCE.getBilinear_In1_features();
+
+		/**
+		 * The meta object literal for the '<em><b>In2 features</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute BILINEAR__IN2_FEATURES = eINSTANCE.getBilinear_In2_features();
+
+	}
+
+} //Linear_layersPackage
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/Linear_layers_1.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/Linear_layers_1.java
new file mode 100644
index 0000000..7a4ec71
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/Linear_layers_1.java
@@ -0,0 +1,85 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Linear_layers;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Linear layers 1</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layers_1#getOut_features <em>Out features</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layers_1#isBias <em>Bias</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layersPackage#getLinear_layers_1()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Linear_layers_1 extends Linear_layers {
+	/**
+	 * Returns the value of the '<em><b>Out features</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Out features</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Out features</em>' attribute.
+	 * @see #setOut_features(int)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layersPackage#getLinear_layers_1_Out_features()
+	 * @model dataType="org.eclipse.uml2.types.Integer" required="true" ordered="false"
+	 * @generated
+	 */
+	int getOut_features();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layers_1#getOut_features <em>Out features</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Out features</em>' attribute.
+	 * @see #getOut_features()
+	 * @generated
+	 */
+	void setOut_features(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Bias</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Bias</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Bias</em>' attribute.
+	 * @see #setBias(boolean)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layersPackage#getLinear_layers_1_Bias()
+	 * @model dataType="org.eclipse.uml2.types.Boolean" ordered="false"
+	 * @generated
+	 */
+	boolean isBias();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layers_1#isBias <em>Bias</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Bias</em>' attribute.
+	 * @see #isBias()
+	 * @generated
+	 */
+	void setBias(boolean value);
+
+} // Linear_layers_1
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/impl/BilinearImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/impl/BilinearImpl.java
new file mode 100644
index 0000000..a57b91b
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/impl/BilinearImpl.java
@@ -0,0 +1,229 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Bilinear;
+import org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layersPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Bilinear</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.BilinearImpl#getIn1_features <em>In1 features</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.BilinearImpl#getIn2_features <em>In2 features</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class BilinearImpl extends Linear_layers_1Impl implements Bilinear {
+	/**
+	 * The default value of the '{@link #getIn1_features() <em>In1 features</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getIn1_features()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int IN1_FEATURES_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getIn1_features() <em>In1 features</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getIn1_features()
+	 * @generated
+	 * @ordered
+	 */
+	protected int in1_features = IN1_FEATURES_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getIn2_features() <em>In2 features</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getIn2_features()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int IN2_FEATURES_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getIn2_features() <em>In2 features</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getIn2_features()
+	 * @generated
+	 * @ordered
+	 */
+	protected int in2_features = IN2_FEATURES_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected BilinearImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Linear_layersPackage.Literals.BILINEAR;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int getIn1_features() {
+		return in1_features;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setIn1_features(int newIn1_features) {
+		int oldIn1_features = in1_features;
+		in1_features = newIn1_features;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Linear_layersPackage.BILINEAR__IN1_FEATURES, oldIn1_features, in1_features));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int getIn2_features() {
+		return in2_features;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setIn2_features(int newIn2_features) {
+		int oldIn2_features = in2_features;
+		in2_features = newIn2_features;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Linear_layersPackage.BILINEAR__IN2_FEATURES, oldIn2_features, in2_features));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case Linear_layersPackage.BILINEAR__IN1_FEATURES:
+				return getIn1_features();
+			case Linear_layersPackage.BILINEAR__IN2_FEATURES:
+				return getIn2_features();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case Linear_layersPackage.BILINEAR__IN1_FEATURES:
+				setIn1_features((Integer)newValue);
+				return;
+			case Linear_layersPackage.BILINEAR__IN2_FEATURES:
+				setIn2_features((Integer)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case Linear_layersPackage.BILINEAR__IN1_FEATURES:
+				setIn1_features(IN1_FEATURES_EDEFAULT);
+				return;
+			case Linear_layersPackage.BILINEAR__IN2_FEATURES:
+				setIn2_features(IN2_FEATURES_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case Linear_layersPackage.BILINEAR__IN1_FEATURES:
+				return in1_features != IN1_FEATURES_EDEFAULT;
+			case Linear_layersPackage.BILINEAR__IN2_FEATURES:
+				return in2_features != IN2_FEATURES_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(" (in1_features: "); //$NON-NLS-1$
+		result.append(in1_features);
+		result.append(", in2_features: "); //$NON-NLS-1$
+		result.append(in2_features);
+		result.append(')');
+		return result.toString();
+	}
+
+} //BilinearImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/impl/IdentityImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/impl/IdentityImpl.java
new file mode 100644
index 0000000..62f2cda
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/impl/IdentityImpl.java
@@ -0,0 +1,46 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Identity;
+import org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layersPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Identity</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class IdentityImpl extends Linear_layersImpl implements Identity {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IdentityImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Linear_layersPackage.Literals.IDENTITY;
+	}
+
+} //IdentityImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/impl/LinearImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/impl/LinearImpl.java
new file mode 100644
index 0000000..3760b67
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/impl/LinearImpl.java
@@ -0,0 +1,341 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear;
+import org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layersPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Linear</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.LinearImpl#getIn_features <em>In features</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.LinearImpl#getActivation <em>Activation</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.LinearImpl#getKernel_initializer <em>Kernel initializer</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.LinearImpl#getBias_initializer <em>Bias initializer</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class LinearImpl extends Linear_layers_1Impl implements Linear {
+	/**
+	 * The default value of the '{@link #getIn_features() <em>In features</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getIn_features()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int IN_FEATURES_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getIn_features() <em>In features</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getIn_features()
+	 * @generated
+	 * @ordered
+	 */
+	protected int in_features = IN_FEATURES_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getActivation() <em>Activation</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getActivation()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String ACTIVATION_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getActivation() <em>Activation</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getActivation()
+	 * @generated
+	 * @ordered
+	 */
+	protected String activation = ACTIVATION_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getKernel_initializer() <em>Kernel initializer</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getKernel_initializer()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String KERNEL_INITIALIZER_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getKernel_initializer() <em>Kernel initializer</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getKernel_initializer()
+	 * @generated
+	 * @ordered
+	 */
+	protected String kernel_initializer = KERNEL_INITIALIZER_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getBias_initializer() <em>Bias initializer</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBias_initializer()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String BIAS_INITIALIZER_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getBias_initializer() <em>Bias initializer</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBias_initializer()
+	 * @generated
+	 * @ordered
+	 */
+	protected String bias_initializer = BIAS_INITIALIZER_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected LinearImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Linear_layersPackage.Literals.LINEAR;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int getIn_features() {
+		return in_features;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setIn_features(int newIn_features) {
+		int oldIn_features = in_features;
+		in_features = newIn_features;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Linear_layersPackage.LINEAR__IN_FEATURES, oldIn_features, in_features));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getActivation() {
+		return activation;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setActivation(String newActivation) {
+		String oldActivation = activation;
+		activation = newActivation;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Linear_layersPackage.LINEAR__ACTIVATION, oldActivation, activation));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getKernel_initializer() {
+		return kernel_initializer;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setKernel_initializer(String newKernel_initializer) {
+		String oldKernel_initializer = kernel_initializer;
+		kernel_initializer = newKernel_initializer;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Linear_layersPackage.LINEAR__KERNEL_INITIALIZER, oldKernel_initializer, kernel_initializer));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getBias_initializer() {
+		return bias_initializer;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setBias_initializer(String newBias_initializer) {
+		String oldBias_initializer = bias_initializer;
+		bias_initializer = newBias_initializer;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Linear_layersPackage.LINEAR__BIAS_INITIALIZER, oldBias_initializer, bias_initializer));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case Linear_layersPackage.LINEAR__IN_FEATURES:
+				return getIn_features();
+			case Linear_layersPackage.LINEAR__ACTIVATION:
+				return getActivation();
+			case Linear_layersPackage.LINEAR__KERNEL_INITIALIZER:
+				return getKernel_initializer();
+			case Linear_layersPackage.LINEAR__BIAS_INITIALIZER:
+				return getBias_initializer();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case Linear_layersPackage.LINEAR__IN_FEATURES:
+				setIn_features((Integer)newValue);
+				return;
+			case Linear_layersPackage.LINEAR__ACTIVATION:
+				setActivation((String)newValue);
+				return;
+			case Linear_layersPackage.LINEAR__KERNEL_INITIALIZER:
+				setKernel_initializer((String)newValue);
+				return;
+			case Linear_layersPackage.LINEAR__BIAS_INITIALIZER:
+				setBias_initializer((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case Linear_layersPackage.LINEAR__IN_FEATURES:
+				setIn_features(IN_FEATURES_EDEFAULT);
+				return;
+			case Linear_layersPackage.LINEAR__ACTIVATION:
+				setActivation(ACTIVATION_EDEFAULT);
+				return;
+			case Linear_layersPackage.LINEAR__KERNEL_INITIALIZER:
+				setKernel_initializer(KERNEL_INITIALIZER_EDEFAULT);
+				return;
+			case Linear_layersPackage.LINEAR__BIAS_INITIALIZER:
+				setBias_initializer(BIAS_INITIALIZER_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case Linear_layersPackage.LINEAR__IN_FEATURES:
+				return in_features != IN_FEATURES_EDEFAULT;
+			case Linear_layersPackage.LINEAR__ACTIVATION:
+				return ACTIVATION_EDEFAULT == null ? activation != null : !ACTIVATION_EDEFAULT.equals(activation);
+			case Linear_layersPackage.LINEAR__KERNEL_INITIALIZER:
+				return KERNEL_INITIALIZER_EDEFAULT == null ? kernel_initializer != null : !KERNEL_INITIALIZER_EDEFAULT.equals(kernel_initializer);
+			case Linear_layersPackage.LINEAR__BIAS_INITIALIZER:
+				return BIAS_INITIALIZER_EDEFAULT == null ? bias_initializer != null : !BIAS_INITIALIZER_EDEFAULT.equals(bias_initializer);
+		}
+		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(" (in_features: "); //$NON-NLS-1$
+		result.append(in_features);
+		result.append(", activation: "); //$NON-NLS-1$
+		result.append(activation);
+		result.append(", kernel_initializer: "); //$NON-NLS-1$
+		result.append(kernel_initializer);
+		result.append(", bias_initializer: "); //$NON-NLS-1$
+		result.append(bias_initializer);
+		result.append(')');
+		return result.toString();
+	}
+
+} //LinearImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/impl/Linear_layersFactoryImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/impl/Linear_layersFactoryImpl.java
new file mode 100644
index 0000000..ff946d3
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/impl/Linear_layersFactoryImpl.java
@@ -0,0 +1,130 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class Linear_layersFactoryImpl extends EFactoryImpl implements Linear_layersFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static Linear_layersFactory init() {
+		try {
+			Linear_layersFactory theLinear_layersFactory = (Linear_layersFactory)EPackage.Registry.INSTANCE.getEFactory(Linear_layersPackage.eNS_URI);
+			if (theLinear_layersFactory != null) {
+				return theLinear_layersFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new Linear_layersFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Linear_layersFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case Linear_layersPackage.IDENTITY: return createIdentity();
+			case Linear_layersPackage.LINEAR: return createLinear();
+			case Linear_layersPackage.BILINEAR: return createBilinear();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Identity createIdentity() {
+		IdentityImpl identity = new IdentityImpl();
+		return identity;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Linear createLinear() {
+		LinearImpl linear = new LinearImpl();
+		return linear;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Bilinear createBilinear() {
+		BilinearImpl bilinear = new BilinearImpl();
+		return bilinear;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Linear_layersPackage getLinear_layersPackage() {
+		return (Linear_layersPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static Linear_layersPackage getPackage() {
+		return Linear_layersPackage.eINSTANCE;
+	}
+
+} //Linear_layersFactoryImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/impl/Linear_layersImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/impl/Linear_layersImpl.java
new file mode 100644
index 0000000..5bdfd96
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/impl/Linear_layersImpl.java
@@ -0,0 +1,47 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layers;
+import org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layersPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Module.impl.ModelImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Linear layers</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public abstract class Linear_layersImpl extends ModelImpl implements Linear_layers {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Linear_layersImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Linear_layersPackage.Literals.LINEAR_LAYERS;
+	}
+
+} //Linear_layersImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/impl/Linear_layersPackageImpl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/impl/Linear_layersPackageImpl.java
new file mode 100644
index 0000000..747b643
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/impl/Linear_layersPackageImpl.java
@@ -0,0 +1,547 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EcorePackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.AIMLPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.Convolution_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Convolution_layers.impl.Convolution_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.DataParallel_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.DataParallel_layers.impl.DataParallel_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.Distance_functionsPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Distance_functions.impl.Distance_functionsPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.Dropout_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Dropout_layers.impl.Dropout_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.Layer_weight_constraintsPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_constraints.impl.Layer_weight_constraintsPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.Layer_weight_initializersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_initializers.impl.Layer_weight_initializersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.Layer_weight_regularizersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Layer_weight_regularizers.impl.Layer_weight_regularizersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Bilinear;
+import org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Identity;
+import org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear;
+import org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layers;
+import org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layersFactory;
+import org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layersPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layers_1;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Loss_functions.Loss_functionsPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Loss_functions.impl.Loss_functionsPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Module.ModulePackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Module.impl.ModulePackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.NonLinearActivationsPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.NonLinearActivations.impl.NonLinearActivationsPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Normalization_layers.Normalization_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Normalization_layers.impl.Normalization_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Padding_layers.Padding_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Padding_layers.impl.Padding_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Pooling_layers.Pooling_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Pooling_layers.impl.Pooling_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Recurrent_layers.Recurrent_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Recurrent_layers.impl.Recurrent_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.SoftMinMaxActivations.SoftMinMaxActivationsPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.SoftMinMaxActivations.impl.SoftMinMaxActivationsPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Sparse_layers.Sparse_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Sparse_layers.impl.Sparse_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Tensor.TensorPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Tensor.impl.TensorPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Transformer_layers.Transformer_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Transformer_layers.impl.Transformer_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Vision_layers.Vision_layersPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Vision_layers.impl.Vision_layersPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.datatypes.DatatypesPackage;
+
+import org.eclipse.papyrus.aiml.profile.AIML.datatypes.impl.DatatypesPackageImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.impl.AIMLPackageImpl;
+
+import org.eclipse.uml2.types.TypesPackage;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class Linear_layersPackageImpl extends EPackageImpl implements Linear_layersPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass linear_layersEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass identityEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass linear_layers_1EClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass linearEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass bilinearEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layersPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private Linear_layersPackageImpl() {
+		super(eNS_URI, Linear_layersFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 *
+	 * <p>This method is used to initialize {@link Linear_layersPackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static Linear_layersPackage init() {
+		if (isInited) return (Linear_layersPackage)EPackage.Registry.INSTANCE.getEPackage(Linear_layersPackage.eNS_URI);
+
+		// Obtain or create and register package
+		Object registeredLinear_layersPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+		Linear_layersPackageImpl theLinear_layersPackage = registeredLinear_layersPackage instanceof Linear_layersPackageImpl ? (Linear_layersPackageImpl)registeredLinear_layersPackage : new Linear_layersPackageImpl();
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		EcorePackage.eINSTANCE.eClass();
+		TypesPackage.eINSTANCE.eClass();
+		UMLPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		Object registeredPackage = EPackage.Registry.INSTANCE.getEPackage(AIMLPackage.eNS_URI);
+		AIMLPackageImpl theAIMLPackage = (AIMLPackageImpl)(registeredPackage instanceof AIMLPackageImpl ? registeredPackage : AIMLPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ModulePackage.eNS_URI);
+		ModulePackageImpl theModulePackage = (ModulePackageImpl)(registeredPackage instanceof ModulePackageImpl ? registeredPackage : ModulePackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(TensorPackage.eNS_URI);
+		TensorPackageImpl theTensorPackage = (TensorPackageImpl)(registeredPackage instanceof TensorPackageImpl ? registeredPackage : TensorPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI);
+		DatatypesPackageImpl theDatatypesPackage = (DatatypesPackageImpl)(registeredPackage instanceof DatatypesPackageImpl ? registeredPackage : DatatypesPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Pooling_layersPackage.eNS_URI);
+		Pooling_layersPackageImpl thePooling_layersPackage = (Pooling_layersPackageImpl)(registeredPackage instanceof Pooling_layersPackageImpl ? registeredPackage : Pooling_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Convolution_layersPackage.eNS_URI);
+		Convolution_layersPackageImpl theConvolution_layersPackage = (Convolution_layersPackageImpl)(registeredPackage instanceof Convolution_layersPackageImpl ? registeredPackage : Convolution_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Layer_weight_constraintsPackage.eNS_URI);
+		Layer_weight_constraintsPackageImpl theLayer_weight_constraintsPackage = (Layer_weight_constraintsPackageImpl)(registeredPackage instanceof Layer_weight_constraintsPackageImpl ? registeredPackage : Layer_weight_constraintsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Padding_layersPackage.eNS_URI);
+		Padding_layersPackageImpl thePadding_layersPackage = (Padding_layersPackageImpl)(registeredPackage instanceof Padding_layersPackageImpl ? registeredPackage : Padding_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(NonLinearActivationsPackage.eNS_URI);
+		NonLinearActivationsPackageImpl theNonLinearActivationsPackage = (NonLinearActivationsPackageImpl)(registeredPackage instanceof NonLinearActivationsPackageImpl ? registeredPackage : NonLinearActivationsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(SoftMinMaxActivationsPackage.eNS_URI);
+		SoftMinMaxActivationsPackageImpl theSoftMinMaxActivationsPackage = (SoftMinMaxActivationsPackageImpl)(registeredPackage instanceof SoftMinMaxActivationsPackageImpl ? registeredPackage : SoftMinMaxActivationsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Normalization_layersPackage.eNS_URI);
+		Normalization_layersPackageImpl theNormalization_layersPackage = (Normalization_layersPackageImpl)(registeredPackage instanceof Normalization_layersPackageImpl ? registeredPackage : Normalization_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Recurrent_layersPackage.eNS_URI);
+		Recurrent_layersPackageImpl theRecurrent_layersPackage = (Recurrent_layersPackageImpl)(registeredPackage instanceof Recurrent_layersPackageImpl ? registeredPackage : Recurrent_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Transformer_layersPackage.eNS_URI);
+		Transformer_layersPackageImpl theTransformer_layersPackage = (Transformer_layersPackageImpl)(registeredPackage instanceof Transformer_layersPackageImpl ? registeredPackage : Transformer_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Dropout_layersPackage.eNS_URI);
+		Dropout_layersPackageImpl theDropout_layersPackage = (Dropout_layersPackageImpl)(registeredPackage instanceof Dropout_layersPackageImpl ? registeredPackage : Dropout_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Sparse_layersPackage.eNS_URI);
+		Sparse_layersPackageImpl theSparse_layersPackage = (Sparse_layersPackageImpl)(registeredPackage instanceof Sparse_layersPackageImpl ? registeredPackage : Sparse_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Distance_functionsPackage.eNS_URI);
+		Distance_functionsPackageImpl theDistance_functionsPackage = (Distance_functionsPackageImpl)(registeredPackage instanceof Distance_functionsPackageImpl ? registeredPackage : Distance_functionsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Loss_functionsPackage.eNS_URI);
+		Loss_functionsPackageImpl theLoss_functionsPackage = (Loss_functionsPackageImpl)(registeredPackage instanceof Loss_functionsPackageImpl ? registeredPackage : Loss_functionsPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Vision_layersPackage.eNS_URI);
+		Vision_layersPackageImpl theVision_layersPackage = (Vision_layersPackageImpl)(registeredPackage instanceof Vision_layersPackageImpl ? registeredPackage : Vision_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(DataParallel_layersPackage.eNS_URI);
+		DataParallel_layersPackageImpl theDataParallel_layersPackage = (DataParallel_layersPackageImpl)(registeredPackage instanceof DataParallel_layersPackageImpl ? registeredPackage : DataParallel_layersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Layer_weight_regularizersPackage.eNS_URI);
+		Layer_weight_regularizersPackageImpl theLayer_weight_regularizersPackage = (Layer_weight_regularizersPackageImpl)(registeredPackage instanceof Layer_weight_regularizersPackageImpl ? registeredPackage : Layer_weight_regularizersPackage.eINSTANCE);
+		registeredPackage = EPackage.Registry.INSTANCE.getEPackage(Layer_weight_initializersPackage.eNS_URI);
+		Layer_weight_initializersPackageImpl theLayer_weight_initializersPackage = (Layer_weight_initializersPackageImpl)(registeredPackage instanceof Layer_weight_initializersPackageImpl ? registeredPackage : Layer_weight_initializersPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theLinear_layersPackage.createPackageContents();
+		theAIMLPackage.createPackageContents();
+		theModulePackage.createPackageContents();
+		theTensorPackage.createPackageContents();
+		theDatatypesPackage.createPackageContents();
+		thePooling_layersPackage.createPackageContents();
+		theConvolution_layersPackage.createPackageContents();
+		theLayer_weight_constraintsPackage.createPackageContents();
+		thePadding_layersPackage.createPackageContents();
+		theNonLinearActivationsPackage.createPackageContents();
+		theSoftMinMaxActivationsPackage.createPackageContents();
+		theNormalization_layersPackage.createPackageContents();
+		theRecurrent_layersPackage.createPackageContents();
+		theTransformer_layersPackage.createPackageContents();
+		theDropout_layersPackage.createPackageContents();
+		theSparse_layersPackage.createPackageContents();
+		theDistance_functionsPackage.createPackageContents();
+		theLoss_functionsPackage.createPackageContents();
+		theVision_layersPackage.createPackageContents();
+		theDataParallel_layersPackage.createPackageContents();
+		theLayer_weight_regularizersPackage.createPackageContents();
+		theLayer_weight_initializersPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theLinear_layersPackage.initializePackageContents();
+		theAIMLPackage.initializePackageContents();
+		theModulePackage.initializePackageContents();
+		theTensorPackage.initializePackageContents();
+		theDatatypesPackage.initializePackageContents();
+		thePooling_layersPackage.initializePackageContents();
+		theConvolution_layersPackage.initializePackageContents();
+		theLayer_weight_constraintsPackage.initializePackageContents();
+		thePadding_layersPackage.initializePackageContents();
+		theNonLinearActivationsPackage.initializePackageContents();
+		theSoftMinMaxActivationsPackage.initializePackageContents();
+		theNormalization_layersPackage.initializePackageContents();
+		theRecurrent_layersPackage.initializePackageContents();
+		theTransformer_layersPackage.initializePackageContents();
+		theDropout_layersPackage.initializePackageContents();
+		theSparse_layersPackage.initializePackageContents();
+		theDistance_functionsPackage.initializePackageContents();
+		theLoss_functionsPackage.initializePackageContents();
+		theVision_layersPackage.initializePackageContents();
+		theDataParallel_layersPackage.initializePackageContents();
+		theLayer_weight_regularizersPackage.initializePackageContents();
+		theLayer_weight_initializersPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theLinear_layersPackage.freeze();
+
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(Linear_layersPackage.eNS_URI, theLinear_layersPackage);
+		return theLinear_layersPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getLinear_layers() {
+		return linear_layersEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getIdentity() {
+		return identityEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getLinear_layers_1() {
+		return linear_layers_1EClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getLinear_layers_1_Out_features() {
+		return (EAttribute)linear_layers_1EClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getLinear_layers_1_Bias() {
+		return (EAttribute)linear_layers_1EClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getLinear() {
+		return linearEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getLinear_In_features() {
+		return (EAttribute)linearEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getLinear_Activation() {
+		return (EAttribute)linearEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getLinear_Kernel_initializer() {
+		return (EAttribute)linearEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getLinear_Bias_initializer() {
+		return (EAttribute)linearEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EClass getBilinear() {
+		return bilinearEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getBilinear_In1_features() {
+		return (EAttribute)bilinearEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getBilinear_In2_features() {
+		return (EAttribute)bilinearEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Linear_layersFactory getLinear_layersFactory() {
+		return (Linear_layersFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		linear_layersEClass = createEClass(LINEAR_LAYERS);
+
+		identityEClass = createEClass(IDENTITY);
+
+		linear_layers_1EClass = createEClass(LINEAR_LAYERS_1);
+		createEAttribute(linear_layers_1EClass, LINEAR_LAYERS_1__OUT_FEATURES);
+		createEAttribute(linear_layers_1EClass, LINEAR_LAYERS_1__BIAS);
+
+		linearEClass = createEClass(LINEAR);
+		createEAttribute(linearEClass, LINEAR__IN_FEATURES);
+		createEAttribute(linearEClass, LINEAR__ACTIVATION);
+		createEAttribute(linearEClass, LINEAR__KERNEL_INITIALIZER);
+		createEAttribute(linearEClass, LINEAR__BIAS_INITIALIZER);
+
+		bilinearEClass = createEClass(BILINEAR);
+		createEAttribute(bilinearEClass, BILINEAR__IN1_FEATURES);
+		createEAttribute(bilinearEClass, BILINEAR__IN2_FEATURES);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		ModulePackage theModulePackage = (ModulePackage)EPackage.Registry.INSTANCE.getEPackage(ModulePackage.eNS_URI);
+		TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+		linear_layersEClass.getESuperTypes().add(theModulePackage.getModel());
+		identityEClass.getESuperTypes().add(this.getLinear_layers());
+		linear_layers_1EClass.getESuperTypes().add(this.getLinear_layers());
+		linearEClass.getESuperTypes().add(this.getLinear_layers_1());
+		bilinearEClass.getESuperTypes().add(this.getLinear_layers_1());
+
+		// Initialize classes, features, and operations; add parameters
+		initEClass(linear_layersEClass, Linear_layers.class, "Linear_layers", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		initEClass(identityEClass, Identity.class, "Identity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+		initEClass(linear_layers_1EClass, Linear_layers_1.class, "Linear_layers_1", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(getLinear_layers_1_Out_features(), theTypesPackage.getInteger(), "out_features", null, 1, 1, Linear_layers_1.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getLinear_layers_1_Bias(), theTypesPackage.getBoolean(), "bias", null, 0, 1, Linear_layers_1.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(linearEClass, Linear.class, "Linear", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(getLinear_In_features(), theTypesPackage.getInteger(), "in_features", null, 0, 1, Linear.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getLinear_Activation(), theTypesPackage.getString(), "activation", null, 0, 1, Linear.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getLinear_Kernel_initializer(), theTypesPackage.getString(), "kernel_initializer", null, 0, 1, Linear.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getLinear_Bias_initializer(), theTypesPackage.getString(), "bias_initializer", null, 0, 1, Linear.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEClass(bilinearEClass, Bilinear.class, "Bilinear", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(getBilinear_In1_features(), theTypesPackage.getInteger(), "in1_features", null, 1, 1, Bilinear.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getBilinear_In2_features(), theTypesPackage.getInteger(), "in2_features", null, 1, 1, Bilinear.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+	}
+
+} //Linear_layersPackageImpl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/impl/Linear_layers_1Impl.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/impl/Linear_layers_1Impl.java
new file mode 100644
index 0000000..a07819d
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/impl/Linear_layers_1Impl.java
@@ -0,0 +1,229 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layersPackage;
+import org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layers_1;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Linear layers 1</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.Linear_layers_1Impl#getOut_features <em>Out features</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.impl.Linear_layers_1Impl#isBias <em>Bias</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class Linear_layers_1Impl extends Linear_layersImpl implements Linear_layers_1 {
+	/**
+	 * The default value of the '{@link #getOut_features() <em>Out features</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOut_features()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int OUT_FEATURES_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getOut_features() <em>Out features</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOut_features()
+	 * @generated
+	 * @ordered
+	 */
+	protected int out_features = OUT_FEATURES_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #isBias() <em>Bias</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isBias()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean BIAS_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isBias() <em>Bias</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isBias()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean bias = BIAS_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Linear_layers_1Impl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return Linear_layersPackage.Literals.LINEAR_LAYERS_1;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int getOut_features() {
+		return out_features;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setOut_features(int newOut_features) {
+		int oldOut_features = out_features;
+		out_features = newOut_features;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Linear_layersPackage.LINEAR_LAYERS_1__OUT_FEATURES, oldOut_features, out_features));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isBias() {
+		return bias;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setBias(boolean newBias) {
+		boolean oldBias = bias;
+		bias = newBias;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, Linear_layersPackage.LINEAR_LAYERS_1__BIAS, oldBias, bias));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case Linear_layersPackage.LINEAR_LAYERS_1__OUT_FEATURES:
+				return getOut_features();
+			case Linear_layersPackage.LINEAR_LAYERS_1__BIAS:
+				return isBias();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case Linear_layersPackage.LINEAR_LAYERS_1__OUT_FEATURES:
+				setOut_features((Integer)newValue);
+				return;
+			case Linear_layersPackage.LINEAR_LAYERS_1__BIAS:
+				setBias((Boolean)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case Linear_layersPackage.LINEAR_LAYERS_1__OUT_FEATURES:
+				setOut_features(OUT_FEATURES_EDEFAULT);
+				return;
+			case Linear_layersPackage.LINEAR_LAYERS_1__BIAS:
+				setBias(BIAS_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case Linear_layersPackage.LINEAR_LAYERS_1__OUT_FEATURES:
+				return out_features != OUT_FEATURES_EDEFAULT;
+			case Linear_layersPackage.LINEAR_LAYERS_1__BIAS:
+				return bias != BIAS_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(" (out_features: "); //$NON-NLS-1$
+		result.append(out_features);
+		result.append(", bias: "); //$NON-NLS-1$
+		result.append(bias);
+		result.append(')');
+		return result.toString();
+	}
+
+} //Linear_layers_1Impl
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/util/Linear_layersAdapterFactory.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/util/Linear_layersAdapterFactory.java
new file mode 100644
index 0000000..d3b2272
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/util/Linear_layersAdapterFactory.java
@@ -0,0 +1,220 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.*;
+import org.eclipse.papyrus.aiml.profile.AIML.Module.Model;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layersPackage
+ * @generated
+ */
+public class Linear_layersAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static Linear_layersPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Linear_layersAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = Linear_layersPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Linear_layersSwitch<Adapter> modelSwitch =
+		new Linear_layersSwitch<Adapter>() {
+			@Override
+			public Adapter caseLinear_layers(Linear_layers object) {
+				return createLinear_layersAdapter();
+			}
+			@Override
+			public Adapter caseIdentity(Identity object) {
+				return createIdentityAdapter();
+			}
+			@Override
+			public Adapter caseLinear_layers_1(Linear_layers_1 object) {
+				return createLinear_layers_1Adapter();
+			}
+			@Override
+			public Adapter caseLinear(Linear object) {
+				return createLinearAdapter();
+			}
+			@Override
+			public Adapter caseBilinear(Bilinear object) {
+				return createBilinearAdapter();
+			}
+			@Override
+			public Adapter caseModel(Model object) {
+				return createModelAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layers <em>Linear layers</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.aiml.profile.AIML.Linear_layers.Linear_layers
+	 * @generated
+	 */
+	public Adapter createLinear_layersAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Identity <em>Identity</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.aiml.profile.AIML.Linear_layers.Identity
+	 * @generated
+	 */
+	public Adapter createIdentityAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layers_1 <em>Linear layers 1</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.aiml.profile.AIML.Linear_layers.Linear_layers_1
+	 * @generated
+	 */
+	public Adapter createLinear_layers_1Adapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear <em>Linear</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.aiml.profile.AIML.Linear_layers.Linear
+	 * @generated
+	 */
+	public Adapter createLinearAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Bilinear <em>Bilinear</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.aiml.profile.AIML.Linear_layers.Bilinear
+	 * @generated
+	 */
+	public Adapter createBilinearAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.aiml.profile.AIML.Module.Model <em>Model</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.aiml.profile.AIML.Module.Model
+	 * @generated
+	 */
+	public Adapter createModelAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //Linear_layersAdapterFactory
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/util/Linear_layersSwitch.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/util/Linear_layersSwitch.java
new file mode 100644
index 0000000..4f3e661
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Linear_layers/util/Linear_layersSwitch.java
@@ -0,0 +1,230 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.*;
+import org.eclipse.papyrus.aiml.profile.AIML.Module.Model;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Linear_layers.Linear_layersPackage
+ * @generated
+ */
+public class Linear_layersSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static Linear_layersPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Linear_layersSwitch() {
+		if (modelPackage == null) {
+			modelPackage = Linear_layersPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case Linear_layersPackage.LINEAR_LAYERS: {
+				Linear_layers linear_layers = (Linear_layers)theEObject;
+				T result = caseLinear_layers(linear_layers);
+				if (result == null) result = caseModel(linear_layers);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Linear_layersPackage.IDENTITY: {
+				Identity identity = (Identity)theEObject;
+				T result = caseIdentity(identity);
+				if (result == null) result = caseLinear_layers(identity);
+				if (result == null) result = caseModel(identity);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Linear_layersPackage.LINEAR_LAYERS_1: {
+				Linear_layers_1 linear_layers_1 = (Linear_layers_1)theEObject;
+				T result = caseLinear_layers_1(linear_layers_1);
+				if (result == null) result = caseLinear_layers(linear_layers_1);
+				if (result == null) result = caseModel(linear_layers_1);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Linear_layersPackage.LINEAR: {
+				Linear linear = (Linear)theEObject;
+				T result = caseLinear(linear);
+				if (result == null) result = caseLinear_layers_1(linear);
+				if (result == null) result = caseLinear_layers(linear);
+				if (result == null) result = caseModel(linear);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case Linear_layersPackage.BILINEAR: {
+				Bilinear bilinear = (Bilinear)theEObject;
+				T result = caseBilinear(bilinear);
+				if (result == null) result = caseLinear_layers_1(bilinear);
+				if (result == null) result = caseLinear_layers(bilinear);
+				if (result == null) result = caseModel(bilinear);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Linear layers</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>Linear layers</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseLinear_layers(Linear_layers object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Identity</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>Identity</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseIdentity(Identity object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Linear layers 1</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>Linear layers 1</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseLinear_layers_1(Linear_layers_1 object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Linear</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>Linear</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseLinear(Linear object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Bilinear</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>Bilinear</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseBilinear(Bilinear object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Model</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>Model</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseModel(Model object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+} //Linear_layersSwitch
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Loss_functions/BCELoss.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Loss_functions/BCELoss.java
new file mode 100644
index 0000000..51f1891
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Loss_functions/BCELoss.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Loss_functions;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>BCE Loss</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Loss_functions.Loss_functionsPackage#getBCELoss()
+ * @model
+ * @generated
+ */
+public interface BCELoss extends Loss_functions_1_2 {
+} // BCELoss
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Loss_functions/BCEWithLogitsLoss.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Loss_functions/BCEWithLogitsLoss.java
new file mode 100644
index 0000000..116ef52
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Loss_functions/BCEWithLogitsLoss.java
@@ -0,0 +1,59 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Loss_functions;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Tensor.Tensor;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>BCE With Logits Loss</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Loss_functions.BCEWithLogitsLoss#getPos_weight <em>Pos weight</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Loss_functions.Loss_functionsPackage#getBCEWithLogitsLoss()
+ * @model
+ * @generated
+ */
+public interface BCEWithLogitsLoss extends Loss_functions_1_2 {
+	/**
+	 * Returns the value of the '<em><b>Pos weight</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Pos weight</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Pos weight</em>' reference.
+	 * @see #setPos_weight(Tensor)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Loss_functions.Loss_functionsPackage#getBCEWithLogitsLoss_Pos_weight()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	Tensor getPos_weight();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Loss_functions.BCEWithLogitsLoss#getPos_weight <em>Pos weight</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Pos weight</em>' reference.
+	 * @see #getPos_weight()
+	 * @generated
+	 */
+	void setPos_weight(Tensor value);
+
+} // BCEWithLogitsLoss
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Loss_functions/CTCLoss.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Loss_functions/CTCLoss.java
new file mode 100644
index 0000000..2ef7c84
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Loss_functions/CTCLoss.java
@@ -0,0 +1,85 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Loss_functions;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>CTC Loss</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Loss_functions.CTCLoss#getBlank <em>Blank</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Loss_functions.CTCLoss#isZero_infinity <em>Zero infinity</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Loss_functions.Loss_functionsPackage#getCTCLoss()
+ * @model
+ * @generated
+ */
+public interface CTCLoss extends Loss_functions {
+	/**
+	 * Returns the value of the '<em><b>Blank</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Blank</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Blank</em>' attribute.
+	 * @see #setBlank(int)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Loss_functions.Loss_functionsPackage#getCTCLoss_Blank()
+	 * @model dataType="org.eclipse.uml2.types.Integer" ordered="false"
+	 * @generated
+	 */
+	int getBlank();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Loss_functions.CTCLoss#getBlank <em>Blank</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Blank</em>' attribute.
+	 * @see #getBlank()
+	 * @generated
+	 */
+	void setBlank(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Zero infinity</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Zero infinity</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Zero infinity</em>' attribute.
+	 * @see #setZero_infinity(boolean)
+	 * @see org.eclipse.papyrus.aiml.profile.AIML.Loss_functions.Loss_functionsPackage#getCTCLoss_Zero_infinity()
+	 * @model dataType="org.eclipse.uml2.types.Boolean" ordered="false"
+	 * @generated
+	 */
+	boolean isZero_infinity();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.aiml.profile.AIML.Loss_functions.CTCLoss#isZero_infinity <em>Zero infinity</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Zero infinity</em>' attribute.
+	 * @see #isZero_infinity()
+	 * @generated
+	 */
+	void setZero_infinity(boolean value);
+
+} // CTCLoss
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Loss_functions/CosineEmbeddingLoss.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Loss_functions/CosineEmbeddingLoss.java
new file mode 100644
index 0000000..093229c
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Loss_functions/CosineEmbeddingLoss.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Loss_functions;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Cosine Embedding Loss</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Loss_functions.Loss_functionsPackage#getCosineEmbeddingLoss()
+ * @model
+ * @generated
+ */
+public interface CosineEmbeddingLoss extends Loss_functions_1_1 {
+} // CosineEmbeddingLoss
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Loss_functions/CrossEntropyLoss.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Loss_functions/CrossEntropyLoss.java
new file mode 100644
index 0000000..512723f
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Loss_functions/CrossEntropyLoss.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Loss_functions;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Cross Entropy Loss</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Loss_functions.Loss_functionsPackage#getCrossEntropyLoss()
+ * @model
+ * @generated
+ */
+public interface CrossEntropyLoss extends Loss_functions_1_2_1 {
+} // CrossEntropyLoss
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Loss_functions/HingeEmbeddingLoss.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Loss_functions/HingeEmbeddingLoss.java
new file mode 100644
index 0000000..9af4a0c
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Loss_functions/HingeEmbeddingLoss.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Loss_functions;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hinge Embedding Loss</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Loss_functions.Loss_functionsPackage#getHingeEmbeddingLoss()
+ * @model
+ * @generated
+ */
+public interface HingeEmbeddingLoss extends Loss_functions_1_1 {
+} // HingeEmbeddingLoss
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Loss_functions/KLDivLoss.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Loss_functions/KLDivLoss.java
new file mode 100644
index 0000000..0dfa10e
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Loss_functions/KLDivLoss.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Loss_functions;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>KL Div Loss</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Loss_functions.Loss_functionsPackage#getKLDivLoss()
+ * @model
+ * @generated
+ */
+public interface KLDivLoss extends Loss_functions_1 {
+} // KLDivLoss
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Loss_functions/L1Loss.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Loss_functions/L1Loss.java
new file mode 100644
index 0000000..ad57e4f
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Loss_functions/L1Loss.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Loss_functions;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>L1 Loss</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Loss_functions.Loss_functionsPackage#getL1Loss()
+ * @model
+ * @generated
+ */
+public interface L1Loss extends Loss_functions_1 {
+} // L1Loss
diff --git a/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Loss_functions/Loss_functions.java b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Loss_functions/Loss_functions.java
new file mode 100644
index 0000000..ccc5edc
--- /dev/null
+++ b/aiml/org.eclipse.papyrus.aiml.profile/src-gen/org/eclipse/papyrus/aiml/profile/AIML/Loss_functions/Loss_functions.java
@@ -0,0 +1,59 @@
+/**
+ * Copyright (c) 2020 CEA LIST
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+ * 
+ */
+package org.eclipse.papyrus.aiml.profile.AIML.Loss_functions;
+
+import org.eclipse.papyrus.aiml.profile.AIML.Module.Model;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Loss functions</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.aiml.profile.AIML.Loss_functions.Loss_functions#getReduction <em>Reduction</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.aiml.profile.AIML.Loss_functions.Loss_functionsPackage#getLoss_functions()
+ * @model abstract="true"
+ * @generate