diff --git a/bundles/org.eclipse.papyrus.ease.lang.python.jupyter/META-INF/MANIFEST.MF b/bundles/org.eclipse.papyrus.ease.lang.python.jupyter/META-INF/MANIFEST.MF
index 039a87f..266833b 100644
--- a/bundles/org.eclipse.papyrus.ease.lang.python.jupyter/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.papyrus.ease.lang.python.jupyter/META-INF/MANIFEST.MF
@@ -19,3 +19,4 @@
 Bundle-ActivationPolicy: lazy
 Export-Package: org.eclipse.papyrus.ease.lang.python.jupyter,
  org.eclipse.papyrus.ease.lang.python.jupyter.internal
+Bundle-Vendor: Eclipse Modeling Project
\ No newline at end of file
diff --git a/bundles/org.eclipse.papyrus.ease/META-INF/MANIFEST.MF b/bundles/org.eclipse.papyrus.ease/META-INF/MANIFEST.MF
index ad076d4..0635358 100644
--- a/bundles/org.eclipse.papyrus.ease/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.papyrus.ease/META-INF/MANIFEST.MF
@@ -25,3 +25,4 @@
  org.eclipse.papyrus.infra.emf
 Export-Package: org.eclipse.papyrus.ease.module,
  org.eclipse.papyrus.ease.popup
