Merge branch 'master' of ssh://git.eclipse.org:29418/papyrus/org.eclipse.papyrus-robotml
diff --git a/generators/org.eclipse.papyrus.robotml.generators.common/pom.xml b/generators/org.eclipse.papyrus.robotml.generators.common/pom.xml
index cfaefaa..4335a05 100644
--- a/generators/org.eclipse.papyrus.robotml.generators.common/pom.xml
+++ b/generators/org.eclipse.papyrus.robotml.generators.common/pom.xml
@@ -8,4 +8,5 @@
 	</parent>
 	<artifactId>org.eclipse.papyrus.robotml.generators.common</artifactId>
 	<packaging>eclipse-plugin</packaging>
+	<name>org.eclipse.papyrus.robotml.generators.common</name>
 </project>
\ No newline at end of file
diff --git a/generators/pom.xml b/generators/pom.xml
index 21530a9..142c32b 100644
--- a/generators/pom.xml
+++ b/generators/pom.xml
@@ -8,6 +8,7 @@
 	</parent>
 	<artifactId>org.eclipse.papyrus.robotml.generators</artifactId>
 	<packaging>pom</packaging>
+	<name>RobotML Generators</name>
 	<modules>
 		<module>org.eclipse.papyrus.robotml.generators.common</module>
 		<module>rtmaps</module>
diff --git a/generators/rtmaps/org.eclipse.papyrus.robotml.generators.intempora.rtmaps.ui/pom.xml b/generators/rtmaps/org.eclipse.papyrus.robotml.generators.intempora.rtmaps.ui/pom.xml
index 0500691..afd28e0 100644
--- a/generators/rtmaps/org.eclipse.papyrus.robotml.generators.intempora.rtmaps.ui/pom.xml
+++ b/generators/rtmaps/org.eclipse.papyrus.robotml.generators.intempora.rtmaps.ui/pom.xml
@@ -8,4 +8,5 @@
 	</parent>
 	<artifactId>org.eclipse.papyrus.robotml.generators.intempora.rtmaps.ui</artifactId>
 	<packaging>eclipse-plugin</packaging>
+	<name>org.eclipse.papyrus.robotml.generators.intempora.rtmaps.ui</name>
 </project>
\ No newline at end of file
diff --git a/generators/rtmaps/org.eclipse.papyrus.robotml.generators.intempora.rtmaps/pom.xml b/generators/rtmaps/org.eclipse.papyrus.robotml.generators.intempora.rtmaps/pom.xml
index 36d51d3..233e3d5 100644
--- a/generators/rtmaps/org.eclipse.papyrus.robotml.generators.intempora.rtmaps/pom.xml
+++ b/generators/rtmaps/org.eclipse.papyrus.robotml.generators.intempora.rtmaps/pom.xml
@@ -8,4 +8,5 @@
 	</parent>
 	<artifactId>org.eclipse.papyrus.robotml.generators.intempora.rtmaps</artifactId>
 	<packaging>eclipse-plugin</packaging>
+	<name>org.eclipse.papyrus.robotml.generators.intempora.rtmaps</name>
 </project>
\ No newline at end of file
diff --git a/generators/rtmaps/pom.xml b/generators/rtmaps/pom.xml
index 9246ec4..79e838c 100644
--- a/generators/rtmaps/pom.xml
+++ b/generators/rtmaps/pom.xml
@@ -8,6 +8,7 @@
 	</parent>
 	<artifactId>org.eclipse.papyrus.robotml.generators.rtmaps</artifactId>
 	<packaging>pom</packaging>
+	<name>RobotML Rtmaps</name>
 	<modules>
 		<module>org.eclipse.papyrus.robotml.generators.intempora.rtmaps</module>
 		<module>org.eclipse.papyrus.robotml.generators.intempora.rtmaps.ui</module>
diff --git a/org.eclipse.papyrus.robotml.deployment/META-INF/MANIFEST.MF b/org.eclipse.papyrus.robotml.deployment/META-INF/MANIFEST.MF
index 2515a58..3fe20c6 100644
--- a/org.eclipse.papyrus.robotml.deployment/META-INF/MANIFEST.MF
+++ b/org.eclipse.papyrus.robotml.deployment/META-INF/MANIFEST.MF
@@ -10,7 +10,10 @@
  org.eclipse.gmf.runtime.notation.edit,
  org.eclipse.emf.transaction,
  org.eclipse.gmf.runtime.emf.commands.core,
- org.eclipse.papyrus.infra.core;bundle-version="1.2.0"
+ org.eclipse.papyrus.infra.core;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.ui,
+ org.eclipse.papyrus.infra.emf,
+ org.eclipse.papyrus.infra.core.log
 Bundle-Vendor: %Bundle-Vendor
 Bundle-ActivationPolicy: lazy
 Bundle-Version: 1.2.0.qualifier
diff --git a/org.eclipse.papyrus.robotml.deployment/pom.xml b/org.eclipse.papyrus.robotml.deployment/pom.xml
index eb9b185..c659e33 100644
--- a/org.eclipse.papyrus.robotml.deployment/pom.xml
+++ b/org.eclipse.papyrus.robotml.deployment/pom.xml
@@ -8,4 +8,5 @@
 	</parent>
 	<artifactId>org.eclipse.papyrus.robotml.deployment</artifactId>
 	<packaging>eclipse-plugin</packaging>
+	<name>org.eclipse.papyrus.robotml.deployment</name>
 </project>
\ No newline at end of file
diff --git a/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/Activator.java b/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/Activator.java
index 03f5d50..fca1fd8 100644
--- a/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/Activator.java
+++ b/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/Activator.java
@@ -11,6 +11,7 @@
  *****************************************************************************/
 package org.eclipse.papyrus.robotml.deployment;
 
+import org.eclipse.papyrus.infra.core.log.LogHelper;
 import org.eclipse.ui.plugin.AbstractUIPlugin;
 import org.osgi.framework.BundleContext;
 
@@ -24,6 +25,8 @@
 
 	// The shared instance
 	private static Activator plugin;
+	
+	public static LogHelper log;
 
 	/**
 	 * The constructor
diff --git a/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/CommandSupport.java b/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/CommandSupport.java
index 536afd6..1a0144c 100644
--- a/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/CommandSupport.java
+++ b/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/CommandSupport.java
@@ -14,16 +14,20 @@
 
 import java.util.Collections;
 
+import org.eclipse.core.commands.ExecutionEvent;
 import org.eclipse.core.commands.ExecutionException;
 import org.eclipse.core.commands.operations.IOperationHistory;
+import org.eclipse.core.commands.operations.IUndoableOperation;
 import org.eclipse.core.commands.operations.OperationHistoryFactory;
 import org.eclipse.core.runtime.IAdaptable;
 import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.emf.transaction.TransactionalEditingDomain;
 import org.eclipse.gmf.runtime.common.core.command.CommandResult;
 import org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand;
 import org.eclipse.papyrus.infra.core.services.ServiceException;
-import org.eclipse.papyrus.infra.core.utils.ServiceUtilsForActionHandlers;
+import org.eclipse.papyrus.infra.ui.util.ServiceUtilsForHandlers;
 
 /**
  * Utility function. Allow execution of commands on a transactional command stack
@@ -31,7 +35,6 @@
  * @author ansgar
  *
  */
-@SuppressWarnings("deprecation")
 public class CommandSupport {
 
 	/**
@@ -40,12 +43,12 @@
 	 * @param label
 	 * @param command
 	 */
-	public static void exec(String label, final Runnable command) {
-		ServiceUtilsForActionHandlers serviceUtils = ServiceUtilsForActionHandlers.getInstance();
+	public static void exec(String label, ExecutionEvent event, final Runnable command) {
+		ServiceUtilsForHandlers serviceUtils = ServiceUtilsForHandlers.getInstance();
 		try {
-			exec(serviceUtils.getTransactionalEditingDomain(), label, command);
+			exec(serviceUtils.getTransactionalEditingDomain(event), label, command);
 		} catch (ServiceException e) {
-			Log.log(Log.ERROR_MSG, Log.UTILS, "Can not get editing domain");
+			Activator.log.error(e);
 		}
 	}
 
@@ -55,11 +58,12 @@
 	 * @param label
 	 * @param command
 	 */
-	public static void exec(String label, final RunnableWithResult command) {
-		ServiceUtilsForActionHandlers serviceUtils = ServiceUtilsForActionHandlers.getInstance();
+	public static void exec(String label, ExecutionEvent event, final RunnableWithResult command) {
+		// ServiceUtilsForActionHandlers serviceUtils = ServiceUtilsForActionHandlers.getInstance();
+		ServiceUtilsForHandlers serviceUtils = ServiceUtilsForHandlers.getInstance();
 		IOperationHistory history = OperationHistoryFactory.getOperationHistory();
 		try {
-			history.execute(new AbstractTransactionalCommand(serviceUtils.getTransactionalEditingDomain(),
+			history.execute(new AbstractTransactionalCommand(serviceUtils.getTransactionalEditingDomain(event),
 					label, Collections.EMPTY_LIST) {
 
 				@Override
@@ -68,9 +72,9 @@
 				}
 			}, null, null);
 		} catch (ExecutionException e) {
-			Log.log(Log.ERROR_MSG, Log.UTILS, "error during command execution");
+			Activator.log.error(e);
 		} catch (ServiceException e) {
-			Log.log(Log.ERROR_MSG, Log.UTILS, "Can not get editing domain");
+			Activator.log.error(e);
 		}
 	}
 
@@ -83,8 +87,7 @@
 	public static void exec(TransactionalEditingDomain domain, String label, final Runnable command) {
 		if (domain == null) {
 			command.run();
-		}
-		else {
+		} else {
 			IOperationHistory history = OperationHistoryFactory.getOperationHistory();
 			try {
 				history.execute(new AbstractTransactionalCommand(domain, label, Collections.EMPTY_LIST) {
@@ -96,9 +99,17 @@
 					}
 				}, null, null);
 			} catch (ExecutionException e) {
-				e.printStackTrace();
+				Activator.log.error(e);
 			}
 		}
 	}
 
+	public static void exec(IUndoableOperation command) {
+		IOperationHistory history = OperationHistoryFactory.getOperationHistory();
+		try {
+			history.execute(command, new NullProgressMonitor(), null);
+		} catch (ExecutionException e) {
+			Activator.log.error(e);
+		}
+	}
 }
diff --git a/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/Copy.java b/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/Copy.java
index ac59862..7102ae9 100644
--- a/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/Copy.java
+++ b/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/Copy.java
@@ -355,7 +355,7 @@
 			String name = ((NamedElement) sourceEObj).getQualifiedName();
 			// System.err.println("eC3Mcopier: " + name);
 			if ((name != null) && name.startsWith("uml::")) {
-				Log.log(Log.ERROR_MSG, Log.TRAFO_COPY, "copy for meta-model element \"" + name + "\" requested. Return original element");
+				
 				return sourceEObj;
 			}
 			if ((name != null) && name.startsWith("ProducerConsumer")) {
@@ -368,7 +368,8 @@
 		// of a package template
 		if ((sourceEObj instanceof Package) && (!withinTemplate)) {
 			if (((Package) sourceEObj).getOwnedTemplateSignature() != null) {
-				Log.log(Log.WARNING_MSG, Log.TRAFO_COPY, "warning: copying a package template without instantiating a template");
+				//Log.log(Log.WARNING_MSG, Log.TRAFO_COPY, "warning: copying a package template without instantiating a template");
+				Activator.log.warn("warning: copying a package template without instantiating a template");;
 			}
 		}
 
diff --git a/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/DepCreation.java b/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/DepCreation.java
index b044252..22ec3fe 100644
--- a/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/DepCreation.java
+++ b/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/DepCreation.java
@@ -15,6 +15,7 @@
 import java.util.Map;
 import java.util.Stack;
 
+import org.eclipse.emf.validation.internal.util.Log;
 import org.eclipse.uml2.uml.Class;
 import org.eclipse.uml2.uml.Classifier;
 import org.eclipse.uml2.uml.InstanceSpecification;
@@ -233,8 +234,8 @@
 				// no composition - only create slot, if a singleton
 				// (otherwise, it's not clear with which instance the slot
 				// should be associated)
-				Log.log(Log.INFO_MSG, Log.DEPLOYMENT,
-						"DepCreation.createDepPlan: " + type.getQualifiedName());
+				
+
 				// if(Utils.isSingleton((Class)type)) {
 				// // is a singleton - exactly one instance exists
 				// // use a common instance prefix for singletons
diff --git a/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/DepPlanSync.java b/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/DepPlanSync.java
index 68b619e..e29d4c1 100644
--- a/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/DepPlanSync.java
+++ b/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/DepPlanSync.java
@@ -93,7 +93,7 @@
 								DepCreation.createDepPlan(depPlan, (Class) type, instance.getName() + "." + attribute.getName(), true);
 						DepPlanUtils.createSlot(depPlan, instance, partIS, attribute);
 					} catch (TransformationException e) {
-						Log.log(Log.ERROR_MSG, Log.DEPLOYMENT, e.getMessage());
+						Activator.log.error(e);
 					}
 				}
 			}
