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=&q