+Bundle-Vendor: Eclipse Modeling Project
diff --git a/examples/org.eclipse.papyrus.ease.lang.python.jupyter.example/.classpath b/examples/org.eclipse.papyrus.ease.lang.python.jupyter.example/.classpath
new file mode 100644
index 0000000..9b49f65
--- /dev/null
+++ b/examples/org.eclipse.papyrus.ease.lang.python.jupyter.example/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="src" path="resources"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="META-INF"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/examples/org.eclipse.papyrus.ease.lang.python.jupyter.example/.project b/examples/org.eclipse.papyrus.ease.lang.python.jupyter.example/.project
new file mode 100644
index 0000000..895d70a
--- /dev/null
+++ b/examples/org.eclipse.papyrus.ease.lang.python.jupyter.example/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.ease.lang.python.jupyter.example</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>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/examples/org.eclipse.papyrus.ease.lang.python.jupyter.example/META-INF/MANIFEST.MF b/examples/org.eclipse.papyrus.ease.lang.python.jupyter.example/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..59d8f29
--- /dev/null
+++ b/examples/org.eclipse.papyrus.ease.lang.python.jupyter.example/META-INF/MANIFEST.MF
@@ -0,0 +1,9 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Papyrus EASE Jupyer engine examples
+Bundle-SymbolicName: org.eclipse.papyrus.ease.lang.python.jupyter.example;singleton:=true
+Bundle-Version: 0.7.0.qualifier
+Require-Bundle: org.eclipse.emf.common.ui;bundle-version="2.15.0",
+ org.eclipse.papyrus.ease.lang.python.jupyter;bundle-version="0.7.0",
+ org.eclipse.papyrus.ease;bundle-version="0.7.0"
+Bundle-Vendor: Eclipse Modeling Project
diff --git a/examples/org.eclipse.papyrus.ease.lang.python.jupyter.example/build.properties b/examples/org.eclipse.papyrus.ease.lang.python.jupyter.example/build.properties
new file mode 100644
index 0000000..386b104
--- /dev/null
+++ b/examples/org.eclipse.papyrus.ease.lang.python.jupyter.example/build.properties
@@ -0,0 +1,4 @@
+bin.includes = META-INF/,\
+               resources/
+src.includes = META-INF/,\
+               resources/
diff --git a/examples/org.eclipse.papyrus.ease.lang.python.jupyter.example/plugin.xml b/examples/org.eclipse.papyrus.ease.lang.python.jupyter.example/plugin.xml
new file mode 100644
index 0000000..102a855
--- /dev/null
+++ b/examples/org.eclipse.papyrus.ease.lang.python.jupyter.example/plugin.xml
@@ -0,0 +1,41 @@
+<?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.ease.python.jupyter.example.notebook"
+            pageImage="resources/icons/jupyter_logo.png"
+            wizardID="org.eclipse.papyrus.ease.python.jupyter.example.wizard">
+         <projectDescriptor
+               contentURI="resources/examples/"
+               name="PapyrusInJupyterExample">
+         </projectDescriptor>
+         <fileToOpen
+               location="PapyrusInJupyterExample/Readme.MD">
+         </fileToOpen>
+      </example>
+   </extension>
+ <extension
+         point="org.eclipse.ui.newWizards">
+      <category
+            id="org.eclipse.papyrus.ease.examples"
+            name="Papyrus EASE"
+            parentCategory="org.eclipse.ui.Examples">
+      </category>
+      <wizard
+            category="org.eclipse.ui.Examples/org.eclipse.papyrus.ease.examples"
+            class="org.eclipse.emf.common.ui.wizard.ExampleInstallerWizard"
+            finalPerspective="org.eclipse.papyrus.infra.core.perspective"
+            icon="resources/icons/jupyter_logo.png"
+            id="org.eclipse.papyrus.ease.python.jupyter.example.wizard"
+            name="Papyrus EASE Jupyter Example"
+            preferredPerspectives="org.eclipse.papyrus.infra.core.perspective"
+            project="true">
+         <description>
+            Create a new project containing an example of EASE Jupyter engine uses.
+         </description>
+      </wizard>
+      
+   </extension>
+</plugin>
diff --git a/examples/org.eclipse.papyrus.ease.lang.python.jupyter.example/pom.xml b/examples/org.eclipse.papyrus.ease.lang.python.jupyter.example/pom.xml
new file mode 100644
index 0000000..65672f6
--- /dev/null
+++ b/examples/org.eclipse.papyrus.ease.lang.python.jupyter.example/pom.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	
+	<!-- Parent POM (Tools) -->
+	<parent>
+		<groupId>org.eclipse.papyrus.ease</groupId>
+		<artifactId>org.eclipse.papyrus.ease.examples.root</artifactId>
+		<version>0.7.0-SNAPSHOT</version>
+	</parent>
+
+	<!-- POM description -->
+	<artifactId>org.eclipse.papyrus.ease.lang.python.jupyter.example</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<name>org.eclipse.papyrus.ease.lang.python.jupyter.example</name>
+</project>
diff --git a/examples/org.eclipse.papyrus.ease.lang.python.jupyter.example/resources/examples/JupyterNotebookExample.ipynb b/examples/org.eclipse.papyrus.ease.lang.python.jupyter.example/resources/examples/JupyterNotebookExample.ipynb
new file mode 100644
index 0000000..5062f95
--- /dev/null
+++ b/examples/org.eclipse.papyrus.ease.lang.python.jupyter.example/resources/examples/JupyterNotebookExample.ipynb
@@ -0,0 +1,504 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Welcome to EASE Py4J Notebooks!\n",
+    "\n",
+    "\n",
+    "All the python code written is this notebook is executed by EASE Jupyter engine as the EASE Py4J engine would in a .py script.\n",
+    "It means that this web page is tighly connected to the eclipse session from which is was launched, and has access to all the Java functions exposed by EASE modules."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "The following code shows how to import UI EASE module and open an Eclipse Popup Dialog. (If you run this notebook in an external browser in full screen, switch back to eclipse to see it!)\n",
+    "You can find more information related to EASE [here](https://www.eclipse.org/ease/documentation/)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "ui_module = loadModule('/System/UI')\n",
+    "\n",
+    "ui_module.showInfoDialog(\"Hello Eclipse World!!\", \"Message from Jupyter\")\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Get the best of both worlds!!\n",
+    "The interesting thing is that you can combine Eclipse functionalities with Jupyter features.\n",
+    "For instance it's possible to create very simple GUIs with  [ipywidgets](https://ipywidgets.readthedocs.io/en/latest/) and interact with eclipse objects.\n",
+    "\n",
+    "Remark : ipywidget doesn't work with eclipse internal web browser. The General/Web browser option should be set to \"External Browser\".\n",
+    "If not present in your Anaconda distribution, ipython widgets can be installed with the following command in Anaconda prompt:\n",
+    "    \n",
+    "    conda install ipywidgets"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "application/vnd.jupyter.widget-view+json": {
+       "model_id": "b9fb0616adc142098022d8c51f27b3c4",
+       "version_major": 2,
+       "version_minor": 0
+      },
+      "text/plain": [
+       "interactive(children=(Text(value='Hello Eclipse world from a widget!', description='message'), Button(descript…"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "from ipywidgets import interact_manual\n",
+    "\n",
+    "@interact_manual(message=\"Hello Eclipse world from a widget!\")\n",
+    "def open_popup_with_message(message):\n",
+    "    ui_module.showInfoDialog(message, \"Message from Jupyter\")"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Hide python code in external scripts\n",
+    "Notice that the python code can be hidden in script files located in the workspace. That way only a single line EASE \"include\" statement is needed."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "application/vnd.jupyter.widget-view+json": {
+       "model_id": "a122cd1de6f04f7d9fe0fa4649ab55b3",
+       "version_major": 2,
+       "version_minor": 0
+      },
+      "text/plain": [
+       "interactive(children=(Text(value='Hello Eclipse world from a script file!', description='message'), Button(des…"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "include(\"workspace://PapyrusInJupyterExample/script/hello_world.py\")"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "This following example shows how to create a new file in an eclipse project and open it in an eclipse editor. The file name is defined with an simple jupyter widget."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "application/vnd.jupyter.widget-view+json": {
+       "model_id": "05e0650d3eb946e18d8b7bac3dba1b9c",
+       "version_major": 2,
+       "version_minor": 0
+      },
+      "text/plain": [
+       "interactive(children=(Text(value='example_file.txt', description='filename'), Text(value='Type your message he…"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "#required to access to the \"getFile\" function\n",
+    "res_module = loadModule(\"/System/Resources\")\n",
+    "\n",
+    "@interact_manual( filename=\"example_file.txt\", message=\"Type your message here\")\n",
+    "def create_and_open_file(filename, message):\n",
+    "    path = \"workspace:///PapyrusInJupyterExample/\" + filename\n",
+    "    file = res_module.getFile(path,True)\n",
+    "    if (file is None):\n",
+    "        file = res_module.createFile(path)\n",
+    "    res_module.writeFile(file, message, 0, True)\n",
+    "    \n",
+    "    ui_module.showEditor(file)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Open Papyrus file from Jupyter\n",
+    "\n",
+    "Papyrus files can be directly opened with the \"System/UI/showEditor\" EASE function\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "papyrus_path = \"workspace://PapyrusInJupyterExample/PapyrusInJupyterExample.di\"\n",
+    "papyrus_editor =ui_module.showEditor(papyrus_path);"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# EASE Papyrus module\n",
+    "\n",
+    "In addition to existing EASE Modeling modules such as Ecore, UML, SysML, Papyrus module provides functionalities helping to interact with a running papyrus session.\n",
+    "\n",
+    "\"getPapyrusModel\" helps to access to access to the root model element of papyrus file."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Root model name is : \n",
+      "PapyrusInJupyterExample\n"
+     ]
+    }
+   ],
+   "source": [
+    "papyrus_util = loadModule('/Modeling/PapyrusUtils');\n",
+    "root_model = papyrus_util.getPapyrusModel(papyrus_path)\n",
+    "\n",
+    "print('Root model name is : ')\n",
+    "print(root_model.getName())"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Alternatively, you can use getPapyrusNamedElement to directly access by qualified name to any model elements located in an UML file."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "prop type is : \n",
+      "String\n"
+     ]
+    }
+   ],
+   "source": [
+    "prop = papyrus_util.getPapyrusNamedElement(papyrus_path, \"PapyrusInJupyterExample::sub_package2::Class3::Property1\")\n",
+    "\n",
+    "print('prop type is : ')\n",
+    "print(prop.getType().getName())"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Notice that once a model element is obtained, it can be used later as the context object parameter to access to other elements.\n",
+    "Moreover, the imported model elements can also be accessed easily by name."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml\n"
+     ]
+    }
+   ],
+   "source": [
+    "integer_type = papyrus_util.getPapyrusNamedElement(prop, \"PrimitiveTypes::Integer\")\n",
+    "\n",
+    "print(integer_type.eResource().getURI())"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "This following cell shows how to iterate over objects in a model and for instance collect packages qualified names."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 10,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "['PapyrusInJupyterExample', 'PapyrusInJupyterExample::sub_package1', 'PapyrusInJupyterExample::sub_package2']\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "def get_all_packages(root_model):\n",
+    "    packages_names = []\n",
+    "    packages_names.append(root_model.getQualifiedName())\n",
+    "    for element in root_model.allOwnedElements():\n",
+    "        if (element.eClass().getName() == \"Package\"):\n",
+    "            packages_names.append(element.getQualifiedName())\n",
+    "    return packages_names\n",
+    "\n",
+    "packages = get_all_packages(root_model)\n",
+    "\n",
+    "print(packages)\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Modifying model elements from EASE or Jupyter\n",
+    "\n",
+    "Modification of Papyrus in memory model elements should be done in transactions integrated in its Undo/Redo framework.\n",
+    "We provide a `papyrun`python function to do it easily. This function is defined in a script packaged in a plugin:\n",
+    "\n",
+    "`include(\"platform:/plugin/org.eclipse.papyrus.ease/scripts/python/papyrusutils.py\")`\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 11,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "#we redo necessary loadModule just in case previous cells have not been executed\n",
+    "ui_module = loadModule('/System/UI')\n",
+    "papyrus_util = loadModule('/Modeling/PapyrusUtils');\n",
+    "\n",
+    "papyrus_path = \"workspace://PapyrusInJupyterExample/PapyrusInJupyterExample.di\"\n",
+    "papyrus_editor =ui_module.showEditor(papyrus_path);\n",
+    "\n",
+    "\n",
+    "#we import the papyrusutils.py script which defined papyrus function\n",
+    "include(\"platform:/plugin/org.eclipse.papyrus.ease/scripts/python/papyrusutils.py\")\n",
+    "\n",
+    "papyrus =ui_module.showEditor(papyrus_path);\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 18,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "['pAPYRUSiNjUPYTEReXAMPLE', 'pAPYRUSiNjUPYTEReXAMPLE::sub_package1', 'pAPYRUSiNjUPYTEReXAMPLE::sub_package2']\n"
+     ]
+    }
+   ],
+   "source": [
+    "def swap_name_case(named_element) :\n",
+    "    new_name = named_element.getName().swapcase()\n",
+    "    named_element.setName(new_name)\n",
+    "    return new_name\n",
+    "\n",
+    "root_model = getPapyrusModel(papyrus_path)\n",
+    "\n",
+    "#the first parameter of papyrus is the function name you want to execute\n",
+    "#following parameters are the arguments you want to pass to the function\n",
+    "new_name = papyrun(swap_name_case, root_model)\n",
+    "\n",
+    "print(get_all_packages(root_model))"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Have a look at your papyrus model! Root model name has changed. You can undo the modification with ctrl + z."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "The following example combines a jupyter widget with a function modifying the model.\n",
+    "\n",
+    "Notice that the modification can be undone in Papyrus with the Undo/Redo framework (crtl + z)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 15,
+   "metadata": {
+    "scrolled": false
+   },
+   "outputs": [
+    {
+     "data": {
+      "application/vnd.jupyter.widget-view+json": {
+       "model_id": "6182ff1ec9364b5db17c442a39567e7e",
+       "version_major": 2,
+       "version_minor": 0
+      },
+      "text/plain": [
+       "interactive(children=(Dropdown(description='package', options={'PapyrusInJupyterExample': JavaObject id=o144, …"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "from ipywidgets import interact_manual\n",
+    "def create_class(package, name):\n",
+    "    return package.createOwnedClass(name, False)\n",
+    "\n",
+    "#we create a map \n",
+    "package_dict = {}\n",
+    "for package_name in get_all_packages(root_model):\n",
+    "    package_dict[package_name] = papyrus_util.getPapyrusNamedElement(root_model, package_name)\n",
+    "\n",
+    "\n",
+    "@interact_manual(package=package_dict , class_name = \"defaultName\")\n",
+    "def create_class_interact(package, class_name):\n",
+    "    new_class = papyrun(create_class, package, class_name)\n",
+    "    print('a new class is created in the model :' + new_class.getQualifiedName())\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Experimental unstable feature : creating diagrams"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "In Papyrus, each palette element is identified with an unique ElementType ID.\n",
+    "\n",
+    "The function following function allows the emulation of the palette with a mouse :\n",
+    "\n",
+    "`createSemanticElementAndView(ElementTypeID, X, Y, Height, Width)`\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 25,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "#create diagram allows the creation of diagram\n",
+    "#first param is the container of the diagram\n",
+    "#second param is the label of the diagram (as in New Diagram menu)\n",
+    "#third param is the diagram name\n",
+    "papyrun(papyrus_util.createDiagram, root_model ,'Class Diagram', \"newDiagram\")\n",
+    "\n",
+    "\n",
+    "diTypes = org.eclipse.papyrus.uml.service.types.element.UMLDIElementTypes\n",
+    "\n",
+    "def createClasses():\n",
+    "    \n",
+    "    results = []\n",
+    "    results.append(createSemanticElementAndView(diTypes.CLASS_SHAPE.getId(), 0,300,200, 200))\n",
+    "    results.append(createSemanticElementAndView(diTypes.CLASS_SHAPE.getId(), 400,300, 200, 200))\n",
+    "    results.append(createSemanticElementAndView(diTypes.CLASS_SHAPE.getId(), 200,0 , 200, 200))\n",
+    "    return results\n",
+    "\n",
+    "classes = papyrun(createClasses)\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 26,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def createLinks(classes):\n",
+    "    class1 = classes[0]\n",
+    "    class2 = classes[1]\n",
+    "    class3 = classes[2]\n",
+    "    \n",
+    "    #the result of a createSemanticElementAndView is an Handler which \n",
+    "    #gives access to both the semantic element and the view with the\n",
+    "    #getElement and the getView methods\n",
+    "    class1.getElement().setName(\"ClassExample1\")\n",
+    "    \n",
+    "    for i in range(3):\n",
+    "        \n",
+    "        result = createSemanticElementAndLinkView(diTypes.ASSOCIATION_COMPOSITE_DIRECTED_EDGE.getId(), \n",
+    "                                         class1.getView(), 1.0 ,i/3+0.05, \n",
+    "                                         class2.getView(),0.0,i/3+0.05)\n",
+    "    \n",
+    "    \n",
+    "    createSemanticElementAndLinkView(diTypes.GENERALIZATION_EDGE.getId(), class1.getView(),0.5 ,0.0, class3.getView(),0.5,1.0)\n",
+    "    createSemanticElementAndLinkView(diTypes.GENERALIZATION_EDGE.getId(), class2.getView(), 0.5 ,0.0, class3.getView(),0.5,1.0)\n",
+    "    \n",
+    "    \n",
+    "papyrun(createLinks, classes)"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "EASE Py4j Python 3",
+   "language": "python",
+   "name": "ease_py4j_kernel"
+  },
+  "toc": {
+   "base_numbering": 1,
+   "nav_menu": {},
+   "number_sections": false,
+   "sideBar": false,
+   "skip_h1_title": false,
+   "title_cell": "Table of Contents",
+   "title_sidebar": "Contents",
+   "toc_cell": false,
+   "toc_position": {},
+   "toc_section_display": false,
+   "toc_window_display": false
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/examples/org.eclipse.papyrus.ease.lang.python.jupyter.example/resources/examples/PapyrusInJupyterExample.di b/examples/org.eclipse.papyrus.ease.lang.python.jupyter.example/resources/examples/PapyrusInJupyterExample.di
new file mode 100644
index 0000000..8c549ee
--- /dev/null
+++ b/examples/org.eclipse.papyrus.ease.lang.python.jupyter.example/resources/examples/PapyrusInJupyterExample.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/examples/org.eclipse.papyrus.ease.lang.python.jupyter.example/resources/examples/PapyrusInJupyterExample.notation b/examples/org.eclipse.papyrus.ease.lang.python.jupyter.example/resources/examples/PapyrusInJupyterExample.notation
new file mode 100644
index 0000000..aaa3b9c
--- /dev/null
+++ b/examples/org.eclipse.papyrus.ease.lang.python.jupyter.example/resources/examples/PapyrusInJupyterExample.notation
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/gmfdiag/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_OWaUMKzbEemHHNoZrq-BrA" type="PapyrusUMLClassDiagram" name="Packages" measurementUnit="Pixel">
+  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tsp_sK0aEemTA-4Tm1djLw" source="PapyrusCSSForceValue">
+    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tsp_sa0aEemTA-4Tm1djLw" key="canonical" value="true"/>
+  </eAnnotations>
+  <children xmi:type="notation:Shape" xmi:id="_P5_m0KzbEemHHNoZrq-BrA" type="Package_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_P6ShwKzbEemHHNoZrq-BrA" type="Package_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_P6TI0KzbEemHHNoZrq-BrA" type="Package_PackagedElementCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_cRfH8KzbEemHHNoZrq-BrA" type="Class_Shape_CN">
+        <children xmi:type="notation:DecorationNode" xmi:id="_cRfvAKzbEemHHNoZrq-BrA" type="Class_NameLabel_CN"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_cRfvAazbEemHHNoZrq-BrA" type="Class_FloatingNameLabel_CN">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_cRfvAqzbEemHHNoZrq-BrA" y="15"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_cRgWEKzbEemHHNoZrq-BrA" type="Class_AttributeCompartment_CN">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_cRgWEazbEemHHNoZrq-BrA"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_cRgWEqzbEemHHNoZrq-BrA"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_cRgWE6zbEemHHNoZrq-BrA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cRgWFKzbEemHHNoZrq-BrA"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_cRgWFazbEemHHNoZrq-BrA" type="Class_OperationCompartment_CN">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_cRgWFqzbEemHHNoZrq-BrA"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_cRgWF6zbEemHHNoZrq-BrA"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_cRgWGKzbEemHHNoZrq-BrA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cRgWGazbEemHHNoZrq-BrA"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_cRgWGqzbEemHHNoZrq-BrA" type="Class_NestedClassifierCompartment_CN">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_cRgWG6zbEemHHNoZrq-BrA"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_cRgWHKzbEemHHNoZrq-BrA"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_cRgWHazbEemHHNoZrq-BrA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cRgWHqzbEemHHNoZrq-BrA"/>
+        </children>
+        <element xmi:type="uml:Class" href="PapyrusInJupyterExample.uml#_cRJJsKzbEemHHNoZrq-BrA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cRfH8azbEemHHNoZrq-BrA" x="14" y="33" width="121" height="101"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_di_zIKzbEemHHNoZrq-BrA" type="Class_Shape_CN">
+        <children xmi:type="notation:DecorationNode" xmi:id="_djAaMKzbEemHHNoZrq-BrA" type="Class_NameLabel_CN"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_djAaMazbEemHHNoZrq-BrA" type="Class_FloatingNameLabel_CN">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_djBBQKzbEemHHNoZrq-BrA" y="15"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_djBBQazbEemHHNoZrq-BrA" type="Class_AttributeCompartment_CN">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_djBBQqzbEemHHNoZrq-BrA"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_djBBQ6zbEemHHNoZrq-BrA"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_djBBRKzbEemHHNoZrq-BrA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_djBBRazbEemHHNoZrq-BrA"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_djBBRqzbEemHHNoZrq-BrA" type="Class_OperationCompartment_CN">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_djBBR6zbEemHHNoZrq-BrA"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_djBBSKzbEemHHNoZrq-BrA"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_djBBSazbEemHHNoZrq-BrA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_djBBSqzbEemHHNoZrq-BrA"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_djBoUKzbEemHHNoZrq-BrA" type="Class_NestedClassifierCompartment_CN">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_djBoUazbEemHHNoZrq-BrA"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_djBoUqzbEemHHNoZrq-BrA"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_djBoU6zbEemHHNoZrq-BrA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_djBoVKzbEemHHNoZrq-BrA"/>
+        </children>
+        <element xmi:type="uml:Class" href="PapyrusInJupyterExample.uml#_dis4MKzbEemHHNoZrq-BrA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_di_zIazbEemHHNoZrq-BrA" x="154" y="33" width="101" height="101"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_P6TI0azbEemHHNoZrq-BrA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_P6TI0qzbEemHHNoZrq-BrA"/>
+    </children>
+    <element xmi:type="uml:Package" href="PapyrusInJupyterExample.uml#_P5jh8KzbEemHHNoZrq-BrA"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_P5_m0azbEemHHNoZrq-BrA" x="100" y="100" width="321" height="241"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_ULdcAKzbEemHHNoZrq-BrA" type="Package_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_ULdcAqzbEemHHNoZrq-BrA" type="Package_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_ULeDEKzbEemHHNoZrq-BrA" type="Package_PackagedElementCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_fBpicKzbEemHHNoZrq-BrA" type="Class_Shape_CN">
+        <children xmi:type="notation:DecorationNode" xmi:id="_fBqJgKzbEemHHNoZrq-BrA" type="Class_NameLabel_CN"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_fBqJgazbEemHHNoZrq-BrA" type="Class_FloatingNameLabel_CN">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_fBqJgqzbEemHHNoZrq-BrA" y="15"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_fBqwkKzbEemHHNoZrq-BrA" type="Class_AttributeCompartment_CN">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_fBqwkazbEemHHNoZrq-BrA"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_fBqwkqzbEemHHNoZrq-BrA"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_fBqwk6zbEemHHNoZrq-BrA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fBqwlKzbEemHHNoZrq-BrA"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_fBqwlazbEemHHNoZrq-BrA" type="Class_OperationCompartment_CN">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_fBqwlqzbEemHHNoZrq-BrA"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_fBqwl6zbEemHHNoZrq-BrA"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_fBqwmKzbEemHHNoZrq-BrA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fBqwmazbEemHHNoZrq-BrA"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_fBrXoKzbEemHHNoZrq-BrA" type="Class_NestedClassifierCompartment_CN">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_fBrXoazbEemHHNoZrq-BrA"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_fBrXoqzbEemHHNoZrq-BrA"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_fBrXo6zbEemHHNoZrq-BrA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fBrXpKzbEemHHNoZrq-BrA"/>
+        </children>
+        <element xmi:type="uml:Class" href="PapyrusInJupyterExample.uml#_fA7JsKzbEemHHNoZrq-BrA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fBpicazbEemHHNoZrq-BrA" x="14" y="33" width="101" height="101"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_gUg4gKzbEemHHNoZrq-BrA" type="Class_Shape_CN">
+        <children xmi:type="notation:DecorationNode" xmi:id="_gUhfkKzbEemHHNoZrq-BrA" type="Class_NameLabel_CN"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_gUhfkazbEemHHNoZrq-BrA" type="Class_FloatingNameLabel_CN">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_gUiGoKzbEemHHNoZrq-BrA" y="15"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_gUiGoazbEemHHNoZrq-BrA" type="Class_AttributeCompartment_CN">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_gUiGoqzbEemHHNoZrq-BrA"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_gUiGo6zbEemHHNoZrq-BrA"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_gUiGpKzbEemHHNoZrq-BrA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gUiGpazbEemHHNoZrq-BrA"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_gUiGpqzbEemHHNoZrq-BrA" type="Class_OperationCompartment_CN">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_gUiGp6zbEemHHNoZrq-BrA"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_gUiGqKzbEemHHNoZrq-BrA"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_gUiGqazbEemHHNoZrq-BrA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gUiGqqzbEemHHNoZrq-BrA"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_gUitsKzbEemHHNoZrq-BrA" type="Class_NestedClassifierCompartment_CN">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_gUitsazbEemHHNoZrq-BrA"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_gUitsqzbEemHHNoZrq-BrA"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_gUits6zbEemHHNoZrq-BrA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gUittKzbEemHHNoZrq-BrA"/>
+        </children>
+        <element xmi:type="uml:Class" href="PapyrusInJupyterExample.uml#_gUGBwKzbEemHHNoZrq-BrA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gUg4gazbEemHHNoZrq-BrA" x="154" y="33" width="101" height="101"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_iW0HcKzbEemHHNoZrq-BrA" type="Class_Shape_CN">
+        <children xmi:type="notation:DecorationNode" xmi:id="_iW0ugKzbEemHHNoZrq-BrA" type="Class_NameLabel_CN"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_iW0ugazbEemHHNoZrq-BrA" type="Class_FloatingNameLabel_CN">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_iW0ugqzbEemHHNoZrq-BrA" y="15"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_iW1VkKzbEemHHNoZrq-BrA" type="Class_AttributeCompartment_CN">
+          <children xmi:type="notation:Shape" xmi:id="_j95aAKzbEemHHNoZrq-BrA" type="Property_ClassAttributeLabel">
+            <element xmi:type="uml:Property" href="PapyrusInJupyterExample.uml#_j9a44KzbEemHHNoZrq-BrA"/>
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_j95aAazbEemHHNoZrq-BrA"/>
+          </children>
+          <styles xmi:type="notation:TitleStyle" xmi:id="_iW1VkazbEemHHNoZrq-BrA"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_iW1VkqzbEemHHNoZrq-BrA"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_iW1Vk6zbEemHHNoZrq-BrA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iW1VlKzbEemHHNoZrq-BrA"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_iW2jsKzbEemHHNoZrq-BrA" type="Class_OperationCompartment_CN">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_iW2jsazbEemHHNoZrq-BrA"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_iW2jsqzbEemHHNoZrq-BrA"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_iW2js6zbEemHHNoZrq-BrA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iW2jtKzbEemHHNoZrq-BrA"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_iW2jtazbEemHHNoZrq-BrA" type="Class_NestedClassifierCompartment_CN">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_iW2jtqzbEemHHNoZrq-BrA"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_iW2jt6zbEemHHNoZrq-BrA"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_iW2juKzbEemHHNoZrq-BrA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iW2juazbEemHHNoZrq-BrA"/>
+        </children>
+        <element xmi:type="uml:Class" href="PapyrusInJupyterExample.uml#_iWVmUKzbEemHHNoZrq-BrA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iW0HcazbEemHHNoZrq-BrA" x="294" y="33" width="101" height="101"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_ULeDEazbEemHHNoZrq-BrA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ULeDEqzbEemHHNoZrq-BrA"/>
+    </children>
+    <element xmi:type="uml:Package" href="PapyrusInJupyterExample.uml#_ULa_wKzbEemHHNoZrq-BrA"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ULdcAazbEemHHNoZrq-BrA" x="460" y="100" width="441" height="261"/>
+  </children>
+  <styles xmi:type="notation:StringValueStyle" xmi:id="_OWa7QKzbEemHHNoZrq-BrA" name="diagram_compatibility_version" stringValue="1.4.0"/>
+  <styles xmi:type="notation:DiagramStyle" xmi:id="_OWa7QazbEemHHNoZrq-BrA"/>
+  <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_OWa7QqzbEemHHNoZrq-BrA" diagramKindId="org.eclipse.papyrus.uml.diagram.class">
+    <owner xmi:type="uml:Model" href="PapyrusInJupyterExample.uml#_U_KoUKzEEemHHNoZrq-BrA"/>
+  </styles>
+  <styles xmi:type="notation:CanonicalStyle" xmi:id="_tspYoK0aEemTA-4Tm1djLw"/>
+  <element xmi:type="uml:Model" href="PapyrusInJupyterExample.uml#_U_KoUKzEEemHHNoZrq-BrA"/>
+</notation:Diagram>
diff --git a/examples/org.eclipse.papyrus.ease.lang.python.jupyter.example/resources/examples/PapyrusInJupyterExample.uml b/examples/org.eclipse.papyrus.ease.lang.python.jupyter.example/resources/examples/PapyrusInJupyterExample.uml
new file mode 100644
index 0000000..3d955ac
--- /dev/null
+++ b/examples/org.eclipse.papyrus.ease.lang.python.jupyter.example/resources/examples/PapyrusInJupyterExample.uml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_U_KoUKzEEemHHNoZrq-BrA" name="PapyrusInJupyterExample">
+  <packageImport xmi:type="uml:PackageImport" xmi:id="_VUpJEKzEEemHHNoZrq-BrA">
+    <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+  </packageImport>
+  <packagedElement xmi:type="uml:Package" xmi:id="_P5jh8KzbEemHHNoZrq-BrA" name="sub_package1">
+    <packagedElement xmi:type="uml:Class" xmi:id="_cRJJsKzbEemHHNoZrq-BrA" name="Class1"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_dis4MKzbEemHHNoZrq-BrA" name="Class2"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Package" xmi:id="_ULa_wKzbEemHHNoZrq-BrA" name="sub_package2">
+    <packagedElement xmi:type="uml:Class" xmi:id="_fA7JsKzbEemHHNoZrq-BrA" name="Class1"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_gUGBwKzbEemHHNoZrq-BrA" name="Class2"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_iWVmUKzbEemHHNoZrq-BrA" name="Class3">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_j9a44KzbEemHHNoZrq-BrA" name="Property1">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+      </ownedAttribute>
+    </packagedElement>
+  </packagedElement>
+</uml:Model>
diff --git a/examples/org.eclipse.papyrus.ease.lang.python.jupyter.example/resources/examples/Readme.MD b/examples/org.eclipse.papyrus.ease.lang.python.jupyter.example/resources/examples/Readme.MD
new file mode 100644
index 0000000..8b5b13a
--- /dev/null
+++ b/examples/org.eclipse.papyrus.ease.lang.python.jupyter.example/resources/examples/Readme.MD
@@ -0,0 +1,47 @@
+---------------------------------------------------------------------------------------
+                              SETUP  INFO
+---------------------------------------------------------------------------------------
+
+Jupyter EASE scripting engine is a specialization of the Py4J EASE engine. 
+The Eclipse Preference named "Scripting/Python Scripting (using Py4J)/Python location" 
+should point to a python.exe in Python distribution where Jupyter Notebook is installed.
+
+Important remark : Anaconda (https://www.anaconda.com/) is providing such a distribution. 
+However, the advanced option "Add anaconda to my PATH environnment" option should
+be checked during its install process. (Otherwise, you may have dll/so loading issues during
+engine startup).  
+
+Notice that the engine is also taking the General/Web Browser option to determine
+if the notebook should be run into an Eclipse integrated web browser (internal)
+or an external browser such as Firefox or Google Chrome.
+
+
+--------------------------------------------------------------------------------------
+                              STARTUP  INFO
+--------------------------------------------------------------------------------------
+
+Jupyter ipynb files are considered as script files by our notebook. Existing notebooks
+can be started from a Right click on ipynb file -> Run As -> EASE Script... popup menu.
+
+We don't provide a new Notebook wizard yet. New notebooks can be created either by copy/pasting
+existing ones such as this example, or by starting the Jupyter EASE scripting engine from
+the EASE Script Shell View/"Switch scripting Engine" button.
+This will launch a new Jupyter Notebook session from which you will have to create a new
+EASE Py4J Kernel notebook. Be fast! The EASE engine is waiting for an acknowledgement from
+the Py4J Jupyer kernel, you only have 1 minute to create your notebook before considering 
+a failure occured. 
+
+
+----------------------------------------------------------------------------------------
+                           SHUTDOWN INFO
+----------------------------------------------------------------------------------------
+
+Jupyter Notebook is launched as a third party executable which still runs after the web
+browser is closed => closing the tab in the browser doesn't stop the engine. 
+
+The engine can be explicitly killed with the "Terminate" red button from the Eclipse 
+console view. 
+Notice that when Eclipse terminates normally, all the Jupyter server instances started by EASE
+Jupyter engine are automatically terminated. 
+
+
diff --git a/examples/org.eclipse.papyrus.ease.lang.python.jupyter.example/resources/examples/script/hello_world.py b/examples/org.eclipse.papyrus.ease.lang.python.jupyter.example/resources/examples/script/hello_world.py
new file mode 100644
index 0000000..a9bbe68
--- /dev/null
+++ b/examples/org.eclipse.papyrus.ease.lang.python.jupyter.example/resources/examples/script/hello_world.py
@@ -0,0 +1,5 @@
+from ipywidgets import interact_manual
+
+@interact_manual(message="Hello Eclipse world from a script file!")
+def open_popup_with_message_from_script(message):
+    ui_module.showInfoDialog(message, "Message from Jupyter")
\ No newline at end of file
diff --git a/examples/org.eclipse.papyrus.ease.lang.python.jupyter.example/resources/icons/jupyter_logo.png b/examples/org.eclipse.papyrus.ease.lang.python.jupyter.example/resources/icons/jupyter_logo.png
new file mode 100644
index 0000000..e9b5b97
--- /dev/null
+++ b/examples/org.eclipse.papyrus.ease.lang.python.jupyter.example/resources/icons/jupyter_logo.png
Binary files differ
diff --git a/examples/pom.xml b/examples/pom.xml
new file mode 100644
index 0000000..957027a
--- /dev/null
+++ b/examples/pom.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+	<modelVersion>4.0.0</modelVersion>
+
+	<!-- Parent of this POM -->
+	<parent>
+		<version>0.7.0-SNAPSHOT</version>
+		<groupId>org.eclipse.papyrus.ease</groupId>
+		<artifactId>org.eclipse.papyrus.ease.root</artifactId>
+	</parent>
+
+	<!-- EASE project root POM (aggregator) -->
+	<artifactId>org.eclipse.papyrus.ease.examples.root</artifactId>
+	<name>EASE Examples</name>
+	<packaging>pom</packaging>
+
+	<!-- Children modules to build -->
+	<modules>
+		<module>org.eclipse.papyrus.ease.lang.python.jupyter.example</module>
+	</modules>
+
+</project>
diff --git a/features/org.eclipse.papyrus.ease.feature/feature.xml b/features/org.eclipse.papyrus.ease.feature/feature.xml
index 23825c0..6e825dc 100644
--- a/features/org.eclipse.papyrus.ease.feature/feature.xml
+++ b/features/org.eclipse.papyrus.ease.feature/feature.xml
@@ -69,7 +69,7 @@
          install-size="0"
          version="0.0.0"
          unpack="false"/>
-
+         
    <plugin
          id="org.eclipse.papyrus.aceeditor"
          download-size="0"
diff --git a/features/org.eclipse.papyrus.ease.jupyter.feature/feature.xml b/features/org.eclipse.papyrus.ease.jupyter.feature/feature.xml
index 751ff16..b3e5e28 100644
--- a/features/org.eclipse.papyrus.ease.jupyter.feature/feature.xml
+++ b/features/org.eclipse.papyrus.ease.jupyter.feature/feature.xml
@@ -37,4 +37,11 @@
          version="0.0.0"
          unpack="false"/>
 
+   <plugin
+         id="org.eclipse.papyrus.ease.lang.python.jupyter.example"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
 </feature>
diff --git a/pom.xml b/pom.xml
index 6914e8e..fda1c83 100644
--- a/pom.xml
+++ b/pom.xml
@@ -20,6 +20,7 @@
 	<!-- Children modules to build -->
 	<modules>
 		<module>bundles</module>
+		<module>examples</module>
 		<module>features</module>
 		<module>releng</module>
 	</modules>