diff --git a/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/Log.java b/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/Log.java
deleted file mode 100644
index c5988b5..0000000
--- a/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/Log.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Saadia Dhouib (CEA LIST) saadia.dhouib@cea.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.robotml.deployment;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Very simple message logging class
- *
- * @author ansgar
- *
- */
-public class Log {
-
-	public static final int ERROR_MSG = 1;
-
-	public static final int INFO_MSG = 2;
-
-	public static final int WARNING_MSG = 4;
-
-
-	public static final int TRAFO_CONNECTOR = 1;
-
-	public static final int TRAFO_CONTAINER = 2;
-
-	public static final int TRAFO_COPY = 4;
-
-	public static final int TRAFO_SYNC = 8;
-
-	public static final int TEMPLATE_BINDING = 0x10;
-
-	public static final int TEMPLATE_INSTANTIATION = 0x20;
-
-	public static final int DEPLOYMENT = 0x40;
-
-	public static final int DIALOGS = 0x80;
-
-	public static final int UTILS = 0x100;
-
-	public static final int CODEGEN = 0x200;
-
-	public static final int CALC_PORTKIND = 0x400;
-
-	static Map<Integer, String> moduleMap;
-
-	static String getModuleInfo(int moduleKind) {
-		if (moduleMap == null) {
-			moduleMap = new HashMap<Integer, String>();
-			moduleMap.put(TRAFO_CONNECTOR, "Trafo connector");
-			moduleMap.put(TRAFO_CONTAINER, "Trafo container");
-			moduleMap.put(TRAFO_COPY, "Trafo copy");
-			moduleMap.put(TRAFO_SYNC, "Synchronization");
-			moduleMap.put(TEMPLATE_BINDING, "Template binding");
-			moduleMap.put(TEMPLATE_INSTANTIATION, "Template instantiation");
-			moduleMap.put(DEPLOYMENT, "Template binding");
-			moduleMap.put(DIALOGS, "Qompass dialogs");
-			moduleMap.put(UTILS, "Utils");
-			moduleMap.put(CODEGEN, "Code generation");
-			moduleMap.put(CALC_PORTKIND, "Calculate portkind");
-		}
-		return "Module " + moduleMap.get(moduleKind) + ": ";
-	}
-
-	public static void log(int msgKind, int moduleKind, String message) {
-		if (msgKind == ERROR_MSG) {
-			System.err.println(getModuleInfo(moduleKind) + message);
-		} else if (msgKind == INFO_MSG) {
-			if ((moduleKind & moduleFilter) != 0) {
-				System.out.println(getModuleInfo(moduleKind) + message);
-			}
-		}
-	}
-
-	// TODO: make it a configuration property
-	static int moduleFilter = 0;
-}
diff --git a/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/Utils.java b/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/Utils.java
index fd8c169..a405787 100644
--- a/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/Utils.java
+++ b/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/Utils.java
@@ -23,7 +23,7 @@
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.resource.Resource;
 import org.eclipse.papyrus.infra.core.services.ServiceException;
-import org.eclipse.papyrus.infra.core.utils.ServiceUtilsForActionHandlers;
+import org.eclipse.papyrus.infra.core.utils.ServiceUtils;
 import org.eclipse.uml2.uml.AggregationKind;
 import org.eclipse.uml2.uml.Class;
 import org.eclipse.uml2.uml.Classifier;
@@ -410,10 +410,10 @@
 	 * @return the top level package of the model currently loaded into an editor.
 	 */
 	public static Package getUserModel() {
-		ServiceUtilsForActionHandlers serviceUtils = ServiceUtilsForActionHandlers.getInstance();
+		
 		try {
 			// IPath fn = serviceUtils.getModelSet().getFilenameWithoutExtension();
-			EList<Resource> resources = serviceUtils.getModelSet().getResources();
+			EList<Resource> resources = ServiceUtils.getInstance().getModelSet(null).getResources();
 			if (resources.size() >= 3) {
 				// check first three resources (di, notation, uml)
 				for (int i = 0; i < 3; i++) {
diff --git a/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/dialog/ConfigureInstanceDialog.java b/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/dialog/ConfigureInstanceDialog.java
index f55c69f..11c8e05 100644
--- a/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/dialog/ConfigureInstanceDialog.java
+++ b/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/dialog/ConfigureInstanceDialog.java
@@ -230,30 +230,28 @@
 		fInstanceList.setLabelProvider(new InstanceLabelProvider());
 		fInstanceList.setContentProvider(new ITreeContentProvider() {
 
-			@Override
 			public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
 			}
 
-			@Override
+			
 			public void dispose() {
 			}
 
-			@Override
+			
 			public boolean hasChildren(Object element) {
 				return getChildren(element).length > 0;
 			}
 
-			@Override
+		
 			public Object getParent(Object element) {
 				return null;
 			}
 
-			@Override
 			public Object[] getElements(Object inputElement) {
 				return (Object[]) inputElement;
 			}
 
-			@Override
+		
 			public Object[] getChildren(Object parentElement) {
 				if (parentElement instanceof InstanceSpecification) {
 					return DepUtils.getContainedInstances((InstanceSpecification) parentElement).toArray();
@@ -265,7 +263,7 @@
 		fInstanceList.setInput(m_instanceList.toArray());
 		fInstanceList.addSelectionChangedListener(new ISelectionChangedListener() {
 
-			@Override
+			
 			public void selectionChanged(SelectionChangedEvent event) {
 				ISelection selection = fInstanceList.getSelection();
 				if (selection instanceof StructuredSelection) {
@@ -311,7 +309,7 @@
 		fPropertyList
 				.addSelectionChangedListener(new ISelectionChangedListener() {
 
-					@Override
+				
 					public void selectionChanged(SelectionChangedEvent event) {
 						ISelection selection = fPropertyList.getSelection();
 						if (selection instanceof StructuredSelection) {
@@ -340,7 +338,7 @@
 		fValue.setLayoutData(span2);
 		fValue.addFocusListener(new FocusListener() {
 
-			@Override
+			
 			public void focusLost(FocusEvent e) {
 				// store value, once focus is lost (different element is
 				// selected)
@@ -374,7 +372,7 @@
 				}
 			}
 
-			@Override
+			
 			public void focusGained(FocusEvent e) {
 			}
 		});
diff --git a/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/handlers/AllocateHandler.java b/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/handlers/AllocateHandler.java
index 2617998..8a5fb31 100644
--- a/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/handlers/AllocateHandler.java
+++ b/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/handlers/AllocateHandler.java
@@ -69,9 +69,8 @@
 
 		// container dialog: either extension, rule or interceptor
 		// howto select? which? (and howto add/remove?) - Std - dialog is good?
-		CommandSupport.exec("Instance allocation", new RunnableWithResult() {
+		CommandSupport.exec("Instance allocation", event,new RunnableWithResult() {
 
-			@Override
 			public CommandResult run() {
 				AllocationDialog allocDialog =
 						new AllocationDialog(shell, cdp);
diff --git a/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/handlers/CmdHandler.java b/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/handlers/CmdHandler.java
index ee3ac73..ab9290c 100644
--- a/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/handlers/CmdHandler.java
+++ b/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/handlers/CmdHandler.java
@@ -45,7 +45,7 @@
 	/**
 	 * {@inheritDoc}
 	 */
-	@Override
+
 	public Object execute(ExecutionEvent event) {
 		Display current = Display.getCurrent();
 
@@ -125,18 +125,18 @@
 
 	private List<EObject> selectedEObjects;
 
-	@Override
+	
 	public void run(IAction action) {
 		// method from action-delegate
 	}
 
-	@Override
+	
 	public void selectionChanged(IAction action, ISelection selection) {
 		// method from action-delegate
 		updateSelectedEObject(); // required??
 	}
 
-	@Override
+	
 	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
 		// TODO Auto-generated method stub
 	}
diff --git a/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/handlers/ConfigureInstanceHandler.java b/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/handlers/ConfigureInstanceHandler.java
index 9426799..335d6df 100644
--- a/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/handlers/ConfigureInstanceHandler.java
+++ b/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/handlers/ConfigureInstanceHandler.java
@@ -69,9 +69,9 @@
 		if (element instanceof Class) {
 			// container dialog: either extension, rule or interceptor
 			// howto select? which? (and howto add/remove?) - Std - dialog is good?
-			CommandSupport.exec("Configure associated component instance", new RunnableWithResult() {
+			CommandSupport.exec("Configure associated component instance", event,new RunnableWithResult() {
 
-				@Override
+				
 				public CommandResult run() {
 					ConfigureInstanceDialog configureInstanceDialog =
 							new ConfigureInstanceDialog(shell);
@@ -89,9 +89,9 @@
 		} else if (element instanceof Feature) {
 			// container dialog: either extension, rule or interceptor
 			// howto select? which? (and howto add/remove?) - Std - dialog is good?
-			CommandSupport.exec("Configure associated instance", new RunnableWithResult() {
+			CommandSupport.exec("Configure associated instance", event,new RunnableWithResult() {
 
-				@Override
+			
 				public CommandResult run() {
 					ConfigureInstanceDialog configureInstanceDialog =
 							new ConfigureInstanceDialog(shell);
@@ -110,9 +110,9 @@
 
 		} else if (element instanceof InstanceSpecification) {
 
-			CommandSupport.exec("Configure instance", new RunnableWithResult() {
+			CommandSupport.exec("Configure instance", event,new RunnableWithResult() {
 
-				@Override
+			
 				public CommandResult run() {
 					ConfigureInstanceDialog configureInstanceDialog =
 							new ConfigureInstanceDialog(shell);
diff --git a/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/handlers/CreateDepPlanHandler.java b/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/handlers/CreateDepPlanHandler.java
index 1b92cfd..a08cae5 100644
--- a/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/handlers/CreateDepPlanHandler.java
+++ b/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/handlers/CreateDepPlanHandler.java
@@ -72,9 +72,9 @@
 		}
 		final Class selectedComposite = (Class) getSelectedEObject();
 
-		CommandSupport.exec("Create deployment plans", new Runnable() {
+		CommandSupport.exec("Create deployment plans", event,new Runnable() {
 
-			@Override
+		
 			public void run() {
 				// execute with transaction support
 				depPlans = DepPlanUtils.getDepPlanRoot(selectedComposite);
@@ -119,9 +119,8 @@
 			}
 			final String depPlanName = name;
 
-			CommandSupport.exec("Create deployment plan", new RunnableWithResult() {
+			CommandSupport.exec("Create deployment plan", event,new RunnableWithResult() {
 
-				@Override
 				public CommandResult run() {
 					Package cdp = depPlans.createNestedPackage(depPlanName);
 					Stereotype st = StUtils.apply(cdp, DeploymentPlan.class);
diff --git a/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/handlers/CreatePlatformHandler.java b/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/handlers/CreatePlatformHandler.java
index 3373fb6..3081038 100644
--- a/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/handlers/CreatePlatformHandler.java
+++ b/org.eclipse.papyrus.robotml.deployment/src/org/eclipse/papyrus/robotml/deployment/handlers/CreatePlatformHandler.java
@@ -61,9 +61,9 @@
 		}
 		final Class selectedComposite = (Class) getSelectedEObject();
 
-		CommandSupport.exec("Create platform model", new Runnable() {
+		CommandSupport.exec("Create platform model", event,new Runnable() {
 
-			@Override
+	
 			public void run() {
 				// execute with transaction support
 				platform = Utils.getRoot(selectedComposite, "PlatformModel");
@@ -78,9 +78,9 @@
 				MessageDialog.openInformation(shell, "Error",
 						"Platform definition \"" + newPlatform + "\" exists already");
 			} else {
-				CommandSupport.exec("Create platform definition", new Runnable() {
+				CommandSupport.exec("Create platform definition", event,new Runnable() {
 
-					@Override
+			
 					public void run() {
 						Package platformPkg = platform.createNestedPackage(newPlatform);
 						try {
diff --git a/org.eclipse.papyrus.robotml.diagram.common/META-INF/MANIFEST.MF b/org.eclipse.papyrus.robotml.diagram.common/META-INF/MANIFEST.MF
index 8213552..d9e2179 100644
--- a/org.eclipse.papyrus.robotml.diagram.common/META-INF/MANIFEST.MF
+++ b/org.eclipse.papyrus.robotml.diagram.common/META-INF/MANIFEST.MF
@@ -21,7 +21,10 @@
  org.eclipse.ui.ide;bundle-version="3.9.0",
  org.eclipse.gmf.runtime.notation.edit,
  org.eclipse.papyrus.uml.diagram.clazz;bundle-version="1.2.0",
- org.eclipse.papyrus.uml.diagram.stereotype.edition
+ org.eclipse.papyrus.uml.diagram.stereotype.edition,
+ org.eclipse.papyrus.infra.ui;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.core.sasheditor;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.ui.emf
 Bundle-Vendor: %Bundle-Vendor
 Bundle-ActivationPolicy: lazy
 Bundle-Version: 1.2.0.qualifier
diff --git a/org.eclipse.papyrus.robotml.diagram.common/plugin.xml b/org.eclipse.papyrus.robotml.diagram.common/plugin.xml
index e1ddaaf..f06c5e3 100644
--- a/org.eclipse.papyrus.robotml.diagram.common/plugin.xml
+++ b/org.eclipse.papyrus.robotml.diagram.common/plugin.xml
@@ -2,7 +2,7 @@
 <?eclipse version="3.4"?>
 <plugin>
    <extension
-         point="org.eclipse.papyrus.infra.core.papyrusDiagram">
+         point="org.eclipse.papyrus.infra.ui.papyrusDiagram">
       <diagramCategory
             class="org.eclipse.papyrus.robotml.diagram.common.commands.CreateRobotmlModelCommand"
             description="RobotML diagrams"
diff --git a/org.eclipse.papyrus.robotml.diagram.common/pom.xml b/org.eclipse.papyrus.robotml.diagram.common/pom.xml
index 802ed6b..56f51af 100644
--- a/org.eclipse.papyrus.robotml.diagram.common/pom.xml
+++ b/org.eclipse.papyrus.robotml.diagram.common/pom.xml
@@ -8,4 +8,5 @@
 	</parent>
 	<artifactId>org.eclipse.papyrus.robotml.diagram.common</artifactId>
 	<packaging>eclipse-plugin</packaging>
+	<name>org.eclipse.papyrus.robotml.diagram.common</name>
 </project>
\ No newline at end of file
diff --git a/org.eclipse.papyrus.robotml.diagram.common/src/org/eclipse/papyrus/robotml/diagram/common/utils/RobotmlSelectionTester.java b/org.eclipse.papyrus.robotml.diagram.common/src/org/eclipse/papyrus/robotml/diagram/common/utils/RobotmlSelectionTester.java
index 6b7a0e2..61ddb70 100644
--- a/org.eclipse.papyrus.robotml.diagram.common/src/org/eclipse/papyrus/robotml/diagram/common/utils/RobotmlSelectionTester.java
+++ b/org.eclipse.papyrus.robotml.diagram.common/src/org/eclipse/papyrus/robotml/diagram/common/utils/RobotmlSelectionTester.java
@@ -19,10 +19,10 @@
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.papyrus.infra.core.editor.IMultiDiagramEditor;
+import org.eclipse.papyrus.infra.ui.editor.IMultiDiagramEditor;
 import org.eclipse.papyrus.infra.core.resource.ModelSet;
 import org.eclipse.papyrus.infra.core.resource.ModelsReader;
-import org.eclipse.papyrus.infra.emf.utils.ServiceUtilsForSelection;
+import org.eclipse.papyrus.infra.ui.util.ServiceUtilsForSelection;
 import org.eclipse.papyrus.uml.tools.model.UmlModel;
 import org.eclipse.ui.IEditorPart;
 import org.eclipse.ui.PlatformUI;
diff --git a/org.eclipse.papyrus.robotml.diagram.ui/pom.xml b/org.eclipse.papyrus.robotml.diagram.ui/pom.xml
index f5db394..e5ba8da 100644
--- a/org.eclipse.papyrus.robotml.diagram.ui/pom.xml
+++ b/org.eclipse.papyrus.robotml.diagram.ui/pom.xml
@@ -8,4 +8,5 @@
 	</parent>
 	<artifactId>org.eclipse.papyrus.robotml.diagram.ui</artifactId>
 	<packaging>eclipse-plugin</packaging>
+	<name>org.eclipse.papyrus.robotml.diagram.ui</name>
 </project>
\ No newline at end of file
diff --git a/org.eclipse.papyrus.robotml.doc/pom.xml b/org.eclipse.papyrus.robotml.doc/pom.xml
index 9213322..68a293e 100644
--- a/org.eclipse.papyrus.robotml.doc/pom.xml
+++ b/org.eclipse.papyrus.robotml.doc/pom.xml
@@ -8,4 +8,5 @@
 	</parent>
 	<artifactId>org.eclipse.papyrus.robotml.doc</artifactId>
 	<packaging>eclipse-plugin</packaging>
+	<name>org.eclipse.papyrus.robotml.doc</name>
 </project>
\ No newline at end of file
diff --git a/org.eclipse.papyrus.robotml.modelexplorer/pom.xml b/org.eclipse.papyrus.robotml.modelexplorer/pom.xml
index 845e63b..fe108db 100644
--- a/org.eclipse.papyrus.robotml.modelexplorer/pom.xml
+++ b/org.eclipse.papyrus.robotml.modelexplorer/pom.xml
@@ -8,4 +8,5 @@
 	</parent>
 	<artifactId>org.eclipse.papyrus.robotml.modelexplorer</artifactId>
 	<packaging>eclipse-plugin</packaging>
+	<name>org.eclipse.papyrus.robotml.modelexplorer</name>
 </project>
\ No newline at end of file
diff --git a/org.eclipse.papyrus.robotml.perspective/pom.xml b/org.eclipse.papyrus.robotml.perspective/pom.xml
index 4090500..b5aeec2 100644
--- a/org.eclipse.papyrus.robotml.perspective/pom.xml
+++ b/org.eclipse.papyrus.robotml.perspective/pom.xml
@@ -8,4 +8,5 @@
 	</parent>
 	<artifactId>org.eclipse.papyrus.robotml.perspective</artifactId>
 	<packaging>eclipse-plugin</packaging>
+	<name>org.eclipse.papyrus.robotml.perspective</name>
 </project>
\ No newline at end of file
diff --git a/org.eclipse.papyrus.robotml.templaterepository/pom.xml b/org.eclipse.papyrus.robotml.templaterepository/pom.xml
index 8c21b06..ec8ea57 100644
--- a/org.eclipse.papyrus.robotml.templaterepository/pom.xml
+++ b/org.eclipse.papyrus.robotml.templaterepository/pom.xml
@@ -8,4 +8,5 @@
 	</parent>
 	<artifactId>org.eclipse.papyrus.robotml.templaterepository</artifactId>
 	<packaging>eclipse-plugin</packaging>
+	<name>org.eclipse.papyrus.robotml.templaterepository</name>
 </project>
\ No newline at end of file
diff --git a/org.eclipse.papyrus.robotml.validation/pom.xml b/org.eclipse.papyrus.robotml.validation/pom.xml
index 78c73bf..5d95f3a 100644
--- a/org.eclipse.papyrus.robotml.validation/pom.xml
+++ b/org.eclipse.papyrus.robotml.validation/pom.xml
@@ -8,4 +8,5 @@
 	</parent>
 	<artifactId>org.eclipse.papyrus.robotml.validation</artifactId>
 	<packaging>eclipse-plugin</packaging>
+	<name>org.eclipse.papyrus.robotml.validation</name>
 </project>
\ No newline at end of file
diff --git a/org.eclipse.papyrus.robotml/pom.xml b/org.eclipse.papyrus.robotml/pom.xml
index 02a467b..e60696f 100644
--- a/org.eclipse.papyrus.robotml/pom.xml
+++ b/org.eclipse.papyrus.robotml/pom.xml
@@ -8,4 +8,5 @@
 	</parent>
 	<artifactId>org.eclipse.papyrus.robotml</artifactId>
 	<packaging>eclipse-plugin</packaging>
+	<name>org.eclipse.papyrus.robotml</name>
 </project>
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 4c775a0..9b905d2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
 	<artifactId>org.eclipse.papyrus.robotml.parent</artifactId>
 	<version>1.2.0-SNAPSHOT</version>
 	<packaging>pom</packaging>
-	<name>robotml</name>
+	<name>RobotML</name>
 	<description>Papyrus RobotML platform</description>
 
 	<modules>
@@ -47,7 +47,7 @@
 		<maven-pmd-version>3.1</maven-pmd-version>
 		<maven-jxr-version>2.3</maven-jxr-version>
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-		
+
 		<siteMainDirectory>${user.home}/staging</siteMainDirectory>
 
 		<!-- Eclipse properties -->
@@ -101,7 +101,7 @@
 			<name>Saadia DHOUIB</name>
 			<organization>CEA Tech LIST</organization>
 			<organizationUrl>http://www-list.cea.fr/</organizationUrl>
-			<id>bmaggi</id>
+			<id>sdhouib</id>
 		</developer>
 		<developer>
 			<name>Francois LE FEVRE</name>
@@ -112,7 +112,9 @@
 	</developers>
 	<contributors>
 		<contributor>
-			<name>Klass GADEYNE</name>
+			<name>Benoit MAGGI</name>
+			<organization>CEA Tech LIST</organization>
+			<organizationUrl>http://www-list.cea.fr/</organizationUrl>
 		</contributor>
 	</contributors>
 
@@ -378,7 +380,7 @@
 							</execution>
 						</executions>
 					</plugin>
-					<plugin>
+					<!-- plugin>
 						<groupId>org.apache.maven.plugins</groupId>
 						<artifactId>maven-resources-plugin</artifactId>
 						<inherited>false</inherited>
@@ -400,7 +402,7 @@
 								</configuration>
 							</execution>
 						</executions>
-					</plugin>
+					</plugin-->
 					<plugin>
 						<groupId>org.apache.maven.plugins</groupId>
 						<artifactId>maven-site-plugin</artifactId>
@@ -409,7 +411,8 @@
 							<inputEncoding>UTF-8</inputEncoding>
 							<outputEncoding>UTF-8</outputEncoding>
 							<skipDeploy>false</skipDeploy>
-							<stagingSiteURL>file://${siteMainDirectory}</stagingSiteURL>
+							<stagingSiteURL>file://${siteMainDirectory}/${project.version}</stagingSiteURL>
+							<!--topSiteURL>http://hudson.eclipse.org/papyrus/view/Sysml/job/papyrus-sysml-website/ws/site-staging/</topSiteURL -->
 						</configuration>
 						<dependencies>
 							<dependency>
@@ -429,11 +432,11 @@
 						<artifactId>maven-scm-publish-plugin</artifactId>
 						<version>1.1</version>
 						<configuration>
-							<!-- checkoutDirectory>${scmPubCheckoutDirectory}</checkoutDirectory -->
+							<!-- checkoutDirectory>${siteMainDirectory}</checkoutDirectory -->
 							<content>${siteMainDirectory}</content>
 							<tryUpdate>true</tryUpdate>
-							<scmBranch>gh-pages</scmBranch>
-							<pubScmUrl>scm:git:git@github.com:flefevre/testpapy.git</pubScmUrl>
+							<scmBranch>master</scmBranch>
+							<pubScmUrl>scm:git:https://git.eclipse.org/gitroot/www.eclipse.org/papyrus-robotml</pubScmUrl>
 						</configuration>
 						<executions>
 							<execution>
@@ -519,6 +522,11 @@
 							</reportSet>
 						</reportSets>
 					</plugin>
+					<plugin>
+						<groupId>org.jacoco</groupId>
+						<artifactId>jacoco-maven-plugin</artifactId>
+						<version>${jacoco-version}</version>
+					</plugin>
 				</plugins>
 			</reporting>
 
@@ -567,6 +575,18 @@
 						</dependencies>
 						<executions>
 							<execution>
+								<id>userguidepdf</id>
+								<phase>site</phase>
+								<goals>
+									<goal>pdf</goal>
+								</goals>
+								<configuration>
+									<outputDirectory>${project.reporting.outputDirectory}/pdf</outputDirectory>
+									<includeReports>false</includeReports>
+									<docDescriptor>src/site/pdf/user-guide.pdf.xml</docDescriptor>
+								</configuration>
+							</execution>
+							<execution>
 								<id>developerguidepdf</id>
 								<phase>site</phase>
 								<goals>
@@ -732,5 +752,21 @@
 				<ui.test.vmargs>${env.ui.test}</ui.test.vmargs>
 			</properties>
 		</profile>
+
+		<!-- Profile for web publication -->
+		<profile>
+			<id>web.staging</id>
+			<properties>
+				<web.absoluteResourceURL>https://hudson.eclipse.org/papyrus/view/RobotML/job/papyrus-robotml-website/ws/site-staging/${project.version}/</web.absoluteResourceURL>
+				<web.href>https://hudson.eclipse.org/papyrus/view/Sysml/job/papyrus-RobotML-website/ws/site-staging/${project.version}/index.html</web.href>
+			</properties>
+		</profile>
+		<profile>
+			<id>web.release</id>
+			<properties>
+				<web.absoluteResourceURL>https://www.eclipse.org/papyrus-robotml/${project.version}/</web.absoluteResourceURL>
+				<web.href>https://www.eclipse.org/papyrus-robotml/${project.version}/index.html</web.href>
+			</properties>
+		</profile>
 	</profiles>
 </project>
\ No newline at end of file
diff --git a/releng/org.eclipse.papyrus.robotml.feature/feature.xml b/releng/org.eclipse.papyrus.robotml.feature/feature.xml
index 3ac8932..944b5a4 100644
--- a/releng/org.eclipse.papyrus.robotml.feature/feature.xml
+++ b/releng/org.eclipse.papyrus.robotml.feature/feature.xml
@@ -1,4 +1,9 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><feature id="org.eclipse.papyrus.robotml.feature" label="%featureName" provider-name="%providerName" version="1.2.0.qualifier">
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.eclipse.papyrus.robotml.feature"
+      label="%featureName"
+      version="1.2.0.qualifier"
+      provider-name="%providerName">
 
    <description>
       RobotML Modelling Tools
@@ -18,22 +23,66 @@
       %license
    </license>
 
-   <plugin download-size="0" id="org.eclipse.papyrus.robotml" install-size="0" unpack="false" version="0.0.0"/>
+   <plugin
+         id="org.eclipse.papyrus.robotml"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
 
-   <plugin download-size="0" id="org.eclipse.papyrus.robotml.diagram.common" install-size="0" unpack="false" version="0.0.0"/>
+   <plugin
+         id="org.eclipse.papyrus.robotml.diagram.common"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
 
-   <plugin download-size="0" id="org.eclipse.papyrus.robotml.templaterepository" install-size="0" unpack="false" version="0.0.0"/>
+   <plugin
+         id="org.eclipse.papyrus.robotml.templaterepository"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
 
-   <plugin download-size="0" id="org.eclipse.papyrus.robotml.diagram.ui" install-size="0" unpack="false" version="0.0.0"/>
+   <plugin
+         id="org.eclipse.papyrus.robotml.diagram.ui"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
 
-   <plugin download-size="0" id="org.eclipse.papyrus.robotml.validation" install-size="0" unpack="false" version="0.0.0"/>
+   <plugin
+         id="org.eclipse.papyrus.robotml.validation"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
 
-   <plugin download-size="0" id="org.eclipse.papyrus.robotml.perspective" install-size="0" unpack="false" version="0.0.0"/>
+   <plugin
+         id="org.eclipse.papyrus.robotml.perspective"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
 
-   <plugin download-size="0" id="org.eclipse.papyrus.robotml.generators.common" install-size="0" unpack="false" version="0.0.0"/>
+   <plugin
+         id="org.eclipse.papyrus.robotml.generators.common"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
 
-   <plugin download-size="0" id="org.eclipse.papyrus.robotml.deployment" install-size="0" version="0.0.0"/>
+   <plugin
+         id="org.eclipse.papyrus.robotml.deployment"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
 
-   <plugin download-size="0" id="org.eclipse.papyrus.robotml.doc" install-size="0" unpack="false" version="0.0.0"/>
+   <plugin
+         id="org.eclipse.papyrus.robotml.doc"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
 
-</feature>
\ No newline at end of file
+</feature>
diff --git a/releng/org.eclipse.papyrus.robotml.generators.intempora.rtmaps.feature/feature.xml b/releng/org.eclipse.papyrus.robotml.generators.intempora.rtmaps.feature/feature.xml
index 57e6c71..b006678 100644
--- a/releng/org.eclipse.papyrus.robotml.generators.intempora.rtmaps.feature/feature.xml
+++ b/releng/org.eclipse.papyrus.robotml.generators.intempora.rtmaps.feature/feature.xml
@@ -25,4 +25,4 @@
 
    <plugin download-size="0" id="org.eclipse.papyrus.robotml.generators.intempora.rtmaps.ui" install-size="0" unpack="false" version="0.0.0"/>
 
-</feature>
\ No newline at end of file
+</feature>
diff --git a/releng/org.eclipse.papyrus.robotml.generators.intempora.rtmaps.feature/pom.xml b/releng/org.eclipse.papyrus.robotml.generators.intempora.rtmaps.feature/pom.xml
index 8aef259..9ac8b29 100644
--- a/releng/org.eclipse.papyrus.robotml.generators.intempora.rtmaps.feature/pom.xml
+++ b/releng/org.eclipse.papyrus.robotml.generators.intempora.rtmaps.feature/pom.xml
@@ -9,6 +9,6 @@
 	</parent>
 	<artifactId>org.eclipse.papyrus.robotml.generators.intempora.rtmaps.feature</artifactId>
 	<packaging>eclipse-feature</packaging>
-	<name>org.eclipse.papyrus.robotml.feature</name>
+	<name>org.eclipse.papyrus.robotml.generators.intempora.rtmaps.feature</name>
 	<description>This plugin gather all RobotML plugins to define a fully functionnal DSML editor.</description>
 </project>
\ No newline at end of file
diff --git a/releng/org.eclipse.papyrus.robotml.p2/pom.xml b/releng/org.eclipse.papyrus.robotml.p2/pom.xml
index 234daa0..0940dbf 100644
--- a/releng/org.eclipse.papyrus.robotml.p2/pom.xml
+++ b/releng/org.eclipse.papyrus.robotml.p2/pom.xml
@@ -9,6 +9,8 @@
 	</parent>
 	<artifactId>org.eclipse.papyrus.robotml.p2</artifactId>
 	<packaging>eclipse-repository</packaging>
+	<name>org.eclipse.papyrus.robotml.p2</name>
+	<description>This plugin defines the update site of RobotML plugins and feature.</description>
 	<pluginRepositories>
 		<pluginRepository>
 			<id>jboss-public-repository-group</id>
@@ -16,45 +18,53 @@
 			<url>http://repository.jboss.org/nexus/content/groups/public/</url>
 		</pluginRepository>
 	</pluginRepositories>
-	<profiles>
-		<profile>
-			<id>NEON.target</id>
-			<activation>
-				<activeByDefault>true</activeByDefault>
-			</activation>
-			<build>
-				<plugins>
-					<plugin>
-						<!-- https://github.com/jbosstools/jbosstools-maven-plugins/wiki -->
-						<groupId>org.jboss.tools.tycho-plugins</groupId>
-						<artifactId>repository-utils</artifactId>
-						<version>0.23.2</version>
-						<executions>
-							<execution>
-								<id>generate-facade</id>
-								<phase>package</phase>
-								<goals>
-									<goal>generate-repository-facade</goal>
-								</goals>
-								<configuration>
-									<associateSites>
-										<site>http://download.eclipse.org/releases/neon</site>
-									</associateSites>
-								</configuration>
-							</execution>
-						</executions>
-						<dependencies>
-							<dependency>
-								<groupId>org.eclipse.tycho</groupId>
-								<artifactId>tycho-packaging-plugin</artifactId>
-								<version>${tycho-version}</version>
-							</dependency>
-						</dependencies>
-					</plugin>
-				</plugins>
-			</build>
-		</profile>
-	</profiles>
-	<name>org.eclipse.papyrus.robotml.p2</name>
-	<description>This plugin defines the update site of RobotML plugins and feature.</description>
+	<build>
+		<plugins>
+			<plugin>
+				<!-- https://github.com/jbosstools/jbosstools-maven-plugins/wiki -->
+				<groupId>org.jboss.tools.tycho-plugins</groupId>
+				<artifactId>repository-utils</artifactId>
+				<version>0.23.2</version>
+				<executions>
+					<execution>
+						<id>generate-facade</id>
+						<phase>package</phase>
+						<goals>
+							<goal>generate-repository-facade</goal>
+						</goals>
+						<configuration>
+							<symbols>
+								<update.site.name>RobotML</update.site.name>
+								<update.site.description>Use this URL in Eclipse to install RobotML</update.site.description>
+								<update.site.version>${project.version}</update.site.version>
+								<project.website>https://hudson.eclipse.org/papyrus/view/RobotMLjob/papyrus-robotml-website/ws/site-staging/index.html</project.website>
+								<project.issues>${project.issueManagement.url}</project.issues>
+								<eclipse.target>${eclipse.targetrelease}</eclipse.target>
+								<update.site.nightly>https://hudson.eclipse.org/papyrus/view/RobotML/job/papyrus-robotml/ws/releng/org.eclipse.papyrus.robotml.p2/target/repository/</update.site.nightly>
+							</symbols>
+							<associateSites>
+								<site>https://hudson.eclipse.org/papyrus/view/RobotML/job/papyrus-robotml-website/ws/site-staging/index.html</site>
+							</associateSites>
+							<siteTemplateFolder>siteTemplate</siteTemplateFolder>
+							<p2StatsUrl>http://download.eclipse.org/stats</p2StatsUrl>
+						</configuration>
+					</execution>
+				</executions>
+				<dependencies>
+					<dependency>
+						<groupId>org.eclipse.tycho</groupId>
+						<artifactId>tycho-packaging-plugin</artifactId>
+						<version>${tycho-version}</version>
+					</dependency>
+				</dependencies>
+			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-deploy-plugin</artifactId>
+				<configuration>
+					<skip>true</skip>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
 </project>
\ No newline at end of file
diff --git a/releng/org.eclipse.papyrus.robotml.p2/publish.README b/releng/org.eclipse.papyrus.robotml.p2/publish.README
new file mode 100644
index 0000000..66b977d
--- /dev/null
+++ b/releng/org.eclipse.papyrus.robotml.p2/publish.README
@@ -0,0 +1,3 @@
+The publish.sh script may be used to publish the build results (update site). The script may be called
+without parameters and prompts for everything it requires for publishing an update site, or it may be 
+invoked with respective command line parameters.
\ No newline at end of file
diff --git a/releng/org.eclipse.papyrus.robotml.p2/publish.sh b/releng/org.eclipse.papyrus.robotml.p2/publish.sh
new file mode 100755
index 0000000..4d6cc2c
--- /dev/null
+++ b/releng/org.eclipse.papyrus.robotml.p2/publish.sh
@@ -0,0 +1,406 @@
+#!/bin/sh
+#Based upon Gef4 publish.sh script
+
+#causes the shell to exit if any subcommand or pipeline returns a non-zero status.
+#set -e
+
+# Script may take 10-11 command line parameters:
+# $1: Hudson job name: <name>
+# $2: Hudson build id: <id>
+# $3: Build type: i(ntegration), s(table), r(elease)
+# $4: Whether to promote to an update-site: (y)es, (n)o
+# $5: Whether to merge the site with an existing one: (y)es, (n)o
+# $6: Whether to generate drop files: (y)es, (n)o
+# $7: The release label used to label the drop files and (nested) update site, e.g. 3.10.0 or 3.10.1
+# $8: The eclipse target version, e.g. mars or neon
+# $9: Whether to generate rcp files: (y)es, (n)o
+# $10: Papyrus component 
+# $11: An optional release label suffix to be appended to drop files and (nested) update site name, e.g. M1, RC1 
+
+#The publish.sh script may be used to publish the build results (update site and drop files and rcp). The script may be called
+#without parameters and prompts for everything it requires for publishing an update site, or it may be 
+#invoked with respective command line parameters.
+if [ $# -eq 10 -o $# -eq 11  ];
+then
+	jobName=${1}
+	echo "jobName: $jobName"
+	buildId=${2}
+	echo "buildId: $buildId"
+	buildType=${3}
+	echo "buildType: $buildType"
+	site=${4}
+	echo "site: $site"
+	merge=${5}
+	echo "merge: $merge"
+	dropFiles=${6}
+	echo "dropFiles: $dropFiles"
+	releaseLabel=${7}	
+	echo "releaseLabel: $releaseLabel"
+	eclipseTarget=${8}	
+	echo "eclipseTarget: $eclipseTarget"
+	rcpFiles=${9}	
+	echo "rcpFiles: $rcpFiles"
+	component=${10}	
+	echo "component: $component"
+	if [ -n "${11}" ];
+	then
+		releaseLabelSuffix=${11}
+		echo "releaseLabelSuffix: $releaseLabelSuffix"
+	fi
+else
+	if [ $# -ne 0 ];
+	then
+		exit 1
+	fi
+fi
+
+#The root url that enables to find the job with ${hudsonJobRootUrl}/$jobName/$buildId
+hudsonJobRootUrl="https://hudson.eclipse.org/papyrus/job/"
+
+#The localization of the local build target update site
+targetUpdateSite="archive/releng/org.eclipse.papyrus.${component}.p2/target/repository"
+targetRCPRoot="archive/releng/org.eclipse.papyrus.${component}.product/target/products/org.eclipse.papyrus.${component}.product"
+
+#The feature to parse to retrieve the qualifierversion
+feature2Parse4QualifierVersion="org.eclipse.papyrus.${component}.feature"
+
+#The specific localization
+hudsonRoot="/home/data/httpd/download.eclipse.org/"
+
+remoteUpdateSiteRoot="modeling/mdt/papyrus/components/${component}"
+remoteDropDir=${hudsonRoot}/${remoteUpdateSiteRoot}/downloads/${releaseLabel}/drops
+remoteUpdateSite="${hudsonRoot}/${remoteUpdateSiteRoot}/${remoteSite}"
+remoteRcpDir=${hudsonRoot}/${remoteUpdateSiteRoot}/downloads/${releaseLabel}/rcps
+
+
+
+if [ -z "$jobName" ];
+then
+	echo -n "Please enter the name of the Hudson job you want to promote:"
+	read jobName
+fi
+
+if [ -z "$buildId" ];
+then
+	for i in $( find ~/.hudson/jobs/$jobName/builds -type l | sed 's!.*/!!' | sort)
+	do
+		echo -n "$i, "
+	done
+	echo "lastStable, lastSuccessful"
+	echo -n "Please enter the id of the $jobName build you want to promote:"
+	read buildId
+fi
+
+if [ "$buildId" = "lastStable" -o "$buildId" = "lastSuccessful" ];
+then
+	# Reverse lookup the build id (in case lastSuccessful or lastStable was used)
+	for i in $(find ~/.hudson/jobs/$jobName/builds/ -type l)
+	do
+		if [ "$(readlink -f $i)" = "$(readlink -f ~/.hudson/jobs/$jobName/$buildId)" ];
+		then
+			buildId=${i##*/}
+		fi
+	done
+	echo "Reverse lookup (lastStable/lastSuccessful) yielded buildId: $buildId"
+fi
+
+# Determine the local update site we want to publish to
+jobDir=$(readlink -f ~/.hudson/jobs/${jobName}/builds/${buildId})
+if [ ! -d $jobDir ];
+then
+	echo "The specified buildId does not refer to an existing build: $buildId"
+	exit 1
+fi
+
+
+localUpdateSite=${jobDir}/${targetUpdateSite}
+echo "jobDir=${jobDir}"
+echo "targetUpdateSite=${targetUpdateSite}"
+echo "localUpdateSite=${localUpdateSite}"
+
+localRCPSiteRoot=${jobDir}/${targetRCPRoot}
+echo "localRCPSiteRoot=${localRCPSiteRoot}"
+
+echo "Publishing from local update site: $localUpdateSite"
+
+# Select the build type
+if [ -z "$buildType" ];
+then
+    echo -n "Please select which type of build you want to publish to [i(integration), s(table), r(elease)]: "
+    read buildType
+fi
+echo "Publishing as $buildType build"
+
+# check if we are going to promote to an update-site
+if [ -z "$site" ];
+then
+	echo -n "Do you want to promote to an remote update site? [(y)es, (n)o]:"
+	read site
+fi
+if [ "$site" != y -a "$site" != n ];
+then
+	echo "Parameter site has to be 'y'(es) or 'n'(o) but was: $site"
+    exit 0
+fi
+echo "Promoting to remote update site: $site"
+
+if [ "$site" = y ];
+then
+	# Determine remote update site we want to promote to
+	case $buildType in
+		i|I) remoteSite=integration;;
+		s|S) remoteSite=milestones;;
+		r|R) remoteSite=releases;;
+		*) 
+		echo "Parameter buildType has to be 'i'(ntegration), 's'(stable), or 'r'(elease), but was: $buildType"
+		exit 1 ;;
+	esac
+
+	echo "Publishing to remote update-site: $remoteUpdateSite"
+
+	if [ -d "$remoteUpdateSite" ];
+	then
+		if [ -z "$merge" ];
+		then
+			echo -n "Do you want to merge with the existing update-site? [(y)es, (n)o]:"
+			read merge
+		fi
+		if [ "$merge" != y -a "$merge" != n ];
+		then
+			echo "Parameter merge has to be 'y'(es) or 'n'(o) but was: $merge"
+			exit 1
+		fi
+	else
+		merge=n
+	fi
+	echo "Merging with existing site: $merge"
+fi
+
+# check if we are going to create drop files
+if [ -z "$dropFiles" ];
+then
+	echo -n "Do you want to create drop files? [(y)es, (n)o]:"
+	read dropFiles
+fi
+if [ "$dropFiles" != y -a "$dropFiles" != n ];
+then
+	echo "Parameter dropFiles has to be 'y'(es) or 'n'(o) but was: $dropFiles"
+	exit 1
+fi
+echo "Generating drop files: $dropFiles"
+
+# Determine releaseLabel
+if [ -z "$releaseLabel" ];
+then
+    echo -n "Please enter release label (e.g. 3.10.0, 3.10.1M2):"
+    read releaseLabel
+fi
+
+# Prepare a temp directory
+mkdir -p target
+cd target
+tmpDir="$jobName-publish-tmp"
+rm -fr $tmpDir
+mkdir -p $tmpDir
+cd $tmpDir
+
+# Download and prepare Eclipse SDK, which is needed to merge update site and postprocess repository 
+echo "Downloading eclipse to $PWD"
+
+cp /home/data/httpd/download.eclipse.org/eclipse/downloads/drops4/R-4.4.2-201502041700/eclipse-SDK-4.4.2-linux-gtk-x86_64.tar.gz .
+tar -xzf eclipse-SDK-4.4.2-linux-gtk-x86_64.tar.gz
+cd eclipse
+chmod 700 eclipse
+cd ..
+if [ ! -d "eclipse" ];
+then
+    echo "Failed to download an Eclipse SDK, being needed for provisioning."
+    exit
+fi
+# Prepare Eclipse SDK to provide WTP releng tools (used to postprocess repository, i.e set p2.mirrorsURL property)
+echo "Installing WTP Releng tools"
+./eclipse/eclipse -nosplash --launcher.suppressErrors -clean -debug -application org.eclipse.equinox.p2.director -repository http://download.eclipse.org/webtools/releng/repository/ -installIUs org.eclipse.wtp.releng.tools.feature.feature.group
+# Clean up
+echo "Cleaning up"
+rm eclipse-SDK-4.4.2-linux-gtk-x86_64.tar.gz
+
+# Generate drop files
+if [ "$dropFiles" = y ];
+	then
+	
+	# Prepare local update site (for drop files)
+	mkdir -p update-site
+	cp -R $localUpdateSite/* update-site/
+	echo "Copied $localUpdateSite to local directory update-site."
+	
+	qualifiedVersion=$(find update-site/features/ -maxdepth 1 | grep "${feature2Parse4QualifierVersion}")
+	qualifiedVersion=${qualifiedVersion%.jar}
+    qualifiedVersion=${qualifiedVersion#*_}
+    qualifier=${qualifiedVersion##*.}
+    dropDir="${releaseLabel}/$(echo $buildType | tr '[:lower:]' '[:upper:]')$qualifier"
+    localDropDir=drops/$dropDir
+    echo "Creating drop files in local directory $localDropDir"
+    mkdir -p $localDropDir
+    
+    cd update-site
+    zip -r ../$localDropDir/${component}-Update-${releaseLabel}${releaseLabelSuffix}.zip features plugins artifacts.jar content.jar
+    md5sum ../$localDropDir/${component}-Update-${releaseLabel}${releaseLabelSuffix}.zip > ../$localDropDir/${component}-Update-${releaseLabel}${releaseLabelSuffix}.zip.md5
+    echo "Created ${component}-Update-Site-${releaseLabel}${releaseLabelSuffix}.zip" 
+    cd ..  
+
+    # Cleanup local update site (for drop files generation)
+	rm -fr update-site
+
+	#generating build.cfg file to be referenced from downloads web page
+	echo "generating build.cfg file to be referenced from downloads web page"
+    echo "hudson.job.name=$jobName" > $localDropDir/build.cfg
+    echo "hudson.job.id=$buildId (${jobDir##*/})" >> $localDropDir/build.cfg
+    echo "hudson.job.url= ${hudsonJobRootUrl}/$jobName/$buildId" >> $localDropDir/build.cfg
+    
+	mkdir -p ${remoteDropDir}
+    cp -R $localDropDir/* ${remoteDropDir}/
+         
+fi
+
+# Generate RCP files
+if [ "$rcpFiles" = y ];
+	then
+	
+	# Prepare local rcp site (for rcp files)
+	mkdir -p rcp-site
+	cp ${localRCPSiteRoot}-linux.gtk.x86_64.zip rcp-site/org.eclipse.papyrus.${component}.product-${releaseLabel}-${releaseLabelSuffix}-linux.gtk.x86_64.zip
+	echo "Copied ${localRCPSiteRoot}-linux.gtk.x86_64.zip to local directory rcp-site."
+	cp ${localRCPSiteRoot}-macosx.cocoa.x86_64.tar.gz rcp-site/org.eclipse.papyrus.${component}.product-${releaseLabel}-${releaseLabelSuffix}-macosx.cocoa.x86_64.tar.gz
+	echo "Copied ${localRCPSiteRoot}-macosx.cocoa.x86_64.tar.gz to local directory rcp-site."
+	cp ${localRCPSiteRoot}-win32.win32.x86_64.zip rcp-site/org.eclipse.papyrus.${component}.product-${releaseLabel}-${releaseLabelSuffix}-win32.win32.x86_64.zip
+	echo "Copied ${localRCPSiteRoot}-win32.win32.x86_64.zip to local directory rcp-site."
+	
+	qualifiedVersion=$(find update-site/features/ -maxdepth 1 | grep "${feature2Parse4QualifierVersion}")
+	qualifiedVersion=${qualifiedVersion%.jar}
+    qualifiedVersion=${qualifiedVersion#*_}
+    qualifier=${qualifiedVersion##*.}
+    dropDir="${releaseLabel}/$(echo $buildType | tr '[:lower:]' '[:upper:]')$qualifier"
+
+	localRcpDir=rcps/$dropDir
+    echo "Creating rcp files in local directory $localRcpDir"
+    mkdir -p $localRcpDir
+    
+    cd rcp-site
+    cp * ../$localRcpDir/
+    
+    echo "Created org.eclipse.papyrus.${component}.product-${releaseLabel}-${releaseLabelSuffix}-linux.gtk.x86_64.zip in ../$localRcpDir/" 
+    cd ..  
+
+    # Cleanup local update site (for drop files generation)
+	rm -fr rcp-site
+
+	mkdir -p ${remoteRcpDir}/
+    cp -R $localRcpDir/* ${remoteRcpDir}/
+       
+fi
+
+if [ "$site" = y ];
+then
+	mkdir -p update-site
+	updateSiteLabel=${releaseLabel}${releaseLabelSuffix}_${jobName}_${buildId}
+	# Prepare composite local update site (transfer into composite if needed)
+	if [ "$merge" = y ];
+	then
+		# check if the remote site is a composite update site
+		echo "Merging existing site into local one."
+		#if [ -e "$remoteUpdateSite/compositeArtifacts.xml" ];
+		#then
+			cp -R $remoteUpdateSite/* update-site/
+		#else
+		#	mkdir -p update-site/pre_${updateSiteLabel}
+		#	cp -R $remoteUpdateSite/* update-site/pre_${updateSiteLabel}/
+		#fi
+	else 
+		echo "Skipping merge operation."    
+	fi
+	# move local update site below composite one
+	mkdir -p update-site/${updateSiteLabel}
+	cp -R $localUpdateSite/* update-site/${updateSiteLabel}/
+    	
+	cd update-site
+	children=$(find . -maxdepth 1 -type d -print | wc -l)
+	children=$(($children-1))
+	timestamp=$(date +%s000)
+
+content="
+<?xml version='1.0' encoding='UTF-8'?>
+<?compositeMetadataRepository version='1.0.0'?>
+<repository name='${component} ${remoteSite}' type='org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository' version='1.0.0'>
+<properties size='1'>
+<property name='p2.timestamp' value='${timestamp}'/>
+</properties>
+<children size='${children}'>
+$(
+for file in *; do
+  if [ -d $file ]; then
+printf "<child location='${file}'/>"
+  fi
+done
+)
+</children>
+</repository>
+"
+	echo $content > compositeContent.xml
+
+artifact="
+<?xml version='1.0' encoding='UTF-8'?>
+<?compositeArtifactRepository version='1.0.0'?>
+<repository name='${component} ${remoteSite}' type='org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository' version='1.0.0'>
+<properties size='1'>
+<property name='p2.timestamp' value='${timestamp}'/>
+</properties>
+<children size='${children}'>
+$(
+for file in *; do
+  if [ -d $file ]; then
+printf "<child location='${file}'/>"
+  fi
+done
+)
+</children>
+</repository>
+"
+	echo $artifact > compositeArtifacts.xml
+
+	cd ..
+
+	# Ensure p2.mirrorURLs property is used in update site
+	echo "Updating p2.mirrorURLs property."
+	./eclipse/eclipse -nosplash --launcher.suppressErrors -clean -debug -application org.eclipse.wtp.releng.tools.addRepoProperties -vmargs -DartifactRepoDirectory=$PWD/update-site/${updateSiteLabel} -Dp2MirrorsURL="http://www.eclipse.org/downloads/download.php?format=xml&file=/${remoteUpdateSiteRoot}/${remoteSite}/${updateSiteLabel}"
+
+	# Create p2.index file
+	if [ ! -e "update-site/p2.index" ];
+	then
+		echo "Creating p2.index file."
+		echo "version = 1" > update-site/p2.index
+		echo "metadata.repository.factory.order=compositeContent.xml,\!" >> update-site/p2.index
+		echo "artifact.repository.factory.order=compositeArtifacts.xml,\!" >> update-site/p2.index
+	fi
+
+	# Backup then clean remote update site
+	echo "Creating backup of remote update site."
+	if [ -d "$remoteUpdateSite" ];
+	then
+		if [ -d BACKUP ];
+		then
+			rm -fr BACKUP
+		fi
+		mkdir BACKUP
+		cp -R $remoteUpdateSite/* BACKUP/
+		rm -fr $remoteUpdateSite
+	fi
+
+	echo "Publishing contents of local update-site directory to remote update site $remoteUpdateSite"
+	mkdir -p $remoteUpdateSite
+	cp -R update-site/* $remoteUpdateSite/
+fi
+
+# Clean up
+echo "Cleaning up"
+rm -fr eclipse
+rm -fr update-site
\ No newline at end of file
diff --git a/releng/org.eclipse.papyrus.robotml.p2/siteTemplate/index.html b/releng/org.eclipse.papyrus.robotml.p2/siteTemplate/index.html
new file mode 100644
index 0000000..1528594
--- /dev/null
+++ b/releng/org.eclipse.papyrus.robotml.p2/siteTemplate/index.html
@@ -0,0 +1,112 @@
+<html>
+<head>
+<title>${update.site.name} Update Site: ${update.site.version}</title>
+<link rel="stylesheet" type="text/css" href="web/site.css">
+</head>
+<body marginheight="0" marginwidth="0" leftmargin="0" topmargin="0">
+<center>
+<table cellspacing="0" cellpadding="0" class="table">
+	<tr>
+		<td colspan="3" class="td_header">&nbsp;</td>
+	</tr>
+	<tr>
+		<td>&#160;&#160;&#160;&#160;&#160;&#160;</td>
+		<td>&#160;&#160;&#160;&#160;&#160;&#160;</td>
+		<td>&#160;&#160;&#160;&#160;&#160;&#160;</td>
+	</tr>
+	<tr>
+		<td>&#160;&#160;&#160;&#160;&#160;&#160;</td>
+		<td>
+		<h2 class="title">${update.site.name} Update Site</h2>
+		<table width="100%">
+			<tr class="header">
+				<td class="sub-header" width="100%"><span>Latest Build: ${update.site.version}</span></td>
+			</tr>
+
+			<tr class="light-row" style="height: 30px">
+				<td class="bodyText">
+				<p class="bodyText">This is the <b>${update.site.description}</b>
+				Update Site for ${update.site.name}.
+								<blockquote style="border: 1px dashed #1778be; padding: 2px">
+									<ol>
+										<li>To install
+											from this site, start up Eclipse ${eclipse.target}, then do:
+											<ul>
+												<code><strong>Help > Install New Software... ></strong></code>
+											</ul>
+										</li>
+										<li>Copy this site's URL into Eclipse, and hit Enter.</li>
+										<li>When the site loads, select the features to install,
+											or click the <code><strong>Select All</strong></code> button.</li>
+										<li>To properly resolve all dependencies, check
+										<ul><code><strong>[x] Contact all update sites during install to find required software</strong></code></ul>
+
+										<li>Click <code><strong>Next</strong></code>, agree to the license
+											terms, and install.</li>
+
+										<p class="bodyText">
+											You can also download RobotML as individual zips for
+											offline installation. See <a class="link"
+												href="../downloads/${update.site.version}/drops/">RobotML Update site zip downloads</a>.<br />
+										</p>
+									</ol>
+								</blockquote>
+							</td>
+						</tr>
+		</table>
+		</td>
+		<td>&#160;&#160;&#160;&#160;&#160;&#160;</td>
+	</tr>
+	<tr>
+		<td></td>
+		<td>
+	        ${site.contents}
+		</td>
+		<td></td>
+	</tr>
+	<tr>
+		<td></td>
+		<td>
+		<table width="100%">
+			<tr class="header">
+				<td class="sub-header" width="100%"><span> More informations</span></td>
+			</tr>
+			<tr class="light-row" style="height: 30px">
+				<td class="bodyText">
+				<h4>Documentation</h4>
+				<p class="bodyText">You can check here the web site <a href="${project.website}">documentation</a>.</p>
+				<br />
+
+				</td>
+			</tr>
+
+			<tr class="dark-row" style="height: 30px">
+				<td class="bodyText">
+				<h4>Report issues</h4>
+
+				<p>We'd greatly
+				appreciate the assistance in testing and <a
+					href="${project.issues}">reporting of
+				issues in our issue tracker</a>.</p><br/>
+
+				</td>
+			</tr>
+
+			<tr class="light-row" style="height: 30px">
+				<td class="bodyText">
+				<h4>Nightly Builds</h4>
+
+				<p>The <a
+					href="${update.site.nightly}">bleeding
+				edge</a> contains the latest and greatest new features, but nothing is
+				stable or guaranteed - yet. If you're using a Milestone and need a
+				fix, you can update to the latest Nightly, or wait for the next
+				Milestone.</p><br/>
+				</td>
+			</tr>
+		</table>
+		</td>
+	</tr>
+</table>
+</center>
+</html>
diff --git a/releng/org.eclipse.papyrus.robotml.p2/siteTemplate/web/img/robotml-banner.png b/releng/org.eclipse.papyrus.robotml.p2/siteTemplate/web/img/robotml-banner.png
new file mode 100644
index 0000000..2797993
--- /dev/null
+++ b/releng/org.eclipse.papyrus.robotml.p2/siteTemplate/web/img/robotml-banner.png
Binary files differ
diff --git a/releng/org.eclipse.papyrus.robotml.p2/siteTemplate/web/site.css b/releng/org.eclipse.papyrus.robotml.p2/siteTemplate/web/site.css
new file mode 100644
index 0000000..d1493ed
--- /dev/null
+++ b/releng/org.eclipse.papyrus.robotml.p2/siteTemplate/web/site.css
@@ -0,0 +1,82 @@
+<
+STYLE type ="text/css">td.spacer {
+	padding-bottom: 10px;
+	padding-top: 10px;
+}
+
+.title {
+	font-family: sans-serif;
+	color: #1778be;
+}
+
+.table {
+	margin-top: 0px;
+	margin-left: 0px;
+	width: 920px;
+}
+
+.bodyText {
+	font-family: sans-serif;
+	font-size: 9pt;
+	color: #000000;
+	width: 100%
+}
+
+.sub-header {
+	background: url('http://download.eclipse.org/eclipse.org-common/themes/solstice/public/images/template/breadcrumbs-large-bg.jpg') center #1b1732;
+    background-size: 100%;
+    color: #fff;
+    text-align: center;
+}
+
+.log-text {
+	font-family: sans-serif;
+	font-style: normal;
+	font-weight: lighter;
+	font-size: 8pt;
+	color: black;
+}
+
+.big-header {
+	font-family: sans-serif;
+	font-style: normal;
+	font-weight: bold;
+	font-size: 9pt;
+	color: white;
+	border-top: 10px solid white;
+}
+
+.light-row {
+	background: #FFFFFF
+}
+
+.dark-row {
+	background: #EEEEEE
+}
+
+.header {
+	background: #445562
+}
+
+#indent {
+	word-wrap: break-word;
+	width: 300px;
+	text-indent: 10px;
+}
+
+.link {
+	color: #187dc6;
+}
+
+.td_header {
+	background: url("img/robotml-banner.png") 0 no-repeat;
+	height: 100px;
+}
+
+.column-header {
+	font-size:small;
+}
+
+</
+STYLE
+>
\ No newline at end of file
diff --git a/releng/org.eclipse.papyrus.robotml.p2/siteTemplate/xslt/site.properties.xsl b/releng/org.eclipse.papyrus.robotml.p2/siteTemplate/xslt/site.properties.xsl
new file mode 100644
index 0000000..127c98d
--- /dev/null
+++ b/releng/org.eclipse.papyrus.robotml.p2/siteTemplate/xslt/site.properties.xsl
@@ -0,0 +1,20 @@
+<xsl:stylesheet version="2.0"
+	xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xalan="http://xml.apache.org/xalan"
+	xmlns:saxon="http://saxon.sf.net/" xmlns="http://www.w3.org/1999/xhtml"
+	extension-element-prefixes="saxon">
+	<xsl:output method="text" indent="yes" />
+	<xsl:template match="/site">
+		<xsl:for-each select="category-def">
+			<xsl:sort select="@name" />
+			<xsl:variable name="catg"><xsl:value-of select="@name"/></xsl:variable>
+# 
+<xsl:value-of select="$catg" />.category.features = \
+<xsl:for-each select="//feature">
+				<xsl:sort select="@id" />
+				<xsl:if test="count(./category[contains(@name,$catg)])>0"><xsl:value-of select="@id" />,
+</xsl:if>
+			</xsl:for-each>
+		</xsl:for-each>
+# 
+	</xsl:template>
+</xsl:stylesheet>
diff --git a/releng/org.eclipse.papyrus.robotml.p2/siteTemplate/xslt/site.xsl b/releng/org.eclipse.papyrus.robotml.p2/siteTemplate/xslt/site.xsl
new file mode 100644
index 0000000..235f683
--- /dev/null
+++ b/releng/org.eclipse.papyrus.robotml.p2/siteTemplate/xslt/site.xsl
@@ -0,0 +1,128 @@
+<xsl:stylesheet version="2.0"
+	xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xalan="http://xml.apache.org/xalan"
+	xmlns:saxon="http://saxon.sf.net/" xmlns="http://www.w3.org/1999/xhtml"
+	extension-element-prefixes="saxon">
+	<xsl:output method="html" indent="yes" />
+	<xsl:template match="/site">
+		<table cellspacing="2" cellpadding="0" border="0">
+			<xsl:if test="count(feature[contains(@id,'papyrus')])>0">
+				<tr style="background-color:#DDDDDD">
+					<th class="column-header">Feature</th>
+					<th class="column-header">Version</th>
+					<th class="column-header">Feature Categor(ies)</th>
+				</tr>
+				<!-- papyrus features -->
+				<xsl:for-each select="feature[contains(@id,'papyrus')]">
+					<xsl:sort select="@id" />
+					<xsl:variable name="rowCol">
+						<xsl:if test="position() mod 2 = 1">
+							#EEEEEE
+						</xsl:if>
+						<xsl:if test="position() mod 2 = 0">
+							#FFFFFF
+						</xsl:if>
+					</xsl:variable>
+
+					<tr style="background-color:{$rowCol}">
+						<td class="rowLine">
+							<a href="{@url}" style="font-size:x-small">
+								<xsl:value-of select="@id" />
+							</a>
+						</td>
+						<td>
+							<span style="font-size:x-small">
+								<xsl:value-of select="@version" />
+							</span>
+						</td>
+						<td>
+							<xsl:choose>
+								<xsl:when test="category">
+									<xsl:for-each select="category">
+										<span style="font-size:x-small">
+											|
+											<xsl:value-of select="@name" />
+										</span>
+									</xsl:for-each>
+								</xsl:when>
+							</xsl:choose>
+						</td>
+					</tr>
+				</xsl:for-each>
+			</xsl:if>
+			<!-- xsl:if test="count(feature[not(contains(@id,'papyrus'))])>0">
+				<tr style="background-color:#DDDDDD">
+					<th class="column-header">Feature</th>
+					<th class="column-header">Version</th>
+					<th class="column-header">Feature Categor(ies)</th>
+				</tr>
+				<xsl:for-each select="feature[not(contains(@id,'papyrus'))]">
+					<xsl:sort select="@id" />
+					<xsl:variable name="rowCol">
+						<xsl:if test="position() mod 2 = 1">
+							#EEEEEE
+						</xsl:if>
+						<xsl:if test="position() mod 2 = 0">
+							#FFFFFF
+						</xsl:if>
+					</xsl:variable>
+
+					<tr style="background-color:{$rowCol}">
+						<td class="rowLine">
+							<a href="{@url}" style="font-size:x-small">
+								<xsl:value-of select="@id" />
+							</a>
+						</td>
+						<td>
+							<span style="font-size:x-small">
+								<xsl:value-of select="@version" />
+							</span>
+						</td>
+						<td>
+							<xsl:choose>
+								<xsl:when test="category">
+									<xsl:for-each select="category">
+										<span style="font-size:x-small">
+											|
+											<xsl:value-of select="@name" />
+										</span>
+									</xsl:for-each>
+								</xsl:when>
+							</xsl:choose>
+						</td>
+					</tr>
+				</xsl:for-each>
+			</xsl:if-->
+
+			<tr style="background-color:#DDDDDD">
+				<th class="column-header">Feature</th>
+				<th class="column-header">Version</th>
+				<th class="column-header">Feature Categor(ies)</th>
+			</tr>
+			<tr style="background-color:#EEEEEE">
+				<td class="rowLine" colspan="1">
+					<a href="artifacts.jar" style="font-size:x-small">artifacts.jar</a>
+					::
+					<a href="content.jar" style="font-size:x-small">content.jar</a>
+				</td>
+				<td class="rowLine" colspan="1">
+					::
+					<a href="plugins/" style="font-size:x-small">plugins</a>
+				<xsl:if test="count(feature)>0">
+					::
+					<a href="features/" style="font-size:x-small">features</a>
+				</xsl:if>
+				</td>
+				<td class="rowLine" colspan="1">
+				<xsl:if test="count(feature[contains(@id,'papyrus')])>0">
+					<a href="category.xml" style="font-size:x-small">category.xml</a>
+					::
+					<a href="buildinfo.json" style="font-size:x-small">buildinfo.json</a>
+					::
+					<a href="site.properties" style="font-size:x-small">site.properties</a>
+				</xsl:if>
+				</td>
+			</tr>
+		</table>
+		<br />
+	</xsl:template>
+</xsl:stylesheet>
diff --git a/src/site/markdown/index.md b/src/site/markdown/index.md
index 19175b7..f49e5be 100644
--- a/src/site/markdown/index.md
+++ b/src/site/markdown/index.md
@@ -1,22 +1,22 @@
-#### [QUDV][equdv]
+#### [RobotML][erobotml]
 
-[![Quantities, Units, Dimensions, Values QUDV](images/carousel/carousel-qudv.png)][equdv]
+[![RobotML](images/carousel/carousel-qudv.png)][equdv]
 
-Use [QUDV][equdv] to define systems of units and quantities for use in system models.
+Use [RobotML][erobotml] to xxxxxxxxxxxx.
 
 
 #### [Element-types][eelementtypes]
 
 [![Element-types](images/carousel/carousel-elementtypes.png)][eelementtypes]
 
-Papyrus RobotML 1.4 uses the Element types framework to manage the whole life cycle of objects.
+Papyrus RobotML uses the Element types framework to manage the whole life cycle of objects.
 
 
 #### [RobotML profile][eprofile]
 
 [![Profile](images/carousel/carousel-profile.png)][eprofile]
 
-Papyrus RobotML 1.4 is based upon the OMG RobotML 1.4 standard.
+Papyrus RobotML is based upon the xxxxxxxxxxxx.
 
 
 #### [RobotML Requirements][ereq]
@@ -26,7 +26,7 @@
 You can define your requirements directly with table format.
 
 
-[equdv]: http://www.omgwiki.org/OMGSysML/doku.php?id=sysml-qudv:quantities_units_dimensions_values_qudv
+[erobotml]: http://wiki.eclipse.org/Papyrus_User_Guide
 [eelementtypes]: http://wiki.eclipse.org/Papyrus_User_Guide
 [eprofile]: http://www.omg.org/spec/SysML/1.4/
 [ereq]: http://www.omg.org/spec/SysML/1.4/
@@ -37,29 +37,23 @@
 
 ## Get it now
 
-Have a look at the RobotML project by downloading the [RCP][ercp] or by using the [update site][esite].
-
-## Documentation
-
-Have a look at the online developer documentation of [developer][devhome] or download it as pdf [developer-guide.pdf][developer-guide.pdf].
-
 A large number of robotic software have been developed but cannot or can hardly interoperate with each other because of their dependencies
 on specific hardware or software platform is hard-wired into the code. Consequently, robotic software is hard and expensive to develop
 because there is little opportunity of reuse and because low-level details must be taken into account in early phases. Moreover, robotic experts
 can hardly develop their application without programming knowledge or the help of programming experts and robotic software is difficult to
 adapt to hardware or target-platform changes. In this paper we report on the development of RobotML, a Robotic Modeling Language that eases
-the design of robotic applications, their simulation and their deployment to multiple target execution platforms..
+the design of robotic applications, their simulation and their deployment to multiple target execution platforms.
+Have a look at the RobotML project by downloading the [RCP][ercp] or by using the [update site][esite].
 
+[ercp]: https://hudson.eclipse.org/papyrus/view/RobotML/job/papyrus-robotml-nightly-build/ws/releng/org.eclipse.papyrus.robotml.product/target/products/
+[esite]: https://hudson.eclipse.org/papyrus/view/RobotML/job/papyrus-robotml-nightly-build/ws/releng/org.eclipse.papyrus.robotml.p2/target/repository/
 
-## Additional elements
+## Documentation
 
-
-
+Have a look at the online developer documentation of [developer][devhome] or download it as pdf [developer-guide.pdf][developer-guide.pdf].
 
 [devhome]: ./developer/home.html
 [developer-guide.pdf]: ./pdf/developer-guide.pdf
-[ercp]: https://hudson.eclipse.org/papyrus/view/RobotML/job/papyrus-robotml-nightly-build/ws/releng/org.eclipse.papyrus.robotml.product/target/products/
-[esite]: https://hudson.eclipse.org/papyrus/view/RobotML/job/papyrus-robotml-nightly-build/ws/releng/org.eclipse.papyrus.robotml.p2/target/repository/
 
 
 ---
diff --git a/src/site/site.xml b/src/site/site.xml
index af40ebc..bbccce9 100644
--- a/src/site/site.xml
+++ b/src/site/site.xml
@@ -8,7 +8,7 @@
     <name><![CDATA[
      Eclipse <span class="color-highlight">Papyrus RobotML</span> project]]>
     </name>
-    <href>https://hudson.eclipse.org/papyrus/view/RobotML/job/papyrus-robotml-website/ws/site-staging/index.html</href>
+    <href>${web.absoluteResourceURL}/index.html</href>
   </bannerLeft>
   
   <publishDate position="bottom" format="yyyy-MM-dd" />
@@ -28,7 +28,7 @@
       <theme>default</theme>
       <highlightJs>false</highlightJs>
       <highlightJsTheme>github</highlightJsTheme>
-      <absoluteResourceURL>https://hudson.eclipse.org/papyrus/view/RobotML/job/papyrus-robotml-website/ws/site-staging/</absoluteResourceURL>
+      <absoluteResourceURL>${web.absoluteResourceURL}</absoluteResourceURL>
       <brand>
         <!-- Brand text in top-left part of the site -->
         <name>
@@ -36,7 +36,7 @@
           Papyrys <span class="color-highlight">RobotML</span> Project
           ]]>
         </name>
-        <href>https://hudson.eclipse.org/papyrus/view/RobotML/job/papyrus-robotml-website/ws/site-staging/index.html</href>
+        <href>${web.href}</href>
       </brand>
       <slogan>a Papyrus DSML for robotic applications.</slogan>
       <titleTemplate>%2$s | %1$s</titleTemplate>
diff --git a/targetplatform/org.eclipse.papyrus.robotml.targetplatform.neon/org.eclipse.papyrus.robotml.targetplatform.neon.target b/targetplatform/org.eclipse.papyrus.robotml.targetplatform.neon/org.eclipse.papyrus.robotml.targetplatform.neon.target
index e2d36a3..47312c2 100644
--- a/targetplatform/org.eclipse.papyrus.robotml.targetplatform.neon/org.eclipse.papyrus.robotml.targetplatform.neon.target
+++ b/targetplatform/org.eclipse.papyrus.robotml.targetplatform.neon/org.eclipse.papyrus.robotml.targetplatform.neon.target
@@ -1,20 +1,18 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?pde version="3.8"?><target name="Tycho Tutorial" sequenceNumber="1444987867">
-<locations>
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.platform.feature.group" version="4.6.0.v20150916-2000"/>
-<unit id="org.eclipse.rcp.feature.group" version="4.6.0.v20150916-2000"/>
-<unit id="org.eclipse.jdt.feature.group" version="3.12.0.v20150916-2000"/>
-<unit id="org.eclipse.papyrus.sdk.feature.feature.group" version="1.2.0.201509301002"/>
-<unit id="org.eclipse.equinox.p2.discovery.feature.feature.group" version="1.0.300.v20150907-2149"/>
-<unit id="org.eclipse.equinox.executable.feature.group" version="3.6.200.v20150831-1559"/>
-<unit id="org.eclipse.acceleo.feature.group" version="3.6.1.201509300618"/>
-<!--unit id="org.eclipse.emf.edit.feature.group" version="2.12.0.v20150928-0952"/-->
-<unit id="org.eclipse.emf.facet.common.feature.feature.group" version="1.1.0.201509291847"/>
-<unit id="org.eclipse.emf.facet.sdk.feature.feature.group" version="1.1.0.201509291847"/>
-<unit id="org.eclipse.emf.facet.util.feature.feature.group" version="1.1.0.201509291847"/>
-<unit id="org.eclipse.emf.facet.widgets.feature.feature.group" version="1.1.0.201509291847"/>
-<repository location="http://download.eclipse.org/releases/neon/"/>
-</location>
-</locations>
+<?pde?>
+<!-- generated with https://github.com/mbarbero/fr.obeo.releng.targetplatform -->
+<target name="Tycho Neon Papyrus for RobotML" sequenceNumber="1457340634">
+  <locations>
+    <location includeMode="slicer" includeAllPlatforms="false" includeSource="false" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.platform.feature.group" version="4.6.0.v20160128-2000"/>
+      <unit id="org.eclipse.rcp.feature.group" version="4.6.0.v20160128-2000"/>
+      <unit id="org.eclipse.jdt.feature.group" version="3.12.0.v20160128-2000"/>
+      <unit id="org.eclipse.papyrus.sdk.feature.feature.group" version="0.0.0"/>
+      <unit id="org.eclipse.equinox.p2.discovery.feature.feature.group" version="1.0.300.v20150907-2149"/>
+      <unit id="org.eclipse.equinox.executable.feature.group" version="3.6.300.v20160128-1437"/>
+      <unit id="org.eclipse.acceleo.feature.group" version="3.6.3.201601290717"/>
+      <unit id="org.eclipse.emf.feature.group" version="2.12.0.v20160201-0859"/>
+      <repository id="eclipse-neon" location="http://download.eclipse.org/releases/neon/"/>
+    </location>
+  </locations>
 </target>
diff --git a/targetplatform/org.eclipse.papyrus.robotml.targetplatform.neon/org.eclipse.papyrus.robotml.targetplatform.neon.tpd b/targetplatform/org.eclipse.papyrus.robotml.targetplatform.neon/org.eclipse.papyrus.robotml.targetplatform.neon.tpd
index aec4be4..2a9cd51 100644
--- a/targetplatform/org.eclipse.papyrus.robotml.targetplatform.neon/org.eclipse.papyrus.robotml.targetplatform.neon.tpd
+++ b/targetplatform/org.eclipse.papyrus.robotml.targetplatform.neon/org.eclipse.papyrus.robotml.targetplatform.neon.tpd
@@ -1,12 +1,12 @@
-target "Tycho Tutorial" with source requirements
+target "Tycho Neon Papyrus for RobotML"
 
 location "http://download.eclipse.org/releases/neon/" eclipse-neon {
  org.eclipse.platform.feature.group
  org.eclipse.rcp.feature.group
  org.eclipse.jdt.feature.group
- org.eclipse.papyrus.sdk.feature.feature.group
+ org.eclipse.papyrus.sdk.feature.feature.group lazy
  org.eclipse.equinox.p2.discovery.feature.feature.group
  org.eclipse.equinox.executable.feature.group
- rg.eclipse.acceleo.feature.group
+ org.eclipse.acceleo.feature.group
  org.eclipse.emf.feature.group
 }
\ No newline at end of file
diff --git a/targetplatform/org.eclipse.papyrus.robotml.targetplatform.neon/pom.xml b/targetplatform/org.eclipse.papyrus.robotml.targetplatform.neon/pom.xml
index 7025679..61443d0 100644
--- a/targetplatform/org.eclipse.papyrus.robotml.targetplatform.neon/pom.xml
+++ b/targetplatform/org.eclipse.papyrus.robotml.targetplatform.neon/pom.xml
@@ -8,6 +8,6 @@
 	</parent>	
 	<artifactId>org.eclipse.papyrus.robotml.targetplatform.neon</artifactId>
 	<packaging>eclipse-target-definition</packaging>
-	<name>Robotml Neon Target Definition</name>
+	<name>org.eclipse.papyrus.robotml.targetplatform.neon</name>
 	<description>This plug-in contains the target definition for Papyrus robotml in Neon</description>
 </project>
\ No newline at end of file