Bug 582175 - [Sirius][SequenceDiagram] Disconnect the Papyrus-Sirius Sequence diagram
- delete the first implementation of Sequence Diagram on Sirius and all code referencing it

Signed-off-by: Vincent LORENZO <vincent.lorenzo@cea.fr>
Change-Id: I2f54a4a39368f9e69fd908c2c5c7ffa3ee03d6a5
diff --git a/features/org.eclipse.papyrus.sirius.tests.uml.feature/feature.xml b/features/org.eclipse.papyrus.sirius.tests.uml.feature/feature.xml
index 0826317..cd73c61 100755
--- a/features/org.eclipse.papyrus.sirius.tests.uml.feature/feature.xml
+++ b/features/org.eclipse.papyrus.sirius.tests.uml.feature/feature.xml
@@ -31,13 +31,6 @@
          unpack="false"/>
 
    <plugin
-         id="org.eclipse.papyrus.sirius.uml.diagram.sequence.tests"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
          id="org.eclipse.papyrus.sirius.uml.diagram.statemachine.tests"
          download-size="0"
          install-size="0"
diff --git a/features/org.eclipse.papyrus.sirius.uml.feature/feature.xml b/features/org.eclipse.papyrus.sirius.uml.feature/feature.xml
index 83117d7..7ed92f1 100755
--- a/features/org.eclipse.papyrus.sirius.uml.feature/feature.xml
+++ b/features/org.eclipse.papyrus.sirius.uml.feature/feature.xml
@@ -56,13 +56,6 @@
          unpack="false"/>
 
    <plugin
-         id="org.eclipse.papyrus.sirius.uml.diagram.sequence"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
          id="org.eclipse.papyrus.sirius.uml.diagram.statemachine"
          download-size="0"
          install-size="0"
diff --git a/plugins/doc/org.eclipse.papyrus.sirius.doc/image/user/8_ObservationPoint.png b/plugins/doc/org.eclipse.papyrus.sirius.doc/image/user/8_ObservationPoint.png
deleted file mode 100755
index e3d9534..0000000
--- a/plugins/doc/org.eclipse.papyrus.sirius.doc/image/user/8_ObservationPoint.png
+++ /dev/null
Binary files differ
diff --git a/plugins/doc/org.eclipse.papyrus.sirius.doc/src/site/mediawiki/papyrus-sirius-devDoc.mediawiki b/plugins/doc/org.eclipse.papyrus.sirius.doc/src/site/mediawiki/papyrus-sirius-devDoc.mediawiki
index 1c5ec28..25b461b 100755
--- a/plugins/doc/org.eclipse.papyrus.sirius.doc/src/site/mediawiki/papyrus-sirius-devDoc.mediawiki
+++ b/plugins/doc/org.eclipse.papyrus.sirius.doc/src/site/mediawiki/papyrus-sirius-devDoc.mediawiki
@@ -61,7 +61,6 @@
 **'''org.eclipse.papyrus.sirius.uml.diagram.deployment''': contains deployment diagram description and services
 **'''org.eclipse.papyrus.sirius.uml.diagram.pkg''': contains package diagram description and services
 **'''org.eclipse.papyrus.sirius.uml.diagram.profile''': contains profile diagram description and services
-**'''org.eclipse.papyrus.sirius.uml.diagram.sequence''': contains sequence diagram description and services
 **'''org.eclipse.papyrus.sirius.uml.diagram.statemachine''': contains statemachine diagram description and services
 **'''org.eclipse.papyrus.sirius.uml.diagram.textedit''': contains customization to use Papyrus XText grammar inside Papyrus Sirius Diagram
 **'''org.eclipse.papyrus.sirius.uml.diagram.usecase''': contains use case diagram description and services
@@ -213,8 +212,6 @@
 
 In the org.eclipse.papyrus.sirius.editor.representation.architecture plugin, a new class extending the AbstractCreateSiriusDiagramEditorCommand shall be created. This class will manage the condition of the creation of the diagram and the action to execute before creating it depending on the context.
 
-For example, a sequence diagram can be created directly under an interaction without prior action, but if we want to create it under a Model, an interaction shall be created before and defined as the root of the diagram.
-
 = Sirius session management =
 ==Initialization==
 We created the Papyrus service '''org.eclipse.papyrus.sirius.editor.internal.sessions.SessionService''' initialized during Papyrus' launch. This service is in charge creating the Sirius Session and attaching it to the edited semantic resource (uml file). This way a Sirius Session will always be accesible even if the user didn't yet created a Sirius diagram.
@@ -704,28 +701,6 @@
 * The Nodes tool section defines the Nodes palette tools behavior (mostly creation tools), drag and drop from model or from representation tools, label edition tools and deletion tools.
 * The Edges tool section defines the Edges palette tools behavior (mostly creation tools) and reconnection tools.
 
-= Sequence Diagram =
-
-The Sequence diagram code is located in the 
-org.eclipse.papyrus.sirius.uml.diagram.sequence plugin.
-
-== Services ==
-
-* Each services available in org.eclipse.papyrus.sirius.uml.diagram.sequence.services refers to one kind of element and handles the creation, reconnection and precondition for tools linked to this element.
-
-* ReorderSequenceRegistry, ReorderService and RefreshSequenceExtensionProvider are used to handle the reordering of all the diagram when moving elements.
-
-== Description ==
-
-The diagram description is located in the papyrus_sequence.odesign:
-
-The Sequence layer defines all the mapping and tools specific to the Sequence diagram:
-* InstanceRole, NodeContainer, Node, Edge, BorederedNode, Execution, State, CombinedFragment, InteractionUse and ObservationPoint mapping.
-* The style of each mapping.
-* The Nodes tool section defines the Nodes palette tools behavior (mostly creation tools) and label edition tools.
-* The Edges tool section defines the Edges palette tools behavior (mostly creation tools).
-* The Tools tool section defines reconnection tools, reodering tools, label edition tools and deletion tools.
-
 = Use Case Diagram =
 
 The Use Case diagram code is located in the 
diff --git a/plugins/doc/org.eclipse.papyrus.sirius.doc/src/site/mediawiki/papyrus-sirius-userDoc.mediawiki b/plugins/doc/org.eclipse.papyrus.sirius.doc/src/site/mediawiki/papyrus-sirius-userDoc.mediawiki
index 2fe2951..a7f1f25 100755
--- a/plugins/doc/org.eclipse.papyrus.sirius.doc/src/site/mediawiki/papyrus-sirius-userDoc.mediawiki
+++ b/plugins/doc/org.eclipse.papyrus.sirius.doc/src/site/mediawiki/papyrus-sirius-userDoc.mediawiki
@@ -116,17 +116,6 @@
 
 [[File:../../../image/user/popupBar.png]]
 
-= Sequence diagram specificity =
-
-Sequence diagram have some specificity, like the kind of element that can be represented.
-See https://www.eclipse.org/sirius/doc/user/sequences/Sequence%20Diagrams.html
-
-=== Show Observation Point ===
-
-To have a better view and simplify the correction of problems in sequence diagrams, it is possible to make observation points visible.
-
-[[File:../../../image/user/8_ObservationPoint.png]]
-
 = Activity Diagram = 
 
 [[File:../../../image/user/ADdiagram.png]]
diff --git a/plugins/editor/org.eclipse.papyrus.sirius.editor.representation.architecture/api/org/eclipse/papyrus/sirius/editor/representation/architecture/CreateDummyEEFDiagramEditorCommand.java b/plugins/editor/org.eclipse.papyrus.sirius.editor.representation.architecture/api/org/eclipse/papyrus/sirius/editor/representation/architecture/CreateDummyEEFDiagramEditorCommand.java
new file mode 100755
index 0000000..8107a57
--- /dev/null
+++ b/plugins/editor/org.eclipse.papyrus.sirius.editor.representation.architecture/api/org/eclipse/papyrus/sirius/editor/representation/architecture/CreateDummyEEFDiagramEditorCommand.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2024 CEA LIST
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *  Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.sirius.editor.representation.architecture;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.infra.viewpoints.policy.ViewPrototype;
+import org.eclipse.papyrus.sirius.editor.representation.ICreateSiriusDiagramEditorCommand;
+import org.eclipse.sirius.diagram.DSemanticDiagram;
+
+/**
+ * Dummy Command required to register the EEF property view into the Papyrus architecture framework
+ */
+public class CreateDummyEEFDiagramEditorCommand extends AbstractCreateSiriusDiagramEditorCommand implements ICreateSiriusDiagramEditorCommand{
+
+	/**
+	 * @see org.eclipse.papyrus.sirius.editor.representation.ICreateSiriusDiagramEditorCommand#execute(org.eclipse.papyrus.infra.viewpoints.policy.ViewPrototype, java.lang.String, org.eclipse.emf.ecore.EObject, boolean)
+	 *
+	 * @param prototype
+	 * @param name
+	 * @param semanticContext
+	 * @param open
+	 * @return
+	 */
+	
+	@Override
+	public DSemanticDiagram execute(ViewPrototype prototype, String name, EObject semanticContext, boolean open) {
+		//nothing to do
+		return null;
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.sirius.editor.representation.ICreateSiriusDiagramEditorCommand#execute(org.eclipse.papyrus.infra.viewpoints.policy.ViewPrototype, java.lang.String, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EObject, boolean)
+	 *
+	 * @param prototype
+	 * @param name
+	 * @param semanticContext
+	 * @param graphicalContext
+	 * @param open
+	 * @return
+	 */
+	
+	@Override
+	public DSemanticDiagram execute(ViewPrototype prototype, String name, EObject semanticContext, EObject graphicalContext, boolean open) {
+		//nothing to do
+		return null;
+	}
+
+}
diff --git a/plugins/editor/org.eclipse.papyrus.sirius.editor.representation.architecture/api/org/eclipse/papyrus/sirius/editor/representation/architecture/CreatePapyrusSiriusSequenceDiagramEditorCommand.java b/plugins/editor/org.eclipse.papyrus.sirius.editor.representation.architecture/api/org/eclipse/papyrus/sirius/editor/representation/architecture/CreatePapyrusSiriusSequenceDiagramEditorCommand.java
deleted file mode 100755
index 2bbcea1..0000000
--- a/plugins/editor/org.eclipse.papyrus.sirius.editor.representation.architecture/api/org/eclipse/papyrus/sirius/editor/representation/architecture/CreatePapyrusSiriusSequenceDiagramEditorCommand.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2021 CEA LIST, Artal Technologies
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *  Aurelien Didier (ARTAL) - aurelien.didier51@gmail.com - Initial API and implementation
- *****************************************************************************/
-
-package org.eclipse.papyrus.sirius.editor.representation.architecture;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.papyrus.infra.architecture.representation.PapyrusRepresentationKind;
-import org.eclipse.papyrus.infra.core.services.ServiceException;
-import org.eclipse.papyrus.infra.core.services.ServicesRegistry;
-import org.eclipse.papyrus.infra.core.utils.EditorNameInitializer;
-import org.eclipse.papyrus.infra.emf.utils.ServiceUtilsForResourceSet;
-import org.eclipse.papyrus.infra.viewpoints.policy.ViewPrototype;
-import org.eclipse.papyrus.sirius.editor.internal.viewpoint.SiriusDiagramViewPrototype;
-import org.eclipse.papyrus.sirius.editor.representation.ICreateSiriusDiagramEditorCommand;
-import org.eclipse.papyrus.sirius.editor.representation.SiriusDiagramPrototype;
-import org.eclipse.papyrus.sirius.editor.representation.architecture.internal.messages.Messages;
-import org.eclipse.sirius.diagram.DSemanticDiagram;
-import org.eclipse.sirius.diagram.DiagramPackage;
-import org.eclipse.sirius.viewpoint.ViewpointPackage;
-import org.eclipse.uml2.uml.Interaction;
-import org.eclipse.uml2.uml.Model;
-import org.eclipse.uml2.uml.UMLFactory;
-
-/**
- * This class allows to create new Sirius Diagram instance and open the papyrus editor for it
- * TODO : VL : This can must be moved in another plugin. Here we can't get UML dependencies
- * TODO : VL Remove UML dependencies from this plugin
- */
-public class CreatePapyrusSiriusSequenceDiagramEditorCommand extends AbstractCreateSiriusDiagramEditorCommand implements ICreateSiriusDiagramEditorCommand {
-
-	/**
-	 * Prompts the user the future diagram's name
-	 *
-	 * @return The name, or <code>null</code> if the user cancelled the creation
-	 */
-	private String askName(final ViewPrototype prototype, final EObject semanticContext) {
-		final String defaultName = getDefaultName(prototype, semanticContext);
-		return askDiagramName(Messages.CreatePapyrusSiriusDiagramEditorCommand_CreateSiriusDiagramDialogTitle, defaultName);
-	}
-
-	/**
-	 *
-	 * @param prototype
-	 *            the ViewPrototype
-	 * @param semanticContext
-	 *            the semantic context for the created DSemanticDiagram
-	 * @return
-	 *         the default name to use
-	 */
-	private String getDefaultName(final ViewPrototype prototype, final EObject semanticContext) {
-		final StringBuilder nameBuilder = new StringBuilder(prototype.getLabel().replaceAll(" ", "")); //$NON-NLS-1$ //$NON-NLS-2$
-		final String nameWithIncrement = EditorNameInitializer.getNameWithIncrement(DiagramPackage.eINSTANCE.getDDiagram(), ViewpointPackage.eINSTANCE.getDRepresentationDescriptor_Name(), nameBuilder.toString(),
-				semanticContext);
-		return nameWithIncrement;
-	}
-
-	/**
-	 *
-	 * @see org.eclipse.papyrus.sirius.editor.internal.ICreateSiriusDiagramEditorCommand.ICreateDSemanticDiagramEditorCommand#execute(org.eclipse.papyrus.sirius.editor.internal.viewpoint.PapyrusDSemanticDiagramViewPrototype,
-	 *      org.eclipse.emf.ecore.EObject, java.lang.String)
-	 *
-	 * @param prototype
-	 * @param name
-	 * @param semanticContext
-	 * @param openAfterCreation
-	 * @return
-	 */
-	@Override
-	public DSemanticDiagram execute(final ViewPrototype prototype, final String name, final EObject semanticContext, final boolean openAfterCreation) {
-		return execute(prototype, name, semanticContext, semanticContext, openAfterCreation);
-	}
-
-	/**
-	 * @see org.eclipse.papyrus.sirius.editor.representation.ICreateSiriusDiagramEditorCommand.ICreateDSemanticDiagramEditorCommand#execute(org.eclipse.papyrus.infra.viewpoints.policy.ViewPrototype, java.lang.String,
-	 *      org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EObject, boolean)
-	 *
-	 * @param prototype
-	 * @param name
-	 * @param semanticContext
-	 * @param graphicalContext
-	 * @param openAfterCreation
-	 * @return
-	 */
-	@Override
-	public DSemanticDiagram execute(final ViewPrototype prototype, final String name, EObject semanticContext, final EObject graphicalContext, boolean openAfterCreation) {
-		if (prototype instanceof SiriusDiagramViewPrototype) {
-			final PapyrusRepresentationKind representation = prototype.getRepresentationKind();
-			Assert.isTrue(representation instanceof SiriusDiagramPrototype, "The representation associated to the PapyrusDSemanticDiagramViewPrototype must be an instanceof SiriusDiagramPrototype."); //$NON-NLS-1$
-			SiriusDiagramPrototype docProto = (SiriusDiagramPrototype) representation;
-
-			final String diagramName = (name == null || name.isEmpty()) ? askName(prototype, semanticContext) : name;
-			if (null == diagramName) {
-				return null; // the creation is cancelled
-			}
-			if (semanticContext instanceof Model) {
-				Model model = (Model) semanticContext;
-				Interaction interaction = UMLFactory.eINSTANCE.createInteraction();
-				try {
-
-					ServicesRegistry serviceRegistry = ServiceUtilsForResourceSet.getInstance().getServiceRegistry(model.eResource().getResourceSet());
-
-					TransactionalEditingDomain ted = serviceRegistry.getService(TransactionalEditingDomain.class);
-
-					ted.getCommandStack().execute(new RecordingCommand(ted) {
-
-						@Override
-						protected void doExecute() {
-
-							model.getPackagedElements().add(interaction);
-						}
-					});
-					return super.execute(docProto, diagramName, interaction, interaction, openAfterCreation, docProto.getImplementationID());
-				} catch (ServiceException e) {
-					e.printStackTrace();
-				}
-			}
-			return super.execute(docProto, diagramName, graphicalContext, semanticContext, openAfterCreation, docProto.getImplementationID());
-		}
-		return null;
-	};
-
-}
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.architecture/META-INF/MANIFEST.MF b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.architecture/META-INF/MANIFEST.MF
index fb0e33c..0f2691a 100755
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.architecture/META-INF/MANIFEST.MF
+++ b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.architecture/META-INF/MANIFEST.MF
@@ -21,7 +21,6 @@
  org.eclipse.papyrus.uml.diagram.deployment;bundle-version="[5.0.0,6.0.0)",
  org.eclipse.papyrus.uml.diagram.interactionoverview;bundle-version="[4.1.0,5.0.0)",
  org.eclipse.papyrus.uml.diagram.profile;bundle-version="[5.0.0,6.0.0)",
- org.eclipse.papyrus.uml.diagram.sequence;bundle-version="[7.0.0,8.0.0)",
  org.eclipse.papyrus.uml.diagram.statemachine;bundle-version="[5.0.0,6.0.0)",
  org.eclipse.papyrus.uml.diagram.timing;bundle-version="[2.0.0,3.0.0)",
  org.eclipse.papyrus.uml.diagram.usecase;bundle-version="[6.0.0,7.0.0)",
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.architecture/resources/icons/DummyEEFDiagram.png b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.architecture/resources/icons/DummyEEFDiagram.png
new file mode 100755
index 0000000..6d63275
--- /dev/null
+++ b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.architecture/resources/icons/DummyEEFDiagram.png
Binary files differ
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.architecture/resources/sirius-diagram.architecture b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.architecture/resources/sirius-diagram.architecture
index d20643b..85bd2fb 100755
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.architecture/resources/sirius-diagram.architecture
+++ b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.architecture/resources/sirius-diagram.architecture
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <architecture:ArchitectureDomain xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:architecture="http://www.eclipse.org/papyrus/infra/core/architecture" xmlns:description="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/sequence/description/2.0.0" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:representation="http://www.eclipse.org/papyrus/sirius/1.0.0/emf/siriusdiagram/representation" xmlns:representation_1="http://www.eclipse.org/papyrus/infra/core/architecture/representation" xmi:id="_pNW38LaHEeiKuPQLywy7Og" id="org.eclipse.papyrus.softwareEngineering" name="Software Engineering" description="The domain of developing software systems" icon="platform:/plugin/org.eclipse.papyrus.uml.architecture/icons/domain.gif">
   <contexts xmi:type="architecture:ArchitectureDescriptionLanguage" xmi:id="_-tAb0Lp2EeiViqj5DY8SRQ" id="org.eclipse.papyrus.infra.services.edit.TypeContext" name="UML" creationCommandClass="org.eclipse.papyrus.uml.diagram.common.commands.CreateUMLModelCommand">
-    <viewpoints xmi:type="architecture:ArchitectureViewpoint" xmi:id="_1tp4cOEIEeiLVapXeWCJtQ" id="org.eclipse.papyrus.uml.analysis" name="Software Analysis" icon="platform:/plugin/org.eclipse.papyrus.uml.architecture/icons/viewpoint.gif" representationKinds="_v6j60Ci7EeuXVsN3JsOSRg __pWwYBnpEey3SZW9Qc4G9Q _Lt0sUA68EeyT-6l_Qn7xWQ _vX3LMEM8Ee2mJbDd0VC45Q _r9KXMENCEe2tq-35UjP4PA _aN750OsFEeyhvrgc5wXigA _IoYccL58Ee2t_tMRqONCXg _hyVM4N68Ee2NmP_t8YXABQ _QQ2hEAOFEe6uyp68Z597cQ _kLnYgO8PEe2JjZDTppzUSg _3AOo8ARWEe65KcPvZ4H-QA"/>
-    <viewpoints xmi:type="architecture:ArchitectureViewpoint" xmi:id="_dmWHgLp3EeiViqj5DY8SRQ" id="org.eclipse.papyrus.uml.design" name="Software Design" description="" icon="platform:/plugin/org.eclipse.papyrus.uml.architecture/icons/viewpoint.gif" representationKinds="_v6j60Ci7EeuXVsN3JsOSRg _Lt0sUA68EeyT-6l_Qn7xWQ __pWwYBnpEey3SZW9Qc4G9Q _vX3LMEM8Ee2mJbDd0VC45Q _r9KXMENCEe2tq-35UjP4PA _aN750OsFEeyhvrgc5wXigA _IoYccL58Ee2t_tMRqONCXg _hyVM4N68Ee2NmP_t8YXABQ _kLnYgO8PEe2JjZDTppzUSg _QQ2hEAOFEe6uyp68Z597cQ _3AOo8ARWEe65KcPvZ4H-QA"/>
+    <viewpoints xmi:type="architecture:ArchitectureViewpoint" xmi:id="_1tp4cOEIEeiLVapXeWCJtQ" id="org.eclipse.papyrus.uml.analysis" name="Software Analysis" icon="platform:/plugin/org.eclipse.papyrus.uml.architecture/icons/viewpoint.gif" representationKinds="_v6j60Ci7EeuXVsN3JsOSRg _Lt0sUA68EeyT-6l_Qn7xWQ _vX3LMEM8Ee2mJbDd0VC45Q _r9KXMENCEe2tq-35UjP4PA _aN750OsFEeyhvrgc5wXigA _IoYccL58Ee2t_tMRqONCXg _hyVM4N68Ee2NmP_t8YXABQ _QQ2hEAOFEe6uyp68Z597cQ _kLnYgO8PEe2JjZDTppzUSg _3AOo8ARWEe65KcPvZ4H-QA"/>
+    <viewpoints xmi:type="architecture:ArchitectureViewpoint" xmi:id="_dmWHgLp3EeiViqj5DY8SRQ" id="org.eclipse.papyrus.uml.design" name="Software Design" description="" icon="platform:/plugin/org.eclipse.papyrus.uml.architecture/icons/viewpoint.gif" representationKinds="_v6j60Ci7EeuXVsN3JsOSRg _Lt0sUA68EeyT-6l_Qn7xWQ _vX3LMEM8Ee2mJbDd0VC45Q _r9KXMENCEe2tq-35UjP4PA _aN750OsFEeyhvrgc5wXigA _IoYccL58Ee2t_tMRqONCXg _hyVM4N68Ee2NmP_t8YXABQ _kLnYgO8PEe2JjZDTppzUSg _QQ2hEAOFEe6uyp68Z597cQ _3AOo8ARWEe65KcPvZ4H-QA"/>
     <representationKinds xmi:type="representation:SiriusDiagramPrototype" xmi:id="_IoYccL58Ee2t_tMRqONCXg" id="org.eclipse.papyrus.sirius.uml.diagram.activity" name="New Activity Diagram" description="Create a new activity diagram." icon="platform:/plugin/org.eclipse.papyrus.sirius.uml.diagram.architecture/resources/icons/Diagram_Activity.png" implementationID="Sirius" creationCommandClass="org.eclipse.papyrus.sirius.editor.representation.architecture.CreatePapyrusSiriusActivityDiagramEditorCommand">
       <modelRules xmi:type="representation_1:ModelRule" xmi:id="_fVg7sL58Ee2t_tMRqONCXg" permit="true" elementMultiplicity="1" multiplicity="-1">
         <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Activity"/>
@@ -114,15 +114,6 @@
       </owningRules>
       <diagramDescription xmi:type="description:DiagramDescription" href="platform:/plugin/org.eclipse.papyrus.sirius.uml.diagram.profile/description/papyrus_profile.odesign#//@ownedViewpoints[name='ProfileDiagram']/@ownedRepresentations[name='ProfileDiagram']"/>
     </representationKinds>
-    <representationKinds xmi:type="representation:SiriusDiagramPrototype" xmi:id="__pWwYBnpEey3SZW9Qc4G9Q" id="org.eclipse.papyrus.sirius.uml.diagram.sequence" name="New Sequence Diagram" description="Create a new sequence diagram." icon="platform:/plugin/org.eclipse.papyrus.sirius.uml.diagram.architecture/resources/icons/Diagram_Sequence.png" grayedIcon="" implementationID="Sirius" creationCommandClass="org.eclipse.papyrus.sirius.editor.representation.architecture.CreatePapyrusSiriusSequenceDiagramEditorCommand">
-      <modelRules xmi:type="representation_1:ModelRule" xmi:id="__pWwYRnpEey3SZW9Qc4G9Q" permit="true" elementMultiplicity="1" multiplicity="-1">
-        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/>
-      </modelRules>
-      <owningRules xmi:type="representation_1:OwningRule" xmi:id="__pWwYhnpEey3SZW9Qc4G9Q" permit="true" multiplicity="-1">
-        <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/>
-      </owningRules>
-      <diagramDescription xmi:type="description_1:SequenceDiagramDescription" href="platform:/plugin/org.eclipse.papyrus.sirius.uml.diagram.sequence/description/papyrus_sequence.odesign#//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']"/>
-    </representationKinds>
     <representationKinds xmi:type="representation:SiriusDiagramPrototype" xmi:id="_Lt0sUA68EeyT-6l_Qn7xWQ" id="org.eclipse.papyrus.sirius.uml.diagram.statemachine" name="New State Machine Diagram" description="Create a new state machine diagram." icon="platform:/plugin/org.eclipse.papyrus.sirius.uml.diagram.architecture/resources/icons/Diagram_StateMachine.png" grayedIcon="" implementationID="Sirius" creationCommandClass="org.eclipse.papyrus.sirius.editor.representation.architecture.CreatePapyrusSiriusStateMachineDiagramEditorCommand">
       <modelRules xmi:type="representation_1:ModelRule" xmi:id="_Lt0sUQ68EeyT-6l_Qn7xWQ" permit="true" elementMultiplicity="1" multiplicity="-1">
         <element xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/>
@@ -141,7 +132,7 @@
       </owningRules>
       <diagramDescription xmi:type="description:DiagramDescription" href="platform:/plugin/org.eclipse.papyrus.sirius.uml.diagram.usecase/description/papyrus_usecase.odesign#//@ownedViewpoints[name='UseCaseDiagram']/@ownedRepresentations[name='UseCaseDiagram']"/>
     </representationKinds>
-    <representationKinds xmi:type="representation:SiriusDiagramPrototype" xmi:id="_aN750OsFEeyhvrgc5wXigA" id="org.eclipse.papyrus.infra.siriusdiag.properties" name="New Dummy Sirius Diag For EEF Properties" description="Empty sirius diag to display properties" icon="platform:/plugin/org.eclipse.papyrus.sirius.uml.diagram.architecture/resources/icons/Diagram_Sequence.png" implementationID="Sirius" creationCommandClass="org.eclipse.papyrus.sirius.editor.representation.architecture.CreatePapyrusSiriusSequenceDiagramEditorCommand">
+    <representationKinds xmi:type="representation:SiriusDiagramPrototype" xmi:id="_aN750OsFEeyhvrgc5wXigA" id="org.eclipse.papyrus.infra.siriusdiag.properties" name="New Dummy Sirius Diag For EEF Properties" description="Empty sirius diag to display properties" icon="platform:/plugin/org.eclipse.papyrus.sirius.uml.diagram.architecture/resources/icons/DummyEEFDiagram.png" implementationID="Sirius" creationCommandClass="org.eclipse.papyrus.sirius.editor.representation.architecture.CreateDummyEEFDiagramEditorCommand">
       <modelRules xmi:type="representation_1:ModelRule" xmi:id="_8TQ0IEQMEe2Oc7YIfzT0hQ" permit="true" elementMultiplicity="1" multiplicity="-1"/>
       <owningRules xmi:type="representation_1:OwningRule" xmi:id="_8laUEEQMEe2Oc7YIfzT0hQ" permit="true" multiplicity="-1"/>
       <diagramDescription xmi:type="description:DiagramDescription" href="platform:/plugin/org.eclipse.papyrus.sirius.properties.uml/description/umlProperties.odesign#//@ownedViewpoints[name='UmlProperties']/@ownedRepresentations[name='DummyDiagramForEefProperties']"/>
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.common/src/org/eclipse/papyrus/sirius/uml/diagram/common/core/services/LabelServices.java b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.common/src/org/eclipse/papyrus/sirius/uml/diagram/common/core/services/LabelServices.java
index 57d4998..d40c9a3 100755
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.common/src/org/eclipse/papyrus/sirius/uml/diagram/common/core/services/LabelServices.java
+++ b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.common/src/org/eclipse/papyrus/sirius/uml/diagram/common/core/services/LabelServices.java
@@ -73,11 +73,6 @@
 	private static final String SPACE = " "; //$NON-NLS-1$
 
 	/**
-	 * Sequence diagram element name suffix.
-	 */
-	private static final String SEQUENCE_DIAGRAM_SUFFIX = "sequence diagram"; //$NON-NLS-1$
-
-	/**
 	 * Hidden constructor.
 	 */
 	private LabelServices() {
@@ -312,28 +307,6 @@
 	}
 
 	/**
-	 * Get sequence diagram label.
-	 *
-	 * @param interaction
-	 *            Interaction associated to sequence diagram
-	 * @return Sequence diagram label
-	 */
-	public String getSequenceDiagramName(Interaction interaction) {
-		return interaction.getName() + SPACE + SEQUENCE_DIAGRAM_SUFFIX;
-	}
-
-	/**
-	 * Get sequence diagram label.
-	 *
-	 * @param pkg
-	 *            Package associated to sequence diagram
-	 * @return Sequence diagram label
-	 */
-	public String getSequenceDiagramName(org.eclipse.uml2.uml.Package pkg) {
-		return ElementServices.INSTANCE.getNewInteractionName(pkg) + SPACE + SEQUENCE_DIAGRAM_SUFFIX;
-	}
-
-	/**
 	 * Get templated parameters.
 	 *
 	 * @param object
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/.classpath b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/.classpath
deleted file mode 100755
index 81fe078..0000000
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/.project b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/.project
deleted file mode 100755
index 1e1a8be..0000000
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.papyrus.sirius.uml.diagram.sequence</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/.settings/org.eclipse.core.resources.prefs b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/.settings/org.eclipse.core.resources.prefs
deleted file mode 100755
index 896a9a5..0000000
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
\ No newline at end of file
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/.settings/org.eclipse.core.runtime.prefs b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100755
index 5a0ad22..0000000
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/.settings/org.eclipse.jdt.core.prefs b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100755
index 1504005..0000000
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,504 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.annotationPath.allLocations=disabled
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=17
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.APILeak=warning
-org.eclipse.jdt.core.compiler.problem.annotatedTypeArgumentToUnannotated=info
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=warning
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.suppressWarningsNotFullyAnalysed=info
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning
-org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled
-org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.release=enabled
-org.eclipse.jdt.core.compiler.source=17
-org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
-org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false
-org.eclipse.jdt.core.formatter.align_with_spaces=false
-org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_annotations_on_enum_constant=49
-org.eclipse.jdt.core.formatter.alignment_for_annotations_on_field=49
-org.eclipse.jdt.core.formatter.alignment_for_annotations_on_local_variable=49
-org.eclipse.jdt.core.formatter.alignment_for_annotations_on_method=49
-org.eclipse.jdt.core.formatter.alignment_for_annotations_on_package=49
-org.eclipse.jdt.core.formatter.alignment_for_annotations_on_parameter=0
-org.eclipse.jdt.core.formatter.alignment_for_annotations_on_type=49
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assertion_message=0
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression_chain=0
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
-org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_module_statements=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_record_components=16
-org.eclipse.jdt.core.formatter.alignment_for_relational_operator=0
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_shift_operator=0
-org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_record_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_type_annotations=0
-org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0
-org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_last_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_abstract_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_statement_group_in_switch=0
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_record_constructor=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_record_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped=false
-org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.indent_tag_description=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_between_different_tags=do not insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=260
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_record_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_record_components=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_switch_case_expressions=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
-org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_not_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_record_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_record_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_record_components=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_switch_case_expressions=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
-org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_constructor=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_record_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=false
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_annotation_declaration_on_one_line=one_line_never
-org.eclipse.jdt.core.formatter.keep_anonymous_type_declaration_on_one_line=one_line_never
-org.eclipse.jdt.core.formatter.keep_code_block_on_one_line=one_line_never
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_enum_constant_declaration_on_one_line=one_line_never
-org.eclipse.jdt.core.formatter.keep_enum_declaration_on_one_line=one_line_never
-org.eclipse.jdt.core.formatter.keep_if_then_body_block_on_one_line=one_line_never
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_lambda_body_block_on_one_line=one_line_never
-org.eclipse.jdt.core.formatter.keep_loop_body_block_on_one_line=one_line_never
-org.eclipse.jdt.core.formatter.keep_method_body_on_one_line=one_line_never
-org.eclipse.jdt.core.formatter.keep_record_constructor_on_one_line=one_line_never
-org.eclipse.jdt.core.formatter.keep_record_declaration_on_one_line=one_line_never
-org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_simple_getter_setter_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_type_declaration_on_one_line=one_line_never
-org.eclipse.jdt.core.formatter.lineSplit=260
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_after_code_block=0
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_code_block=0
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_code_block=0
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_blank_lines_before_code_block=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
-org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_record_declaration=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.text_block_indentation=0
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_assertion_message_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
-org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_before_relational_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_shift_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
-org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/.settings/org.eclipse.jdt.ui.prefs b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100755
index 3d5d5bd..0000000
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,148 +0,0 @@
-cleanup.add_all=false
-cleanup.add_default_serial_version_id=true
-cleanup.add_generated_serial_version_id=false
-cleanup.add_missing_annotations=true
-cleanup.add_missing_deprecated_annotations=true
-cleanup.add_missing_methods=false
-cleanup.add_missing_nls_tags=false
-cleanup.add_missing_override_annotations=true
-cleanup.add_missing_override_annotations_interface_methods=true
-cleanup.add_serial_version_id=false
-cleanup.always_use_blocks=true
-cleanup.always_use_parentheses_in_expressions=false
-cleanup.always_use_this_for_non_static_field_access=false
-cleanup.always_use_this_for_non_static_method_access=false
-cleanup.array_with_curly=false
-cleanup.arrays_fill=false
-cleanup.bitwise_conditional_expression=false
-cleanup.boolean_literal=false
-cleanup.boolean_value_rather_than_comparison=true
-cleanup.break_loop=false
-cleanup.collection_cloning=false
-cleanup.comparing_on_criteria=false
-cleanup.comparison_statement=false
-cleanup.controlflow_merge=false
-cleanup.convert_functional_interfaces=false
-cleanup.convert_to_enhanced_for_loop=false
-cleanup.convert_to_enhanced_for_loop_if_loop_var_used=false
-cleanup.convert_to_switch_expressions=false
-cleanup.correct_indentation=false
-cleanup.do_while_rather_than_while=true
-cleanup.double_negation=false
-cleanup.else_if=false
-cleanup.embedded_if=false
-cleanup.evaluate_nullable=false
-cleanup.extract_increment=false
-cleanup.format_source_code=false
-cleanup.format_source_code_changes_only=false
-cleanup.hash=false
-cleanup.if_condition=false
-cleanup.insert_inferred_type_arguments=false
-cleanup.instanceof=false
-cleanup.instanceof_keyword=false
-cleanup.invert_equals=false
-cleanup.join=false
-cleanup.lazy_logical_operator=false
-cleanup.make_local_variable_final=true
-cleanup.make_parameters_final=false
-cleanup.make_private_fields_final=true
-cleanup.make_type_abstract_if_missing_method=false
-cleanup.make_variable_declarations_final=false
-cleanup.map_cloning=false
-cleanup.merge_conditional_blocks=false
-cleanup.multi_catch=false
-cleanup.never_use_blocks=false
-cleanup.never_use_parentheses_in_expressions=true
-cleanup.no_string_creation=false
-cleanup.no_super=false
-cleanup.number_suffix=false
-cleanup.objects_equals=false
-cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=true
-cleanup.operand_factorization=false
-cleanup.organize_imports=false
-cleanup.overridden_assignment=false
-cleanup.plain_replacement=false
-cleanup.precompile_regex=false
-cleanup.primitive_comparison=false
-cleanup.primitive_parsing=false
-cleanup.primitive_rather_than_wrapper=true
-cleanup.primitive_serialization=false
-cleanup.pull_out_if_from_if_else=false
-cleanup.pull_up_assignment=false
-cleanup.push_down_negation=false
-cleanup.qualify_static_field_accesses_with_declaring_class=false
-cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-cleanup.qualify_static_member_accesses_with_declaring_class=true
-cleanup.qualify_static_method_accesses_with_declaring_class=false
-cleanup.reduce_indentation=false
-cleanup.redundant_comparator=false
-cleanup.redundant_falling_through_block_end=false
-cleanup.remove_private_constructors=true
-cleanup.remove_redundant_modifiers=false
-cleanup.remove_redundant_semicolons=false
-cleanup.remove_redundant_type_arguments=true
-cleanup.remove_trailing_whitespaces=true
-cleanup.remove_trailing_whitespaces_all=true
-cleanup.remove_trailing_whitespaces_ignore_empty=false
-cleanup.remove_unnecessary_array_creation=false
-cleanup.remove_unnecessary_casts=true
-cleanup.remove_unnecessary_nls_tags=true
-cleanup.remove_unused_imports=true
-cleanup.remove_unused_local_variables=false
-cleanup.remove_unused_private_fields=true
-cleanup.remove_unused_private_members=false
-cleanup.remove_unused_private_methods=true
-cleanup.remove_unused_private_types=true
-cleanup.return_expression=false
-cleanup.simplify_lambda_expression_and_method_ref=false
-cleanup.single_used_field=false
-cleanup.sort_members=false
-cleanup.sort_members_all=false
-cleanup.standard_comparison=false
-cleanup.static_inner_class=false
-cleanup.strictly_equal_or_different=false
-cleanup.stringbuffer_to_stringbuilder=false
-cleanup.stringbuilder=false
-cleanup.stringbuilder_for_local_vars=true
-cleanup.stringconcat_to_textblock=false
-cleanup.substring=false
-cleanup.switch=false
-cleanup.system_property=false
-cleanup.system_property_boolean=false
-cleanup.system_property_file_encoding=false
-cleanup.system_property_file_separator=false
-cleanup.system_property_line_separator=false
-cleanup.system_property_path_separator=false
-cleanup.ternary_operator=false
-cleanup.try_with_resource=false
-cleanup.unlooped_while=false
-cleanup.unreachable_block=false
-cleanup.use_anonymous_class_creation=false
-cleanup.use_autoboxing=false
-cleanup.use_blocks=true
-cleanup.use_blocks_only_for_return_and_throw=false
-cleanup.use_directly_map_method=false
-cleanup.use_lambda=true
-cleanup.use_parentheses_in_expressions=false
-cleanup.use_string_is_blank=false
-cleanup.use_this_for_non_static_field_access=false
-cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-cleanup.use_this_for_non_static_method_access=false
-cleanup.use_this_for_non_static_method_access_only_if_necessary=true
-cleanup.use_unboxing=false
-cleanup.use_var=false
-cleanup.useless_continue=false
-cleanup.useless_return=false
-cleanup.valueof_rather_than_instantiation=false
-cleanup_profile=_Papyrus
-cleanup_settings_version=2
-eclipse.preferences.version=1
-formatter_profile=_Papyrus
-formatter_settings_version=21
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=java;javax;org;com;
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.ondemandthreshold=99
-org.eclipse.jdt.ui.staticondemandthreshold=99
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return the ${bare_field_name}\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} the ${bare_field_name} to set\r\n */</template><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * Constructor.\r\n *\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*****************************************************************************\r\n * Copyright (c) ${year} CEA LIST\r\n *\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License 2.0\r\n * which accompanies this distribution, and is available at\r\n * https\://www.eclipse.org/legal/epl-2.0/\r\n *\r\n * SPDX-License-Identifier\: EPL-2.0\r\n *\r\n * Contributors\:\r\n *  ${user} - Initial API and implementation\r\n *****************************************************************************/</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\r\n *\r\n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="modulecomment_context" deleted\="false" description\="Comment for modules" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.modulecomment" name\="modulecomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\r\n * ${see_to_overridden}\r\n *\r\n * ${tags}\r\n */\r\n</template><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\r\n * ${see_to_target}\r\n *\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="recordbody_context" deleted\="false" description\="Code in new record type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.recordbody" name\="recordbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\r\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\r\n${body_statement}</template><template autoinsert\="false" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/.settings/org.eclipse.pde.api.tools.prefs b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100755
index b2260f8..0000000
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,104 +0,0 @@
-ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Warning
-API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Warning
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-API_USE_SCAN_FIELD_SEVERITY=Error
-API_USE_SCAN_METHOD_SEVERITY=Error
-API_USE_SCAN_TYPE_SEVERITY=Error
-CLASS_ELEMENT_TYPE_ADDED_FIELD=Warning
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Warning
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Warning
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Ignore
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_ANNOTATION=Ignore
-INVALID_JAVADOC_TAG=Ignore
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Ignore
-LEAK_EXTEND=Warning
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-MISSING_EE_DESCRIPTIONS=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-automatically_removed_unused_problem_filters=Enabled
-changed_execution_env=Warning
-eclipse.preferences.version=1
-incompatible_api_component_version=Warning
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-incompatible_api_component_version_report_major_without_breaking_change=Error
-incompatible_api_component_version_report_minor_without_api_change=Error
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/.settings/org.eclipse.pde.prefs b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/.settings/org.eclipse.pde.prefs
deleted file mode 100755
index acccd1b..0000000
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,35 +0,0 @@
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.exec-env-too-low=1
-compilers.p.internal=1
-compilers.p.missing-packages=2
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=1
-compilers.p.no-required-att=0
-compilers.p.no.automatic.module=1
-compilers.p.not-externalized-att=2
-compilers.p.service.component.without.lazyactivation=1
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/META-INF/MANIFEST.MF b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/META-INF/MANIFEST.MF
deleted file mode 100755
index bcd257c..0000000
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,30 +0,0 @@
-Manifest-Version: 1.0
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.papyrus.sirius.uml.diagram.sequence;singleton:=true
-Bundle-Version: 0.7.0.qualifier
-Require-Bundle: com.google.guava;bundle-version="[32.1.3,32.1.4)",
- org.eclipse.core.runtime;bundle-version="[3.25.0,4.0.0)",
- org.eclipse.gmf.runtime.diagram.ui;bundle-version="[1.9.0,2.0.0)",
- org.eclipse.papyrus.infra.core;bundle-version="[4.3.0,5.0.0)",
- org.eclipse.papyrus.sirius.editor;bundle-version="[0.7.0,1.0.0)",
- org.eclipse.papyrus.sirius.log;bundle-version="[0.7.0,1.0.0)",
- org.eclipse.papyrus.sirius.uml.diagram.common;bundle-version="[0.7.0,1.0.0)",
- org.eclipse.sirius.common.ui;bundle-version="[7.0.7,8.0.0)",
- org.eclipse.sirius.common;bundle-version="[7.0.7,8.0.0)",
- org.eclipse.sirius.diagram.sequence.ui;bundle-version="[7.0.7,8.0.0)",
- org.eclipse.sirius.diagram.sequence;bundle-version="[7.0.7,8.0.0)",
- org.eclipse.sirius.diagram.ui;bundle-version="[7.0.7,8.0.0)",
- org.eclipse.sirius.ext.base;bundle-version="[7.0.7,8.0.0)",
- org.eclipse.sirius;bundle-version="[7.0.7,8.0.0)",
- org.eclipse.ui;bundle-version="[3.201.0,4.0.0)",
- org.eclipse.uml2.uml.edit;bundle-version="[5.5.0,6.0.0)",
- org.eclipse.uml2.uml;bundle-version="[5.5.0,6.0.0)"
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-17
-Bundle-Activator: org.eclipse.papyrus.sirius.uml.diagram.sequence.Activator
-Export-Package: org.eclipse.papyrus.sirius.uml.diagram.sequence,
- org.eclipse.papyrus.sirius.uml.diagram.sequence.services
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-ManifestVersion: 2
-Automatic-Module-Name: org.eclipse.papyrus.sirius.uml.diagram.sequence
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/about.html b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/about.html
deleted file mode 100755
index 164f781..0000000
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/about.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
-<title>About</title>
-</head>
-<body lang="EN-US">
-	<h2>About This Content</h2>
-
-	<p>November 30, 2017</p>
-	<h3>License</h3>
-
-	<p>
-		The Eclipse Foundation makes available all content in this plug-in
-		(&quot;Content&quot;). Unless otherwise indicated below, the Content
-		is provided to you under the terms and conditions of the Eclipse
-		Public License Version 2.0 (&quot;EPL&quot;). A copy of the EPL is
-		available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
-		For purposes of the EPL, &quot;Program&quot; will mean the Content.
-	</p>
-
-	<p>
-		If you did not receive this Content directly from the Eclipse
-		Foundation, the Content is being redistributed by another party
-		(&quot;Redistributor&quot;) and different terms and conditions may
-		apply to your use of any object code in the Content. Check the
-		Redistributor's license that was provided with the Content. If no such
-		license exists, contact the Redistributor. Unless otherwise indicated
-		below, the terms and conditions of the EPL still apply to any source
-		code in the Content and such source code may be obtained at <a
-			href="http://www.eclipse.org/">http://www.eclipse.org</a>.
-	</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/build.properties b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/build.properties
deleted file mode 100755
index c72a6fc..0000000
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/build.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               description/,\
-               plugin.xml,\
-               plugin.properties,\
-               about.html,\
-               icons/
-src.includes = about.html
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/description/papyrus_sequence.odesign b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/description/papyrus_sequence.odesign
deleted file mode 100755
index af9d314..0000000
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/description/papyrus_sequence.odesign
+++ /dev/null
@@ -1,1029 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<description:Group xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/sequence/description/2.0.0" xmlns:filter="http://www.eclipse.org/sirius/diagram/description/filter/1.1.0" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:tool="http://www.eclipse.org/sirius/diagram/sequence/description/tool/2.0.0" xmlns:tool_1="http://www.eclipse.org/sirius/description/tool/1.1.0" xmlns:tool_2="http://www.eclipse.org/sirius/diagram/description/tool/1.1.0" documentation="Copyright (c) 2009, 2014, 2021-2022 Obeo, CEA LIST, Artal Technologies&#xD;&#xA;&#xD;&#xA;All rights reserved. This program and the accompanying materials&#xD;&#xA;are made available under the terms of the Eclipse Public License 2.0&#xD;&#xA;which accompanies this distribution, and is available at&#xD;&#xA;https://www.eclipse.org/legal/epl-2.0/&#xD;&#xA;&#xD;&#xA;Contributors:&#xD;&#xA;     Obeo - initial API and implementation&#xD;&#xA;     Aurelien Didier (ARTAL) - aurelien.didier51@gmail.com - adaptation to integrate in Papyrus&#xD;&#xA;     Vincent Lorenzo (CEA LIST) - vincent.lorenzo@cea.fr  - adaptation to integrate in Papyrus" name="papyrus" version="12.0.0.2017041100">
-  <ownedViewpoints endUserDocumentation="To work on the fine grained structure and the behaviours of the application." name="SequenceDiagram" modelFileExtension="uml">
-    <ownedRepresentations xsi:type="description_1:SequenceDiagramDescription" dropDescriptions="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='Constraint%20from%20Model'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='Comment%20from%20Model']" documentation="@generated" name="SequenceDiagram" titleExpression="service:getSequenceDiagramName" domainClass="uml::Element" endsOrdering="service:getFragmentsOrderingEnds()" instanceRolesOrdering="feature:lifeline">
-      <metamodel href="http://www.eclipse.org/uml2/5.0.0/UML#/"/>
-      <metamodel href="http://www.eclipse.org/sirius/diagram/1.1.0#/"/>
-      <metamodel href="http://www.eclipse.org/sirius/1.1.0#/"/>
-      <metamodel href="http://www.eclipse.org/emf/2002/Ecore#/"/>
-      <filters xsi:type="filter:CompositeFilterDescription" name="Hide Observation Point">
-        <filters xsi:type="filter:MappingFilter" mappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Observation']"/>
-      </filters>
-      <filters xsi:type="filter:CompositeFilterDescription" name="Hide Executions">
-        <filters xsi:type="filter:MappingFilter" filterKind="COLLAPSE" mappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline']/@borderedNodeMappings[name='SD_ExecutionSpecificationNode']"/>
-      </filters>
-      <filters xsi:type="filter:CompositeFilterDescription" name="Collapse Observation Point">
-        <filters xsi:type="filter:MappingFilter" filterKind="COLLAPSE" mappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Observation']"/>
-      </filters>
-      <defaultLayer name="Sequence">
-        <nodeMappings xsi:type="description_1:InstanceRoleMapping" name="SD_LifelineRole" deletionDescription="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='PapyrusDelete']" semanticCandidatesExpression="feature:lifeline" synchronizationLock="true" documentation="@generated" domainClass="uml.Lifeline">
-          <borderedNodeMappings xsi:type="description_1:ExecutionMapping" name="SD_Lifeline" deletionDescription="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='PapyrusDelete']" semanticCandidatesExpression="var:self" semanticElements="var:self" synchronizationLock="true" documentation="@generated" domainClass="uml.Lifeline" startingEndFinderExpression="var:self" finishingEndFinderExpression="var:self">
-            <borderedNodeMappings xsi:type="description_1:ExecutionMapping" name="SD_ExecutionSpecificationNode" deletionDescription="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='PapyrusDelete']" semanticCandidatesExpression="service:getExecutionSpecifications" semanticElements="service:computeSemanticElements" documentation="@generated" domainClass="ExecutionSpecification" reusedBorderedNodeMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline']/@borderedNodeMappings[name='SD_ExecutionSpecificationNode']" startingEndFinderExpression="aql:self.getStart()" finishingEndFinderExpression="aql:self.getFinish()">
-              <style xsi:type="style:SquareDescription" labelSize="12" showIcon="false" labelExpression="" resizeKind="NORTH_SOUTH" width="2" height="5" color="//@userColorsPalettes[name='UMLPalette']/@entries[name='Execution%20Color']">
-                <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-                <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-              </style>
-            </borderedNodeMappings>
-            <borderedNodeMappings xsi:type="description_1:StateMapping" name="StateInvariant" deletionDescription="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='PapyrusDelete']" semanticCandidatesExpression="feature:coveredBy" domainClass="StateInvariant" startingEndFinderExpression="var:self" finishingEndFinderExpression="var:self">
-              <style xsi:type="style:EllipseNodeDescription" labelSize="12" labelPosition="node" color="//@userColorsPalettes[name='UMLPalette']/@entries[name='Execution%20Color']" horizontalDiameterComputationExpression="15" verticalDiameterComputationExpression="7">
-                <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-                <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-              </style>
-            </borderedNodeMappings>
-            <borderedNodeMappings xsi:type="description_1:EndOfLifeMapping" name="SD_LifelineEOL" preconditionExpression="service:eolPrecondition" deletionDescription="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='PapyrusDelete']" semanticCandidatesExpression="var:self" semanticElements="var:self" documentation="@generated" domainClass="uml.Lifeline">
-              <style xsi:type="style:WorkspaceImageDescription" labelSize="12" labelExpression="" sizeComputationExpression="5" workspacePath="/org.eclipse.papyrus.sirius.uml.diagram.sequence/icons/eol.png">
-                <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-                <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-              </style>
-            </borderedNodeMappings>
-            <style xsi:type="style:SquareDescription" borderSizeComputationExpression="1" showIcon="false" labelExpression="" resizeKind="NSEW" width="1" height="40">
-              <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-              <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-              <color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            </style>
-          </borderedNodeMappings>
-          <style xsi:type="style:SquareDescription" labelSize="9" labelExpression="service:computeUmlLabel" labelPosition="node" resizeKind="NSEW" width="10" height="4">
-            <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            <color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
-          </style>
-          <conditionnalStyles predicateExpression="service:isRepresentingProperty">
-            <style xsi:type="style:SquareDescription" labelSize="9" labelExpression="service:computeUmlLabel" labelPosition="node" resizeKind="NSEW" width="10" height="4">
-              <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-              <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-              <color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
-            </style>
-          </conditionnalStyles>
-        </nodeMappings>
-        <nodeMappings name="Gate" deletionDescription="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='PapyrusDelete']" semanticCandidatesExpression="feature:formalGate" domainClass="Gate">
-          <style xsi:type="style:SquareDescription" labelSize="12" sizeComputationExpression="" labelPosition="node" resizeKind="NSEW" width="2" height="2" color="//@userColorsPalettes[name='UMLPalette']/@entries[name='Execution%20Color']">
-            <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-          </style>
-        </nodeMappings>
-        <nodeMappings name="LostFound" deletionDescription="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='PapyrusDelete']" semanticCandidatesExpression="aql:self.message->select(message|message.sendEvent = null and message.receiveEvent != null or message.sendEvent != null and message.receiveEvent = null)" synchronizationLock="true" domainClass="Message">
-          <style xsi:type="style:DotDescription" labelSize="12" showIcon="false" labelExpression="" sizeComputationExpression="1" resizeKind="NSEW" strokeSizeComputationExpression="1">
-            <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            <backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-          </style>
-        </nodeMappings>
-        <nodeMappings xsi:type="description_1:ObservationPointMapping" name="Observation" preconditionExpression="aql:self.getTimeConstraint()->size()==0 and self.getTimeObservation()->size()==0" deletionDescription="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='PapyrusDelete']" semanticCandidatesExpression="service:getObservationPoints()" domainClass="EObject">
-          <style xsi:type="style:WorkspaceImageDescription" labelSize="12" showIcon="false" labelExpression="" sizeComputationExpression="1" workspacePath="/org.eclipse.papyrus.sirius.uml.diagram.sequence/icons/observation_opaque.svg">
-            <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-          </style>
-        </nodeMappings>
-        <nodeMappings name="Constraint" preconditionExpression="aql:not self.oclIsTypeOf(uml::InteractionConstraint)" deletionDescription="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='PapyrusDelete']" labelDirectEdit="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='ConstraintEdit']" createElements="false" domainClass="Constraint">
-          <style xsi:type="style:NoteDescription" labelSize="12" labelExpression="service:getConstraintLabel()" sizeComputationExpression="9" labelPosition="node" resizeKind="NSEW" color="//@userColorsPalettes[name='UMLPalette']/@entries[name='ConstraintColor']">
-            <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-          </style>
-        </nodeMappings>
-        <nodeMappings xsi:type="description_1:ObservationPointMapping" name="TimeConstraint" semanticCandidatesExpression="aql:self.getTimeConstraints().constrainedElement" semanticElements="aql:self.getTimeConstraint()" synchronizationLock="true" domainClass="EObject">
-          <style xsi:type="style:WorkspaceImageDescription" labelSize="12" labelExpression="aql:self.getTimeConstraint().name" iconPath="/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeConstraint.gif" sizeComputationExpression="5" resizeKind="EAST_WEST" workspacePath="/org.eclipse.papyrus.sirius.uml.diagram.sequence/icons/stroke.svg">
-            <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            <forbiddenSides>WEST</forbiddenSides>
-            <forbiddenSides>EAST</forbiddenSides>
-          </style>
-        </nodeMappings>
-        <nodeMappings xsi:type="description_1:ObservationPointMapping" name="TimeObservation" semanticCandidatesExpression="aql:self.getTimeObservations().event" semanticElements="aql:self.getTimeObservation()" synchronizationLock="true" domainClass="EObject">
-          <style xsi:type="style:WorkspaceImageDescription" labelSize="12" labelExpression="aql:self.getTimeObservation().name" iconPath="/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeObservation.gif" sizeComputationExpression="5" resizeKind="EAST_WEST" workspacePath="/org.eclipse.papyrus.sirius.uml.diagram.sequence/icons/stroke.svg">
-            <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            <forbiddenSides>WEST</forbiddenSides>
-            <forbiddenSides>EAST</forbiddenSides>
-          </style>
-        </nodeMappings>
-        <edgeMappings xsi:type="description_1:BasicMessageMapping" name="SD_Message" preconditionExpression="aql:self.preConditionMessageBasic()" deletionDescription="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='PapyrusDelete']" semanticCandidatesExpression="feature:message" semanticElements="service:getSemanticElements" synchronizationLock="true" documentation="@generated" sourceMapping="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Gate'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline']/@borderedNodeMappings[name='SD_ExecutionSpecificationNode'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline']/@borderedNodeMappings[name='StateInvariant'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@containerMappings[name='InteractionUse'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Observation'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@containerMappings[name='SD_CombinedFragment']/@borderedNodeMappings[name='GateBorder'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@containerMappings[name='InteractionUse']/@borderedNodeMappings[name='GateBorder']" targetMapping="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Gate'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline']/@borderedNodeMappings[name='SD_ExecutionSpecificationNode'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline']/@borderedNodeMappings[name='StateInvariant'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@containerMappings[name='InteractionUse'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Observation'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@containerMappings[name='SD_CombinedFragment']/@borderedNodeMappings[name='GateBorder'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@containerMappings[name='InteractionUse']/@borderedNodeMappings[name='GateBorder']" targetFinderExpression="service:findOccurrenceSpecificationContextForReceiveEvent" sourceFinderExpression="service:findOccurrenceSpecificationContextForSendEvent" domainClass="Message" useDomainElement="true" reconnections="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@toolSections.0/@subSections[name='edit']/@ownedTools[name='ConnectEvent']" sendingEndFinderExpression="feature:sendEvent" receivingEndFinderExpression="feature:receiveEvent">
-          <style sizeComputationExpression="2">
-            <strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            <centerLabelStyleDescription labelExpression="service:computeUmlLabel">
-              <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            </centerLabelStyleDescription>
-          </style>
-          <conditionnalStyles predicateExpression="service:isSynchCall">
-            <style targetArrow="InputFillClosedArrow" sizeComputationExpression="2">
-              <strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-              <centerLabelStyleDescription labelExpression="service:computeUmlLabel">
-                <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-              </centerLabelStyleDescription>
-            </style>
-          </conditionnalStyles>
-        </edgeMappings>
-        <edgeMappings name="Basic Message Standard" preconditionExpression="aql:self.preConditionNotMessageBasic()" deletionDescription="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='PapyrusDelete']" semanticCandidatesExpression="feature:message" semanticElements="service:getSemanticElements" synchronizationLock="true" sourceMapping="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Gate'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@containerMappings[name='InteractionUse'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Observation'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline']/@borderedNodeMappings[name='SD_ExecutionSpecificationNode'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline']/@borderedNodeMappings[name='StateInvariant'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@containerMappings[name='SD_CombinedFragment']/@borderedNodeMappings[name='GateBorder'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@containerMappings[name='InteractionUse']/@borderedNodeMappings[name='GateBorder']" targetMapping="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Gate'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@containerMappings[name='InteractionUse'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Observation'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline']/@borderedNodeMappings[name='SD_ExecutionSpecificationNode'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline']/@borderedNodeMappings[name='StateInvariant'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@containerMappings[name='SD_CombinedFragment']/@borderedNodeMappings[name='GateBorder'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@containerMappings[name='InteractionUse']/@borderedNodeMappings[name='GateBorder']" targetFinderExpression="service:findOccurrenceSpecificationContextForReceiveEvent" sourceFinderExpression="service:findOccurrenceSpecificationContextForSendEvent" domainClass="Message" useDomainElement="true">
-          <style sizeComputationExpression="2">
-            <strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            <centerLabelStyleDescription labelExpression="service:computeUmlLabel">
-              <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            </centerLabelStyleDescription>
-          </style>
-          <conditionnalStyles predicateExpression="service:isSynchCall">
-            <style targetArrow="InputFillClosedArrow" sizeComputationExpression="2">
-              <strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-              <centerLabelStyleDescription labelExpression="service:computeUmlLabel">
-                <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-              </centerLabelStyleDescription>
-            </style>
-          </conditionnalStyles>
-        </edgeMappings>
-        <edgeMappings xsi:type="description_1:ReturnMessageMapping" name="MessageReply" preconditionExpression="aql:self.messageSort == uml::MessageSort::reply" deletionDescription="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='PapyrusDelete']" semanticCandidatesExpression="feature:message" semanticElements="service:getSemanticElements" synchronizationLock="true" sourceMapping="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline']/@borderedNodeMappings[name='SD_ExecutionSpecificationNode'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Gate']" targetMapping="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline']/@borderedNodeMappings[name='SD_ExecutionSpecificationNode'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Gate']" targetFinderExpression="service:findOccurrenceSpecificationContextForReceiveEvent" sourceFinderExpression="service:findOccurrenceSpecificationContextForSendEvent" domainClass="Message" useDomainElement="true" sendingEndFinderExpression="feature:sendEvent" receivingEndFinderExpression="feature:receiveEvent" invocationMessageFinderExpression="aql:self.getInvocationMessage()">
-          <style lineStyle="dash" sizeComputationExpression="2">
-            <strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            <centerLabelStyleDescription labelExpression="service:computeUmlLabel">
-              <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            </centerLabelStyleDescription>
-          </style>
-        </edgeMappings>
-        <edgeMappings xsi:type="description_1:CreationMessageMapping" name="CreateMessage" preconditionExpression="aql:self.messageSort == uml::MessageSort::createMessage" deletionDescription="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='PapyrusDelete']" semanticCandidatesExpression="feature:message" synchronizationLock="true" sourceMapping="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline']/@borderedNodeMappings[name='SD_ExecutionSpecificationNode'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Gate'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Observation']" targetMapping="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Gate']" targetFinderExpression="service:findOccurrenceSpecificationContextForReceiveEvent" sourceFinderExpression="service:findOccurrenceSpecificationContextForSendEvent" domainClass="Message" useDomainElement="true" reconnections="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@toolSections.0/@subSections[name='edit']/@ownedTools[name='Reconnect%20create%20Lifeline']" sendingEndFinderExpression="feature:sendEvent" receivingEndFinderExpression="feature:receiveEvent">
-          <style lineStyle="dash" sizeComputationExpression="2">
-            <strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='gray']"/>
-            <centerLabelStyleDescription labelSize="12">
-              <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            </centerLabelStyleDescription>
-          </style>
-        </edgeMappings>
-        <edgeMappings xsi:type="description_1:DestructionMessageMapping" name="DeleteMessage" preconditionExpression="aql:self.messageSort == uml::MessageSort::deleteMessage" deletionDescription="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='PapyrusDelete']" semanticCandidatesExpression="feature:message" semanticElements="service:getMessageAssociatedElements" synchronizationLock="true" sourceMapping="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline']/@borderedNodeMappings[name='SD_ExecutionSpecificationNode'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Gate'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Observation']" targetMapping="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline']/@borderedNodeMappings[name='SD_LifelineEOL']" targetFinderExpression="service:findOccurrenceSpecificationContextForReceiveEvent" sourceFinderExpression="service:findOccurrenceSpecificationContextForSendEvent" domainClass="Message" useDomainElement="true" sendingEndFinderExpression="feature:sendEvent" receivingEndFinderExpression="feature:receiveEvent">
-          <style sizeComputationExpression="2">
-            <strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='gray']"/>
-            <centerLabelStyleDescription showIcon="false" labelExpression="feature:name">
-              <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            </centerLabelStyleDescription>
-          </style>
-        </edgeMappings>
-        <edgeMappings xsi:type="description_1:BasicMessageMapping" name="MessageLost" deletionDescription="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='PapyrusDelete']" semanticCandidatesExpression="feature:message" synchronizationLock="true" sourceMapping="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline']/@borderedNodeMappings[name='SD_ExecutionSpecificationNode'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Observation']" targetMapping="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='LostFound']" targetFinderExpression="aql:self" sourceFinderExpression="service:findOccurrenceSpecificationContextForSendEvent" domainClass="Message" useDomainElement="true" sendingEndFinderExpression="feature:sendEvent" receivingEndFinderExpression="service:getLostReceiveAnnotation()">
-          <style sizeComputationExpression="2">
-            <strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='gray']"/>
-            <centerLabelStyleDescription labelSize="12">
-              <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            </centerLabelStyleDescription>
-          </style>
-        </edgeMappings>
-        <edgeMappings xsi:type="description_1:BasicMessageMapping" name="MessageFound" deletionDescription="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='PapyrusDelete']" semanticCandidatesExpression="feature:message" synchronizationLock="true" sourceMapping="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='LostFound']" targetMapping="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline']/@borderedNodeMappings[name='SD_ExecutionSpecificationNode'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Observation']" targetFinderExpression="service:findOccurrenceSpecificationContextForReceiveEvent" sourceFinderExpression="var:self" domainClass="Message" useDomainElement="true" sendingEndFinderExpression="feature:getFoundSendAnnotation()" receivingEndFinderExpression="feature:receiveEvent">
-          <style>
-            <strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='gray']"/>
-            <centerLabelStyleDescription labelSize="12">
-              <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            </centerLabelStyleDescription>
-          </style>
-        </edgeMappings>
-        <edgeMappings name="GeneralOrdering" deletionDescription="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='PapyrusDelete']" semanticCandidatesExpression="feature:eAllContents" synchronizationLock="true" sourceMapping="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline']/@borderedNodeMappings[name='SD_ExecutionSpecificationNode'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Gate']" targetMapping="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline']/@borderedNodeMappings[name='SD_ExecutionSpecificationNode'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Gate']" targetFinderExpression="aql:self.after.execution" sourceFinderExpression="aql:self.before.execution" domainClass="GeneralOrdering" useDomainElement="true">
-          <style sizeComputationExpression="2" endsCentering="Both">
-            <strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='gray']"/>
-            <centerLabelStyleDescription labelSize="12">
-              <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            </centerLabelStyleDescription>
-          </style>
-        </edgeMappings>
-        <edgeMappings name="DurationObservation" deletionDescription="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='PapyrusDelete']" semanticCandidatesExpression="aql:self.getAllDurationObservation()" synchronizationLock="true" sourceMapping="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Observation'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='TimeConstraint'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='TimeObservation']" targetMapping="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Observation'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='TimeConstraint'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='TimeObservation']" targetFinderExpression="aql:self.getTargetObservation()" sourceFinderExpression="aql:self.getSourceObservation()" domainClass="DurationObservation" useDomainElement="true">
-          <style xsi:type="style:BracketEdgeStyleDescription" sourceArrow="InputArrow">
-            <strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            <centerLabelStyleDescription labelSize="12" labelExpression="feature:name">
-              <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            </centerLabelStyleDescription>
-          </style>
-        </edgeMappings>
-        <edgeMappings name="Duration Constraint" deletionDescription="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='PapyrusDelete']" semanticCandidatesExpression="feature:eAllContents" synchronizationLock="true" sourceMapping="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Observation'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='TimeConstraint'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='TimeObservation']" targetMapping="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Observation'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='TimeConstraint'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='TimeObservation']" targetFinderExpression="aql:self.getTargetConstrainedElement()" sourceFinderExpression="aql:self.getSourceConstrainedElement()" domainClass="DurationConstraint" useDomainElement="true">
-          <style xsi:type="style:BracketEdgeStyleDescription" lineStyle="dot" sourceArrow="InputArrow">
-            <strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            <centerLabelStyleDescription labelSize="12">
-              <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            </centerLabelStyleDescription>
-          </style>
-        </edgeMappings>
-        <edgeMappings name="Comment Link" deletionDescription="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='PapyrusDelete']" labelDirectEdit="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@toolSections.0/@subSections[name='edit']/@ownedTools[name='Rename']" sourceMapping="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Comment']/@nodeMappings[name='Comment']" targetMapping="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Constraint'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@containerMappings[name='SD_CombinedFragment'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@containerMappings[name='SD_CombinedFragment']/@subContainerMappings[name='SD_Operand'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='CreateMessage'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='DeleteMessage'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='Duration%20Constraint'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='DurationObservation'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Gate'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='GeneralOrdering'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@containerMappings[name='InteractionUse'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='LostFound'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='MessageFound'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='MessageLost'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='MessageReply'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Observation'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline']/@borderedNodeMappings[name='SD_ExecutionSpecificationNode'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='TimeConstraint'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='TimeObservation'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline']/@borderedNodeMappings[name='SD_LifelineEOL'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline']/@borderedNodeMappings[name='StateInvariant'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='SD_Message'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='Basic%20Message%20Standard'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@containerMappings[name='SD_ConsiderIgnoreFragment'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@containerMappings[name='InteractionUse']/@borderedNodeMappings[name='GateBorder'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@containerMappings[name='SD_CombinedFragment']/@borderedNodeMappings[name='GateBorder']" targetFinderExpression="aql:self.targetFinderExpression()" reconnections="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@toolSections.0/@subSections[name='edit']/@ownedTools[name='Reconnect%20Target%20Link'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@toolSections.0/@subSections[name='edit']/@ownedTools[name='Reconnect%20Source%20Link']">
-          <style lineStyle="dot" targetArrow="NoDecoration">
-            <strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='gray']"/>
-            <centerLabelStyleDescription labelSize="12">
-              <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            </centerLabelStyleDescription>
-          </style>
-        </edgeMappings>
-        <edgeMappings name="Constraint Link" deletionDescription="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='PapyrusDelete']" labelDirectEdit="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@toolSections.0/@subSections[name='edit']/@ownedTools[name='Rename']" sourceMapping="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Constraint']" targetMapping="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Constraint'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@containerMappings[name='SD_CombinedFragment'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@containerMappings[name='SD_CombinedFragment']/@subContainerMappings[name='SD_Operand'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='CreateMessage'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='DeleteMessage'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='Duration%20Constraint'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='DurationObservation'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Gate'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='GeneralOrdering'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@containerMappings[name='InteractionUse'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='LostFound'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='MessageFound'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='MessageLost'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='MessageReply'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Observation'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline']/@borderedNodeMappings[name='SD_ExecutionSpecificationNode'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='TimeConstraint'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='TimeObservation'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline']/@borderedNodeMappings[name='SD_LifelineEOL'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline']/@borderedNodeMappings[name='StateInvariant'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='SD_Message'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@containerMappings[name='SD_ConsiderIgnoreFragment'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@containerMappings[name='InteractionUse']/@borderedNodeMappings[name='GateBorder'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='Basic%20Message%20Standard'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@containerMappings[name='SD_CombinedFragment']/@borderedNodeMappings[name='GateBorder']" targetFinderExpression="aql:self.targetFinderExpression()" reconnections="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@toolSections.0/@subSections[name='edit']/@ownedTools[name='Reconnect%20Target%20Link'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@toolSections.0/@subSections[name='edit']/@ownedTools[name='Reconnect%20Source%20Link']">
-          <style lineStyle="dot" targetArrow="NoDecoration">
-            <strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='gray']"/>
-            <centerLabelStyleDescription labelSize="12">
-              <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            </centerLabelStyleDescription>
-          </style>
-        </edgeMappings>
-        <containerMappings xsi:type="description_1:CombinedFragmentMapping" name="SD_CombinedFragment" label="Combined Fragment" deletionDescription="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='PapyrusDelete']" semanticCandidatesExpression="feature:eAllContents" synchronizationLock="true" domainClass="uml.CombinedFragment" dropDescriptions="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='Constraint%20from%20Model'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='Comment%20from%20Model']" startingEndFinderExpression="aql:self.getStart()" finishingEndFinderExpression="aql:self.getFinish()" coveredLifelinesExpression="feature:covered">
-          <borderedNodeMappings name="GateBorder" deletionDescription="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='PapyrusDelete']" semanticCandidatesExpression="feature:cfragmentGate" domainClass="Gate">
-            <style xsi:type="style:SquareDescription" labelSize="12" sizeComputationExpression="" labelPosition="node" resizeKind="NSEW" width="2" height="2" color="//@userColorsPalettes[name='UMLPalette']/@entries[name='Execution%20Color']">
-              <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-              <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            </style>
-          </borderedNodeMappings>
-          <subContainerMappings xsi:type="description_1:OperandMapping" name="SD_Operand" deletionDescription="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='PapyrusDelete']" semanticCandidatesExpression="feature:operand" synchronizationLock="true" domainClass="uml.InteractionOperand" dropDescriptions="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='Constraint%20from%20Model'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='Comment%20from%20Model']" startingEndFinderExpression="aql:self.getStart()" finishingEndFinderExpression="aql:self.getFinish()">
-            <style xsi:type="style:FlatContainerStyleDescription" arcWidth="1" arcHeight="1" borderSizeComputationExpression="1" labelSize="12" showIcon="false" labelAlignment="LEFT" widthComputationExpression="1" heightComputationExpression="1">
-              <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-              <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-              <backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
-              <foregroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
-            </style>
-          </subContainerMappings>
-          <style xsi:type="style:FlatContainerStyleDescription" arcWidth="1" arcHeight="1" borderSizeComputationExpression="1" labelSize="12" showIcon="false" labelExpression="feature:interactionOperator" labelAlignment="LEFT" widthComputationExpression="1" heightComputationExpression="1">
-            <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            <backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
-            <foregroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
-            <labelBorderStyle href="environment:/viewpoint#//@labelBorderStyles/@labelBorderStyleDescriptions.0"/>
-          </style>
-        </containerMappings>
-        <containerMappings xsi:type="description_1:InteractionUseMapping" name="InteractionUse" deletionDescription="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='PapyrusDelete']" semanticCandidatesExpression="feature:eAllContents" synchronizationLock="true" domainClass="InteractionUse" dropDescriptions="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='Constraint%20from%20Model'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='Comment%20from%20Model']" reusedContainerMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@containerMappings[name='SD_CombinedFragment']/@subContainerMappings[name='SD_Operand']" startingEndFinderExpression="var:self" finishingEndFinderExpression="var:self" coveredLifelinesExpression="aql:self.covered">
-          <borderedNodeMappings name="GateBorder" deletionDescription="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='PapyrusDelete']" semanticCandidatesExpression="feature:actualGate" domainClass="Gate">
-            <style xsi:type="style:SquareDescription" labelSize="12" sizeComputationExpression="" labelPosition="node" resizeKind="NSEW" width="2" height="2" color="//@userColorsPalettes[name='UMLPalette']/@entries[name='Execution%20Color']">
-              <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-              <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            </style>
-          </borderedNodeMappings>
-          <style xsi:type="style:FlatContainerStyleDescription" borderSizeComputationExpression="1" showIcon="false" labelAlignment="LEFT" widthComputationExpression="5" heightComputationExpression="10" backgroundStyle="GradientTopToBottom" foregroundColor="//@userColorsPalettes[name='UMLPalette']/@entries[name='Execution%20Color']">
-            <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            <backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
-            <labelBorderStyle href="environment:/viewpoint#//@labelBorderStyles/@labelBorderStyleDescriptions.0"/>
-          </style>
-        </containerMappings>
-        <containerMappings xsi:type="description_1:CombinedFragmentMapping" name="SD_ConsiderIgnoreFragment" label="Consider Ignore Fragment" deletionDescription="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='PapyrusDelete']" semanticCandidatesExpression="feature:fragment" createElements="false" domainClass="uml.ConsiderIgnoreFragment" dropDescriptions="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='Constraint%20from%20Model'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='Comment%20from%20Model']" reusedNodeMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@containerMappings[name='SD_CombinedFragment']/@borderedNodeMappings[name='GateBorder']" reusedContainerMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@containerMappings[name='SD_CombinedFragment']/@subContainerMappings[name='SD_Operand']" startingEndFinderExpression="aql:self.getStart()" finishingEndFinderExpression="aql:self.getFinish()" coveredLifelinesExpression="feature:covered">
-          <style xsi:type="style:FlatContainerStyleDescription" arcWidth="1" arcHeight="1" borderSizeComputationExpression="1" labelSize="12" showIcon="false" labelExpression="feature:interactionOperator" labelAlignment="LEFT" widthComputationExpression="1" heightComputationExpression="1">
-            <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            <backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
-            <foregroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
-            <labelBorderStyle href="environment:/viewpoint#//@labelBorderStyles/@labelBorderStyleDescriptions.0"/>
-          </style>
-        </containerMappings>
-        <toolSections name="Tools">
-          <subSections name="edit">
-            <ownedTools xsi:type="tool:InstanceRoleReorderTool" name="REO_Lifeline" mappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']">
-              <predecessorBefore name="predecessorBefore"/>
-              <predecessorAfter name="predecessorAfter"/>
-              <instanceRoleMoved>
-                <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:reorderLifeline(predecessorBefore, predecessorAfter)"/>
-              </instanceRoleMoved>
-            </ownedTools>
-            <ownedTools xsi:type="tool_2:DeleteElementDescription" name="DEL_Execution">
-              <element name="element"/>
-              <elementView name="elementView"/>
-              <containerView name="containerView"/>
-              <initialOperation>
-                <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:element">
-                  <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:deleteExecution()"/>
-                </firstModelOperations>
-              </initialOperation>
-            </ownedTools>
-            <ownedTools xsi:type="tool_2:DeleteElementDescription" name="DEL_Message">
-              <element name="element"/>
-              <elementView name="elementView"/>
-              <containerView name="containerView"/>
-              <initialOperation>
-                <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:self">
-                  <subModelOperations xsi:type="tool_1:If" conditionExpression="service:element.isNotReply"/>
-                  <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:element">
-                    <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:delete"/>
-                  </subModelOperations>
-                </firstModelOperations>
-              </initialOperation>
-            </ownedTools>
-            <ownedTools xsi:type="tool:ReorderTool" name="REO_Fragment" precondition="aql:container.clearRegistry()" mappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline']/@borderedNodeMappings[name='SD_ExecutionSpecificationNode'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='SD_Message'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline']/@borderedNodeMappings[name='StateInvariant'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@containerMappings[name='SD_CombinedFragment'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@containerMappings[name='SD_CombinedFragment']/@subContainerMappings[name='SD_Operand'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='MessageFound'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='MessageLost'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='MessageReply']">
-              <startingEndPredecessorAfter name="startingEndPredecessorAfter"/>
-              <finishingEndPredecessorAfter name="finishingEndPredecessorAfter"/>
-              <onEventMovedOperation>
-                <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:reorderFragment(startingEndPredecessorAfter,finishingEndPredecessorAfter)"/>
-              </onEventMovedOperation>
-            </ownedTools>
-            <ownedTools xsi:type="tool_2:DeleteElementDescription" name="DEL_Lifeline">
-              <element name="element"/>
-              <elementView name="elementView"/>
-              <containerView name="containerView"/>
-              <initialOperation>
-                <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:element">
-                  <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:delete"/>
-                </firstModelOperations>
-              </initialOperation>
-            </ownedTools>
-            <ownedTools xsi:type="tool_2:DeleteElementDescription" name="DEL_CombinedFragment">
-              <element name="element"/>
-              <elementView name="elementView"/>
-              <containerView name="containerView"/>
-              <initialOperation>
-                <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:element">
-                  <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:deleteCombinedFragment()"/>
-                </firstModelOperations>
-              </initialOperation>
-            </ownedTools>
-            <ownedTools xsi:type="tool_2:ReconnectEdgeDescription" name="ConnectEvent" reconnectionKind="RECONNECT_BOTH">
-              <source name="source"/>
-              <target name="target"/>
-              <sourceView name="sourceView"/>
-              <targetView name="targetView"/>
-              <element name="element"/>
-              <initialOperation>
-                <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:self.connectToEvent(edgeView, sourceView, targetView)"/>
-              </initialOperation>
-              <edgeView name="edgeView"/>
-            </ownedTools>
-            <ownedTools xsi:type="tool_2:DeleteElementDescription" name="DEL_Comment">
-              <element name="element"/>
-              <elementView name="elementView"/>
-              <containerView name="containerView"/>
-              <initialOperation/>
-            </ownedTools>
-            <ownedTools xsi:type="tool_2:DirectEditLabel" name="ConstraintEdit" inputLabelExpression="service:getBodyFromConstraint()">
-              <mask mask="{0}"/>
-              <initialOperation>
-                <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:setBody(arg0)"/>
-              </initialOperation>
-            </ownedTools>
-            <ownedTools xsi:type="tool_2:ReconnectEdgeDescription" name="Reconnect Source Link" forceRefresh="true" reconnectionKind="RECONNECT_SOURCE">
-              <source name="source"/>
-              <target name="target"/>
-              <sourceView name="sourceView"/>
-              <targetView name="targetView"/>
-              <element name="element"/>
-              <initialOperation>
-                <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:source">
-                  <subModelOperations xsi:type="tool_1:If" conditionExpression="aql:source.oclIsTypeOf(uml::Constraint)">
-                    <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:target">
-                      <subModelOperations xsi:type="tool_1:SetValue" featureName="constrainedElement" valueExpression="aql:edgeView.targetNode.target"/>
-                    </subModelOperations>
-                    <subModelOperations xsi:type="tool_1:Unset" featureName="constrainedElement" elementExpression="aql:edgeView.targetNode.target"/>
-                  </subModelOperations>
-                  <subModelOperations xsi:type="tool_1:If" conditionExpression="aql:source.oclIsTypeOf(uml::Comment)">
-                    <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:target">
-                      <subModelOperations xsi:type="tool_1:SetValue" featureName="annotatedElement" valueExpression="aql:edgeView.targetNode.target"/>
-                    </subModelOperations>
-                    <subModelOperations xsi:type="tool_1:Unset" featureName="annotatedElement" elementExpression="aql:edgeView.targetNode.target"/>
-                  </subModelOperations>
-                </firstModelOperations>
-              </initialOperation>
-              <edgeView name="edgeView"/>
-            </ownedTools>
-            <ownedTools xsi:type="tool_2:ReconnectEdgeDescription" name="Reconnect Target Link" forceRefresh="true">
-              <source name="source"/>
-              <target name="target"/>
-              <sourceView name="sourceView"/>
-              <targetView name="targetView"/>
-              <element name="element"/>
-              <initialOperation>
-                <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:edgeView.sourceNode.target">
-                  <subModelOperations xsi:type="tool_1:If" conditionExpression="aql:self.oclIsTypeOf(uml::Constraint)">
-                    <subModelOperations xsi:type="tool_1:SetValue" featureName="constrainedElement" valueExpression="aql:target"/>
-                    <subModelOperations xsi:type="tool_1:Unset" featureName="constrainedElement" elementExpression="aql:source"/>
-                  </subModelOperations>
-                  <subModelOperations xsi:type="tool_1:If" conditionExpression="aql:self.oclIsTypeOf(uml::Comment)">
-                    <subModelOperations xsi:type="tool_1:SetValue" featureName="annotatedElement" valueExpression="aql:target"/>
-                    <subModelOperations xsi:type="tool_1:Unset" featureName="annotatedElement" elementExpression="aql:source"/>
-                  </subModelOperations>
-                </firstModelOperations>
-              </initialOperation>
-              <edgeView name="edgeView"/>
-            </ownedTools>
-            <ownedTools xsi:type="tool_2:DirectEditLabel" name="Rename" forceRefresh="true">
-              <mask mask="{0}"/>
-              <initialOperation>
-                <firstModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:arg0"/>
-              </initialOperation>
-            </ownedTools>
-            <ownedTools xsi:type="tool_2:ReconnectEdgeDescription" name="Reconnect create Lifeline" forceRefresh="true" reconnectionKind="RECONNECT_BOTH">
-              <source name="source"/>
-              <target name="target"/>
-              <sourceView name="sourceView"/>
-              <targetView name="targetView"/>
-              <element name="element"/>
-              <initialOperation>
-                <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:self.reconnectMessageSource(edgeView, sourceView, targetView)"/>
-              </initialOperation>
-              <edgeView name="edgeView"/>
-            </ownedTools>
-            <ownedTools xsi:type="tool_2:DeleteElementDescription" name="DEL_TimeConstraint">
-              <element name="element"/>
-              <elementView name="elementView"/>
-              <containerView name="containerView"/>
-              <initialOperation>
-                <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:element">
-                  <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:deleteTimeConstraint()"/>
-                </firstModelOperations>
-              </initialOperation>
-            </ownedTools>
-            <ownedTools xsi:type="tool_2:DeleteElementDescription" name="DEL_TimeObservation">
-              <element name="element"/>
-              <elementView name="elementView"/>
-              <containerView name="containerView"/>
-              <initialOperation>
-                <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:element">
-                  <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:deleteTimeObservation()"/>
-                </firstModelOperations>
-              </initialOperation>
-            </ownedTools>
-          </subSections>
-        </toolSections>
-        <toolSections documentation="Create new elements" name="SD_CreateNodes" label="Nodes" icon="/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif">
-          <ownedTools xsi:type="tool:InstanceRoleCreationTool" name="Lifeline" label="Lifeline" forceRefresh="true" nodeMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']" iconPath="/org.eclipse.uml2.uml.edit/icons/full/obj16/Lifeline.gif">
-            <variable name="variable"/>
-            <viewVariable name="viewVariable"/>
-            <initialOperation>
-              <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:self.eContainerOrSelf(uml::Interaction)">
-                <subModelOperations xsi:type="tool_1:CreateInstance" typeName="uml.Lifeline" referenceName="lifeline">
-                  <subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="service:computeDefaultName"/>
-                </subModelOperations>
-                <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:self.reorderNewLifeline(instance,predecessor)"/>
-              </firstModelOperations>
-            </initialOperation>
-            <predecessor name="predecessor"/>
-          </ownedTools>
-          <ownedTools xsi:type="tool:ExecutionCreationTool" name="Action Execution Specification" label="Action Execution Specification" forceRefresh="true" nodeMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline']/@borderedNodeMappings[name='SD_ExecutionSpecificationNode']" iconPath="/org.eclipse.uml2.uml.edit/icons/full/obj16/ActionExecutionSpecification.gif">
-            <variable name="variable"/>
-            <viewVariable name="viewVariable"/>
-            <initialOperation>
-              <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:self.eContainerOrSelf(uml::Interaction)">
-                <subModelOperations xsi:type="tool_1:CreateInstance" typeName="ExecutionOccurrenceSpecification" referenceName="fragment" variableName="start">
-                  <subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:self.computeDefaultName()+'start'"/>
-                </subModelOperations>
-                <subModelOperations xsi:type="tool_1:CreateInstance" typeName="ActionExecutionSpecification" referenceName="fragment">
-                  <subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:self.computeDefaultName()"/>
-                </subModelOperations>
-                <subModelOperations xsi:type="tool_1:CreateInstance" typeName="ExecutionOccurrenceSpecification" referenceName="fragment" variableName="finish">
-                  <subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:self.computeDefaultName()+'finish'"/>
-                </subModelOperations>
-                <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:viewVariable.target.applyExecution(instance,start,finish)"/>
-                <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:reorderNewFragments(startingEndPredecessor,finishingEndPredecessor,start,finish,instance)"/>
-              </firstModelOperations>
-            </initialOperation>
-            <startingEndPredecessor name="startingEndPredecessor"/>
-            <finishingEndPredecessor name="finishingEndPredecessor"/>
-          </ownedTools>
-          <ownedTools xsi:type="tool:ExecutionCreationTool" name="Behavior Execution Specification" forceRefresh="true" nodeMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline']/@borderedNodeMappings[name='SD_ExecutionSpecificationNode']" iconPath="/org.eclipse.uml2.uml.edit/icons/full/obj16/BehaviorExecutionSpecification.gif">
-            <variable name="variable"/>
-            <viewVariable name="viewVariable"/>
-            <initialOperation>
-              <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:self.eContainerOrSelf(uml::Interaction)">
-                <subModelOperations xsi:type="tool_1:CreateInstance" typeName="ExecutionOccurrenceSpecification" referenceName="fragment" variableName="start">
-                  <subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:self.computeDefaultName()+'start'"/>
-                </subModelOperations>
-                <subModelOperations xsi:type="tool_1:CreateInstance" typeName="BehaviorExecutionSpecification" referenceName="fragment">
-                  <subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:self.computeDefaultName()"/>
-                </subModelOperations>
-                <subModelOperations xsi:type="tool_1:CreateInstance" typeName="ExecutionOccurrenceSpecification" referenceName="fragment" variableName="finish">
-                  <subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:self.computeDefaultName()+'finish'"/>
-                </subModelOperations>
-                <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:viewVariable.target.applyExecution(instance,start,finish)"/>
-                <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:reorderNewFragments(startingEndPredecessor,finishingEndPredecessor,start,finish,instance)"/>
-              </firstModelOperations>
-            </initialOperation>
-            <startingEndPredecessor name="startingEndPredecessor"/>
-            <finishingEndPredecessor name="finishingEndPredecessor"/>
-          </ownedTools>
-          <ownedTools xsi:type="tool:CombinedFragmentCreationTool" name="CombinedFragment" forceRefresh="true" containerMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@containerMappings[name='SD_CombinedFragment']">
-            <variable name="variable"/>
-            <viewVariable name="viewVariable"/>
-            <initialOperation>
-              <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:self.eContainerOrSelf(uml::Interaction)">
-                <subModelOperations xsi:type="tool_1:CreateInstance" typeName="uml.CombinedFragment" referenceName="fragment" variableName="newCombinedFragment">
-                  <subModelOperations xsi:type="tool_1:SetValue" featureName="covered" valueExpression="var:coveredLifelines"/>
-                  <subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="service:computeDefaultName"/>
-                  <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:createEAnnotations"/>
-                  <subModelOperations xsi:type="tool_1:CreateInstance" typeName="uml.InteractionOperand" referenceName="operand" variableName="newOperand">
-                    <subModelOperations xsi:type="tool_1:SetValue" featureName="covered" valueExpression="var:coveredLifelines"/>
-                    <subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="service:computeDefaultName"/>
-                    <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:createEAnnotations"/>
-                    <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:manageOperandFragment(startingEndPredecessor,finishingEndPredecessor)"/>
-                    <subModelOperations xsi:type="tool_1:CreateInstance" typeName="uml.InteractionConstraint" referenceName="guard" variableName="guard">
-                      <subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="service:computeDefaultName"/>
-                    </subModelOperations>
-                  </subModelOperations>
-                </subModelOperations>
-                <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:reorderNewCombinedFragment(startingEndPredecessor,finishingEndPredecessor,newCombinedFragment)"/>
-              </firstModelOperations>
-            </initialOperation>
-            <startingEndPredecessor name="startingEndPredecessor"/>
-            <finishingEndPredecessor name="finishingEndPredecessor"/>
-            <coveredLifelines name="coveredLifelines"/>
-          </ownedTools>
-          <ownedTools xsi:type="tool:ReorderTool" name="Reorder Executions Fragment" forceRefresh="true" mappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline']/@borderedNodeMappings[name='SD_ExecutionSpecificationNode'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@containerMappings[name='SD_CombinedFragment'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@containerMappings[name='SD_CombinedFragment']/@subContainerMappings[name='SD_Operand']">
-            <startingEndPredecessorAfter name="startingEndPredecessorAfter"/>
-            <finishingEndPredecessorAfter name="finishingEndPredecessorAfter"/>
-            <onEventMovedOperation>
-              <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:self">
-                <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:self.reorderNewFragments(startingEndPredecessorAfter,finishingEndPredecessorAfter)"/>
-              </firstModelOperations>
-            </onEventMovedOperation>
-          </ownedTools>
-          <ownedTools xsi:type="tool:InteractionUseCreationTool" name="Interaction Use" forceRefresh="true" containerMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@containerMappings[name='InteractionUse']">
-            <variable name="variable"/>
-            <viewVariable name="viewVariable"/>
-            <initialOperation>
-              <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:container">
-                <subModelOperations xsi:type="tool_1:CreateInstance" typeName="InteractionUse" referenceName="fragment">
-                  <subModelOperations xsi:type="tool_1:SetValue" featureName="covered" valueExpression="var:coveredLifelines"/>
-                  <subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="service:computeDefaultName"/>
-                </subModelOperations>
-              </firstModelOperations>
-            </initialOperation>
-            <startingEndPredecessor name="startingEndPredecessor"/>
-            <finishingEndPredecessor name="finishingEndPredecessor"/>
-            <coveredLifelines name="coveredLifelines"/>
-          </ownedTools>
-          <ownedTools xsi:type="tool:OperandCreationTool" name="Interaction Operand" containerMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@containerMappings[name='SD_CombinedFragment']/@subContainerMappings[name='SD_Operand']">
-            <variable name="variable"/>
-            <viewVariable name="viewVariable"/>
-            <initialOperation>
-              <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:container">
-                <subModelOperations xsi:type="tool_1:CreateInstance" typeName="InteractionOperand" referenceName="operand" variableName="operand">
-                  <subModelOperations xsi:type="tool_1:SetValue" featureName="covered" valueExpression="aql:container.covered"/>
-                  <subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="service:computeDefaultName"/>
-                  <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:createEAnnotations"/>
-                </subModelOperations>
-              </firstModelOperations>
-            </initialOperation>
-            <startingEndPredecessor name="startingEndPredecessor"/>
-            <finishingEndPredecessor name="finishingEndPredecessor"/>
-          </ownedTools>
-          <ownedTools xsi:type="tool:StateCreationTool" name="State Invariant" forceRefresh="true" nodeMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline']/@borderedNodeMappings[name='StateInvariant']">
-            <variable name="variable"/>
-            <viewVariable name="viewVariable"/>
-            <initialOperation>
-              <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:self.interaction">
-                <subModelOperations xsi:type="tool_1:CreateInstance" typeName="StateInvariant" referenceName="fragment">
-                  <subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:self.computeDefaultName()"/>
-                </subModelOperations>
-                <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:viewVariable.target">
-                  <subModelOperations xsi:type="tool_1:SetValue" featureName="coveredBy" valueExpression="aql:instance"/>
-                </subModelOperations>
-                <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:reorderNewFragments(startingEndPredecessor,finishingEndPredecessor,instance)"/>
-              </firstModelOperations>
-            </initialOperation>
-            <startingEndPredecessor name="startingEndPredecessor"/>
-            <finishingEndPredecessor name="finishingEndPredecessor"/>
-          </ownedTools>
-          <ownedTools xsi:type="tool_2:NodeCreationDescription" name="Gate" nodeMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@containerMappings[name='SD_CombinedFragment']/@borderedNodeMappings[name='GateBorder'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Gate'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@containerMappings[name='InteractionUse']/@borderedNodeMappings[name='GateBorder']" extraMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@containerMappings[name='SD_CombinedFragment']/@subContainerMappings[name='SD_Operand'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@containerMappings[name='SD_CombinedFragment']">
-            <variable name="container"/>
-            <viewVariable name="containerView"/>
-            <initialOperation>
-              <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:self">
-                <subModelOperations xsi:type="tool_1:If" conditionExpression="aql:containerView.description.name == 'SequenceDiagram'">
-                  <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:container">
-                    <subModelOperations xsi:type="tool_1:CreateInstance" typeName="Gate" referenceName="formalGate">
-                      <subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:self.computeDefaultName()"/>
-                    </subModelOperations>
-                  </subModelOperations>
-                </subModelOperations>
-                <subModelOperations xsi:type="tool_1:If" conditionExpression="aql:containerView.actualMapping.name == 'Combined Fragment'">
-                  <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:container">
-                    <subModelOperations xsi:type="tool_1:CreateInstance" typeName="Gate" referenceName="cfragmentGate">
-                      <subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:self.computeDefaultName()"/>
-                    </subModelOperations>
-                  </subModelOperations>
-                </subModelOperations>
-                <subModelOperations xsi:type="tool_1:If" conditionExpression="aql:containerView.actualMapping.name == 'InteractionUse'">
-                  <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:container">
-                    <subModelOperations xsi:type="tool_1:CreateInstance" typeName="Gate" referenceName="actualGate">
-                      <subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:self.computeDefaultName()"/>
-                    </subModelOperations>
-                  </subModelOperations>
-                </subModelOperations>
-                <subModelOperations xsi:type="tool_1:If" conditionExpression="aql:containerView.actualMapping.name == 'SD_Operand'">
-                  <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:container.eContainer()">
-                    <subModelOperations xsi:type="tool_1:CreateInstance" typeName="Gate" referenceName="cfragmentGate">
-                      <subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:self.computeDefaultName()"/>
-                    </subModelOperations>
-                  </subModelOperations>
-                </subModelOperations>
-              </firstModelOperations>
-            </initialOperation>
-          </ownedTools>
-          <ownedTools xsi:type="tool:ObservationPointCreationTool" name="Time Constraint" precondition="aql:not(self.oclIsTypeOf(uml::Interaction))" forceRefresh="true" nodeMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='TimeConstraint']" iconPath="/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeConstraint.gif" extraMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Observation'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline']/@borderedNodeMappings[name='SD_ExecutionSpecificationNode']">
-            <variable name="variable"/>
-            <viewVariable name="viewVariable"/>
-            <initialOperation>
-              <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:self.getEnclosingFragment()">
-                <subModelOperations xsi:type="tool_1:CreateInstance" typeName="TimeConstraint" referenceName="ownedRule">
-                  <subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:self.computeDefaultName()"/>
-                  <subModelOperations xsi:type="tool_1:SetValue" featureName="constrainedElement" valueExpression="aql:variable.getEventOrSelf()"/>
-                  <subModelOperations xsi:type="tool_1:CreateInstance" typeName="TimeInterval" referenceName="specification"/>
-                </subModelOperations>
-              </firstModelOperations>
-            </initialOperation>
-            <startingEndPredecessor name="startingEndPredecessor"/>
-            <finishingEndPredecessor name="finishingEndPredecessor"/>
-          </ownedTools>
-          <ownedTools xsi:type="tool:ObservationPointCreationTool" name="Time Observation" precondition="aql:not(self.oclIsTypeOf(uml::Interaction))" forceRefresh="true" nodeMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='TimeObservation']" iconPath="/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeObservation.gif" extraMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Observation'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline']/@borderedNodeMappings[name='SD_ExecutionSpecificationNode']">
-            <variable name="variable"/>
-            <viewVariable name="viewVariable"/>
-            <initialOperation>
-              <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:self.getModel()">
-                <subModelOperations xsi:type="tool_1:CreateInstance" typeName="TimeObservation" referenceName="packagedElement">
-                  <subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:self.computeDefaultName()"/>
-                  <subModelOperations xsi:type="tool_1:SetValue" featureName="event" valueExpression="aql:variable.getEventOrSelf()"/>
-                </subModelOperations>
-              </firstModelOperations>
-            </initialOperation>
-            <startingEndPredecessor name="startingEndPredecessor"/>
-            <finishingEndPredecessor name="finishingEndPredecessor"/>
-          </ownedTools>
-          <ownedTools xsi:type="tool_2:NodeCreationDescription" name="Constraint" nodeMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Constraint']" iconPath="/org.eclipse.uml2.uml.edit/icons/full/obj16/Constraint.gif">
-            <variable name="container"/>
-            <viewVariable name="containerView"/>
-            <initialOperation>
-              <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:container.getStateParent()">
-                <subModelOperations xsi:type="tool_1:CreateInstance" typeName="Constraint" referenceName="ownedRule">
-                  <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:instance">
-                    <subModelOperations xsi:type="tool_1:CreateInstance" typeName="uml::OpaqueExpression" referenceName="specification">
-                      <subModelOperations xsi:type="tool_1:SetValue" featureName="language" valueExpression="OCL"/>
-                      <subModelOperations xsi:type="tool_1:SetValue" featureName="body" valueExpression="true"/>
-                      <subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="constraintSpec"/>
-                    </subModelOperations>
-                  </subModelOperations>
-                  <subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="service:computeDefaultName"/>
-                </subModelOperations>
-              </firstModelOperations>
-            </initialOperation>
-          </ownedTools>
-          <ownedTools xsi:type="tool_2:DirectEditLabel" name="CommentEdit" forceRefresh="true">
-            <mask mask="{0}"/>
-            <initialOperation>
-              <firstModelOperations xsi:type="tool_1:SetValue" featureName="body" valueExpression="aql:arg0"/>
-            </initialOperation>
-          </ownedTools>
-          <ownedTools xsi:type="tool:CombinedFragmentCreationTool" name="Consider Ignore Fragment" forceRefresh="true" containerMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@containerMappings[name='SD_ConsiderIgnoreFragment']">
-            <variable name="variable"/>
-            <viewVariable name="viewVariable"/>
-            <initialOperation>
-              <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:self.econtainer()">
-                <subModelOperations xsi:type="tool_1:CreateInstance" typeName="uml.ConsiderIgnoreFragment" referenceName="fragment" variableName="fragment">
-                  <subModelOperations xsi:type="tool_1:SetValue" featureName="covered" valueExpression="var:coveredLifelines"/>
-                  <subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="service:computeDefaultName"/>
-                  <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:createEAnnotations"/>
-                  <subModelOperations xsi:type="tool_1:CreateInstance" typeName="uml.InteractionOperand" referenceName="operand" variableName="operand">
-                    <subModelOperations xsi:type="tool_1:SetValue" featureName="covered" valueExpression="var:coveredLifelines"/>
-                    <subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="service:computeDefaultName"/>
-                    <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:createEAnnotations"/>
-                    <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:manageOperandFragment(startingEndPredecessor,finishingEndPredecessor)"/>
-                    <subModelOperations xsi:type="tool_1:CreateInstance" typeName="uml.InteractionConstraint" referenceName="guard" variableName="guard">
-                      <subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="service:computeDefaultName"/>
-                    </subModelOperations>
-                  </subModelOperations>
-                </subModelOperations>
-                <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:self.reorderNewCombinedFragment(startingEndPredecessor,finishingEndPredecessor,fragment)"/>
-              </firstModelOperations>
-            </initialOperation>
-            <startingEndPredecessor name="startingEndPredecessor"/>
-            <finishingEndPredecessor name="finishingEndPredecessor"/>
-            <coveredLifelines name="coveredLifelines"/>
-          </ownedTools>
-        </toolSections>
-        <toolSections name="SD_createEdgeGroup" label="Edges" icon="/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif">
-          <ownedTools xsi:type="tool:MessageCreationTool" documentation="Create a Synchronous Message" name="CR_Synchronous_Operation" label="Synchronous Message" precondition="service:preTarget.isValidMessageEnd" forceRefresh="true" edgeMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='SD_Message']" iconPath="/org.eclipse.uml2.uml.edit/icons/full/obj16/Message_synchCall.gif" extraSourceMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Observation']" extraTargetMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Observation']" connectionStartPrecondition="service:preSource.isValidMessageEnd">
-            <sourceVariable name="source"/>
-            <targetVariable name="target"/>
-            <sourceViewVariable name="sourceView"/>
-            <targetViewVariable name="targetView"/>
-            <initialOperation>
-              <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:self.eContainerOrSelf(uml::Interaction)">
-                <subModelOperations xsi:type="tool_1:Let" variableName="isGateOrOcc" valueExpression="aql: sourceView.checkIsGateSelection(targetView) or sourceView.checkIsOccurenceSpecSelection(targetView)">
-                  <subModelOperations xsi:type="tool_1:If" conditionExpression="aql:isGateOrOcc">
-                    <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:target.createSynchronousMessage(source)"/>
-                  </subModelOperations>
-                  <subModelOperations xsi:type="tool_1:If" conditionExpression="aql:not (isGateOrOcc)">
-                    <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:target.createOperationAndSynchMessage(source,startingEndPredecessor,finishingEndPredecessor)"/>
-                  </subModelOperations>
-                </subModelOperations>
-              </firstModelOperations>
-            </initialOperation>
-            <startingEndPredecessor name="startingEndPredecessor"/>
-            <finishingEndPredecessor name="finishingEndPredecessor"/>
-          </ownedTools>
-          <ownedTools xsi:type="tool:MessageCreationTool" documentation="Create an Asynchronous Message" name="CR_Asynchronous_Operation" label="Asynchronous Message" precondition="service:preTarget.isValidMessageEnd" forceRefresh="true" edgeMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='SD_Message']" iconPath="/org.eclipse.uml2.uml.edit/icons/full/obj16/Message_asynchCall.gif" extraSourceMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Observation']" extraTargetMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Observation']">
-            <sourceVariable name="source"/>
-            <targetVariable name="target"/>
-            <sourceViewVariable name="sourceView"/>
-            <targetViewVariable name="targetView"/>
-            <initialOperation>
-              <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:self.eContainerOrSelf(uml::Interaction)">
-                <subModelOperations xsi:type="tool_1:Let" variableName="isGateOrOcc" valueExpression="aql: sourceView.checkIsGateSelection(targetView) or sourceView.checkIsOccurenceSpecSelection(targetView)">
-                  <subModelOperations xsi:type="tool_1:If" conditionExpression="aql:isGateOrOcc">
-                    <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:target.createASynchronousMessage(source)"/>
-                  </subModelOperations>
-                  <subModelOperations xsi:type="tool_1:If" conditionExpression="aql:not (isGateOrOcc) and not(target.oclIsTypeOf(uml::ExecutionOccurrenceSpecification))">
-                    <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:target.createOperationAndAsynchMessage(source,startingEndPredecessor,finishingEndPredecessor)"/>
-                  </subModelOperations>
-                  <subModelOperations xsi:type="tool_1:If" conditionExpression="aql:not (isGateOrOcc) and target.oclIsTypeOf(uml::ExecutionOccurrenceSpecification)">
-                    <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:target.createOperationAndAsynchMessageWithoutPredecessor(source)"/>
-                  </subModelOperations>
-                </subModelOperations>
-              </firstModelOperations>
-            </initialOperation>
-            <startingEndPredecessor name="startingEndPredecessor"/>
-            <finishingEndPredecessor name="finishingEndPredecessor"/>
-          </ownedTools>
-          <ownedTools xsi:type="tool:MessageCreationTool" documentation="Create a Message Create" name="Message Create" forceRefresh="true" edgeMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='CreateMessage']" iconPath="/org.eclipse.uml2.uml.edit/icons/full/obj16/Message_createMessage.gif" extraTargetMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline']">
-            <sourceVariable name="sourceVariable"/>
-            <targetVariable name="targetVariable"/>
-            <sourceViewVariable name="sourceViewVariable"/>
-            <targetViewVariable name="targetViewVariable"/>
-            <initialOperation>
-              <firstModelOperations xsi:type="tool_1:ChangeContext">
-                <subModelOperations xsi:type="tool_1:If" conditionExpression="aql: not ( sourceViewVariable.actualMapping.name.equalsIgnoreCase('Observation') and targetViewVariable.actualMapping.name.equalsIgnoreCase('Observation'))">
-                  <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:createMessage(sourceVariable, targetVariable,startingEndPredecessor,finishingEndPredecessor)"/>
-                </subModelOperations>
-                <subModelOperations xsi:type="tool_1:If" conditionExpression="aql:sourceViewVariable.actualMapping.name.equalsIgnoreCase('Observation')  and targetViewVariable.actualMapping.name.equalsIgnoreCase('Observation')">
-                  <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:targetVariable.createMessage(sourceVariable)"/>
-                </subModelOperations>
-              </firstModelOperations>
-            </initialOperation>
-            <startingEndPredecessor name="startingEndPredecessor"/>
-            <finishingEndPredecessor name="finishingEndPredecessor"/>
-          </ownedTools>
-          <ownedTools xsi:type="tool:MessageCreationTool" documentation="Create a Message Delete " name="Message Delete" forceRefresh="true" edgeMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='DeleteMessage']" iconPath="/org.eclipse.uml2.uml.edit/icons/full/obj16/Message_deleteMessage.gif" extraTargetMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline']">
-            <sourceVariable name="sourceVariable"/>
-            <targetVariable name="targetVariable"/>
-            <sourceViewVariable name="sourceViewVariable"/>
-            <targetViewVariable name="targetViewVariable"/>
-            <initialOperation>
-              <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:deleteMessage(sourceVariable, targetVariable,startingEndPredecessor,finishingEndPredecessor)">
-                <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:targetVariable">
-                  <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:targetViewVariable.log()"/>
-                </subModelOperations>
-              </firstModelOperations>
-            </initialOperation>
-            <startingEndPredecessor name="startingEndPredecessor"/>
-            <finishingEndPredecessor name="finishingEndPredecessor"/>
-          </ownedTools>
-          <ownedTools xsi:type="tool:MessageCreationTool" documentation="Create a Message Reply" name="Message Reply" forceRefresh="true" edgeMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='MessageReply']" iconPath="/org.eclipse.uml2.uml.edit/icons/full/obj16/Message_reply.gif" extraTargetMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline']">
-            <sourceVariable name="sourceVariable"/>
-            <targetVariable name="targetVariable"/>
-            <sourceViewVariable name="sourceViewVariable"/>
-            <targetViewVariable name="targetViewVariable"/>
-            <initialOperation>
-              <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:createReplyMessage(sourceVariable, targetVariable, startingEndPredecessor,finishingEndPredecessor)"/>
-            </initialOperation>
-            <startingEndPredecessor name="startingEndPredecessor"/>
-            <finishingEndPredecessor name="finishingEndPredecessor"/>
-          </ownedTools>
-          <ownedTools xsi:type="tool_1:ToolDescription" documentation="Create a Message Lost" name="Message Lost" precondition="aql:element.isLostFoundTargetValid()" iconPath="/org.eclipse.uml2.uml.edit/icons/full/obj16/Message.gif">
-            <element name="element"/>
-            <elementView name="elementView"/>
-            <initialOperation>
-              <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:self">
-                <subModelOperations xsi:type="tool_1:If" conditionExpression="aql:element.oclIsTypeOf(uml::Lifeline) ">
-                  <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:element.oclAsType(uml::Lifeline).interaction">
-                    <subModelOperations xsi:type="tool_1:CreateInstance" typeName="uml::Message" referenceName="message" variableName="messageInstance"/>
-                  </subModelOperations>
-                </subModelOperations>
-                <subModelOperations xsi:type="tool_1:If" conditionExpression="aql:element.oclIsTypeOf(uml::ExecutionOccurrenceSpecification) ">
-                  <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:element.oclAsType(uml::ExecutionOccurrenceSpecification).covered->first().interaction">
-                    <subModelOperations xsi:type="tool_1:CreateInstance" typeName="uml::Message" referenceName="message" variableName="messageInstance"/>
-                  </subModelOperations>
-                </subModelOperations>
-                <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:element.completeLostMessageWithMsgOccSpec(messageInstance)"/>
-                <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:messageInstance.reorderFragment(endBefore,endBefore)"/>
-              </firstModelOperations>
-            </initialOperation>
-          </ownedTools>
-          <ownedTools xsi:type="tool_1:ToolDescription" documentation="Create a Message Found" name="Message Found" precondition="aql:element.isLostFoundTargetValid()" iconPath="/org.eclipse.uml2.uml.edit/icons/full/obj16/Message.gif">
-            <element name="element"/>
-            <elementView name="elementView"/>
-            <initialOperation>
-              <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:element">
-                <subModelOperations xsi:type="tool_1:If" conditionExpression="aql:element.oclIsTypeOf(uml::Lifeline) ">
-                  <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:element.oclAsType(uml::Lifeline).interaction">
-                    <subModelOperations xsi:type="tool_1:CreateInstance" typeName="uml::Message" referenceName="message" variableName="messageInstance"/>
-                  </subModelOperations>
-                </subModelOperations>
-                <subModelOperations xsi:type="tool_1:If" conditionExpression="aql:element.oclIsTypeOf(uml::ExecutionOccurrenceSpecification) ">
-                  <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:element.oclAsType(uml::ExecutionOccurrenceSpecification).covered->first().interaction">
-                    <subModelOperations xsi:type="tool_1:CreateInstance" typeName="uml::Message" referenceName="message" variableName="messageInstance"/>
-                  </subModelOperations>
-                </subModelOperations>
-                <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:element.completeFoundMessageWithMsgOccSpec(messageInstance)"/>
-                <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:messageInstance.reorderFragment(endBefore,endBefore)"/>
-              </firstModelOperations>
-            </initialOperation>
-          </ownedTools>
-          <ownedTools xsi:type="tool:MessageCreationTool" name="General Ordering" forceRefresh="true" edgeMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='GeneralOrdering']">
-            <sourceVariable name="sourceVariable"/>
-            <targetVariable name="targetVariable"/>
-            <sourceViewVariable name="sourceViewVariable"/>
-            <targetViewVariable name="targetViewVariable"/>
-            <initialOperation>
-              <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:createGeneralOrdering(sourceVariable, targetVariable)"/>
-            </initialOperation>
-            <startingEndPredecessor name="startingEndPredecessor"/>
-            <finishingEndPredecessor name="finishingEndPredecessor"/>
-          </ownedTools>
-          <ownedTools xsi:type="tool:MessageCreationTool" name="Duration Constraint" forceRefresh="true" edgeMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='Duration%20Constraint']" extraSourceMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Observation'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline']/@borderedNodeMappings[name='SD_ExecutionSpecificationNode'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='Basic%20Message%20Standard'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='CreateMessage'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='DeleteMessage'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='MessageFound'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='MessageLost'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='MessageReply'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='SD_Message']" extraTargetMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Observation'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline']/@borderedNodeMappings[name='SD_ExecutionSpecificationNode'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='Basic%20Message%20Standard'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='CreateMessage'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='DeleteMessage'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='MessageFound'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='MessageLost'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='MessageReply'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='SD_Message']">
-            <sourceVariable name="sourceVariable"/>
-            <targetVariable name="targetVariable"/>
-            <sourceViewVariable name="sourceViewVariable"/>
-            <targetViewVariable name="targetViewVariable"/>
-            <initialOperation>
-              <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:createDurationConstraint(sourceVariable, targetVariable)"/>
-            </initialOperation>
-            <startingEndPredecessor name="startingEndPredecessor"/>
-            <finishingEndPredecessor name="finishingEndPredecessor"/>
-          </ownedTools>
-          <ownedTools xsi:type="tool:MessageCreationTool" name="Duration Observation" forceRefresh="true" edgeMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='DurationObservation']" extraSourceMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Observation'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline']/@borderedNodeMappings[name='SD_ExecutionSpecificationNode'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='CreateMessage'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='DeleteMessage'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='MessageFound'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='MessageLost'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='MessageReply'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='SD_Message']" extraTargetMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Observation'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']/@borderedNodeMappings[name='SD_Lifeline']/@borderedNodeMappings[name='SD_ExecutionSpecificationNode'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='CreateMessage'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='DeleteMessage'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='MessageFound'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='MessageLost'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='MessageReply'] //@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='SD_Message']">
-            <sourceVariable name="sourceVariable"/>
-            <targetVariable name="targetVariable"/>
-            <sourceViewVariable name="sourceViewVariable"/>
-            <targetViewVariable name="targetViewVariable"/>
-            <initialOperation>
-              <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:createDurationObservation(sourceVariable, targetVariable)"/>
-            </initialOperation>
-            <startingEndPredecessor name="startingEndPredecessor"/>
-            <finishingEndPredecessor name="finishingEndPredecessor"/>
-          </ownedTools>
-          <ownedTools xsi:type="tool_2:EdgeCreationDescription" name="Comment Link" precondition="aql:true" forceRefresh="true" edgeMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='Comment%20Link']" iconPath="/org.eclipse.uml2.uml.edit/icons/full/obj16/Comment.gif">
-            <sourceVariable name="source"/>
-            <targetVariable name="target"/>
-            <sourceViewVariable name="sourceView"/>
-            <targetViewVariable name="targetView"/>
-            <initialOperation>
-              <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:source">
-                <subModelOperations xsi:type="tool_1:If" conditionExpression="aql:source.oclIsTypeOf(uml::Comment)">
-                  <subModelOperations xsi:type="tool_1:SetValue" featureName="annotatedElement" valueExpression="aql:target"/>
-                </subModelOperations>
-              </firstModelOperations>
-            </initialOperation>
-          </ownedTools>
-          <ownedTools xsi:type="tool_2:EdgeCreationDescription" name="Constraint Link" precondition="aql:true" forceRefresh="true" edgeMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@edgeMappings[name='Constraint%20Link']" iconPath="/org.eclipse.uml2.uml.edit/icons/full/obj16/Constraint.gif">
-            <sourceVariable name="source"/>
-            <targetVariable name="target"/>
-            <sourceViewVariable name="sourceView"/>
-            <targetViewVariable name="targetView"/>
-            <initialOperation>
-              <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:source">
-                <subModelOperations xsi:type="tool_1:If" conditionExpression="aql:source.oclIsTypeOf(uml::Constraint)">
-                  <subModelOperations xsi:type="tool_1:SetValue" featureName="constrainedElement" valueExpression="aql:target"/>
-                </subModelOperations>
-              </firstModelOperations>
-            </initialOperation>
-          </ownedTools>
-        </toolSections>
-      </defaultLayer>
-      <additionalLayers name="Common" optional="false">
-        <nodeMappings name="Bendpoint" deletionDescription="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='PapyrusDelete']" semanticCandidatesExpression="aql:diagram.getCommonBendpointsToDraw()" synchronizationLock="true" domainClass="uml.Element">
-          <style xsi:type="style:DotDescription" labelSize="12" showIcon="false" labelExpression="" hideLabelByDefault="true" sizeComputationExpression="aql:self.getBenpointDiameter()">
-            <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            <backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-          </style>
-        </nodeMappings>
-        <toolSections name="Common">
-          <ownedTools xsi:type="tool_2:DeleteElementDescription" name="PapyrusDelete">
-            <element name="element"/>
-            <elementView name="elementView"/>
-            <containerView name="containerView"/>
-            <initialOperation>
-              <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:element.deleteElement(elementView)"/>
-            </initialOperation>
-          </ownedTools>
-          <ownedTools xsi:type="tool_1:PopupMenu" name="Sirius View Deletion">
-            <menuItemDescription xsi:type="tool_1:OperationAction" name="Delete View">
-              <view name="views"/>
-              <initialOperation>
-                <firstModelOperations xsi:type="tool_1:DeleteView"/>
-              </initialOperation>
-            </menuItemDescription>
-          </ownedTools>
-          <ownedTools xsi:type="tool_2:ContainerDropDescription" name="Constraint from Model" mappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Constraint']" dragSource="PROJECT_EXPLORER">
-            <oldContainer name="oldSemanticContainer"/>
-            <newContainer name="newSemanticContainer"/>
-            <element name="element"/>
-            <newViewContainer name="newContainerView"/>
-            <initialOperation>
-              <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:element">
-                <subModelOperations xsi:type="tool_2:CreateView" mapping="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='Constraint']" containerViewExpression="aql:newContainerView"/>
-              </firstModelOperations>
-            </initialOperation>
-          </ownedTools>
-          <ownedTools xsi:type="tool_2:ContainerDropDescription" name="Comment from Model" dragSource="PROJECT_EXPLORER">
-            <oldContainer name="oldSemanticContainer"/>
-            <newContainer name="newSemanticContainer"/>
-            <element name="element"/>
-            <newViewContainer name="newContainerView"/>
-            <initialOperation>
-              <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:element">
-                <subModelOperations xsi:type="tool_2:CreateView" containerViewExpression="aql:newContainerView"/>
-              </firstModelOperations>
-            </initialOperation>
-          </ownedTools>
-          <ownedTools xsi:type="tool_2:DirectEditLabel" name="CommentEdit">
-            <mask mask="{0}"/>
-            <initialOperation>
-              <firstModelOperations xsi:type="tool_1:SetValue" featureName="body" valueExpression="aql:arg0"/>
-            </initialOperation>
-          </ownedTools>
-          <ownedTools xsi:type="tool_2:DirectEditLabel" name="ConstraintEdit" inputLabelExpression="service:getBody()">
-            <mask mask="{0}"/>
-            <initialOperation>
-              <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:setConstraintBody(arg0)"/>
-            </initialOperation>
-          </ownedTools>
-        </toolSections>
-        <decorationDescriptionsSet>
-          <decorationDescriptions xsi:type="description:SemanticBasedDecoration"/>
-        </decorationDescriptionsSet>
-      </additionalLayers>
-      <additionalLayers name="Informations" icon="/org.eclipse.sirius.ui/icons/full/others/information.gif">
-        <nodeMappings name="LifelineComment" preconditionExpression="aql:self.clientDependency->size()>0 or self.represents.eContainer()->size() > 0" deletionDescription="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='PapyrusDelete']" labelDirectEdit="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Informations']/@toolSections.0/@ownedTools[name='LifelineCommentEditLabel']" semanticCandidatesExpression="feature:lifeline" semanticElements="var:self" domainClass="uml.Lifeline">
-          <style xsi:type="style:SquareDescription" borderSizeComputationExpression="1" borderColor="//@userColorsPalettes[name='UMLPalette']/@entries[name='InformationBorder']" showIcon="false" labelExpression="service:computeLifelineCommentLabel" sizeComputationExpression="" labelPosition="node" resizeKind="NSEW" width="16" height="5" color="//@userColorsPalettes[name='UMLPalette']/@entries[name='InformationBackground']">
-            <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-          </style>
-        </nodeMappings>
-        <edgeMappings name="LifelineCommentLink" deletionDescription="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='PapyrusDelete']" semanticElements="var:self" sourceMapping="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Informations']/@nodeMappings[name='LifelineComment']" targetMapping="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@defaultLayer/@nodeMappings[name='SD_LifelineRole']" targetFinderExpression="var:self">
-          <style lineStyle="dot" targetArrow="NoDecoration">
-            <strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='gray']"/>
-            <centerLabelStyleDescription showIcon="false">
-              <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            </centerLabelStyleDescription>
-          </style>
-        </edgeMappings>
-        <toolSections name="Informations">
-          <ownedTools xsi:type="tool_2:DirectEditLabel" name="LifelineCommentEditLabel">
-            <mask mask="{0}"/>
-            <initialOperation>
-              <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:arg0"/>
-            </initialOperation>
-          </ownedTools>
-          <ownedTools xsi:type="tool_2:DeleteElementDescription" name="LifelineCommentDelete">
-            <element name="element"/>
-            <elementView name="elementView"/>
-            <containerView name="containerView"/>
-            <initialOperation>
-              <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:element"/>
-            </initialOperation>
-          </ownedTools>
-        </toolSections>
-      </additionalLayers>
-      <additionalLayers name="Comment" activeByDefault="true">
-        <nodeMappings name="Comment" deletionDescription="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='PapyrusDelete']" labelDirectEdit="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Common']/@toolSections.0/@ownedTools[name='CommentEdit']" createElements="false" domainClass="uml.Comment">
-          <style xsi:type="style:NoteDescription" labelSize="9" labelExpression="feature:body" labelAlignment="LEFT" sizeComputationExpression="9" labelPosition="node" resizeKind="NSEW" color="//@userColorsPalettes[name='UMLPalette']/@entries[name='CommentColor']">
-            <borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-            <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
-          </style>
-        </nodeMappings>
-        <toolSections name="Nodes">
-          <ownedTools xsi:type="tool_2:NodeCreationDescription" documentation="Create a new literal" name="Comment" nodeMappings="//@ownedViewpoints[name='SequenceDiagram']/@ownedRepresentations[name='SequenceDiagram']/@additionalLayers[name='Comment']/@nodeMappings[name='Comment']" iconPath="/org.eclipse.papyrus.uml.diagram.common/icons/obj16/Comment.gif">
-            <variable name="container"/>
-            <viewVariable name="containerView"/>
-            <initialOperation>
-              <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:container">
-                <subModelOperations xsi:type="tool_1:CreateInstance" typeName="uml.Comment" referenceName="ownedComment">
-                  <subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="service:computeDefaultName"/>
-                </subModelOperations>
-              </firstModelOperations>
-            </initialOperation>
-          </ownedTools>
-        </toolSections>
-      </additionalLayers>
-    </ownedRepresentations>
-    <ownedJavaExtensions qualifiedClassName="org.eclipse.papyrus.sirius.uml.diagram.sequence.services.SequenceDiagramServices"/>
-    <ownedJavaExtensions qualifiedClassName="org.eclipse.papyrus.sirius.uml.diagram.common.core.services.AbstractDiagramServices"/>
-    <ownedJavaExtensions qualifiedClassName="org.eclipse.papyrus.sirius.uml.diagram.sequence.services.LifelineService"/>
-    <ownedJavaExtensions qualifiedClassName="org.eclipse.papyrus.sirius.uml.diagram.sequence.services.FragmentsService"/>
-    <ownedJavaExtensions qualifiedClassName="org.eclipse.papyrus.sirius.uml.diagram.sequence.services.GeneralOrderingService"/>
-    <ownedJavaExtensions qualifiedClassName="org.eclipse.papyrus.sirius.uml.diagram.sequence.services.MessageService"/>
-    <ownedJavaExtensions qualifiedClassName="org.eclipse.papyrus.sirius.uml.diagram.sequence.services.ExecutionService"/>
-    <ownedJavaExtensions qualifiedClassName="org.eclipse.papyrus.sirius.uml.diagram.sequence.services.CombinedAndOperandService"/>
-    <ownedJavaExtensions qualifiedClassName="org.eclipse.papyrus.sirius.uml.diagram.sequence.services.CommentService"/>
-    <ownedJavaExtensions qualifiedClassName="org.eclipse.papyrus.sirius.uml.diagram.sequence.services.ConstraintService"/>
-    <ownedJavaExtensions qualifiedClassName="org.eclipse.papyrus.sirius.uml.diagram.sequence.services.TimeObservationConstraintService"/>
-  </ownedViewpoints>
-  <userColorsPalettes name="UMLPalette">
-    <entries xsi:type="description:UserFixedColor" red="235" green="235" blue="235" name="Nested Package Foreground"/>
-    <entries xsi:type="description:UserFixedColor" name="ComponentColor"/>
-    <entries xsi:type="description:InterpolatedColor" name="Component Background Color" colorValueComputationExpression="aql:self.ancestors()->size()">
-      <colorSteps associatedValue="0">
-        <associatedColor href="environment:/viewpoint#//@systemColors/@entries[name='light_blue']"/>
-      </colorSteps>
-      <colorSteps associatedValue="4">
-        <associatedColor href="environment:/viewpoint#//@systemColors/@entries[name='blue']"/>
-      </colorSteps>
-    </entries>
-    <entries xsi:type="description:UserFixedColor" red="232" green="239" blue="247" name="lighter blue"/>
-    <entries xsi:type="description:UserFixedColor" red="236" green="250" blue="222" name="lighter green"/>
-    <entries xsi:type="description:UserFixedColor" red="245" green="239" blue="244" name="lighter purple"/>
-    <entries xsi:type="description:UserFixedColor" red="254" green="238" blue="214" name="lighter orange"/>
-    <entries xsi:type="description:UserFixedColor" red="255" green="249" blue="218" name="lighter yellow"/>
-    <entries xsi:type="description:UserFixedColor" red="228" green="249" blue="239" name="lagune"/>
-    <entries xsi:type="description:UserFixedColor" red="255" green="255" blue="204" name="CommentColor"/>
-    <entries xsi:type="description:UserFixedColor" red="110" green="132" blue="132" name="dark lagune"/>
-    <entries xsi:type="description:UserFixedColor" red="238" green="249" blue="244" name="light lagune"/>
-    <entries xsi:type="description:UserFixedColor" red="246" green="253" blue="255" name="InformationBackground"/>
-    <entries xsi:type="description:UserFixedColor" red="12" green="92" blue="159" name="InformationBorder"/>
-    <entries xsi:type="description:UserFixedColor" red="230" green="230" blue="230" name="very light gray"/>
-    <entries xsi:type="description:InterpolatedColor" name="Containment Background" colorValueComputationExpression="aql:self.ancestors()->size()">
-      <colorSteps associatedValue="0" associatedColor="//@userColorsPalettes[name='UMLPalette']/@entries[name='light%20lagune']"/>
-      <colorSteps associatedValue="15" associatedColor="//@userColorsPalettes[name='UMLPalette']/@entries[name='dark%20lagune']"/>
-    </entries>
-    <entries xsi:type="description:UserFixedColor" red="250" green="190" blue="190" name="MomentInterval"/>
-    <entries xsi:type="description:UserFixedColor" red="250" green="240" blue="180" name="Role"/>
-    <entries xsi:type="description:UserFixedColor" red="180" green="230" blue="180" name="PlaceThing"/>
-    <entries xsi:type="description:UserFixedColor" red="180" green="200" blue="210" name="Description"/>
-    <entries xsi:type="description:UserFixedColor" red="241" green="243" blue="254" name="QualifierBackground"/>
-    <entries xsi:type="description:UserFixedColor" red="195" green="209" blue="213" name="Execution Color"/>
-    <entries xsi:type="description:UserFixedColor" red="200" green="255" blue="230" name="ConstraintColor"/>
-  </userColorsPalettes>
-</description:Group>
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/icons/eol.png b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/icons/eol.png
deleted file mode 100755
index 2854b88..0000000
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/icons/eol.png
+++ /dev/null
Binary files differ
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/icons/observation_opaque.svg b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/icons/observation_opaque.svg
deleted file mode 100755
index f6405b1..0000000
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/icons/observation_opaque.svg
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   version="1.1"
-   width="6"
-   height="6"
-   id="svg2998"
-   sodipodi:docname="observation_opaque.svg"
-   inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)">
-  <sodipodi:namedview
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1"
-     objecttolerance="10"
-     gridtolerance="10"
-     guidetolerance="10"
-     id="namedview2997"
-     showgrid="false"
-     inkscape:document-rotation="0"
-     inkscape:zoom="138.33333"
-     inkscape:cx="3"
-     inkscape:cy="3"
-     inkscape:window-width="1632"
-     inkscape:window-height="1030"
-     inkscape:window-x="2464"
-     inkscape:window-y="64"
-     inkscape:window-maximized="0"
-     inkscape:current-layer="svg2998" />
-  <defs
-     id="defs3000" />
-  <metadata
-     id="metadata3003">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     transform="matrix(1.3259643,0,0,1.3288229,1.0041881,-16.27222)"
-     id="layer1">
-    <path
-       d="m 3.767682,14.503566 a 2.2625044,2.2576372 0 0 1 -4.52500857,0 2.2625044,2.2576372 0 1 1 4.52500857,0 z"
-       id="path3010"
-       style="fill:#999999;fill-opacity:1;fill-rule:evenodd;stroke:none" />
-  </g>
-</svg>
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/icons/stroke.svg b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/icons/stroke.svg
deleted file mode 100755
index eefd282..0000000
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/icons/stroke.svg
+++ /dev/null
@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="15"
-   height="1.0015748"
-   viewBox="0 0 3.9687499 0.26499999"
-   version="1.1"
-   id="svg841"
-   inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"
-   sodipodi:docname="stroke.svg">
-  <defs
-     id="defs835" />
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="90.509668"
-     inkscape:cx="2.4419236"
-     inkscape:cy="1.0482973"
-     inkscape:document-units="mm"
-     inkscape:current-layer="layer1"
-     inkscape:document-rotation="0"
-     showgrid="true"
-     units="px"
-     fit-margin-top="0"
-     fit-margin-left="0"
-     fit-margin-right="0"
-     fit-margin-bottom="0"
-     inkscape:window-width="1647"
-     inkscape:window-height="1030"
-     inkscape:window-x="2688"
-     inkscape:window-y="223"
-     inkscape:window-maximized="0">
-    <inkscape:grid
-       type="xygrid"
-       id="grid1404"
-       originx="0"
-       originy="0.13249999" />
-  </sodipodi:namedview>
-  <metadata
-     id="metadata838">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     inkscape:label="Calque 1"
-     inkscape:groupmode="layer"
-     id="layer1"
-     transform="translate(0,0.13249999)">
-    <path
-       style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       d="M 0,0 H 3.96875"
-       id="path1406" />
-  </g>
-</svg>
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/plugin.properties b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/plugin.properties
deleted file mode 100755
index b4261bd..0000000
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/plugin.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-pluginName = Papyrus-Sirius - Sirius sequence diagram implementation (Incubation)
-providerName = Eclipse Modeling Project
\ No newline at end of file
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/plugin.xml b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/plugin.xml
deleted file mode 100755
index f586648..0000000
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/plugin.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<!--
-  Copyright (c) 2021 ARTAL, CEA LIST
-  This program and the accompanying materials
-  are made available under the terms of the Eclipse Public License 2.0
-  which accompanies this distribution, and is available at
-  https://www.eclipse.org/legal/epl-2.0/
-
-  SPDX-License-Identifier: EPL-2.0
-
-  Contributors:
-       ARTAL - Initial API and implementation
--->
-<plugin>
-<extension
-         point="org.eclipse.sirius.componentization">
-      <component
-            class="org.eclipse.papyrus.sirius.uml.diagram.sequence.Activator"
-            id="org.eclipse.papyrus.sirius.uml.diagram.sequence"
-            name="SequenceDiagram">
-      </component>
-   </extension>
-<extension
-      point="org.eclipse.sirius.refreshExtensionProvider">
-   <refreshExtensionProvider
-         providerClass="org.eclipse.papyrus.sirius.uml.diagram.sequence.provider.RefreshSequenceExtensionProvider">
-   </refreshExtensionProvider>
-</extension>
-<extension
-      point="org.eclipse.gmf.runtime.diagram.ui.editpartProviders">
-   <editpartProvider
-         class="org.eclipse.papyrus.sirius.uml.diagram.sequence.provider.SequenceEditPartProvider">
-      <Priority
-            name="High">
-      </Priority>
-   </editpartProvider>
-</extension>
-</plugin>
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/pom.xml b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/pom.xml
deleted file mode 100755
index acbee50..0000000
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/pom.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?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>
-		<groupId>org.eclipse.papyrus.sirius.plugins-uml</groupId>
-		<artifactId>org.eclipse.papyrus.sirius.plugins.uml</artifactId>
-		<version>0.0.1-SNAPSHOT</version>
-	</parent>
-	
-	<artifactId>org.eclipse.papyrus.sirius.uml.diagram.sequence</artifactId>
-	<version>0.7.0-SNAPSHOT</version>
-	<packaging>eclipse-plugin</packaging>
-</project>
\ No newline at end of file
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/Activator.java b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/Activator.java
deleted file mode 100755
index 152a159..0000000
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/Activator.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2021 CEA LIST, Artal Technologies
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *    Aurelien Didier (ARTAL) - aurelien.didier51@gmail.com - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.sirius.uml.diagram.sequence;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.sirius.business.api.componentization.ViewpointRegistry;
-import org.eclipse.sirius.viewpoint.description.Viewpoint;
-import org.osgi.framework.BundleContext;
-import org.eclipse.uml2.uml.edit.UMLEditPlugin;
-
-public class Activator extends Plugin {
-    /** The plug-in ID. */
-    public static final String PLUGIN_ID = "org.eclipse.papyrus.sirius.uml.diagram.sequence"; //$NON-NLS-1$
-
-    /** This plug-in's shared instance. */
-    private static Activator plugin;
-
-    private static Set<Viewpoint> viewpoints;
-
-    /**
-     * Default constructor for the plug-in.
-     */
-    public Activator() {
-        plugin = this;
-     // to force the java dependency
-     // we need these plugins because the odesign references icons from this plugin
-     		UMLEditPlugin.getPlugin();
-    }
-
-    /**
-     * Returns the shared instance.
-     * 
-     * @return the shared instance
-     */
-    public static Activator getDefault() {
-        return plugin;
-    }
-
-    /**
-     * {@inheritDoc}
-     * 
-     * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
-     */
-    @Override
-    public void start(final BundleContext context) throws Exception {
-        super.start(context);
-        viewpoints = new HashSet<Viewpoint>();
-        viewpoints.addAll(ViewpointRegistry.getInstance().registerFromPlugin(PLUGIN_ID + "/description/papyrus_sequence.odesign")); //$NON-NLS-1$
-    }
-
-    /**
-     * {@inheritDoc}
-     * 
-     * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
-     */
-    @Override
-    public void stop(final BundleContext context) throws Exception {
-        plugin = null;
-        if (viewpoints != null) {
-            for (Viewpoint viewpoint : viewpoints) {
-                ViewpointRegistry.getInstance().disposeFromPlugin(viewpoint);
-            }
-            viewpoints.clear();
-            viewpoints = null;
-        }
-        super.stop(context);
-    }
-
-}
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/provider/RefreshSequenceExtensionProvider.java b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/provider/RefreshSequenceExtensionProvider.java
deleted file mode 100755
index ab966de..0000000
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/provider/RefreshSequenceExtensionProvider.java
+++ /dev/null
@@ -1,207 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2021 CEA LIST, Artal Technologies
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *    Aurelien Didier (ARTAL) - aurelien.didier51@gmail.com - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.sirius.uml.diagram.sequence.provider;
-
-import java.util.Collection;
-
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.parts.IDiagramWorkbenchPart;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.papyrus.sirius.uml.diagram.sequence.utils.ReorderSequenceRegistry;
-import org.eclipse.sirius.diagram.DDiagram;
-import org.eclipse.sirius.diagram.DDiagramElement;
-import org.eclipse.sirius.diagram.business.api.refresh.IRefreshExtension;
-import org.eclipse.sirius.diagram.business.api.refresh.IRefreshExtensionProvider;
-import org.eclipse.sirius.diagram.description.filter.FilterDescription;
-import org.eclipse.sirius.diagram.ui.business.api.view.SiriusGMFHelper;
-import org.eclipse.sirius.diagram.ui.internal.refresh.GMFHelper;
-import org.eclipse.sirius.diagram.ui.tools.api.editor.DDiagramEditor;
-import org.eclipse.sirius.diagram.ui.tools.internal.handler.ChangeFilterActivation;
-import org.eclipse.sirius.viewpoint.description.DAnnotation;
-import org.eclipse.sirius.viewpoint.description.DescriptionFactory;
-
-/**
- * The Class RefreshSequenceExtensionProvider.
- *
- * @author Yann Binot (Artal Technologies) <yann.binot@artal.fr>
- * @author Aur�lien Didier (Artal Technologies) <aurelien.didier51@gmail.com>
- */
-public class RefreshSequenceExtensionProvider implements IRefreshExtensionProvider {
-
-	private final static String observationPointFilterName = "Hide Observation Point"; //$NON-NLS-1$
-	private final static String observationPointFilterAnnotationName = "Observation Point Filter Deactivation"; //$NON-NLS-1$
-	private final static String diagramID = "SequenceDiagram"; //$NON-NLS-1$
-	private final static String diagramEditorID = "org.eclipse.sirius.diagram.ui.part.SiriusDiagramEditorID"; //$NON-NLS-1$
-
-	/**
-	 * Constructor.
-	 *
-	 */
-	public RefreshSequenceExtensionProvider() {
-	}
-
-	/**
-	 * Provides Refresh Extension for Sequence Diagram.
-	 *
-	 * @param viewPoint the view point
-	 * @return true, if successful
-	 * @see org.eclipse.sirius.diagram.business.api.refresh.IRefreshExtensionProvider#provides(org.eclipse.sirius.diagram.DDiagram)
-	 */
-
-	@Override
-	public boolean provides(DDiagram viewPoint) {
-		return viewPoint.getDescription().getName().equals(diagramID);
-	}
-
-	/**
-	 * Gets the refresh extension.
-	 *
-	 * @param viewPoint the view point
-	 * @return the refresh extension
-	 * @see org.eclipse.sirius.diagram.business.api.refresh.IRefreshExtensionProvider#getRefreshExtension(org.eclipse.sirius.diagram.DDiagram)
-	 */
-
-	@Override
-	public IRefreshExtension getRefreshExtension(DDiagram viewPoint) {
-		return new IRefreshExtension() {
-
-			@Override
-			public void postRefresh(DDiagram dDiagram) {
-				ReorderSequenceRegistry.getInstance().clear();
-			}
-
-			@Override
-			public void beforeRefresh(DDiagram dDiagram) {
-				if (!isActivatedOnce(observationPointFilterName, dDiagram)) {
-					activateFilterOnFirstOpening(dDiagram);
-				}
-			}
-
-		};
-	}
-
-	/**
-	 * Searches the given {@link DDiagram} for a filter of the given name and
-	 * returns it.
-	 * 
-	 * @param diagram    The diagram to search for a tool.
-	 * @param filterName The name of the searched filter.
-	 * @return The retrieved filter, or <code>null</code> if it cannot be found.
-	 */
-
-	public void activateFilterOnFirstOpening(DDiagram obj) {
-		if (obj instanceof DDiagram) {
-			DDiagram diagram = (DDiagram) obj;
-			// Get the filter to activate
-			if (!diagram.getDiagramElements().isEmpty()) {
-				DDiagramElement elem = diagram.getDiagramElements().get(0);
-				View view = SiriusGMFHelper.getGmfView(elem);
-				if (view != null) {
-					GraphicalEditPart currentEditPart = GMFHelper.getGraphicalEditPart(view).get();
-					DDiagramEditor editor = (DDiagramEditor) currentEditPart.getViewer().getProperty(diagramEditorID);
-
-					final FilterDescription filter = getFilter(diagram, observationPointFilterName);
-					if (filter != null) {
-
-						// Add annotation
-						getAnnotation(observationPointFilterAnnotationName, diagram, true);
-
-						// Activate filter
-						final Runnable change = new ChangeFilterActivation((IDiagramWorkbenchPart) editor, diagram,
-								filter, true);
-						change.run();
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Searches the given {@link DDiagram} for a filter of the given name and
-	 * returns it.
-	 * 
-	 * @param diagram    The diagram to search for a tool.
-	 * @param filterName The name of the searched filter.
-	 * @return The retrieved filter, or <code>null</code> if it cannot be found.
-	 */
-	protected final FilterDescription getFilter(final DDiagram diagram, final String filterName) {
-		final Collection<FilterDescription> filters = diagram.getDescription().getFilters();
-
-		for (final FilterDescription filter : filters) {
-			if (filter.getName().equals(filterName)) {
-				return filter;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * To know if the filter has been activated once this way.
-	 */
-	public static boolean isActivatedOnce(String filterId, DDiagram diagram) {
-		if (diagram != null) {
-			DAnnotation annotation = getAnnotation(observationPointFilterAnnotationName, diagram, false);
-			if (annotation != null) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Create a DAnnotation with a given source on a given model element
-	 * 
-	 * @param source
-	 * @param diagram
-	 */
-	public static DAnnotation createAnnotation(final String source, DDiagram diagram) {
-		DAnnotation annotation = DescriptionFactory.eINSTANCE.createDAnnotation();
-		annotation.setSource(source);
-		diagram.getEAnnotations().add(annotation);
-		return annotation;
-	}
-
-	/**
-	 * Get the first annotation with a given source from a given model element,
-	 * optionally creating the annotation if none previously existed.
-	 * 
-	 * @param source
-	 * @param diagram
-	 * @param create
-	 */
-	public static DAnnotation getAnnotation(String source, DDiagram diagram, boolean create) {
-		for (DAnnotation annotation : diagram.getEAnnotations()) {
-			if (annotation.getSource() != null && annotation.getSource().equals(source)) {
-				return annotation;
-			}
-		}
-
-		if (create) {
-			return createAnnotation(source, diagram);
-		}
-
-		return null;
-	}
-
-	/**
-	 * Returns whether the element has the given element
-	 * 
-	 * @param source
-	 * @param representation
-	 */
-	public static boolean hasAnnotation(String source, DDiagram representation) {
-		return getAnnotation(source, representation, false) != null;
-	}
-
-}
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/provider/SequenceEditPartProvider.java b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/provider/SequenceEditPartProvider.java
deleted file mode 100755
index 245f11d..0000000
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/provider/SequenceEditPartProvider.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2021 CEA LIST, Artal Technologies
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *    Aurelien Didier (ARTAL) - aurelien.didier51@gmail.com - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.sirius.uml.diagram.sequence.provider;
-
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.gmf.runtime.notation.Edge;
-import org.eclipse.gmf.runtime.notation.Node;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.sirius.diagram.sequence.ui.tool.internal.edit.part.ObservationPointEditPart;
-import org.eclipse.sirius.diagram.sequence.ui.tool.internal.provider.SequenceDiagramEditPartProvider;
-
-/**
- * The Class SequenceEditPartProvider.
- *
- * @author Yann Binot (Artal Technologies) <yann.binot@artal.fr>
- */
-public class SequenceEditPartProvider extends SequenceDiagramEditPartProvider {
-
-
-	/**
-	 * Gets the node edit part class.
-	 *
-	 * @param view the view
-	 * @return the node edit part class
-	 * @see org.eclipse.sirius.diagram.sequence.ui.tool.internal.provider.SequenceDiagramEditPartProvider#getNodeEditPartClass(org.eclipse.gmf.runtime.notation.View)
-	 */
-	
-	@Override
-	protected Class<?> getNodeEditPartClass(View view) {
-		// int visualID = SiriusVisualIDRegistry.getVisualID(view);
-		// if (visualID == 2001) {
-		// return SiriusObservationPointPart.class;
-		// }
-
-		Class<?> nodeEditPartClass = super.getNodeEditPartClass(view);
-
-
-		return nodeEditPartClass;
-	}
-
-	/**
-	 * Creates the graphic edit part.
-	 *
-	 * @param view the view
-	 * @return the i graphical edit part
-	 * @see org.eclipse.gmf.runtime.diagram.ui.services.editpart.AbstractEditPartProvider#createGraphicEditPart(org.eclipse.gmf.runtime.notation.View)
-	 */
-	
-	@Override
-	public IGraphicalEditPart createGraphicEditPart(View view) {
-		Class editpartClass = getEditPartClass(view);
-		if (editpartClass.isAssignableFrom(ObservationPointEditPart.class)) {
-			IGraphicalEditPart graphicEditPart = new ObservationPointEditPart(view) {
-				@Override
-				protected void createDefaultEditPolicies() {
-					super.createDefaultEditPolicies();
-					removeEditPolicy(EditPolicy.GRAPHICAL_NODE_ROLE);
-					installEditPolicy(EditPolicy.GRAPHICAL_NODE_ROLE, new SiriusGraphicalNodeEditPolicy());
-
-				}
-			};
-			return graphicEditPart;
-		}
-
-
-
-		return super.createGraphicEditPart(view);
-	}
-
-	/**
-	 * Gets an editpart class for the given view.
-	 *
-	 * @param view the view
-	 * @return <code>Class</code>
-	 */
-	private Class getEditPartClass(View view) {
-		if (view instanceof Diagram)
-			return getDiagramEditPartClass(view);
-		else if (view instanceof Edge)
-			return getEdgeEditPartClass(view);
-		else if (view instanceof Node)
-			return getNodeEditPartClass(view);
-		return null;
-	}
-
-}
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/provider/SetReconnectingConnectionBendpointsCommand.java b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/provider/SetReconnectingConnectionBendpointsCommand.java
deleted file mode 100755
index a885627..0000000
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/provider/SetReconnectingConnectionBendpointsCommand.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2014, 2015, 2021 THALES GLOBAL SERVICES, CEA LIST, Artal Technologies.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *    Obeo - initial API and implementation
- *    Aurelien Didier (ARTAL) - aurelien.didier51@gmail.com - adaptation to integrate in Papyrus
- *******************************************************************************/
-package org.eclipse.papyrus.sirius.uml.diagram.sequence.provider;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.draw2d.Connection;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.gmf.runtime.common.core.command.CommandResult;
-import org.eclipse.gmf.runtime.notation.Edge;
-import org.eclipse.gmf.runtime.notation.RelativeBendpoints;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.gmf.runtime.notation.datatype.RelativeBendpoint;
-import org.eclipse.sirius.diagram.description.tool.ReconnectionKind;
-import org.eclipse.sirius.diagram.ui.graphical.edit.policies.SetConnectionBendpointsAndLabelCommmand;
-import org.eclipse.sirius.diagram.ui.internal.operation.CenterEdgeEndModelChangeOperation;
-import org.eclipse.sirius.diagram.ui.internal.refresh.GMFHelper;
-
-/**
- * This {@link SetConnectionBendpointsAndLabelCommmand} overrides the execution
- * in order to set the {@link RelativeBendpoint} of the edge resulting of the
- * reconnection.
- * 
- * 
- */
-@SuppressWarnings("restriction")
-public class SetReconnectingConnectionBendpointsCommand extends SetConnectionBendpointsAndLabelCommmand {
-
-	/**
-	 * Helper used to access the edge after reconnection.
-	 */
-	private SiriusEdgeReconnectionHelper reconnectingEdgeHelper;
-
-	/**
-	 * Default constructor to set {@link RelativeBendpoint} on the reconnected
-	 * edge.
-	 * 
-	 * @param editingDomain
-	 *            current {@link TransactionalEditingDomain}
-	 * @param reconnectionTarget
-	 *            Reconnection target
-	 * @param reconnectionTargetEdges
-	 *            List of incoming/outgoing edges on the targeted edge before
-	 *            reconnection
-	 * @param reconnectionKind
-	 *            Reuse ReconnectionKind to save if reconnecting the source or
-	 *            the target of the edge.
-	 */
-	public SetReconnectingConnectionBendpointsCommand(TransactionalEditingDomain editingDomain, View reconnectionTarget, List<Edge> reconnectionTargetEdges, ReconnectionKind reconnectionKind) {
-		super(editingDomain);
-		this.reconnectingEdgeHelper = new SiriusEdgeReconnectionHelper(reconnectionTarget, reconnectionTargetEdges, reconnectionKind);
-	}
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * This method has been overridden in order to compute the sourceRefPoint
-	 * using the reconnected edge instead of the previous, under reconnection,
-	 * edge.
-	 */
-	@Override
-	public Point getSourceRefPoint() {
-		if (reconnectingEdgeHelper.isReconnectingSource()) {
-			Edge edge = reconnectingEdgeHelper.getReconnectedEdge();
-			if (edge != null) {
-				Connection connection = (Connection) GMFHelper.getGraphicalEditPart(edge).get().getFigure();
-
-				Point sourceRefPoint = connection.getSourceAnchor().getReferencePoint();
-				connection.translateToRelative(sourceRefPoint);
-				return sourceRefPoint;
-			}
-		}
-		return super.getSourceRefPoint();
-	}
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * This method has been overridden in order to compute the targetRefPoint
-	 * using the reconnected edge instead of the previous, under reconnection,
-	 * edge.
-	 */
-	@Override
-	public Point getTargetRefPoint() {
-		if (reconnectingEdgeHelper.isReconnectingTarget()) {
-			Edge edge = reconnectingEdgeHelper.getReconnectedEdge();
-			if (edge != null) {
-				Connection connection = (Connection) GMFHelper.getGraphicalEditPart(edge).get().getFigure();
-
-				Point targetRefPoint = connection.getTargetAnchor().getReferencePoint();
-				connection.translateToRelative(targetRefPoint);
-				return targetRefPoint;
-			}
-		}
-		return super.getTargetRefPoint();
-	}
-
-	/**
-	 * Do execute with result.
-	 *
-	 * @param progressMonitor the progress monitor
-	 * @param info the info
-	 * @return the command result
-	 * @throws ExecutionException the execution exception
-	 * @see org.eclipse.gmf.runtime.diagram.ui.internal.commands.SetConnectionBendpointsCommand#doExecuteWithResult(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
-	 */
-	
-	@Override
-	protected CommandResult doExecuteWithResult(IProgressMonitor progressMonitor, IAdaptable info) throws ExecutionException {
-		Assert.isNotNull(getNewPointList());
-		Point sourceRefPoint = getSourceRefPoint();
-		Assert.isNotNull(sourceRefPoint);
-		Point targetRefPoint = getTargetRefPoint();
-		Assert.isNotNull(targetRefPoint);
-
-		// The edge recovery is the difference with the parent command
-		Edge edge = reconnectingEdgeHelper.getReconnectedEdge();
-
-		// if the reconnected edge do not exist, there is nothing to do here.
-		if (edge != null) {
-			List newBendpoints = new ArrayList();
-			int numOfPoints = getNewPointList().size();
-			for (short i = 0; i < numOfPoints; i++) {
-				// The sourceRefPoint and targetRefPoint will be recovered from
-				// the
-				// reconnected edge
-				Dimension s = getNewPointList().getPoint(i).getDifference(sourceRefPoint);
-				Dimension t = getNewPointList().getPoint(i).getDifference(targetRefPoint);
-				newBendpoints.add(new RelativeBendpoint(s.width, s.height, t.width, t.height));
-			}
-
-			RelativeBendpoints points = (RelativeBendpoints) edge.getBendpoints();
-			points.setPoints(newBendpoints);
-
-			CenterEdgeEndModelChangeOperation centerEdgeEndModelChangeOperation = new CenterEdgeEndModelChangeOperation(edge, false);
-			centerEdgeEndModelChangeOperation.execute();
-		}
-		return CommandResult.newOKCommandResult();
-	}
-}
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/provider/SiriusEdgeReconnectionHelper.java b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/provider/SiriusEdgeReconnectionHelper.java
deleted file mode 100755
index a50db71..0000000
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/provider/SiriusEdgeReconnectionHelper.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014, 2015 THALES GLOBAL SERVICES, CEA LIST, Artal Technologies
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *    Obeo - initial API and implementation
- *    Yann Binot (Artal Technologies) <yann.binot@artal.fr> - adaptation to integrate in Papyrus
- *******************************************************************************/
-package org.eclipse.papyrus.sirius.uml.diagram.sequence.provider;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.gmf.runtime.notation.Edge;
-import org.eclipse.gmf.runtime.notation.Node;
-import org.eclipse.gmf.runtime.notation.NotationPackage;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.sirius.diagram.AbstractDNode;
-import org.eclipse.sirius.diagram.DNode;
-import org.eclipse.sirius.diagram.business.api.query.EObjectQuery;
-import org.eclipse.sirius.diagram.description.tool.ReconnectionKind;
-import org.eclipse.sirius.diagram.ui.provider.Messages;
-
-import com.google.common.base.Predicate;
-import com.google.common.collect.Iterables;
-
-/**
- * Query used for accessing the resulting edge of a reconnection operation.
- *
- * @author <a href="mailto:steve.monnier@obeo.fr">Steve Monnier</a>
- */
-public class SiriusEdgeReconnectionHelper {
-
-	/** List of incoming/outgoing edges on the targeted edge before reconnection. */
-	private List<Edge> reconnectionTargetEdges;
-
-	/** Reconnection target. */
-	private View reconnectionTarget;
-
-	/**
-	 * Reuse ReconnectionKind to save if reconnecting the source or the target
-	 * of the edge.
-	 */
-	private ReconnectionKind reconnectionKind;
-
-	/**
-	 * Default constructor of this query.
-	 * 
-	 * @param reconnectionTarget
-	 *            Reconnection target
-	 * @param reconnectionTargetEdges
-	 *            List of incoming/outgoing edges on the targeted edge before
-	 *            reconnection
-	 * @param reconnectionKind
-	 *            Reuse ReconnectionKind to save if reconnecting the source or
-	 *            the target of the edge.
-	 */
-	public SiriusEdgeReconnectionHelper(View reconnectionTarget, List<Edge> reconnectionTargetEdges, ReconnectionKind reconnectionKind) {
-		this.reconnectionTarget = reconnectionTarget;
-		this.reconnectionTargetEdges = new ArrayList<Edge>(reconnectionTargetEdges);
-		assert reconnectionKind == ReconnectionKind.RECONNECT_SOURCE_LITERAL || reconnectionKind == ReconnectionKind.RECONNECT_TARGET_LITERAL : Messages.EdgeReconnectionHelper_invalidReconnectionKind;
-		this.reconnectionKind = reconnectionKind;
-	}
-
-
-	/**
-	 * Gets the reconnected edge.
-	 *
-	 * @return the reconnected edge
-	 */
-	public Edge getReconnectedEdge() {
-		Edge edge = null;
-		if (reconnectionKind == ReconnectionKind.RECONNECT_SOURCE_LITERAL) {
-			final List<Edge> sourceEdges = new ArrayList<Edge>(reconnectionTarget.getSourceEdges());
-			Iterables.removeAll(sourceEdges, reconnectionTargetEdges);
-			Predicate<Edge> notToReconnectingEdge = new Predicate<Edge>() {
-
-				@Override
-				public boolean apply(Edge input) {
-					return !sourceEdges.contains(input.getTarget());
-				}
-			};
-			// For case with reconnect edge source from borderedNode to
-			// borderedNode
-			// when borderedNode is mapping with EReference
-			if (sourceEdges.isEmpty() && reconnectionTarget.getElement() instanceof AbstractDNode) {
-				AbstractDNode abstractDNode = (AbstractDNode) reconnectionTarget.getElement();
-				List<DNode> borderedNodes = abstractDNode.getOwnedBorderedNodes();
-				if (!borderedNodes.isEmpty()) {
-					DNode borderedNode = borderedNodes.get(borderedNodes.size() - 1);
-					Collection<EObject> inverseReferences = new EObjectQuery(borderedNode).getInverseReferences(NotationPackage.eINSTANCE.getView_Element());
-					Node nodeSource = Iterables.getOnlyElement(Iterables.filter(inverseReferences, Node.class));
-					List<Edge> sourceEdgesOfBorderedNode = new ArrayList<Edge>(nodeSource.getSourceEdges());
-					edge = Iterables.getOnlyElement(Iterables.filter(sourceEdgesOfBorderedNode, notToReconnectingEdge));
-				}
-			} else {
-				if (reconnectionTarget.getElement() != null) {
-					edge = Iterables.getOnlyElement(Iterables.filter(sourceEdges, notToReconnectingEdge));
-				}
-			}
-		} else {
-			final List<Edge> targetEdges = new ArrayList<Edge>(reconnectionTarget.getTargetEdges());
-			Iterables.removeAll(targetEdges, reconnectionTargetEdges);
-			Predicate<Edge> notFromReconnectingEdge = new Predicate<Edge>() {
-
-				@Override
-				public boolean apply(Edge input) {
-					return !targetEdges.contains(input.getSource());
-				}
-			};
-			// For case with reconnect edge target from borderedNode to
-			// borderedNode
-			// when borderedNode is mapping with EReference
-			if (targetEdges.isEmpty() && reconnectionTarget.getElement() instanceof AbstractDNode) {
-				AbstractDNode abstractDNode = (AbstractDNode) reconnectionTarget.getElement();
-				List<DNode> borderedNodes = abstractDNode.getOwnedBorderedNodes();
-				if (!borderedNodes.isEmpty()) {
-					DNode borderedNode = borderedNodes.get(borderedNodes.size() - 1);
-					Collection<EObject> inverseReferences = new EObjectQuery(borderedNode).getInverseReferences(NotationPackage.eINSTANCE.getView_Element());
-					Node nodeTarget = Iterables.getOnlyElement(Iterables.filter(inverseReferences, Node.class));
-					List<Edge> targetEdgesOfBorderedNode = new ArrayList<Edge>(nodeTarget.getTargetEdges());
-					edge = Iterables.getOnlyElement(Iterables.filter(targetEdgesOfBorderedNode, notFromReconnectingEdge));
-				}
-			} else {
-				if (reconnectionTarget.getElement() != null) {
-					edge = Iterables.getOnlyElement(Iterables.filter(targetEdges, notFromReconnectingEdge));
-				}
-			}
-		}
-		return edge;
-	}
-
-	/**
-	 * Checks if is reconnecting source.
-	 *
-	 * @return true, if is reconnecting source
-	 */
-	public boolean isReconnectingSource() {
-		return reconnectionKind.equals(ReconnectionKind.RECONNECT_SOURCE_LITERAL);
-	}
-
-	/**
-	 * Checks if is reconnecting target.
-	 *
-	 * @return true, if is reconnecting target
-	 */
-	public boolean isReconnectingTarget() {
-		return reconnectionKind.equals(ReconnectionKind.RECONNECT_TARGET_LITERAL);
-	}
-}
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/provider/SiriusGraphicalNodeEditPolicy.java b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/provider/SiriusGraphicalNodeEditPolicy.java
deleted file mode 100755
index 070b215..0000000
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/provider/SiriusGraphicalNodeEditPolicy.java
+++ /dev/null
@@ -1,1661 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *    Obeo - initial API and implementation
- *    Aurelien Didier (ARTAL) - aurelien.didier51@gmail.com - adaptation to integrate in Papyrus
- *******************************************************************************/
-
-package org.eclipse.papyrus.sirius.uml.diagram.sequence.provider;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Optional;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.draw2d.Connection;
-import org.eclipse.draw2d.ConnectionAnchor;
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.PolylineDecoration;
-import org.eclipse.draw2d.RectangleFigure;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.PointList;
-import org.eclipse.draw2d.geometry.PrecisionPoint;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.gef.ConnectionEditPart;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.commands.CompoundCommand;
-import org.eclipse.gef.commands.UnexecutableCommand;
-import org.eclipse.gef.requests.CreateConnectionRequest;
-import org.eclipse.gef.requests.CreateRequest;
-import org.eclipse.gef.requests.DropRequest;
-import org.eclipse.gef.requests.ReconnectRequest;
-import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
-import org.eclipse.gmf.runtime.common.core.command.ICommand;
-import org.eclipse.gmf.runtime.common.core.command.IdentityCommand;
-import org.eclipse.gmf.runtime.common.core.util.StringStatics;
-import org.eclipse.gmf.runtime.diagram.core.commands.SetConnectionAnchorsCommand;
-import org.eclipse.gmf.runtime.diagram.core.commands.SetConnectionEndsCommand;
-import org.eclipse.gmf.runtime.diagram.core.commands.SetPropertyCommand;
-import org.eclipse.gmf.runtime.diagram.ui.commands.ICommandProxy;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramRootEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.INodeEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.TreeGraphicalNodeEditPolicy;
-import org.eclipse.gmf.runtime.diagram.ui.figures.ResizableCompartmentFigure;
-import org.eclipse.gmf.runtime.diagram.ui.internal.properties.Properties;
-import org.eclipse.gmf.runtime.diagram.ui.l10n.DiagramUIMessages;
-import org.eclipse.gmf.runtime.diagram.ui.requests.CreateConnectionViewRequest;
-import org.eclipse.gmf.runtime.diagram.ui.requests.RequestConstants;
-import org.eclipse.gmf.runtime.draw2d.ui.figures.BaseSlidableAnchor;
-import org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter;
-import org.eclipse.gmf.runtime.gef.ui.figures.SlidableAnchor;
-import org.eclipse.gmf.runtime.notation.Anchor;
-import org.eclipse.gmf.runtime.notation.Bendpoints;
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.gmf.runtime.notation.Edge;
-import org.eclipse.gmf.runtime.notation.IdentityAnchor;
-import org.eclipse.gmf.runtime.notation.NotationPackage;
-import org.eclipse.gmf.runtime.notation.RelativeBendpoints;
-import org.eclipse.gmf.runtime.notation.Routing;
-import org.eclipse.gmf.runtime.notation.RoutingStyle;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.gmf.runtime.notation.datatype.RelativeBendpoint;
-import org.eclipse.sirius.business.api.logger.RuntimeLoggerManager;
-import org.eclipse.sirius.common.tools.api.interpreter.IInterpreter;
-import org.eclipse.sirius.common.tools.api.interpreter.IInterpreterSiriusVariables;
-import org.eclipse.sirius.common.tools.api.util.StringUtil;
-import org.eclipse.sirius.diagram.DDiagramElement;
-import org.eclipse.sirius.diagram.DEdge;
-import org.eclipse.sirius.diagram.DSemanticDiagram;
-import org.eclipse.sirius.diagram.EdgeRouting;
-import org.eclipse.sirius.diagram.EdgeStyle;
-import org.eclipse.sirius.diagram.EdgeTarget;
-import org.eclipse.sirius.diagram.business.api.query.EdgeCreationDescriptionQuery;
-import org.eclipse.sirius.diagram.business.api.query.IEdgeMappingQuery;
-import org.eclipse.sirius.diagram.business.api.query.ReconnectEdgeDescriptionQuery;
-import org.eclipse.sirius.diagram.description.CenteringStyle;
-import org.eclipse.sirius.diagram.description.CompositeLayout;
-import org.eclipse.sirius.diagram.description.EdgeMapping;
-import org.eclipse.sirius.diagram.description.Layout;
-import org.eclipse.sirius.diagram.description.OrderedTreeLayout;
-import org.eclipse.sirius.diagram.description.tool.EdgeCreationDescription;
-import org.eclipse.sirius.diagram.description.tool.ReconnectEdgeDescription;
-import org.eclipse.sirius.diagram.description.tool.ReconnectionKind;
-import org.eclipse.sirius.diagram.tools.api.command.IDiagramCommandFactory;
-import org.eclipse.sirius.diagram.tools.api.command.IDiagramCommandFactoryProvider;
-import org.eclipse.sirius.diagram.ui.business.api.query.ConnectionEditPartQuery;
-import org.eclipse.sirius.diagram.ui.business.api.view.SiriusLayoutDataManager;
-import org.eclipse.sirius.diagram.ui.business.internal.command.TreeLayoutSetConnectionAnchorsCommand;
-import org.eclipse.sirius.diagram.ui.business.internal.helper.CreateConnectionRequestHelper;
-import org.eclipse.sirius.diagram.ui.business.internal.query.DEdgeQuery;
-import org.eclipse.sirius.diagram.ui.business.internal.query.RequestQuery;
-import org.eclipse.sirius.diagram.ui.business.internal.view.EdgeLayoutData;
-import org.eclipse.sirius.diagram.ui.business.internal.view.LayoutData;
-import org.eclipse.sirius.diagram.ui.business.internal.view.RootLayoutData;
-import org.eclipse.sirius.diagram.ui.edit.api.part.AbstractDiagramEdgeEditPart.ViewEdgeFigure;
-import org.eclipse.sirius.diagram.ui.edit.api.part.IDiagramEdgeEditPart;
-import org.eclipse.sirius.diagram.ui.edit.internal.part.DiagramEdgeEditPartOperation;
-import org.eclipse.sirius.diagram.ui.graphical.edit.policies.SetConnectionBendpointsAndLabelCommmand;
-import org.eclipse.sirius.diagram.ui.internal.edit.parts.DEdgeEditPart;
-import org.eclipse.sirius.diagram.ui.internal.edit.policies.InitialPointsOfRequestDataManager;
-import org.eclipse.sirius.diagram.ui.tools.api.command.GMFCommandWrapper;
-import org.eclipse.sirius.diagram.ui.tools.api.editor.DDiagramEditor;
-import org.eclipse.sirius.diagram.ui.tools.api.util.GMFNotationHelper;
-import org.eclipse.sirius.ext.base.Option;
-import org.eclipse.sirius.ext.gmf.runtime.editparts.GraphicalHelper;
-import org.eclipse.sirius.tools.api.SiriusPlugin;
-import org.eclipse.sirius.viewpoint.DMappingBased;
-import org.eclipse.sirius.viewpoint.DSemanticDecorator;
-import org.eclipse.sirius.viewpoint.description.tool.ToolPackage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Display;
-
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-
-/**
- * This class manages the reconnection of an edge.
- *
- */
-@SuppressWarnings("restriction")
-public class SiriusGraphicalNodeEditPolicy extends TreeGraphicalNodeEditPolicy {
-
-    /**
-     * Constant used to store a {@link EdgeCreationDescription} in a Request.getExtendedData().
-     */
-    public static final String GMF_EDGE_CREATION_DESCRIPTION = "edge.creation.description"; //$NON-NLS-1$
-
-    /**
-     * Constant used to store the {@link EdgeTarget} source.
-     */
-    public static final String GMF_EDGE_TARGET_SOURCE = "edgeTarget.source"; //$NON-NLS-1$
-
-    /**
-     * Constant used to store the location in GMF relative coordinates of the click on the {@link EdgeTarget} source.
-     */
-    public static final String GMF_EDGE_LOCATION_SOURCE = "edge.location.source"; //$NON-NLS-1$
-
-    /**
-     * Constant use to store source terminal.
-     */
-    public static final String GMF_EDGE_SOURCE_TERMINAL = "edge.newSourceTerminal"; //$NON-NLS-1$
-
-    /**
-     * Constant use to store the feedback figure. This feedback figure is used only when necessary (detection of
-     * potential straightened edge feedback).
-     */
-    public static final String GMF_EDGE_FEEDBACK = "edge.feedback.figure"; //$NON-NLS-1$
-
-    /**
-     * Extra width edge for this feedback.
-     */
-    private static final int WIDTH_FEEDBACK = 2;
-
-    /**
-     * Figure for highlight figure feedback.
-     */
-    private RectangleFigure highlightFigure;
-
-    /**
-     * Gets the reconnect source command.
-     *
-     * @param request the request
-     * @return the reconnect source command
-     * @see org.eclipse.gmf.runtime.diagram.ui.editpolicies.GraphicalNodeEditPolicy#getReconnectSourceCommand(org.eclipse.gef.requests.ReconnectRequest)
-     */
-    
-    @Override
-    protected Command getReconnectSourceCommand(final ReconnectRequest request) {
-        if (request.getConnectionEditPart().getModel() instanceof Edge) {
-            final Edge edge = (Edge) request.getConnectionEditPart().getModel();
-            if (GMFNotationHelper.isNoteAttachment(edge)) {
-                return super.getReconnectSourceCommand(request);
-            }
-        }
-        DEdge edge = null;
-        EdgeTarget target = null;
-        final ConnectionEditPart connectionEditPart = request.getConnectionEditPart();
-        if (connectionEditPart.getModel() instanceof View && ((View) connectionEditPart.getModel()).getElement() instanceof DEdge) {
-            edge = (DEdge) ((View) connectionEditPart.getModel()).getElement();
-        }
-        EdgeTarget source = null;
-        if (edge != null) {
-            source = edge.getSourceNode();
-        }
-        if (request.getTarget().getModel() instanceof View && ((View) request.getTarget().getModel()).getElement() instanceof EdgeTarget) {
-            target = (EdgeTarget) ((View) request.getTarget().getModel()).getElement();
-        }
-
-        Command cmd = UnexecutableCommand.INSTANCE;
-
-        if (source != null && target != null) {
-            if (target != source) {
-                Option<EdgeMapping> edgeMapping = new IEdgeMappingQuery(edge.getActualMapping()).getEdgeMapping();
-                final ReconnectEdgeDescription tool = edgeMapping.some() ? getBestTool(edgeMapping.get(), true, source, target, edge, true) : null;
-                if (tool != null) {
-                    final CompoundCommand result = new CompoundCommand();
-                    result.add(this.getToolCommand(tool, edge, source, target));
-                    result.add(getReconnectSourceCommandAfterTool(request));
-                    cmd = result;
-                }
-            } else if (isCenteredEnd(connectionEditPart, edge, CenteringStyle.SOURCE)) {
-                cmd = UnexecutableCommand.INSTANCE;
-            } else if (applySpecificTreeLayout(request.getConnectionEditPart())) {
-                cmd = getReconnectSourceForTreeLayoutCommand(request);
-            } else {
-                ConnectionEditPartQuery cepq = new ConnectionEditPartQuery(request.getConnectionEditPart());
-                if (cepq.isEdgeWithObliqueRoutingStyle() || cepq.isEdgeWithRectilinearRoutingStyle()) {
-                    cmd = getReconnectSourceOrTargetForObliqueOrRectilinearCommand(request, true);
-                } else {
-                    cmd = super.getReconnectSourceCommand(request);
-                }
-            }
-
-        }
-
-        return cmd;
-    }
-
-    /**
-     * Same behavior has super.getReconnectSourceCommand but using a custom
-     * SetConnectionAnchorsCommand because modification on reconnected edge are
-     * now done in precommit.
-     *
-     * @param request the request
-     * @return the reconnect source command after tool
-     * @see org.eclipse.gef.editpolicies.GraphicalNodeEditPolicy#getReconnectSourceCommand(org.eclipse.gef.requests.ReconnectRequest)
-     */
-    private Command getReconnectSourceCommandAfterTool(ReconnectRequest request) {
-        INodeEditPart node = getConnectableEditPart();
-        if (node == null) {
-            return null;
-        }
-
-        TransactionalEditingDomain editingDomain = ((IGraphicalEditPart) getHost()).getEditingDomain();
-
-        ConnectionAnchor sourceAnchor = node.getSourceConnectionAnchor(request);
-        View sourceView = (View) request.getTarget().getModel();
-        SiriusSetConnectionAnchorsCommand scaCommand = new SiriusSetConnectionAnchorsCommand(editingDomain, DiagramUIMessages.Commands_SetConnectionEndsCommand_Source, sourceView,
-                sourceView.getSourceEdges(), ReconnectionKind.RECONNECT_SOURCE_LITERAL);
-        scaCommand.setNewSourceTerminal(node.mapConnectionAnchorToTerminal(sourceAnchor));
-
-        // We retrieve the current target anchor and set it in the
-        // SiriusSetConnectionAnchorsCommand. when reconnecting the edge, a new
-        // edge is created and the anchor is lost, we need to set it back.
-        Connection connection = (Connection) ((GraphicalEditPart) request.getConnectionEditPart()).getFigure();
-        ConnectionAnchor connectionAnchor = connection.getTargetAnchor();
-        if (connectionAnchor instanceof BaseSlidableAnchor) {
-            String targetTerminal = ((BaseSlidableAnchor) connectionAnchor).getTerminal();
-            scaCommand.setNewTargetTerminal(targetTerminal);
-        }
-
-        CompositeCommand cc = new CompositeCommand(DiagramUIMessages.Commands_SetConnectionEndsCommand_Source);
-        cc.compose(scaCommand);
-
-        // The router is the same, therefore the bendpoint of the new
-        // reconnected edge are set accordingly to the feedback of the
-        // previous edge under reconnection
-
-        // Set points of Edge as they are graphically
-        Point tempSourceRefPoint = connection.getSourceAnchor().getReferencePoint();
-        connection.translateToRelative(tempSourceRefPoint);
-
-        Point tempTargetRefPoint = connection.getTargetAnchor().getReferencePoint();
-        connection.translateToRelative(tempTargetRefPoint);
-
-        PointList connectionPointList = connection.getPoints().getCopy();
-
-        restoreMissingBendpointOverCandidate(request, connectionPointList);
-
-        // Set the connection bendpoints with a PointList using a command
-        SetReconnectingConnectionBendpointsCommand sbbCommand = new SetReconnectingConnectionBendpointsCommand(editingDomain, sourceView, sourceView.getSourceEdges(),
-                ReconnectionKind.RECONNECT_SOURCE_LITERAL);
-        sbbCommand.setNewPointList(connectionPointList, tempSourceRefPoint, tempTargetRefPoint);
-        if (request.getConnectionEditPart() instanceof org.eclipse.gmf.runtime.diagram.ui.editparts.ConnectionEditPart) {
-            sbbCommand.setLabelsToUpdate((org.eclipse.gmf.runtime.diagram.ui.editparts.ConnectionEditPart) request.getConnectionEditPart());
-        }
-
-        cc.compose(sbbCommand);
-        return new ICommandProxy(cc);
-    }
-
-    /**
-     * Gets the reconnect target command.
-     *
-     * @param request the request
-     * @return the reconnect target command
-     * @see org.eclipse.gmf.runtime.diagram.ui.editpolicies.GraphicalNodeEditPolicy#getReconnectTargetCommand(org.eclipse.gef.requests.ReconnectRequest)
-     */
-    
-    @Override
-    protected Command getReconnectTargetCommand(final ReconnectRequest request) {
-        if (request.getConnectionEditPart().getModel() instanceof Edge) {
-            final Edge edge = (Edge) request.getConnectionEditPart().getModel();
-            if (GMFNotationHelper.isNoteAttachment(edge)) {
-                return super.getReconnectTargetCommand(request);
-            }
-        }
-        DEdge edge = null;
-        EdgeTarget target = null;
-        final ConnectionEditPart connectionEditPart = request.getConnectionEditPart();
-        if (connectionEditPart.getModel() instanceof View && ((View) connectionEditPart.getModel()).getElement() instanceof DEdge) {
-            edge = (DEdge) ((View) connectionEditPart.getModel()).getElement();
-        }
-        EdgeTarget source = null;
-        if (edge != null) {
-            source = edge.getTargetNode();
-        }
-        if (request.getTarget().getModel() instanceof View && ((View) request.getTarget().getModel()).getElement() instanceof EdgeTarget) {
-            target = (EdgeTarget) ((View) request.getTarget().getModel()).getElement();
-        }
-
-        Command cmd = UnexecutableCommand.INSTANCE;
-        if (source != null && target != null) {
-            if (target != source) {
-                Option<EdgeMapping> edgeMapping = new IEdgeMappingQuery(edge.getActualMapping()).getEdgeMapping();
-                final ReconnectEdgeDescription tool = edgeMapping.some() ? getBestTool(edgeMapping.get(), false, source, target, edge, true) : null;
-                if (tool != null) {
-                    final CompoundCommand result = new CompoundCommand();
-                    result.add(this.getToolCommand(tool, edge, source, target));
-                    result.add(getReconnectTargetCommandAfterTool(request));
-                    cmd = result;
-                }
-            } else if (isCenteredEnd(connectionEditPart, edge, CenteringStyle.TARGET)) {
-                cmd = UnexecutableCommand.INSTANCE;
-            } else {
-                ConnectionEditPartQuery cepq = new ConnectionEditPartQuery(request.getConnectionEditPart());
-                if (cepq.isEdgeWithTreeRoutingStyle() && applySpecificTreeLayout(request.getConnectionEditPart())) {
-                    cmd = getReconnectTargetForTreeLayoutCommand(request);
-                } else if (cepq.isEdgeWithObliqueRoutingStyle() || cepq.isEdgeWithRectilinearRoutingStyle()) {
-                    cmd = getReconnectSourceOrTargetForObliqueOrRectilinearCommand(request, false);
-                } else {
-                    cmd = super.getReconnectTargetCommand(request);
-                }
-            }
-        }
-        return cmd;
-    }
-
-    /**
-     * Gets the reconnect source or target for oblique or rectilinear command.
-     *
-     * @param request the request
-     * @param source the source
-     * @return the reconnect source or target for oblique or rectilinear command
-     */
-    private Command getReconnectSourceOrTargetForObliqueOrRectilinearCommand(ReconnectRequest request, boolean source) {
-        INodeEditPart node = getConnectableEditPart();
-        INodeEditPart targetEP = getConnectionCompleteEditPart(request);
-        if (node == null || targetEP == null) {
-            return null;
-        }
-
-        TransactionalEditingDomain editingDomain = ((IGraphicalEditPart) getHost()).getEditingDomain();
-
-        ConnectionAnchor targetAnchor = getConnectionTargetAnchor(request);
-
-        // Creation of the command that set the connection end points (source
-        // and target)
-        SetConnectionEndsCommand sceCommand = new SetConnectionEndsCommand(editingDomain, StringStatics.BLANK);
-        sceCommand.setEdgeAdaptor(new EObjectAdapter((EObject) request.getConnectionEditPart().getModel()));
-        if (source) {
-            sceCommand.setNewSourceAdaptor(targetEP);
-        } else {
-            sceCommand.setNewTargetAdaptor(targetEP);
-        }
-        // Creation of the command that set the connection anchors (also source
-        // and target)
-        SetConnectionAnchorsCommand scaCommand = new SetConnectionAnchorsCommand(editingDomain, StringStatics.BLANK);
-        scaCommand.setEdgeAdaptor(new EObjectAdapter((EObject) request.getConnectionEditPart().getModel()));
-        if (source) {
-            scaCommand.setNewSourceTerminal(targetEP.mapConnectionAnchorToTerminal(targetAnchor));
-        } else {
-            scaCommand.setNewTargetTerminal(targetEP.mapConnectionAnchorToTerminal(targetAnchor));
-        }
-        // Both command are composed in a composite command
-        CompositeCommand cc = new CompositeCommand(DiagramUIMessages.Commands_SetConnectionEndsCommand_Target);
-        cc.compose(sceCommand);
-        cc.compose(scaCommand);
-        // Set points of Edge as they are graphically
-        Connection connection = (Connection) ((GraphicalEditPart) request.getConnectionEditPart()).getFigure();
-        Point tempSourceRefPoint = connection.getSourceAnchor().getReferencePoint();
-        connection.translateToRelative(tempSourceRefPoint);
-
-        Point tempTargetRefPoint = connection.getTargetAnchor().getReferencePoint();
-        connection.translateToRelative(tempTargetRefPoint);
-
-        PointList connectionPointList = connection.getPoints().getCopy();
-
-        // Set the connection bendpoints with a PointList using a command
-        SetConnectionBendpointsAndLabelCommmand sbbCommand = new SetConnectionBendpointsAndLabelCommmand(editingDomain);
-        sbbCommand.setEdgeAdapter(request.getConnectionEditPart());
-        sbbCommand.setNewPointList(connectionPointList, tempSourceRefPoint, tempTargetRefPoint);
-        if (request.getConnectionEditPart() instanceof org.eclipse.gmf.runtime.diagram.ui.editparts.ConnectionEditPart) {
-            sbbCommand.setLabelsToUpdate((org.eclipse.gmf.runtime.diagram.ui.editparts.ConnectionEditPart) request.getConnectionEditPart(),
-                    InitialPointsOfRequestDataManager.getOriginalPoints(request));
-        }
-        cc.compose(sbbCommand);
-
-        return new ICommandProxy(cc);
-    }
-
-    /**
-     * Checks if is centered end.
-     *
-     * @param connectionEditPart the connection edit part
-     * @param edge the edge
-     * @param centeringStyle the centering style
-     * @return true, if is centered end
-     */
-    private boolean isCenteredEnd(ConnectionEditPart connectionEditPart, DEdge edge, CenteringStyle centeringStyle) {
-        boolean returnValue = false;
-        EdgeStyle edgeStyle = edge.getOwnedStyle();
-        if (edgeStyle != null) {
-            returnValue = edgeStyle.getCentered() == CenteringStyle.BOTH || edgeStyle.getCentered() == centeringStyle;
-            // if the edge is rectilinear and has only two bendpoints, we
-            // also forbid to move the opposite end, otherwise all the segment
-            // move.
-            if (!returnValue && EdgeRouting.MANHATTAN_LITERAL.getLiteral().equals(edgeStyle.getRoutingStyle().getLiteral())) {
-                IFigure figure = connectionEditPart.getFigure();
-                if (figure instanceof Connection) {
-                    returnValue = ((Connection) figure).getPoints().size() <= 2;
-                }
-            }
-        }
-
-        return returnValue;
-    }
-
-    /**
-     * Same behavior has super.getReconnectTargetCommand but using a custom
-     * SetConnectionAnchorsCommand because modification on reconnected edge are
-     * now done in precommit.
-     *
-     * @param request the request
-     * @return the reconnect target command after tool
-     * @see org.eclipse.gef.editpolicies.GraphicalNodeEditPolicy#getReconnectTargetCommand(org.eclipse.gef.requests.ReconnectRequest)
-     */
-    private Command getReconnectTargetCommandAfterTool(ReconnectRequest request) {
-        INodeEditPart node = getConnectableEditPart();
-        if (node == null || getConnectionCompleteEditPart(request) == null) {
-            return null;
-        }
-
-        TransactionalEditingDomain editingDomain = ((IGraphicalEditPart) getHost()).getEditingDomain();
-
-        ConnectionAnchor targetAnchor = getConnectionTargetAnchor(request);
-        INodeEditPart targetEP = getConnectionCompleteEditPart(request);
-
-        View targetView = (View) targetEP.getModel();
-        SiriusSetConnectionAnchorsCommand scaCommand = new SiriusSetConnectionAnchorsCommand(editingDomain, DiagramUIMessages.Commands_SetConnectionEndsCommand_Target, targetView,
-                targetView.getTargetEdges(), ReconnectionKind.RECONNECT_TARGET_LITERAL);
-        scaCommand.setNewTargetTerminal(targetEP.mapConnectionAnchorToTerminal(targetAnchor));
-
-        // We retrieve the current source anchor and set it in the
-        // SiriusSetConnectionAnchorsCommand. when reconnecting the edge, a new
-        // edge is created and the anchor is lost, we need to set it back.
-        ConnectionEditPart cep = request.getConnectionEditPart();
-        Connection connection = (Connection) cep.getFigure();
-        ConnectionAnchor connectionAnchor = connection.getSourceAnchor();
-        if (connectionAnchor instanceof BaseSlidableAnchor) {
-            String sourceTerminal = ((BaseSlidableAnchor) connectionAnchor).getTerminal();
-            scaCommand.setNewSourceTerminal(sourceTerminal);
-        }
-
-        Command cmd = new ICommandProxy(scaCommand);
-
-        RoutingStyle style = (RoutingStyle) ((View) cep.getModel()).getStyle(NotationPackage.eINSTANCE.getRoutingStyle());
-        Routing currentRouter = Routing.MANUAL_LITERAL;
-        if (style != null) {
-            currentRouter = style.getRouting();
-        }
-        Command cmdRouter = getRoutingAdjustment(request.getConnectionEditPart(), getSemanticHint(request), currentRouter, request.getTarget());
-        if (cmdRouter != null) {
-            // The router has changed, therefore bendpoints are "reset" to only
-            // source and target
-            cmd = cmd.chain(cmdRouter);
-            // reset the bendpoints
-            ConnectionAnchor sourceAnchor = node.getSourceConnectionAnchor(request);
-            PointList pointList = new PointList();
-            pointList.addPoint(sourceAnchor.getLocation(targetAnchor.getReferencePoint()));
-            pointList.addPoint(targetAnchor.getLocation(sourceAnchor.getReferencePoint()));
-
-            SetReconnectingConnectionBendpointsCommand sbbCommand = new SetReconnectingConnectionBendpointsCommand(editingDomain, targetView, targetView.getTargetEdges(),
-                    ReconnectionKind.RECONNECT_TARGET_LITERAL);
-            sbbCommand.setNewPointList(pointList, sourceAnchor.getReferencePoint(), targetAnchor.getReferencePoint());
-            if (request.getConnectionEditPart() instanceof org.eclipse.gmf.runtime.diagram.ui.editparts.ConnectionEditPart) {
-                sbbCommand.setLabelsToUpdate((org.eclipse.gmf.runtime.diagram.ui.editparts.ConnectionEditPart) request.getConnectionEditPart());
-            }
-            Command cmdBP = new ICommandProxy(sbbCommand);
-            if (cmdBP != null) {
-                cmd = cmd.chain(cmdBP);
-            }
-        } else {
-            // The router is the same, therefore the bendpoint of the new
-            // reconnected edge are set accordingly to the feedback of the
-            // previous edge under reconnection
-
-            // Set points of Edge as they are graphically
-            Point tempSourceRefPoint = connection.getSourceAnchor().getReferencePoint();
-            connection.translateToRelative(tempSourceRefPoint);
-
-            Point tempTargetRefPoint = connection.getTargetAnchor().getReferencePoint();
-            connection.translateToRelative(tempTargetRefPoint);
-
-            PointList connectionPointList = connection.getPoints().getCopy();
-
-            restoreMissingBendpointOverCandidate(request, connectionPointList);
-
-            // Set the connection bendpoints with a PointList using a command
-            SetReconnectingConnectionBendpointsCommand sbbCommand = new SetReconnectingConnectionBendpointsCommand(editingDomain, targetView, targetView.getTargetEdges(),
-                    ReconnectionKind.RECONNECT_TARGET_LITERAL);
-            sbbCommand.setNewPointList(connectionPointList, tempSourceRefPoint, tempTargetRefPoint);
-            if (request.getConnectionEditPart() instanceof org.eclipse.gmf.runtime.diagram.ui.editparts.ConnectionEditPart) {
-                sbbCommand.setLabelsToUpdate((org.eclipse.gmf.runtime.diagram.ui.editparts.ConnectionEditPart) request.getConnectionEditPart());
-            }
-
-            Command cmdBP = new ICommandProxy(sbbCommand);
-            if (cmdBP != null) {
-                cmd = cmd == null ? cmdBP : cmd.chain(cmdBP);
-            }
-
-        }
-        return cmd;
-    }
-
-    /**
-     * Because the feedback is handled by SiriusConnectionEndPointEditPolicy and
-     * the reconnection is handled by the current policy, when the reconnection
-     * switch to another target candidate some bendpoints can be missing on
-     * reconnection. The missing bendpoints are the result of the ObliqueRouter
-     * that removes bendpoints over the target candidate.
-     *
-     * @param request
-     *            current {@link ReconnectRequest}
-     * @param connectionPointList
-     *            Bendpoint location of the edge under reconnection
-     */
-    private void restoreMissingBendpointOverCandidate(ReconnectRequest request, PointList connectionPointList) {
-        Edge edge = (Edge) request.getConnectionEditPart().getModel();
-        Bendpoints bendpoints = edge.getBendpoints();
-        Point sourceEndAnchorLocation = null;
-        Point targetEndAnchorLocation = null;
-        DEdge dedge = (DEdge) edge.getElement();
-
-        if (!EdgeRouting.STRAIGHT_LITERAL.equals(((EdgeStyle) dedge.getStyle()).getRoutingStyle())
-                || bendpoints instanceof RelativeBendpoints && connectionPointList.size() == ((RelativeBendpoints) bendpoints).getPoints().size()) {
-            // Only the oblique router can remove bendpoints or there is no
-            // missing bendpoint here. Move Along.
-            return;
-        }
-
-        // Computation of the location of the anchor on the end that is not
-        // under reconnection
-        sourceEndAnchorLocation = getAnchorLocation(((GraphicalEditPart) request.getConnectionEditPart().getSource()).getFigure().getBounds(), edge.getSourceAnchor());
-        targetEndAnchorLocation = getAnchorLocation(((GraphicalEditPart) request.getConnectionEditPart().getTarget()).getFigure().getBounds(), edge.getTargetAnchor());
-
-        // Computation of the bendpoints locations before reconnection using
-        // data from the gmf model instead of the figure (unreliable as it
-        // updates during reconnection)
-        ArrayList<Point> previousBendpoints = Lists.<Point> newArrayList();
-        if (bendpoints instanceof RelativeBendpoints && sourceEndAnchorLocation != null && targetEndAnchorLocation != null) {
-            RelativeBendpoints relativeBendpoints = (RelativeBendpoints) bendpoints;
-            List<?> points = relativeBendpoints.getPoints();
-            for (RelativeBendpoint rbp : Iterables.filter(points, RelativeBendpoint.class)) {
-                Point benpointLocationFromSource = sourceEndAnchorLocation.getTranslated(rbp.getSourceX(), rbp.getSourceY());
-                Point benpointLocationFromTarget = targetEndAnchorLocation.getTranslated(rbp.getTargetX(), rbp.getTargetY());
-                if (!benpointLocationFromSource.equals(benpointLocationFromTarget)) {
-                    // if bendpoint location computed from source and target are
-                    // different, the edge is an average of both. We don't have
-                    // reliable coordinates to process here but these
-                    // coordinates will be matching after reconnection.
-                    return;
-                }
-                previousBendpoints.add(benpointLocationFromSource);
-            }
-        }
-
-        // Detection of bendpoints missing in the current connectionPointList
-        // compare to the original bendpoints
-        LinkedHashMap<Integer, Point> pointToAddByIndexMap = Maps.<Integer, Point> newLinkedHashMap();
-        // We ignore the first and last bendpoints as they can't be hidden
-        for (int i = 1; i <= previousBendpoints.size() - 2; i++) {
-            // When a missing bendpoint is found the index must only increase
-            // for the list containing all bendpoints
-            if (connectionPointList.size() > i - pointToAddByIndexMap.keySet().size() && !connectionPointList.getPoint(i - pointToAddByIndexMap.keySet().size()).equals(previousBendpoints.get(i))) {
-                // Note that we could exclude the bendpoint over the target
-                // candidate but it will be handled by the ObliqueRouteur
-                pointToAddByIndexMap.put(i, previousBendpoints.get(i));
-            }
-        }
-
-        // Addition of the missing bendpoint at the expected index
-        pointToAddByIndexMap.forEach((index, point) -> connectionPointList.insertPoint(point, index));
-    }
-
-    /**
-     * Compute anchor location using its end bounds.
-     *
-     * @param untouchedEndBounds
-     *            bounds of the element on which is the anchor
-     * @param previousAnchor
-     *            the Anchor used to compute location
-     * @return the location of the anchor
-     */
-    private Point getAnchorLocation(Rectangle untouchedEndBounds, Anchor previousAnchor) {
-        Point result = null;
-        PrecisionPoint rel = new PrecisionPoint(0.5, 0.5);
-        // Note that the anchor will be null if it is centered
-        if (previousAnchor instanceof IdentityAnchor) {
-            rel = BaseSlidableAnchor.parseTerminalString(((IdentityAnchor) previousAnchor).getId());
-        }
-        result = new PrecisionPoint(untouchedEndBounds.getLocation().x + untouchedEndBounds.width * rel.preciseX(), untouchedEndBounds.getLocation().y + untouchedEndBounds.height * rel.preciseY());
-        return result;
-    }
-
-    /**
-     * Gets the best tool.
-     *
-     * @param mapping the mapping
-     * @param source the source
-     * @param oldTarget the old target
-     * @param newTarget the new target
-     * @param edge the edge
-     * @param computePreCondition the compute pre condition
-     * @return the best tool
-     */
-    private ReconnectEdgeDescription getBestTool(final EdgeMapping mapping, final boolean source, final EdgeTarget oldTarget, final EdgeTarget newTarget, final DEdge edge,
-            boolean computePreCondition) {
-        final List<ReconnectEdgeDescription> candidateTool = new ArrayList<ReconnectEdgeDescription>(mapping.getReconnections());
-
-        ReconnectEdgeDescription bestTool = null;
-        EObject semanticSource = null;
-        EObject semanticTarget = null;
-        EObject semanticElement = null;
-
-        if (oldTarget instanceof DSemanticDecorator) {
-            semanticSource = ((DSemanticDecorator) oldTarget).getTarget();
-        }
-        if (newTarget instanceof DSemanticDecorator) {
-            semanticTarget = ((DSemanticDecorator) newTarget).getTarget();
-        }
-        semanticElement = ((DSemanticDecorator) edge).getTarget();
-
-        // get the tool that applies on source or target.
-        selectReconnectionToolCandidates(candidateTool, source);
-
-        if (!candidateTool.isEmpty()) {
-            Iterator<ReconnectEdgeDescription> toolIterator = candidateTool.iterator();
-            // Check precondtion
-            while (toolIterator.hasNext()) {
-                final ReconnectEdgeDescription myTool = toolIterator.next();
-                final String precondition = myTool.getPrecondition();
-                if (computePreCondition && precondition != null && !StringUtil.isEmpty(precondition)) {
-
-                    final IInterpreter interpreter = SiriusPlugin.getDefault().getInterpreterRegistry().getInterpreter(semanticElement);
-
-                    interpreter.setVariable(IInterpreterSiriusVariables.DIAGRAM, edge.getParentDiagram());
-                    interpreter.setVariable(IInterpreterSiriusVariables.SOURCE, semanticSource);
-                    interpreter.setVariable(IInterpreterSiriusVariables.SOURCE_VIEW, oldTarget);
-                    interpreter.setVariable(IInterpreterSiriusVariables.TARGET, semanticTarget);
-                    interpreter.setVariable(IInterpreterSiriusVariables.TARGET_VIEW, newTarget);
-                    interpreter.setVariable(IInterpreterSiriusVariables.ELEMENT, semanticElement);
-
-                    final boolean preconditionOK = RuntimeLoggerManager.INSTANCE.decorate(interpreter).evaluateBoolean(semanticElement, myTool,
-                            ToolPackage.eINSTANCE.getAbstractToolDescription_Precondition());
-                    if (!preconditionOK) {
-                        toolIterator.remove();
-                    }
-
-                    interpreter.unSetVariable(IInterpreterSiriusVariables.SOURCE);
-                    interpreter.unSetVariable(IInterpreterSiriusVariables.TARGET);
-                    interpreter.unSetVariable(IInterpreterSiriusVariables.ELEMENT);
-                    interpreter.unSetVariable(IInterpreterSiriusVariables.DIAGRAM);
-                    interpreter.unSetVariable(IInterpreterSiriusVariables.SOURCE_VIEW);
-                    interpreter.unSetVariable(IInterpreterSiriusVariables.TARGET_VIEW);
-                }
-            }
-            // Check that the mapping of the new end is in the
-            // authorized list.
-            toolIterator = candidateTool.iterator();
-            while (toolIterator.hasNext()) {
-                final ReconnectEdgeDescription myTool = toolIterator.next();
-                if (!new ReconnectEdgeDescriptionQuery(myTool).isEndAuthorized(source, newTarget)) {
-                    toolIterator.remove();
-                }
-            }
-
-        }
-        if (!candidateTool.isEmpty()) {
-            bestTool = candidateTool.get(0);
-        }
-
-        return bestTool;
-
-    }
-
-    /**
-     * Select reconnection tool candidates.
-     *
-     * @param candidateTool the candidate tool
-     * @param source the source
-     */
-    private void selectReconnectionToolCandidates(final List<ReconnectEdgeDescription> candidateTool, final boolean source) {
-        final Iterator<ReconnectEdgeDescription> iterTools = candidateTool.iterator();
-        while (iterTools.hasNext()) {
-            final ReconnectEdgeDescription currentTool = iterTools.next();
-            if ((source && currentTool.getReconnectionKind() == ReconnectionKind.RECONNECT_TARGET_LITERAL)
-                    || (!source && currentTool.getReconnectionKind() == ReconnectionKind.RECONNECT_SOURCE_LITERAL)) {
-                iterTools.remove();
-            }
-        }
-    }
-
-    /**
-     * Gets the tool command.
-     *
-     * @param tool the tool
-     * @param edge the edge
-     * @param source the source
-     * @param target the target
-     * @return the tool command
-     */
-    private Command getToolCommand(final ReconnectEdgeDescription tool, final DEdge edge, final EdgeTarget source, final EdgeTarget target) {
-        final DDiagramEditor diagramEditor = (DDiagramEditor) this.getHost().getViewer().getProperty(DDiagramEditor.EDITOR_ID);
-        if (diagramEditor != null) {
-            final Object adapter = diagramEditor.getAdapter(IDiagramCommandFactoryProvider.class);
-            final IDiagramCommandFactoryProvider cmdFactoryProvider = (IDiagramCommandFactoryProvider) adapter;
-            final TransactionalEditingDomain domain = TransactionUtil.getEditingDomain(source);
-            final IDiagramCommandFactory emfCommandFactory = cmdFactoryProvider.getCommandFactory(domain);
-            return new ICommandProxy(new GMFCommandWrapper(domain, emfCommandFactory.buildReconnectEdgeCommandFromTool(tool, edge, source, target)));
-        }
-        return UnexecutableCommand.INSTANCE;
-    }
-
-    /**
-     * Gets the connection create command.
-     *
-     * @param request the request
-     * @return the connection create command
-     * @see org.eclipse.gmf.runtime.diagram.ui.editpolicies.GraphicalNodeEditPolicy#getConnectionCreateCommand(org.eclipse.gef.requests.CreateConnectionRequest)
-     */
-    
-    @Override
-    protected Command getConnectionCreateCommand(CreateConnectionRequest request) {
-        Command connectionCreateCommand = null;
-        if (request instanceof CreateConnectionViewRequest) {
-            connectionCreateCommand = super.getConnectionCreateCommand(request);
-        } else {
-            if (CreateConnectionRequestHelper.computeConnectionStartExtendedData(request, getConnectableEditPart())) {
-                connectionCreateCommand = new ICommandProxy(IdentityCommand.INSTANCE);
-            }
-        }
-        if (connectionCreateCommand == null) {
-            connectionCreateCommand = super.getConnectionCreateCommand(request);
-        }
-        return connectionCreateCommand;
-    }
-
-    /**
-     * Gets the connection complete command.
-     *
-     * @param request the request
-     * @return the connection complete command
-     * @see org.eclipse.gmf.runtime.diagram.ui.editpolicies.TreeGraphicalNodeEditPolicy#getConnectionCompleteCommand(org.eclipse.gef.requests.CreateConnectionRequest)
-     */
-    
-    @Override
-    protected Command getConnectionCompleteCommand(final CreateConnectionRequest request) {
-        Command connectionCompleteCommand = null;
-
-        if (new RequestQuery(request).isNoteAttachmentCreationRequest()) {
-            connectionCompleteCommand = super.getConnectionCompleteCommand(request);
-        } else {
-            connectionCompleteCommand = buildSiriusConnectionCreationCmd(request);
-        }
-        return connectionCompleteCommand;
-    }
-
-    /**
-     * Builds the sirius connection creation cmd.
-     *
-     * @param request the request
-     * @return the command
-     */
-    private Command buildSiriusConnectionCreationCmd(CreateConnectionRequest request) {
-        Command viewpointConnectionCreationCmd = null;
-        INodeEditPart targetEP = getConnectionCompleteEditPart(request);
-        if (targetEP != null) {
-
-            INodeEditPart sourceEditPart = (INodeEditPart) request.getSourceEditPart();
-
-            // Location relative to the source: Position where the user
-            // clicked, but snapped to grid if this feature is enabled
-            Point sourceLocation = getEdgeLocationSource(request);
-            // Location relative to the target: Position where the user
-            // clicked, but snapped to grid if this feature is enabled
-            Point targetLocation = getConvertedLocation(request);
-            EdgeLayoutData edgeLayoutData;
-            if (GraphicalHelper.isSnapToGridEnabled(sourceEditPart)) {
-                edgeLayoutData = getEdgeLayoutDataWithSnapToGrid(request, sourceEditPart, targetEP, sourceLocation, targetLocation);
-            } else {
-                edgeLayoutData = getEdgeLayoutData(request, sourceEditPart, targetEP, sourceLocation, targetLocation);
-            }
-
-            DSemanticDecorator decorateSemanticElement = null;
-            if (this.getHost().getModel() instanceof View) {
-                View view = (View) this.getHost().getModel();
-                if (view.getElement() instanceof DSemanticDecorator) {
-                    decorateSemanticElement = (DSemanticDecorator) view.getElement();
-                }
-            }
-            if (decorateSemanticElement instanceof EdgeTarget && request.getExtendedData().get(GMF_EDGE_CREATION_DESCRIPTION) instanceof EdgeCreationDescription) {
-                EdgeTarget source = (EdgeTarget) request.getExtendedData().get(GMF_EDGE_TARGET_SOURCE);
-                if (source != null) {
-                    EdgeTarget target = (EdgeTarget) decorateSemanticElement;
-                    EdgeCreationDescription edgeCreationDescription = (EdgeCreationDescription) request.getExtendedData().get(GMF_EDGE_CREATION_DESCRIPTION);
-                    boolean canCreate = new EdgeCreationDescriptionQuery(edgeCreationDescription).canBeAppliedOn((DMappingBased) source, (DMappingBased) target);
-                    if (canCreate) {
-                        DDiagramEditor diagramEditor = (DDiagramEditor) this.getHost().getViewer().getProperty(DDiagramEditor.EDITOR_ID);
-                        IDiagramCommandFactoryProvider cmdFactoryProvider = diagramEditor.getAdapter(IDiagramCommandFactoryProvider.class);
-                        viewpointConnectionCreationCmd = buildCreateEdgeCommand(request, source, target, edgeCreationDescription, cmdFactoryProvider, edgeLayoutData);
-                    }
-                }
-            }
-        }
-        return viewpointConnectionCreationCmd;
-    }
-
-    /**
-     * Create the edge layout data that will be used later after the refresh.
-     *
-     * @param request
-     *            The original creation request
-     * @param sourceEditPart
-     *            the {@link EditPart} that the source end of the connection
-     *            should be connected to.
-     * @param targetEditPart
-     *            the {@link EditPart} that the target end of the connection
-     *            should be connected to.
-     * @param sourceLocation
-     *            the location of the first click (relative to the source edit
-     *            part)
-     * @param targetLocation
-     *            the location of the second click (relative to the target edit
-     *            part)
-     * @return The edge layout data corresponding to the creation request.
-     */
-    protected EdgeLayoutData getEdgeLayoutData(CreateConnectionRequest request, INodeEditPart sourceEditPart, INodeEditPart targetEditPart, Point sourceLocation, Point targetLocation) {
-        String newSourceTerminal = getEdgeTerminalSource(request);
-        ConnectionAnchor sourceAnchor = sourceEditPart.mapTerminalToConnectionAnchor(newSourceTerminal);
-
-        ConnectionAnchor targetAnchor = targetEditPart.getTargetConnectionAnchor(request);
-        String newTargetTerminal = targetEditPart.mapConnectionAnchorToTerminal(targetAnchor);
-
-        Point sourceRefPoint = sourceAnchor.getReferencePoint();
-        Point targetRefPoint = targetAnchor.getReferencePoint();
-
-        PointList pointList = new PointList();
-        if (request.getLocation() == null) {
-            pointList.addPoint(sourceAnchor.getLocation(targetAnchor.getReferencePoint()));
-            pointList.addPoint(targetAnchor.getLocation(sourceAnchor.getReferencePoint()));
-        } else {
-            pointList.addPoint(sourceAnchor.getLocation(request.getLocation()));
-            pointList.addPoint(targetAnchor.getLocation(request.getLocation()));
-        }
-
-        final LayoutData sourceLayoutData = new RootLayoutData(sourceEditPart, sourceLocation.getCopy(), null);
-        final LayoutData targetLayoutData = new RootLayoutData(targetEditPart, targetLocation.getCopy(), null);
-        EdgeLayoutData edgeLayoutData = new EdgeLayoutData(sourceLayoutData, targetLayoutData);
-
-        edgeLayoutData.setSourceTerminal("" + newSourceTerminal); //$NON-NLS-1$
-        edgeLayoutData.setTargetTerminal("" + newTargetTerminal); //$NON-NLS-1$
-
-        edgeLayoutData.setPointList(pointList.getCopy());
-        edgeLayoutData.setSourceRefPoint(sourceRefPoint.getCopy());
-        edgeLayoutData.setTargetRefPoint(targetRefPoint.getCopy());
-        return edgeLayoutData;
-    }
-
-    /**
-     * Create the edge layout data that will be used later after the refresh.
-     * According to
-     * {@link #getEdgeLayoutData(CreateConnectionRequest, INodeEditPart, INodeEditPart, Point, Point)}
-     * this method ensures that the first point and the last point of the edge
-     * will be snap to the grid (at least one of there coordinates. The other is
-     * constrained by the side of the source (or the target).<BR>
-     * This is not possible to do it earlier (in feedback for example) because
-     * we should know source and target data to compute the new source and
-     * target location.
-     *
-     * @param request
-     *            The original creation request
-     * @param sourceEditPart
-     *            the {@link EditPart} that the source end of the connection
-     *            should be connected to.
-     * @param targetEditPart
-     *            the {@link EditPart} that the target end of the connection
-     *            should be connected to.
-     * @param sourceLocation
-     *            the location of the first click (relative to the source edit part), snapped to grid if feature enabled
-     * @param targetLocation
-     *            the location of the second click (relative to the target edit part), snapped to grid if feature
-     *            enabled
-     * @return The edge layout data corresponding to the creation request and to
-     *         the snapToGrid state.
-     */
-    protected EdgeLayoutData getEdgeLayoutDataWithSnapToGrid(CreateConnectionRequest request, INodeEditPart sourceEditPart, INodeEditPart targetEditPart, Point sourceLocation, Point targetLocation) {
-        IGraphicalEditPart srcEditPart = (IGraphicalEditPart) sourceEditPart;
-        IGraphicalEditPart tgtEditPart = (IGraphicalEditPart) targetEditPart;
-
-        // Get the absolute source and target location but in 100% to facilitate
-        // the computing
-        Rectangle absoluteSourceBoundsIn100Percent = GraphicalHelper.getAbsoluteBoundsIn100Percent(sourceEditPart);
-        Point absoluteSourceLocationIn100Percent = sourceLocation.getTranslated(absoluteSourceBoundsIn100Percent.getTopLeft());
-        Rectangle absoluteTargetBoundsIn100Percent = GraphicalHelper.getAbsoluteBoundsIn100Percent(targetEditPart);
-        Point absoluteTargetLocationIn100Percent = targetLocation.getTranslated(absoluteTargetBoundsIn100Percent.getTopLeft());
-
-        // Compute intersection between the line (source location<-->target
-        // location) and the source node
-        Optional<Point> intersectionSourcePoint = GraphicalHelper.getIntersection(absoluteSourceLocationIn100Percent, absoluteTargetLocationIn100Percent, srcEditPart, false, true);
-        // Compute intersection between the line (source location<-->target
-        // location) and the target node
-        Optional<Point> intersectionTargetPoint = GraphicalHelper.getIntersection(absoluteSourceLocationIn100Percent, absoluteTargetLocationIn100Percent, tgtEditPart, true, true);
-        // Compute the snap source location and the snap target location
-        if (intersectionSourcePoint.isPresent() && intersectionTargetPoint.isPresent()) {
-            PointList sourceSnappedPoints = snapLocationToGridAndToParentBorder(absoluteSourceLocationIn100Percent, absoluteSourceBoundsIn100Percent, intersectionSourcePoint.get());
-            PointList targetSnappedPoints = snapLocationToGridAndToParentBorder(absoluteTargetLocationIn100Percent, absoluteTargetBoundsIn100Percent, intersectionTargetPoint.get());
-            EdgeLayoutData edgeLayoutData = createEdgeLayoutData(srcEditPart, tgtEditPart, absoluteSourceBoundsIn100Percent, absoluteTargetBoundsIn100Percent, sourceSnappedPoints.getFirstPoint(),
-                    targetSnappedPoints.getFirstPoint());
-            EdgeLayoutData edgeLayoutData2 = createEdgeLayoutData(srcEditPart, tgtEditPart, absoluteSourceBoundsIn100Percent, absoluteTargetBoundsIn100Percent, sourceSnappedPoints.getLastPoint(),
-                    targetSnappedPoints.getLastPoint());
-            edgeLayoutData.setEdgeLayoutDataForBorderNodes(edgeLayoutData2);
-            return edgeLayoutData;
-        } else {
-            // There is probably a case not handle, use the default layout data
-            return getEdgeLayoutData(request, sourceEditPart, targetEditPart, sourceLocation, targetLocation);
-        }
-    }
-
-    /**
-     * Creates the edge layout data.
-     *
-     * @param sourceEditPart the source edit part
-     * @param targetEditPart the target edit part
-     * @param absoluteSourceBoundsIn100Percent the absolute source bounds in 100 percent
-     * @param absoluteTargetBoundsIn100Percent the absolute target bounds in 100 percent
-     * @param absoluteSourceLocationSnapIn100Percent the absolute source location snap in 100 percent
-     * @param absoluteTargetLocationSnapIn100Percent the absolute target location snap in 100 percent
-     * @return the edge layout data
-     */
-    private EdgeLayoutData createEdgeLayoutData(IGraphicalEditPart sourceEditPart, IGraphicalEditPart targetEditPart, Rectangle absoluteSourceBoundsIn100Percent,
-            Rectangle absoluteTargetBoundsIn100Percent, Point absoluteSourceLocationSnapIn100Percent, Point absoluteTargetLocationSnapIn100Percent) {
-        EdgeLayoutData edgeLayoutData;
-        // Make snap source point relative to the source edit part
-        Point sourceLocationSnapIn100Percent = getTranslatedToRelative(absoluteSourceLocationSnapIn100Percent, absoluteSourceBoundsIn100Percent);
-        final LayoutData sourceLayoutData = new RootLayoutData(sourceEditPart, sourceLocationSnapIn100Percent, null);
-        // Make snap target point relative to the source edit part
-        Point targetLocationSnapIn100Percent = getTranslatedToRelative(absoluteTargetLocationSnapIn100Percent, absoluteTargetBoundsIn100Percent);
-        final LayoutData targetLayoutData = new RootLayoutData(targetEditPart, targetLocationSnapIn100Percent, null);
-        edgeLayoutData = new EdgeLayoutData(sourceLayoutData, targetLayoutData);
-        // Compute the new source terminal anchor
-        PrecisionPoint sourceTerminalPosition = new PrecisionPoint((double) sourceLocationSnapIn100Percent.x / absoluteSourceBoundsIn100Percent.width,
-                (double) sourceLocationSnapIn100Percent.y / absoluteSourceBoundsIn100Percent.height);
-        String sourceTerminal = new SlidableAnchor(null, sourceTerminalPosition).getTerminal();
-        edgeLayoutData.setSourceTerminal("" + sourceTerminal); //$NON-NLS-1$
-        // Compute the new target terminal anchor
-        PrecisionPoint targetTerminalPosition = new PrecisionPoint((double) targetLocationSnapIn100Percent.x / absoluteTargetBoundsIn100Percent.width,
-                (double) targetLocationSnapIn100Percent.y / absoluteTargetBoundsIn100Percent.height);
-        String targetTerminal = new SlidableAnchor(null, targetTerminalPosition).getTerminal();
-        edgeLayoutData.setTargetTerminal("" + targetTerminal); //$NON-NLS-1$
-        // Applied the zoom of the current diagram to set the pointList, the
-        // source reference point and the target reference point.
-        PrecisionPoint absoluteSourceLocationSnap = new PrecisionPoint(absoluteSourceLocationSnapIn100Percent);
-        GraphicalHelper.logical2screen(absoluteSourceLocationSnap, sourceEditPart);
-        PrecisionPoint absoluteTargteLoactionSnap = new PrecisionPoint(absoluteTargetLocationSnapIn100Percent);
-        GraphicalHelper.logical2screen(absoluteTargteLoactionSnap, targetEditPart);
-
-        edgeLayoutData.setSourceRefPoint(absoluteSourceLocationSnap);
-        edgeLayoutData.setTargetRefPoint(absoluteTargteLoactionSnap);
-
-        PointList pointList = new PointList();
-        pointList.addPoint(absoluteSourceLocationSnap.getCopy());
-        pointList.addPoint(absoluteTargteLoactionSnap.getCopy());
-        edgeLayoutData.setPointList(pointList.getCopy());
-        return edgeLayoutData;
-    }
-
-    /**
-     * Snap location to grid and to parent border.
-     *
-     * @param absoluteLocation            The location in absolute coordinates (and in 100%)
-     * @param absoluteParentBounds            The parent bounds in absolute coordinates (and in 100%)
-     * @param intersectionPoint            The intersection location in absolute coordinates (and in 100%)
-     * @return a list of 2 points: the first is the intersection point snap to grid and to parent border, the second is
-     *         snap to grid but on the nearest side of the parent border according to the click location
-     */
-    private PointList snapLocationToGridAndToParentBorder(Point absoluteLocation, Rectangle absoluteParentBounds, Point intersectionPoint) {
-        PointList result = new PointList();
-        Point absoluteLocationSnapIn100PercentOnIntersection;
-        Point absoluteLocationSnapIn100PercentOnNearestSide;
-        if (intersectionPoint.x == absoluteParentBounds.x || intersectionPoint.x == (absoluteParentBounds.x + absoluteParentBounds.width)) {
-            int yCoordinate = absoluteLocation.y;
-            // If y coordinate of absoluteLocation is outside the parent
-            // (possible if the snapToGrid "has attached" the location outside),
-            // we use the nearer parent side has coordinate.
-            if (absoluteParentBounds.y > yCoordinate) {
-                yCoordinate = absoluteParentBounds.y;
-            } else if (yCoordinate > (absoluteParentBounds.y + absoluteParentBounds.height)) {
-                yCoordinate = absoluteParentBounds.y + absoluteParentBounds.height;
-            }
-            absoluteLocationSnapIn100PercentOnIntersection = new Point(intersectionPoint.x, yCoordinate);
-            // Compute the x coordinate according to the nearest parent side
-            int xCoordinate = intersectionPoint.x;
-            if (absoluteLocation.x - absoluteParentBounds.x > absoluteParentBounds.getRight().x - absoluteLocation.x) {
-                xCoordinate = absoluteParentBounds.getRight().x;
-            }
-            absoluteLocationSnapIn100PercentOnNearestSide = absoluteLocation.getCopy();
-        } else {
-            int xCoordinate = absoluteLocation.x;
-            // If x coordinate of absoluteLocation is outside the parent
-            // (possible if the snapToGrid "has attached" the location outside),
-            // we use the nearer parent side has coordinate.
-            if (absoluteParentBounds.x > xCoordinate) {
-                xCoordinate = absoluteParentBounds.x;
-            } else if (xCoordinate > (absoluteParentBounds.x + absoluteParentBounds.width)) {
-                xCoordinate = absoluteParentBounds.x + absoluteParentBounds.width;
-            }
-            absoluteLocationSnapIn100PercentOnIntersection = new Point(xCoordinate, intersectionPoint.y);
-            // Compute the y coordinate according to the nearest parent side
-            int yCoordinate = absoluteLocation.y;
-            if (absoluteLocation.y - absoluteParentBounds.y > absoluteParentBounds.getBottom().y - absoluteLocation.y) {
-                yCoordinate = absoluteParentBounds.getBottom().y;
-            }
-            absoluteLocationSnapIn100PercentOnNearestSide = absoluteLocation.getCopy();
-        }
-        result.addPoint(absoluteLocationSnapIn100PercentOnIntersection);
-        result.addPoint(absoluteLocationSnapIn100PercentOnNearestSide);
-        return result;
-    }
-
-    /**
-     * Get a new location point relative to the parent.
-     *
-     * @param absoluteLocation
-     *            The location in absolute coordinates (and in 100%)
-     * @param absoluteParentBounds
-     *            The parent bounds in absolute coordinates (and in 100%)
-     * @return The location relative to the parent
-     */
-    private Point getTranslatedToRelative(Point absoluteLocation, Rectangle absoluteParentBounds) {
-        return new Point(absoluteLocation.x - absoluteParentBounds.x, absoluteLocation.y - absoluteParentBounds.y);
-    }
-
-    /**
-     * Gets the converted location.
-     *
-     * @param request the request
-     * @return the converted location
-     */
-    private Point getConvertedLocation(final CreateRequest request) {
-        return getConvertedLocation(request.getLocation().getCopy(), getHost(), false);
-    }
-
-    /**
-     * Convert a location to a location relative to its parent (
-     * <code>referencePart</code>).
-     * 
-     * @param pointToConvert
-     *            The point to convert
-     * @param referencePart
-     *            The reference edit part.
-     * @param feedbackCoordinates
-     *            true if the pointToConvert is from feedback, false otherwise
-     *            (coordinates from request). The coordinates from feedback must
-     *            be first adapted to remove diagram scrollbar to retrieve same
-     *            coordinates as from request.
-     * @return The converted point.
-     */
-    private Point getConvertedLocation(Point pointToConvert, EditPart referencePart, boolean feedbackCoordinates) {
-        Point realLocation;
-        if (pointToConvert != null && referencePart instanceof GraphicalEditPart) {
-            final IFigure fig = ((GraphicalEditPart) referencePart).getFigure();
-            if (feedbackCoordinates) {
-                // Remove diagram scrollbar
-                pointToConvert.translate(GraphicalHelper.getScrollSize((GraphicalEditPart) referencePart).negate());
-            }
-            fig.translateToRelative(pointToConvert);
-            final Point containerLocation = fig.getBounds().getLocation();
-            realLocation = new Point(pointToConvert.x - containerLocation.x, pointToConvert.y - containerLocation.y);
-            if (fig instanceof ResizableCompartmentFigure) {
-                final Point scrollOffset = ((ResizableCompartmentFigure) fig).getScrollPane().getViewport().getViewLocation();
-                realLocation = new Point(realLocation.x + scrollOffset.x, realLocation.y + scrollOffset.y);
-            }
-
-        } else {
-            realLocation = pointToConvert;
-        }
-        return realLocation;
-    }
-
-    /**
-     * Gets the edge terminal source.
-     *
-     * @param request the request
-     * @return the edge terminal source
-     */
-    private String getEdgeTerminalSource(CreateConnectionRequest request) {
-        // By default take the source terminal put in request.getExtendedData()
-        // by the getConnectionCreateCommand()
-        String edgeTerminalSource = (String) request.getExtendedData().get(GMF_EDGE_SOURCE_TERMINAL);
-        if (edgeTerminalSource == null) {
-            // else take the one set in SetConnectionAnchorsCommand by the GMF
-            // GraphicalNodeEditPolicy
-            Command startCommand = request.getStartCommand();
-            if (startCommand instanceof ICommandProxy) {
-                ICommandProxy commandProxy = (ICommandProxy) startCommand;
-                if (commandProxy.getICommand() instanceof CompositeCommand) {
-                    CompositeCommand compositeCommand = (CompositeCommand) commandProxy.getICommand();
-                    Iterator<?> iterator = compositeCommand.iterator();
-                    while (iterator.hasNext()) {
-                        Object cmd = iterator.next();
-                        if (cmd instanceof SetConnectionAnchorsCommand) {
-                            SetConnectionAnchorsCommand setConnectionAnchorsCommand = (SetConnectionAnchorsCommand) cmd;
-                            edgeTerminalSource = setConnectionAnchorsCommand.getNewSourceTerminal();
-                        }
-                    }
-                }
-            }
-        }
-        return edgeTerminalSource;
-    }
-
-    /**
-     * Gets the edge location source.
-     *
-     * @param request the request
-     * @return the edge location source
-     */
-    private Point getEdgeLocationSource(CreateConnectionRequest request) {
-        // By default take the location of the first click of the edge creation
-        // put in request.getExtendedData() by the getConnectionCreateCommand()
-        Point edgeLocationSource = (Point) request.getExtendedData().get(GMF_EDGE_LOCATION_SOURCE);
-        return edgeLocationSource;
-    }
-
-    /**
-     * . @ param request .
-     *
-     * @param request the request
-     * @param source            .
-     * @param target            .
-     * @param edgeCreationDescription            .
-     * @param cmdFactoryProvider            .
-     * @param edgeLayoutData the edge layout data
-     * @return .
-     * 
-     *         {@inheritDoc}
-     */
-    protected Command buildCreateEdgeCommand(final CreateConnectionRequest request, EdgeTarget source, EdgeTarget target, EdgeCreationDescription edgeCreationDescription,
-            IDiagramCommandFactoryProvider cmdFactoryProvider, EdgeLayoutData edgeLayoutData) {
-        TransactionalEditingDomain domain = TransactionUtil.getEditingDomain(source);
-        CompoundCommand result = new CompoundCommand(edgeCreationDescription.getName());
-        // Store location hints so that the new view can be put as the proper
-        // location after the refresh.
-        addStoreLayoutDataCommand(result, edgeLayoutData, request);
-        // Create the actual edge
-        org.eclipse.emf.common.command.Command emfCommand = cmdFactoryProvider.getCommandFactory(domain).buildCreateEdgeCommandFromTool(source, target, edgeCreationDescription);
-        result.add(new ICommandProxy(new GMFCommandWrapper(domain, emfCommand)));
-        return result;
-    }
-
-    /**
-     * Add a command to store the edge layout data.
-     *
-     * @param result
-     *            The compound command
-     * @param edgeLayoutData
-     *            The layout data to add to the SiriusLayoutDataManager
-     */
-    protected void addStoreLayoutDataCommand(CompoundCommand result, final EdgeLayoutData edgeLayoutData) {
-        addStoreLayoutDataCommand(result, edgeLayoutData, null);
-    }
-
-    /**
-     * Add a command to store the edge layout data. The edgeLayoutData can be
-     * override by another one extract from the feedback data stored in the
-     * request if necessary. The connection feedback of the request is used only
-     * if:
-     * <ul>
-     * <li>it is available in the extendedData of the request (key
-     * {@link #GMF_EDGE_FEEDBACK}).</li>
-     * <li>there is a potential straightened edge feedback (edge with only two
-     * points and with same x or same y).</li>
-     * </ul>
-     * .
-     *
-     * @param result
-     *            The compound command
-     * @param edgeLayoutData
-     *            The layout data to add to the SiriusLayoutDataManager
-     * @param request
-     *            the CreateConnectionRequest
-     */
-    protected void addStoreLayoutDataCommand(CompoundCommand result, final EdgeLayoutData edgeLayoutData, final CreateConnectionRequest request) {
-        result.add(new Command() {
-            @Override
-            public void execute() {
-                EdgeLayoutData feedbackEdgeLayoutData = null;
-                if (request != null) {
-                    Connection connectionFeedback = (Connection) request.getExtendedData().get(SiriusGraphicalNodeEditPolicy.GMF_EDGE_FEEDBACK);
-                    // The connection feedback is used only if we detect a
-                    // potential straightened edge feedback.
-                    if (connectionFeedback != null && connectionFeedback.getPoints().size() == 2
-                            && ((connectionFeedback.getPoints().getFirstPoint().x == connectionFeedback.getPoints().getLastPoint().x
-                                    || connectionFeedback.getPoints().getFirstPoint().y == connectionFeedback.getPoints().getLastPoint().y))) {
-                        // Override edgeLayoutData
-                        Point sourceLocationFromFeedback = connectionFeedback.getPoints().getFirstPoint();
-                        sourceLocationFromFeedback = getConvertedLocation(sourceLocationFromFeedback, request.getSourceEditPart(), true);
-                        if (sourceLocationFromFeedback != null) {
-                            Point targetLocationFromFeedback = connectionFeedback.getPoints().getLastPoint();
-                            targetLocationFromFeedback = getConvertedLocation(targetLocationFromFeedback, request.getTargetEditPart(), true);
-                            if (GraphicalHelper.isSnapToGridEnabled(request.getSourceEditPart())) {
-                                feedbackEdgeLayoutData = getEdgeLayoutDataWithSnapToGrid(request, (INodeEditPart) request.getSourceEditPart(), (INodeEditPart) request.getTargetEditPart(),
-                                        sourceLocationFromFeedback, targetLocationFromFeedback);
-                            } else {
-                                feedbackEdgeLayoutData = getEdgeLayoutData(request, (INodeEditPart) request.getSourceEditPart(), (INodeEditPart) request.getTargetEditPart(),
-                                        sourceLocationFromFeedback, targetLocationFromFeedback);
-                            }
-                        }
-                    }
-                }
-                if (feedbackEdgeLayoutData != null) {
-                    SiriusLayoutDataManager.INSTANCE.addData(feedbackEdgeLayoutData);
-                } else {
-                    SiriusLayoutDataManager.INSTANCE.addData(edgeLayoutData);
-                }
-            }
-        });
-    }
-
-    /**
-     * Gets the routing adjustment.
-     *
-     * @param connection the connection
-     * @param connectionHint the connection hint
-     * @param currentRouterType the current router type
-     * @param target the target
-     * @return the routing adjustment
-     * @see org.eclipse.gmf.runtime.diagram.ui.editpolicies.GraphicalNodeEditPolicy#getRoutingAdjustment(org.eclipse.core.runtime.IAdaptable, java.lang.String, org.eclipse.gmf.runtime.notation.Routing, org.eclipse.gef.EditPart)
-     */
-    
-    @Override
-    protected Command getRoutingAdjustment(IAdaptable connection, String connectionHint, Routing currentRouterType, EditPart target) {
-        Command cmd = null;
-        if (connectionHint == null || target == null || target.getModel() == null || ((View) target.getModel()).getElement() == null) {
-            return null;
-        }
-        // check if router needs to change type due to reorient.
-        Routing newRouterType = null;
-        if (connection instanceof IDiagramEdgeEditPart) {
-            DDiagramElement element = ((IDiagramEdgeEditPart) connection).resolveDiagramElement();
-            if (element instanceof DEdge) {
-                DEdge dEdge = (DEdge) element;
-                newRouterType = new DEdgeQuery(dEdge).getRouting();
-                if (newRouterType != null && !currentRouterType.equals(newRouterType)) {
-                    // add commands for line routing. Convert the new connection
-                    // and also the targeted connection.
-                    TransactionalEditingDomain domain = TransactionUtil.getEditingDomain(element);
-                    ICommand spc = new SetPropertyCommand(domain, connection, Properties.ID_ROUTING, StringStatics.BLANK, newRouterType);
-                    Command cmdRouter = new ICommandProxy(spc);
-                    if (cmdRouter != null) {
-                        cmd = cmdRouter;
-                    }
-                }
-            }
-        } else {
-            cmd = super.getRoutingAdjustment(connection, connectionHint, currentRouterType, target);
-        }
-        return cmd;
-    }
-
-    /**
-     * {@inheritDoc}
-     *
-     * Overridden to be able to slide the target bendpoint of an edge when
-     * targeting another edge. This is the same code as in the super super class
-     * GraphicalNodeEditPolicy.
-     */
-    @Override
-    protected ConnectionAnchor getConnectionTargetAnchor(Request request) {
-        if (request instanceof ReconnectRequest) {
-            ReconnectRequest reconnectRequest = (ReconnectRequest) request;
-            if (reconnectRequest.getTarget() instanceof DEdgeEditPart && reconnectRequest.getConnectionEditPart() instanceof DEdgeEditPart) {
-                INodeEditPart node = getConnectableEditPart();
-                if (node != null) {
-                    return node.getTargetConnectionAnchor(request);
-                }
-            }
-        }
-        return super.getConnectionTargetAnchor(request);
-    }
-
-    /**
-     * {@inheritDoc}
-     *
-     * Overridden to be able to slide the target bendpoint of an edge when
-     * targeting another edge. This is the same code as in the super super class
-     * GraphicalNodeEditPolicy.
-     */
-    @Override
-    protected INodeEditPart getConnectionCompleteEditPart(Request request) {
-        if (request instanceof ReconnectRequest) {
-            ReconnectRequest reconnectRequest = (ReconnectRequest) request;
-            if (reconnectRequest.getTarget() instanceof DEdgeEditPart && reconnectRequest.getConnectionEditPart() instanceof DEdgeEditPart) {
-                if (getHost() instanceof INodeEditPart) {
-                    return (INodeEditPart) getHost();
-                }
-            }
-        }
-        return super.getConnectionCompleteEditPart(request);
-    }
-
-    /**
-     * Show target connection feedback.
-     *
-     * @param request the request
-     * @see org.eclipse.gef.editpolicies.GraphicalNodeEditPolicy#showTargetConnectionFeedback(org.eclipse.gef.requests.DropRequest)
-     */
-    
-    @Override
-    protected void showTargetConnectionFeedback(DropRequest request) {
-        removeHighlight();
-        addHighlight(request);
-    }
-
-    /**
-     * Add a highlight feedback figure on element reconnect. Change too the edge
-     * (highlight blue) if there is a reconnect on edge.
-     *
-     * @param request the request
-     */
-    private void addHighlight(DropRequest request) {
-        Rectangle bounds = getHostFigure().getBounds().getCopy();
-        getHostFigure().getParent().translateToAbsolute(bounds);
-        getFeedbackLayer().translateToRelative(bounds);
-        if (getHostFigure() instanceof ViewEdgeFigure) {
-            if (getHostFigure() != null && Display.getCurrent() != null && shouldBeHighlighted(request)) {
-                getHostFigure().setForegroundColor(Display.getCurrent().getSystemColor(SWT.COLOR_LIST_SELECTION));
-                ((ViewEdgeFigure) getHostFigure()).setLineWidth(DiagramEdgeEditPartOperation.getLineWidth((IDiagramEdgeEditPart) getHost()) + WIDTH_FEEDBACK);
-                for (final Object child : getHostFigure().getChildren()) {
-                    if (child instanceof PolylineDecoration) {
-                        final PolylineDecoration decoration = (PolylineDecoration) child;
-                        decoration.setLineWidth(DiagramEdgeEditPartOperation.getLineWidth((IDiagramEdgeEditPart) getHost()) + WIDTH_FEEDBACK);
-                    }
-                }
-            }
-        } else {
-
-            highlightFigure = new RectangleFigure() {
-                @Override
-                public void paint(Graphics graphics) {
-                    graphics.setAlpha(128);
-                    super.paint(graphics);
-                }
-            };
-            highlightFigure.setBounds(bounds);
-            highlightFigure.setBackgroundColor(Display.getCurrent().getSystemColor(SWT.COLOR_LIST_SELECTION));
-            addFeedback(highlightFigure);
-        }
-    }
-
-    /**
-     * Should be highlighted.
-     *
-     * @param request the request
-     * @return true, if successful
-     */
-    private boolean shouldBeHighlighted(DropRequest request) {
-        if (request instanceof ReconnectRequest) {
-            boolean returnValue = false;
-            DEdge dEdge = getCurrentDEdge((ReconnectRequest) request);
-            if (dEdge != null) {
-                Option<EdgeMapping> edgeMapping = new IEdgeMappingQuery(dEdge.getActualMapping()).getEdgeMapping();
-                if (edgeMapping.some()) {
-                    returnValue = canCreateNewEdge(request, dEdge, edgeMapping.get());
-                }
-            }
-            return returnValue;
-        }
-        // If the request is not a Reconnect one, we do not change the highlight
-        // behavior.
-        return true;
-    }
-
-    /**
-     * Can create new edge.
-     *
-     * @param request the request
-     * @param dEdge the d edge
-     * @param actualIEdgeMapping the actual I edge mapping
-     * @return true, if successful
-     */
-    private boolean canCreateNewEdge(DropRequest request, DEdge dEdge, EdgeMapping actualIEdgeMapping) {
-        ReconnectEdgeDescription bestTool = null;
-        EdgeTarget reconnectionTarget = getTargetElement((ReconnectRequest) request);
-        if (reconnectionTarget != null) {
-            // If we are reconnecting the source
-            if (RequestConstants.REQ_RECONNECT_SOURCE.equals(((ReconnectRequest) request).getType())) {
-                bestTool = getBestTool(actualIEdgeMapping, true, dEdge.getSourceNode(), reconnectionTarget, dEdge, false);
-            }
-            // Or the target
-            else if (RequestConstants.REQ_RECONNECT_TARGET.equals(((ReconnectRequest) request).getType())) {
-                bestTool = getBestTool(actualIEdgeMapping, false, dEdge.getTargetNode(), reconnectionTarget, dEdge, false);
-            }
-        }
-        return bestTool != null;
-    }
-
-    /**
-     * Gets the target element.
-     *
-     * @param request the request
-     * @return the target element
-     */
-    private EdgeTarget getTargetElement(ReconnectRequest request) {
-        EditPart target = request.getTarget();
-        if (target instanceof IGraphicalEditPart) {
-            EObject element = ((IGraphicalEditPart) target).resolveSemanticElement();
-            if (element instanceof EdgeTarget) {
-                return (EdgeTarget) element;
-            }
-        }
-        return null;
-    }
-
-    /**
-     * Provides the current reconnected DEdge.
-     * 
-     * @param request
-     *            the Reconnect Request.
-     * @return the reconnected DEdge or null if not found.
-     */
-    private DEdge getCurrentDEdge(ReconnectRequest request) {
-        ConnectionEditPart connectionEditPart = request.getConnectionEditPart();
-        if (connectionEditPart instanceof IGraphicalEditPart) {
-            EObject semanticElement = ((IGraphicalEditPart) connectionEditPart).resolveSemanticElement();
-            if (semanticElement instanceof DEdge) {
-                return (DEdge) semanticElement;
-            }
-        }
-        return null;
-    }
-
-    /**
-     * Erase target connection feedback.
-     *
-     * @param request the request
-     * @see org.eclipse.gef.editpolicies.GraphicalNodeEditPolicy#eraseTargetConnectionFeedback(org.eclipse.gef.requests.DropRequest)
-     */
-    
-    @Override
-    protected void eraseTargetConnectionFeedback(DropRequest request) {
-        removeHighlight();
-    }
-
-    /**
-     * Deactivate.
-     *
-     * @see org.eclipse.gef.editpolicies.GraphicalNodeEditPolicy#deactivate()
-     */
-    
-    @Override
-    public void deactivate() {
-        // Last chance to remove the existing high light
-        removeHighlight();
-        super.deactivate();
-    }
-
-    /**
-     * Remove hightLight Figure.
-     */
-    private void removeHighlight() {
-        if (highlightFigure != null) {
-            removeFeedback(highlightFigure);
-            highlightFigure = null;
-        }
-        if (getHostFigure() instanceof ViewEdgeFigure) {
-            ((IDiagramEdgeEditPart) getHost()).refreshForegroundColor();
-            ((IDiagramEdgeEditPart) getHost()).refreshLineStyle();
-        }
-    }
-
-    /**
-     * Check if this connectionEditPart has been described in the VSM with in a
-     * diagram with orderedTreeLayout or with compositeLayout and that it does
-     * not have another edge as extremity.
-     *
-     * @param connectionEditPart
-     *            the edit part to check
-     * @return true if a specific tree layout must be apply (to compute GMF
-     *         constraints according to draw2d), false otherwise
-     */
-    private boolean applySpecificTreeLayout(ConnectionEditPart connectionEditPart) {
-        boolean isLayoutComponent = false;
-        if (!isSourceOrTargetIsEdge(connectionEditPart)) {
-            Diagram diagram = getDiagram(connectionEditPart);
-            if (diagram != null && diagram.getElement() instanceof DSemanticDiagram) {
-                DSemanticDiagram dSemanticDiagram = (DSemanticDiagram) diagram.getElement();
-                Layout layout = dSemanticDiagram.getDescription().getLayout();
-                isLayoutComponent = isOrderedTreeLayoutOrCompositeLayout(layout);
-            }
-        }
-        return isLayoutComponent;
-    }
-
-    /**
-     * Check if the source or the target of this connection is another
-     * connection.
-     *
-     * @param connectionEditPart
-     *            the edit part to check
-     * @return true if the source or the target of this connection is another
-     *         connection, false otherwise.
-     */
-    private boolean isSourceOrTargetIsEdge(ConnectionEditPart connectionEditPart) {
-        return connectionEditPart.getSource() instanceof ConnectionEditPart || connectionEditPart.getTarget() instanceof ConnectionEditPart;
-    }
-
-    /**
-     * Gets the diagram.
-     *
-     * @param connectionEditPart the connection edit part
-     * @return the diagram
-     */
-    private Diagram getDiagram(ConnectionEditPart connectionEditPart) {
-        Diagram diagram = null;
-        if (connectionEditPart.getParent() instanceof DiagramRootEditPart) {
-            DiagramRootEditPart diagramRootEditPart = (DiagramRootEditPart) connectionEditPart.getParent();
-            if (diagramRootEditPart.getChildren().get(0) instanceof DiagramEditPart) {
-                DiagramEditPart diagramEditPart = (DiagramEditPart) diagramRootEditPart.getChildren().get(0);
-                if (diagramEditPart.getModel() instanceof Diagram) {
-                    diagram = (Diagram) diagramEditPart.getModel();
-                }
-            }
-        }
-        return diagram;
-    }
-
-    /**
-     * Check if this layout corresponds to tree so code must be call to modify
-     * GMF edges according to draw2d points.
-     *
-     * @param layout
-     *            The layout to check
-     * @return true if this layout is an OrderedTreeLayout or a CompositeLayout,
-     *         false otherwise
-     */
-    private boolean isOrderedTreeLayoutOrCompositeLayout(Layout layout) {
-        return layout instanceof OrderedTreeLayout || layout instanceof CompositeLayout;
-    }
-
-    /**
-     * Launch a specific command ({@link TreeLayoutSetConnectionAnchorsCommand}
-     * instead of the classical {@link SetConnectionAnchorsCommand}) to handle
-     * with tree layout and setting correctly all the anchors of the edge of the
-     * same tree.
-     *
-     * @param request
-     *            The ReconnectRequest
-     * @return a Command
-     */
-    private Command getReconnectTargetForTreeLayoutCommand(ReconnectRequest request) {
-        INodeEditPart node = getConnectableEditPart();
-        Command cmd = null;
-        if (node != null) {
-            TransactionalEditingDomain editingDomain = ((IGraphicalEditPart) getHost()).getEditingDomain();
-
-            ConnectionAnchor targetAnchor = getConnectionTargetAnchor(request);
-            INodeEditPart targetEP = getConnectionCompleteEditPart(request);
-            if (targetEP != null) {
-                SetConnectionEndsCommand sceCommand = new SetConnectionEndsCommand(editingDomain, StringStatics.BLANK);
-                sceCommand.setEdgeAdaptor(new EObjectAdapter((EObject) request.getConnectionEditPart().getModel()));
-                sceCommand.setNewTargetAdaptor(targetEP);
-                TreeLayoutSetConnectionAnchorsCommand scaCommand = new TreeLayoutSetConnectionAnchorsCommand(editingDomain, StringStatics.BLANK);
-                scaCommand.setEdgeAdaptor(request.getConnectionEditPart());
-                scaCommand.setNewTargetTerminal(targetEP.mapConnectionAnchorToTerminal(targetAnchor));
-                CompositeCommand cc = new CompositeCommand(DiagramUIMessages.Commands_SetConnectionEndsCommand_Target);
-                cc.compose(sceCommand);
-                cc.compose(scaCommand);
-                cmd = new ICommandProxy(cc);
-            }
-        }
-        return cmd;
-    }
-
-    /**
-     * Launch a specific command ({@link TreeLayoutSetConnectionAnchorsCommand}
-     * instead of the classical {@link SetConnectionAnchorsCommand}) to handle
-     * with tree layout and setting correctly all the anchors of the edge of the
-     * same tree.
-     *
-     * @param request
-     *            The ReconnectRequest
-     * @return a Command
-     */
-    private Command getReconnectSourceForTreeLayoutCommand(ReconnectRequest request) {
-        INodeEditPart node = getConnectableEditPart();
-        if (node == null) {
-            return null;
-        }
-
-        TransactionalEditingDomain editingDomain = ((IGraphicalEditPart) getHost()).getEditingDomain();
-
-        ConnectionAnchor sourceAnchor = node.getSourceConnectionAnchor(request);
-        SetConnectionEndsCommand sceCommand = new SetConnectionEndsCommand(editingDomain, StringStatics.BLANK);
-        sceCommand.setEdgeAdaptor(new EObjectAdapter((View) request.getConnectionEditPart().getModel()));
-        sceCommand.setNewSourceAdaptor(new EObjectAdapter((View) node.getModel()));
-        TreeLayoutSetConnectionAnchorsCommand scaCommand = new TreeLayoutSetConnectionAnchorsCommand(editingDomain, StringStatics.BLANK);
-        scaCommand.setEdgeAdaptor(request.getConnectionEditPart());
-        scaCommand.setNewSourceTerminal(node.mapConnectionAnchorToTerminal(sourceAnchor));
-        CompositeCommand cc = new CompositeCommand(DiagramUIMessages.Commands_SetConnectionEndsCommand_Source);
-        cc.compose(sceCommand);
-        cc.compose(scaCommand);
-        return new ICommandProxy(cc);
-    }
-
-    /**
-     * Show creation feedback.
-     *
-     * @param request the request
-     * @see org.eclipse.gef.editpolicies.GraphicalNodeEditPolicy#showCreationFeedback(org.eclipse.gef.requests.CreateConnectionRequest)
-     */
-    
-    @Override
-    protected void showCreationFeedback(CreateConnectionRequest request) {
-        super.showCreationFeedback(request);
-        // Add the connection feedback figure to the request to use it during
-        // the execution of the command. It is needed to not use the real mouse
-        // click locations but the feedback data instead.
-        request.getExtendedData().put(SiriusGraphicalNodeEditPolicy.GMF_EDGE_FEEDBACK, connectionFeedback);
-    }
-}
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/provider/SiriusSetConnectionAnchorsCommand.java b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/provider/SiriusSetConnectionAnchorsCommand.java
deleted file mode 100755
index d34e58a..0000000
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/provider/SiriusSetConnectionAnchorsCommand.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2014, 2021 THALES GLOBAL SERVICES and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *    Obeo - initial API and implementation
- *    Aurelien Didier (ARTAL) - aurelien.didier51@gmail.com - adaptation to integrate in Papyrus
- *******************************************************************************/
-
-package org.eclipse.papyrus.sirius.uml.diagram.sequence.provider;
-
-
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.gmf.runtime.common.core.command.CommandResult;
-import org.eclipse.gmf.runtime.diagram.core.commands.SetConnectionAnchorsCommand;
-import org.eclipse.gmf.runtime.notation.Edge;
-import org.eclipse.gmf.runtime.notation.IdentityAnchor;
-import org.eclipse.gmf.runtime.notation.NotationFactory;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.sirius.diagram.description.tool.ReconnectionKind;
-import org.eclipse.sirius.diagram.ui.business.api.query.EdgeQuery;
-import org.eclipse.sirius.diagram.ui.internal.operation.CenterEdgeEndModelChangeOperation;
-import org.eclipse.sirius.ext.base.Option;
-
-/**
- * A custom SetConnectionAnchorsCommand used when edge reconnection is applied
- * by a reconnection tool (now executed in precommit).
- * 
- */
-public class SiriusSetConnectionAnchorsCommand extends SetConnectionAnchorsCommand {
-
-	/**
-	 * Helper used to access the edge after reconnection.
-	 */
-	private SiriusEdgeReconnectionHelper reconnectingEdgeHelper;
-
-	/**
-	 * SiriusSetConnectionAnchorsCommand constructor.
-	 * 
-	 * @param editingDomain
-	 *            the current editing domain
-	 * @param label
-	 *            command label
-	 * @param reconnectionTarget
-	 *            the edge on which we are reconnecting
-	 * @param reconnectionTargetEdges
-	 *            the incoming(reconnectingSource as
-	 *            false)/outgoing(reconnectingSource as true) edges of the edge
-	 *            on which we are reconnecting
-	 * @param reconnectionKind
-	 *            indicates if it is a reconnection of the
-	 *            source(ReconnectionKind.RECONNECT_SOURCE) or the
-	 *            target(ReconnectionKind.RECONNECT_TARGET)
-	 */
-	public SiriusSetConnectionAnchorsCommand(TransactionalEditingDomain editingDomain, String label, View reconnectionTarget, List<Edge> reconnectionTargetEdges, ReconnectionKind reconnectionKind) {
-		super(editingDomain, label);
-		this.reconnectingEdgeHelper = new SiriusEdgeReconnectionHelper(reconnectionTarget, reconnectionTargetEdges, reconnectionKind);
-	}
-
-	/**
-	 * Overridden because the tool execution is now done in precommit.
-	 * Therefore, we can not use the getEdgeAdaptor() anymore.
-	 * 
-	 * {@inheritDoc}
-	 */
-	@Override
-	protected CommandResult doExecuteWithResult(IProgressMonitor progressMonitor, IAdaptable info) throws ExecutionException {
-		CommandResult commandResult = CommandResult.newOKCommandResult();
-		if (getEdgeAdaptor() != null) {
-			commandResult = super.doExecuteWithResult(progressMonitor, info);
-		} else {
-
-			Edge edge = reconnectingEdgeHelper.getReconnectedEdge();
-
-			// The reconnect tool did not necessary reconnect the edge with the
-			// expected new source or target. In the case where we did not find
-			// out the
-			// reconnected edge, there is nothing to do here.
-			if (edge != null) {
-
-				// If there is tree brothers on the new source, we must use the
-				// existing sourceAnchor instead of the
-				// <code>newSourceTerminal</code> parameter
-				EdgeQuery edgeQuery = new EdgeQuery(edge);
-				if (edgeQuery.isEdgeOnTreeOnSourceSide()) {
-					Option<IdentityAnchor> optionalSourceBortherAnchor = edgeQuery.getSourceAnchorOfFirstBrotherWithSameSource();
-					if (optionalSourceBortherAnchor.some()) {
-						setNewSourceTerminal(optionalSourceBortherAnchor.get().getId());
-					}
-				}
-				updateSourceAnchor(edge);
-				// If there is tree brothers on the new target, we must use the
-				// existing targetAnchor instead of the
-				// <code>newTargetTerminal</code> parameter
-				if (edgeQuery.isEdgeOnTreeOnTargetSide()) {
-					Option<IdentityAnchor> optionalTargetBortherAnchor = edgeQuery.getTargetAnchorOfFirstBrotherWithSameTarget();
-					if (optionalTargetBortherAnchor.some()) {
-						setNewTargetTerminal(optionalTargetBortherAnchor.get().getId());
-					}
-				}
-				updateTargetAnchor(edge);
-
-				CenterEdgeEndModelChangeOperation centerEdgeEndModelChangeOperation = new CenterEdgeEndModelChangeOperation(edge);
-				centerEdgeEndModelChangeOperation.execute();
-			}
-		}
-		return commandResult;
-	}
-
-	/**
-	 * Update source anchor.
-	 *
-	 * @param edge
-	 *            the edge
-	 */
-	private void updateSourceAnchor(Edge edge) {
-		if (getNewSourceTerminal() != null) {
-			if (getNewSourceTerminal().length() == 0)
-				edge.setSourceAnchor(null);
-			else {
-				IdentityAnchor a = (IdentityAnchor) edge.getSourceAnchor();
-				if (a == null)
-					a = NotationFactory.eINSTANCE.createIdentityAnchor();
-				a.setId(getNewSourceTerminal());
-				edge.setSourceAnchor(a);
-			}
-		}
-	}
-
-	/**
-	 * Update target anchor.
-	 *
-	 * @param edge
-	 *            the edge
-	 */
-	private void updateTargetAnchor(Edge edge) {
-		if (getNewTargetTerminal() != null) {
-			if (getNewTargetTerminal().length() == 0)
-				edge.setTargetAnchor(null);
-			else {
-				IdentityAnchor a = (IdentityAnchor) edge.getTargetAnchor();
-				if (a == null)
-					a = NotationFactory.eINSTANCE.createIdentityAnchor();
-				a.setId(getNewTargetTerminal());
-				edge.setTargetAnchor(a);
-			}
-		}
-	}
-}
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/services/CombinedAndOperandService.java b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/services/CombinedAndOperandService.java
deleted file mode 100755
index b288ac4..0000000
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/services/CombinedAndOperandService.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2021 CEA LIST, Artal Technologies
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *    Aurelien Didier (ARTAL) - aurelien.didier51@gmail.com - Initial API and implementation
- *    Yann Binot (ARTAL) - yann.binot@artal.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.sirius.uml.diagram.sequence.services;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EAnnotation;
-import org.eclipse.emf.ecore.EModelElement;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EcoreFactory;
-import org.eclipse.sirius.diagram.sequence.ordering.EventEnd;
-import org.eclipse.uml2.uml.CombinedFragment;
-import org.eclipse.uml2.uml.Interaction;
-import org.eclipse.uml2.uml.InteractionFragment;
-import org.eclipse.uml2.uml.InteractionOperand;
-import org.eclipse.uml2.uml.NamedElement;
-import org.eclipse.uml2.uml.OccurrenceSpecification;
-
-/**
- * The Class CombinedAndOperandService provides services to manage CombinedFragment and InteractionOperand.
- *
- * @author Yann Binot (Artal Technologies) <yann.binot@artal.fr>
- */
-public class CombinedAndOperandService {
-
-
-	/** The service. */
-	static private CombinedAndOperandService service = null;
-
-
-	/**
-	 * Instantiates a new fragments service.
-	 */
-	private CombinedAndOperandService() {
-
-	}
-
-	/**
-	 * Gets the single instance of FragmentsService.
-	 *
-	 * @return single instance of FragmentsService
-	 */
-	static public CombinedAndOperandService getInstance() {
-		if (service == null) {
-			service = new CombinedAndOperandService();
-		}
-		return service;
-	}
-
-	/**
-	 * Delete combined fragment.
-	 *
-	 * @param combinedFragment
-	 *            the combined fragment
-	 */
-	public void deleteCombinedFragment(CombinedFragment combinedFragment) {
-
-		Interaction enclosingInteraction = combinedFragment.getEnclosingInteraction();
-		EList<InteractionFragment> fragments = enclosingInteraction.getFragments();
-		OccurrenceSpecification startOC = null;
-		OccurrenceSpecification endOC = null;
-		for (InteractionFragment interactionFragment : fragments) {
-			if (interactionFragment instanceof OccurrenceSpecification) {
-				EList<EAnnotation> eAnnotations = interactionFragment.getEAnnotations();
-				for (EAnnotation annotation : eAnnotations) {
-					if (annotation.getSource().equals(combinedFragment.getName() + "_start")) { //$NON-NLS-1$
-						startOC = (OccurrenceSpecification) interactionFragment;
-					}
-					if (annotation.getSource().equals(combinedFragment.getName() + "_end")) { //$NON-NLS-1$
-						endOC = (OccurrenceSpecification) interactionFragment;
-					}
-				}
-			}
-		}
-
-		fragments.remove(startOC);
-		fragments.remove(endOC);
-
-		int indexOfFragment = fragments.indexOf(combinedFragment);
-
-
-		EList<InteractionOperand> operands = combinedFragment.getOperands();
-		List<InteractionFragment> opeFragmentToMove = new ArrayList<>();
-		for (InteractionOperand interactionOperand : operands) {
-
-			EList<InteractionFragment> fragmentsOperand = interactionOperand.getFragments();
-			OccurrenceSpecification operandStart = null;
-			for (InteractionFragment fragmentOperand : fragmentsOperand) {
-				List<EAnnotation> annotationsOperand = fragmentOperand.getEAnnotations();
-				for (EAnnotation annotatationOp : annotationsOperand) {
-					if (annotatationOp.getSource().equals(interactionOperand.getName() + "_start")) { //$NON-NLS-1$
-						operandStart = (OccurrenceSpecification) fragmentOperand;
-						break;
-					}
-				}
-			}
-			fragmentsOperand.remove(operandStart);
-			opeFragmentToMove.addAll(fragmentsOperand);
-		}
-
-		fragments.addAll(indexOfFragment, opeFragmentToMove);
-		fragments.remove(combinedFragment);
-
-	}
-
-
-	/**
-	 * Creates the E annotations.
-	 * These EAnnotations allow to have Ends around the context element.
-	 *
-	 * @param context
-	 *            the context the element to have need EAnnotations ends
-	 */
-	public void createEAnnotations(EObject context) {
-		if (context instanceof EModelElement) {
-			EAnnotation annotStart = EcoreFactory.eINSTANCE.createEAnnotation();
-			annotStart.setSource(((NamedElement) context).getName() + "_start"); //$NON-NLS-1$
-			((EModelElement) context).getEAnnotations().add(annotStart);
-
-			EAnnotation annotEnd = EcoreFactory.eINSTANCE.createEAnnotation();
-			annotEnd.setSource(((NamedElement) context).getName() + "_end"); //$NON-NLS-1$
-			((EModelElement) context).getEAnnotations().add(annotEnd);
-		}
-	}
-
-	/**
-	 * Manage operand fragment.
-	 *
-	 * @param context                 the context
-	 * @param startingEndPredecessor  the starting end predecessor
-	 * @param finishingEndPredecessor the finishing end predecessor
-	 */
-	public void manageOperandFragment(EObject context, EventEnd startingEndPredecessor,
-			EventEnd finishingEndPredecessor) {
-		EObject startingEndPredecessorSemanticEnd = null;
-		if (startingEndPredecessor != null) {
-			startingEndPredecessorSemanticEnd = (EObject) startingEndPredecessor.getSemanticEnd();
-		}
-		EObject finishingEndPredecessorSemanticEnd = null;
-		if (finishingEndPredecessor != null) {
-			finishingEndPredecessorSemanticEnd = (EObject) finishingEndPredecessor.getSemanticEnd();
-		}
-		if (context instanceof InteractionOperand) {
-			InteractionFragment interactionFragment = null;
-			if (finishingEndPredecessorSemanticEnd instanceof OccurrenceSpecification) {
-				interactionFragment = ((OccurrenceSpecification) finishingEndPredecessorSemanticEnd).getEnclosingInteraction();
-			} else {
-				if (finishingEndPredecessorSemanticEnd instanceof EAnnotation) {
-					interactionFragment  = (InteractionOperand) context;
-				}
-			}
-			List<EObject> fragments = FragmentsService.getInstance().getFragmentsAndAnnotation(interactionFragment);
-			int fromIndex = startingEndPredecessorSemanticEnd != null
-					? fragments.indexOf(startingEndPredecessorSemanticEnd) + 1
-					: 0;
-			int toIndex = fragments.indexOf(finishingEndPredecessorSemanticEnd);
-			List<EObject> subList = new ArrayList<>(fragments.subList(fromIndex, toIndex + 1));
-			fragments.removeAll(subList);
-			for (EObject object : subList) {
-				if (object instanceof InteractionFragment) {
-					((InteractionOperand) context).getFragments().add((InteractionFragment) object);
-				}
-			}
-		}
-	}
-
-}
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/services/CommentService.java b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/services/CommentService.java
deleted file mode 100755
index 84223da..0000000
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/services/CommentService.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2021 CEA LIST, Artal Technologies
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *    Aurelien Didier (ARTAL) - aurelien.didier51@gmail.com - Initial API and implementation
- *    Yann Binot (ARTAL) - yann.binot@artal.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.sirius.uml.diagram.sequence.services;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.uml2.uml.Comment;
-import org.eclipse.uml2.uml.Element;
-
-/**
- * The Class CommentService.
- *
- * @author Yann Binot (Artal Technologies) <yann.binot@artal.fr>
- */
-public class CommentService {
-	/** The service. */
-	static private CommentService service = null;
-
-
-	/**
-	 * Instantiates a new fragments service.
-	 */
-	private CommentService() {
-
-	}
-
-	/**
-	 * Gets the single instance of FragmentsService.
-	 *
-	 * @return single instance of FragmentsService
-	 */
-	static public CommentService getInstance() {
-		if (service == null) {
-			service = new CommentService();
-		}
-		return service;
-	}
-
-	/**
-	 * Return all constriantedElement for given Constraint <b> Exception for PartDeploymentLink (return its
-	 * DeployedElement) <b>.
-	 *
-	 * @param comment the comment
-	 * @return the list
-	 */
-	public List<?> targeFinderExpressionForComment(Comment comment) {
-		List<EObject> result = new ArrayList<>();
-		EList<Element> annotatedElements = comment.getAnnotatedElements();
-		for (Element element : annotatedElements) {
-			result.add(element);
-		}
-
-
-		return result;
-	}
-
-}
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/services/ConstraintService.java b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/services/ConstraintService.java
deleted file mode 100755
index 1b0fde6..0000000
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/services/ConstraintService.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2021 CEA LIST, Artal Technologies
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *    Aurelien Didier (ARTAL) - aurelien.didier51@gmail.com - Initial API and implementation
- *    Yann Binot (ARTAL) - yann.binot@artal.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.sirius.uml.diagram.sequence.services;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.TreeIterator;
-import org.eclipse.emf.ecore.EAnnotation;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.uml2.uml.Constraint;
-import org.eclipse.uml2.uml.DurationConstraint;
-import org.eclipse.uml2.uml.DurationObservation;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.ExecutionOccurrenceSpecification;
-import org.eclipse.uml2.uml.ExecutionSpecification;
-import org.eclipse.uml2.uml.Message;
-import org.eclipse.uml2.uml.MessageOccurrenceSpecification;
-import org.eclipse.uml2.uml.Model;
-import org.eclipse.uml2.uml.NamedElement;
-import org.eclipse.uml2.uml.OccurrenceSpecification;
-import org.eclipse.uml2.uml.OpaqueExpression;
-import org.eclipse.uml2.uml.TimeConstraint;
-import org.eclipse.uml2.uml.ValueSpecification;
-
-/**
- * The Class ConstraintService.
- *
- * @author Yann Binot (Artal Technologies) <yann.binot@artal.fr>
- */
-public class ConstraintService {
-
-	/** The service. */
-	static private ConstraintService service = null;
-
-	/**
-	 * Instantiates a new fragments service.
-	 */
-	private ConstraintService() {
-
-	}
-
-	/**
-	 * Gets the single instance of FragmentsService.
-	 *
-	 * @return single instance of FragmentsService
-	 */
-	static public ConstraintService getInstance() {
-		if (service == null) {
-			service = new ConstraintService();
-		}
-		return service;
-	}
-
-	/**
-	 * Return all constriantedElement for given Constraint <b> Exception for
-	 * PartDeploymentLink (return its DeployedElement) <b>.
-	 *
-	 * @param constraint the constraint
-	 * @return the list
-	 */
-	public List<?> targeFinderExpressionForConstraint(Constraint constraint) {
-		List<EObject> result = new ArrayList<>();
-		EList<Element> constrainedElements = constraint.getConstrainedElements();
-		result.addAll(constrainedElements);
-		return result;
-	}
-
-	/**
-	 * Gets the constraint label.
-	 *
-	 * @param object the object
-	 * @return the constraint label
-	 */
-	public String getConstraintLabel(EObject object) {
-
-		if (object instanceof Constraint) {
-
-			String name = ((Constraint) object).getName();
-			EList<String> languages = null;
-			EList<String> bodies = null;
-			ValueSpecification specification = ((Constraint) object).getSpecification();
-			if (specification instanceof OpaqueExpression) {
-				languages = ((OpaqueExpression) specification).getLanguages();
-				bodies = ((OpaqueExpression) specification).getBodies();
-			}
-			String langage = ""; //$NON-NLS-1$
-			if (languages != null && !languages.isEmpty()) {
-				langage = languages.get(0);
-			}
-			String body = ""; //$NON-NLS-1$
-			if (bodies != null && !bodies.isEmpty()) {
-				body = bodies.get(0);
-			}
-
-			String result = name + "\n" + "{{" + langage + "}" + body + "}"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-			return result;
-
-		}
-		return ""; //$NON-NLS-1$
-	}
-
-	/**
-	 * Gets the source constrained element.
-	 *
-	 * @param context the context
-	 * @return the source constrained element
-	 */
-	public EObject getSourceConstrainedElement(EObject context) {
-
-		if (context instanceof DurationConstraint) {
-
-			EList<Element> constrainedElements = ((DurationConstraint) context).getConstrainedElements();
-			Element element = constrainedElements.get(0);
-
-			if (element instanceof ExecutionSpecification) {
-				return (((ExecutionSpecification) element).getStart());
-			}
-			
-			if (element instanceof Message) {
-				return (((Message) element).getSendEvent());
-			}
-
-			if (element instanceof OccurrenceSpecification || element instanceof EAnnotation) {
-				return element;
-			}
-
-		}
-
-		return null;
-	}
-
-	/**
-	 * Gets the target constrained element.
-	 *
-	 * @param context the context
-	 * @return the target constrained element
-	 */
-	public EObject getTargetConstrainedElement(EObject context) {
-
-		if (context instanceof DurationConstraint) {
-
-			EList<Element> constrainedElements = ((DurationConstraint) context).getConstrainedElements();
-			Element element = constrainedElements.get(constrainedElements.size() - 1);
-
-			if (element instanceof ExecutionSpecification) {
-				return (((ExecutionSpecification) element).getStart());
-			}
-			
-			if (element instanceof Message) {
-				return (((Message) element).getSendEvent());
-			}
-
-			if (element instanceof OccurrenceSpecification || element instanceof EAnnotation) {
-				return element;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Gets the source observation.
-	 *
-	 * @param context the context
-	 * @return the source observation
-	 */
-	public EObject getSourceObservation(EObject context) {
-		if (context instanceof DurationObservation) {
-			EList<NamedElement> events = ((DurationObservation) context).getEvents();
-
-			Element element = events.get(0);
-			if (element instanceof OccurrenceSpecification) {
-				return element;
-			}
-
-			if (element instanceof EAnnotation) {
-				return ((EAnnotation) element);
-			}
-
-
-		}
-		return null;
-	}
-
-	/**
-	 * Gets the target observation.
-	 *
-	 * @param context the context
-	 * @return the target observation
-	 */
-	public EObject getTargetObservation(EObject context) {
-		if (context instanceof DurationObservation) {
-			EList<NamedElement> events = ((DurationObservation) context).getEvents();
-
-			Element element = events.get(events.size() - 1);
-			if (element instanceof OccurrenceSpecification) {
-				return element;
-			}
-
-			if (element instanceof EAnnotation) {
-				return ((EAnnotation) element);
-			}
-		}
-		return null;
-	}
-}
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/services/ExecutionService.java b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/services/ExecutionService.java
deleted file mode 100755
index da2e977..0000000
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/services/ExecutionService.java
+++ /dev/null
@@ -1,464 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014, 2021 Obeo, CEA LIST, Artal Technologies
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *    Obeo - initial API and implementation
- *    Aurelien Didier (ARTAL) - aurelien.didier51@gmail.com - adaptation to integrate in Papyrus
- *******************************************************************************/
-
-package org.eclipse.papyrus.sirius.uml.diagram.sequence.services;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.uml2.uml.ActionExecutionSpecification;
-import org.eclipse.uml2.uml.Behavior;
-import org.eclipse.uml2.uml.BehaviorExecutionSpecification;
-import org.eclipse.uml2.uml.ExecutionOccurrenceSpecification;
-import org.eclipse.uml2.uml.ExecutionSpecification;
-import org.eclipse.uml2.uml.Interaction;
-import org.eclipse.uml2.uml.InteractionFragment;
-import org.eclipse.uml2.uml.InteractionOperand;
-import org.eclipse.uml2.uml.Lifeline;
-import org.eclipse.uml2.uml.Message;
-import org.eclipse.uml2.uml.MessageOccurrenceSpecification;
-import org.eclipse.uml2.uml.NamedElement;
-import org.eclipse.uml2.uml.OccurrenceSpecification;
-import org.eclipse.uml2.uml.OpaqueBehavior;
-import org.eclipse.uml2.uml.Operation;
-import org.eclipse.uml2.uml.UMLFactory;
-
-/**
- * The Class ExecutionService.
- */
-public class ExecutionService {
-
-	/**
-	 * Execution end suffix.
-	 */
-	public static final String EXECUTION_END_SUFFIX = "_finish"; //$NON-NLS-1$
-
-
-	/** The service. */
-	static private ExecutionService service = null;
-
-
-	/**
-	 * Instantiates a new fragments service.
-	 */
-	private ExecutionService() {
-
-	}
-
-	/**
-	 * Gets the single instance of FragmentsService.
-	 *
-	 * @return single instance of FragmentsService
-	 */
-	static public ExecutionService getInstance() {
-		if (service == null) {
-			service = new ExecutionService();
-		}
-		return service;
-	}
-
-
-	/**
-	 * Gets the execution specifications.
-	 *
-	 * @param object
-	 *            the object
-	 * @return the execution specifications
-	 */
-	public List<ExecutionSpecification> getExecutionSpecifications(EObject object) {
-		List<ExecutionSpecification> results = new ArrayList<ExecutionSpecification>();
-		if (object instanceof Lifeline) {
-			Lifeline lifeline = (Lifeline) object;
-			Interaction interaction = lifeline.getInteraction();
-			LifelineService.getInstance().getFragmentsFromLifeline(results, lifeline, interaction);
-		} else if (object instanceof ExecutionSpecification) {
-			List<ExecutionSpecification> containedNestedExecution = containedNestedExecution((ExecutionSpecification) object);
-			results.addAll(containedNestedExecution);
-		}
-		return results;
-	}
-
-
-
-
-
-
-	/**
-	 * Get the execution associated to a fragment.
-	 *
-	 * @param message
-	 *            Message
-	 * @return Execution
-	 */
-	public BehaviorExecutionSpecification getExecution(Message message) {
-		if (message == null) {
-			return null;
-		}
-		final Map<Message, BehaviorExecutionSpecification> behaviors = new HashMap<Message, BehaviorExecutionSpecification>();
-		for (final InteractionFragment fragment : message.getInteraction().getFragments()) {
-			if (fragment instanceof BehaviorExecutionSpecification) {
-				final BehaviorExecutionSpecification behavior = (BehaviorExecutionSpecification) fragment;
-				final OccurrenceSpecification behaviorStart = behavior.getStart();
-				if (behaviorStart instanceof MessageOccurrenceSpecification
-						&& message.equals(((MessageOccurrenceSpecification) behaviorStart).getMessage())) {
-					behaviors.put(message, behavior);
-				}
-			}
-		}
-		return behaviors.get(message);
-	}
-
-	/**
-	 * Get the execution associated to a fragment.
-	 *
-	 * @param occurence
-	 *            Occurence
-	 * @return Execution
-	 */
-	public BehaviorExecutionSpecification getExecution(EObject occurence) {
-		if (occurence == null) {
-			return null;
-		}
-		final Map<InteractionFragment, BehaviorExecutionSpecification> behaviors = new HashMap<InteractionFragment, BehaviorExecutionSpecification>();
-
-		// final Interaction interaction = getEnclosingInteraction(occurence);
-		List<EObject> fragments = FragmentsService.getInstance().getEnclosingFragments(occurence);
-		for (final EObject fragment : fragments) {
-			if (fragment instanceof BehaviorExecutionSpecification) {
-				final BehaviorExecutionSpecification behavior = (BehaviorExecutionSpecification) fragment;
-				// Get start
-				behaviors.put(behavior.getStart(), behavior);
-				// Get finish
-				behaviors.put(behavior.getFinish(), behavior);
-			}
-		}
-		return behaviors.get(occurence);
-	}
-
-	/**
-	 * Create a typed execution. Execution could be created on lifeline or other parent execution.
-	 *
-	 * @param interaction
-	 *            Interaction
-	 * @param fragment
-	 *            Lifeline or parent execution
-	 * @param operation
-	 *            Operation associated to execution
-	 * @param startingEndPredecessor
-	 *            Starting end predecessor
-	 */
-	public void createExecution(Interaction interaction, NamedElement fragment, Operation operation,
-			NamedElement startingEndPredecessor) {
-		final Lifeline lifeline = LifelineService.getInstance().getLifeline(fragment);
-
-		final UMLFactory factory = UMLFactory.eINSTANCE;
-		StringBuffer executionName;
-		if (operation == null) {
-			final List<BehaviorExecutionSpecification> behaviors = new ArrayList<BehaviorExecutionSpecification>();
-			for (final InteractionFragment behavior : interaction.getFragments()) {
-				if (behavior instanceof BehaviorExecutionSpecification) {
-					behaviors.add((BehaviorExecutionSpecification) behavior);
-				}
-			}
-			executionName = new StringBuffer("BehaviorExecution_").append(behaviors.size()); //$NON-NLS-1$
-		} else {
-			executionName = new StringBuffer(operation.getName());
-		}
-
-		// Create execution start
-		final ExecutionOccurrenceSpecification startExec = factory.createExecutionOccurrenceSpecification();
-		final StringBuffer startExecName = new StringBuffer(executionName).append("_start"); //$NON-NLS-1$
-		startExec.setName(startExecName.toString());
-		startExec.getCovereds().add(lifeline);
-
-		// Create behavior
-		final OpaqueBehavior behavior = factory.createOpaqueBehavior();
-		behavior.setName(executionName.toString());
-		behavior.setSpecification(operation);
-		interaction.getOwnedBehaviors().add(behavior);
-		final BehaviorExecutionSpecification execution = factory.createBehaviorExecutionSpecification();
-		execution.setName(executionName.toString());
-		execution.getCovereds().add(lifeline);
-		execution.setBehavior(behavior);
-
-		execution.setStart(startExec);
-		startExec.setExecution(execution);
-
-		// Create execution end
-		final ExecutionOccurrenceSpecification endExec = factory.createExecutionOccurrenceSpecification();
-		final StringBuffer endExecName = new StringBuffer(executionName).append(EXECUTION_END_SUFFIX);
-		endExec.setName(endExecName.toString());
-		endExec.getCovereds().add(lifeline);
-		endExec.setExecution(execution);
-		execution.setFinish(endExec);
-
-		// Add and order fragments under the interaction
-		final EList<InteractionFragment> fragments = interaction.getFragments();
-
-		// Ordered fragments
-		fragments.add(startExec);
-
-		// If execution starts from an execution, add the new execution start
-		// after the execution
-		// specification
-		if (startingEndPredecessor instanceof OccurrenceSpecification
-				&& ExecutionService.getInstance().getExecution(startingEndPredecessor) != null
-				&& startingEndPredecessor
-						.equals(ExecutionService.getInstance().getExecution(startingEndPredecessor).getStart())) {
-			fragments.move(fragments.indexOf(startingEndPredecessor) + 2, startExec);
-		} else {
-			// Message starts from a lifeline, add the message start after the
-			// last starting predecessor
-			// (message)
-			fragments.move(fragments.indexOf(startingEndPredecessor) + 1, startExec);
-		}
-		fragments.add(execution);
-		fragments.move(fragments.indexOf(startExec) + 1, execution);
-		fragments.add(endExec);
-		fragments.move(fragments.indexOf(execution) + 1, endExec);
-	}
-
-	/**
-	 * Create execution.
-	 *
-	 * @param covered
-	 *            Lifeline
-	 * @param message
-	 *            Message
-	 * @return Execution
-	 */
-	public BehaviorExecutionSpecification createExecution(
-			final Lifeline covered, final Message message) {
-		final UMLFactory factory = UMLFactory.eINSTANCE;
-		final OpaqueBehavior behavior = factory.createOpaqueBehavior();
-
-		behavior.setName(message.getName());
-
-		final BehaviorExecutionSpecification execution = factory.createBehaviorExecutionSpecification();
-		execution.setName(message.getName());
-		execution.getCovereds().add(covered);
-		execution.setBehavior(behavior);
-
-		return execution;
-	}
-
-	/**
-	 * Create a typed execution. Execution could be created on lifeline or other parent execution.
-	 *
-	 * @param interaction
-	 *            Interaction
-	 * @param fragment
-	 *            Lifeline or parent execution
-	 * @param startingEndPredecessor
-	 *            Starting end predecessor
-	 */
-	public void createExecution(Interaction interaction, NamedElement fragment,
-			NamedElement startingEndPredecessor) {
-		createExecution(interaction, fragment, null, startingEndPredecessor);
-	}
-
-	/**
-	 * Delete execution.
-	 *
-	 * @param execution
-	 *            Execution to delete
-	 */
-	public void deleteExecution(ExecutionSpecification execution) {
-		if (execution == null) {
-			return;
-		}
-
-		// Get fragments
-		final InteractionFragment interaction = FragmentsService.getInstance().getEnclosingFragment(execution);
-
-		// Delete opaque behavior
-		if (execution instanceof BehaviorExecutionSpecification) {
-			removeBehavior((BehaviorExecutionSpecification) execution);
-		}
-
-		// Delete start and finish behavior
-		final List<InteractionFragment> fragments = interaction instanceof Interaction ? ((Interaction) interaction).getFragments() : ((InteractionOperand) interaction).getFragments();
-		final OccurrenceSpecification start = execution.getStart();
-		if (start instanceof ExecutionOccurrenceSpecification) {
-			fragments.remove(start);
-		}
-		final OccurrenceSpecification finish = execution.getFinish();
-		if (finish instanceof ExecutionOccurrenceSpecification) {
-			fragments.remove(finish);
-		}
-		// Delete execution
-		fragments.remove(execution);
-	}
-
-
-
-	/**
-	 * Checks if is nested execution.
-	 *
-	 * @param exec
-	 *            the exec
-	 * @return true, if is nested execution
-	 */
-	public boolean isNestedExecution(ExecutionSpecification exec) {
-
-		List<EObject> enclosingFragments = FragmentsService.getInstance().getEnclosingFragments(exec);
-
-		OccurrenceSpecification start = exec.getStart();
-		OccurrenceSpecification finish = exec.getFinish();
-
-		int indexOfStart = enclosingFragments.indexOf(start);
-		int indexOfFinish = enclosingFragments.indexOf(finish);
-
-		for (EObject exec2 : enclosingFragments) {
-			EList<Lifeline> covereds = exec.getCovereds();
-			if (covereds != null && !covereds.isEmpty()) {
-				if (!exec2.equals(exec) && exec2 instanceof ExecutionSpecification && !((ExecutionSpecification) exec2).getCovereds().isEmpty() && covereds.get(0).equals(((ExecutionSpecification) exec2).getCovereds().get(0))) {
-
-					OccurrenceSpecification start2 = ((ExecutionSpecification) exec2).getStart();
-					OccurrenceSpecification finish2 = ((ExecutionSpecification) exec2).getFinish();
-
-					int indexOfStart2 = enclosingFragments.indexOf(start2);
-					int indexOfFinish2 = enclosingFragments.indexOf(finish2);
-
-
-					if (indexOfStart2 < indexOfStart && indexOfFinish2 > indexOfFinish) {
-						return true;
-					}
-
-
-				}
-			}
-		}
-
-		return false;
-	}
-
-	/**
-	 * Apply execution.
-	 *
-	 * @param context
-	 *            the context
-	 * @param exe
-	 *            the exe
-	 * @param start
-	 *            the start
-	 * @param finish
-	 *            the finish
-	 */
-	public void applyExecution(EObject context, ExecutionSpecification exe, ExecutionOccurrenceSpecification start, ExecutionOccurrenceSpecification finish) {
-		if (context instanceof Lifeline) {
-			((Lifeline) context).getCoveredBys().add(start);
-			((Lifeline) context).getCoveredBys().add(exe);
-			((Lifeline) context).getCoveredBys().add(finish);
-		}
-		if (context instanceof ExecutionSpecification) {
-			EList<Lifeline> covereds = ((ExecutionSpecification) context).getCovereds();
-			(covereds.get(0)).getCoveredBys().add(start);
-			(covereds.get(0)).getCoveredBys().add(exe);
-			(covereds.get(0)).getCoveredBys().add(finish);
-		}
-
-		start.setExecution(exe);
-		finish.setExecution(exe);
-
-		exe.setStart(start);
-		exe.setFinish(finish);
-
-
-	}
-
-
-	/**
-	 * Creates the execution occurrence specification.
-	 *
-	 * @param exec
-	 *            the exec
-	 * @param isStart
-	 *            the is start
-	 * @return the execution occurrence specification
-	 */
-	public ExecutionOccurrenceSpecification createExecutionOccurrenceSpecification(ExecutionSpecification exec, boolean isStart) {
-		ExecutionOccurrenceSpecification createExecutionOccurrenceSpecification = UMLFactory.eINSTANCE.createExecutionOccurrenceSpecification();
-		if (isStart) {
-			exec.setStart(createExecutionOccurrenceSpecification);
-		} else {
-			exec.setFinish(createExecutionOccurrenceSpecification);
-		}
-		return createExecutionOccurrenceSpecification;
-	}
-
-	/**
-	 * Checks if is nested execution.
-	 *
-	 * @param execParent
-	 *            the exec
-	 * @return true, if is nested execution
-	 */
-	private List<ExecutionSpecification> containedNestedExecution(ExecutionSpecification execParent) {
-		List<ExecutionSpecification> results = new ArrayList<>();
-
-		List<EObject> enclosingFragments = FragmentsService.getInstance().getEnclosingFragments(execParent);
-
-		OccurrenceSpecification start = execParent.getStart();
-		OccurrenceSpecification finish = execParent.getFinish();
-
-		int indexOfStart = enclosingFragments.indexOf(start);
-		int indexOfFinish = enclosingFragments.indexOf(finish);
-
-		for (EObject exec2 : enclosingFragments) {
-			if (!exec2.equals(execParent) && exec2 instanceof ExecutionSpecification && !execParent.getCovereds().isEmpty() && !((ExecutionSpecification) exec2).getCovereds().isEmpty()
-					&& execParent.getCovereds().get(0).equals(((ExecutionSpecification) exec2).getCovereds().get(0))) {
-
-				OccurrenceSpecification start2 = ((ExecutionSpecification) exec2).getStart();
-				OccurrenceSpecification finish2 = ((ExecutionSpecification) exec2).getFinish();
-
-				int indexOfStart2 = enclosingFragments.indexOf(start2);
-				int indexOfFinish2 = enclosingFragments.indexOf(finish2);
-
-
-				if (indexOfStart2 > indexOfStart && indexOfFinish2 < indexOfFinish) {
-					results.add((ExecutionSpecification) exec2);
-				}
-
-
-			}
-		}
-
-		return results;
-	}
-
-
-	/**
-	 * Removes the behavior.
-	 *
-	 * @param execution
-	 *            the execution
-	 */
-	private void removeBehavior(BehaviorExecutionSpecification execution) {
-		final Behavior behavior = execution.getBehavior();
-		if (behavior != null) {
-			FragmentsService.getInstance().getParentInteraction(execution).getOwnedBehaviors().remove(behavior);
-		}
-	}
-
-
-
-
-
-}
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/services/FragmentsService.java b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/services/FragmentsService.java
deleted file mode 100755
index 3eeff43..0000000
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/services/FragmentsService.java
+++ /dev/null
@@ -1,554 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2021,2022 CEA LIST, Artal Technologies and Obeo
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *    Aurelien Didier (ARTAL) - aurelien.didier51@gmail.com - Initial API and implementation
- *    Jessy Mallet (Obeo) - jessy.mallet@obeo.fr - Add FoundMessage annotation
- *****************************************************************************/
-package org.eclipse.papyrus.sirius.uml.diagram.sequence.services;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.stream.Collectors;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EAnnotation;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.uml2.uml.BehaviorExecutionSpecification;
-import org.eclipse.uml2.uml.CombinedFragment;
-import org.eclipse.uml2.uml.DestructionOccurrenceSpecification;
-import org.eclipse.uml2.uml.ExecutionSpecification;
-import org.eclipse.uml2.uml.Gate;
-import org.eclipse.uml2.uml.Interaction;
-import org.eclipse.uml2.uml.InteractionFragment;
-import org.eclipse.uml2.uml.InteractionOperand;
-import org.eclipse.uml2.uml.InteractionUse;
-import org.eclipse.uml2.uml.Lifeline;
-import org.eclipse.uml2.uml.Message;
-import org.eclipse.uml2.uml.MessageOccurrenceSpecification;
-
-/**
- * The Class FragmentsService.
- *
- * @author Yann Binot (Artal Technologies) <yann.binot@artal.fr>
- */
-public class FragmentsService {
-
-	/** The service. */
-	static private FragmentsService service = null;
-
-
-	/**
-	 * Instantiates a new fragments service.
-	 */
-	private FragmentsService() {
-
-	}
-
-	/**
-	 * Gets the single instance of FragmentsService.
-	 *
-	 * @return single instance of FragmentsService
-	 */
-	static public FragmentsService getInstance() {
-		if(service==null) {
-			service = new FragmentsService();
-		}
-		return service;
-	}
-
-
-
-
-
-	/**
-	 * Gets the finish.
-	 *
-	 * @param o
-	 *            the o
-	 * @return the finish
-	 */
-	public EObject getFinish(EObject o) {
-		if (o instanceof ExecutionSpecification) {
-			return ((ExecutionSpecification) o).getFinish();
-		}
-		if (o instanceof CombinedFragment) {
-
-			EList<EAnnotation> eAnnotations = ((CombinedFragment) o).getEAnnotations();
-			if (eAnnotations != null && !eAnnotations.isEmpty()) {
-				for (EAnnotation annot : eAnnotations) {
-					if (annot.getSource().equals(((CombinedFragment) o).getName() + "_end")) { //$NON-NLS-1$
-						return annot;
-					}
-				}
-			}
-		}
-		if (o instanceof InteractionOperand) {
-			EList<EAnnotation> eAnnotations = ((InteractionOperand) o).getEAnnotations();
-			if (eAnnotations != null && !eAnnotations.isEmpty()) {
-				for (EAnnotation annot : eAnnotations) {
-					if (annot.getSource().equals(((InteractionOperand) o).getName() + "_end")) { //$NON-NLS-1$
-						return annot;
-					}
-				}
-			}
-		}
-		return o;
-	}
-
-
-	/**
-	 * Gets the start.
-	 *
-	 * @param o
-	 *            the o
-	 * @return the start
-	 */
-	public EObject getStart(EObject o) {
-		if (o instanceof ExecutionSpecification) {
-			return ((ExecutionSpecification) o).getStart();
-		}
-		if (o instanceof CombinedFragment) {
-
-
-			EList<EAnnotation> eAnnotations = ((CombinedFragment) o).getEAnnotations();
-			if (eAnnotations != null && !eAnnotations.isEmpty()) {
-				for (EAnnotation annot : eAnnotations) {
-					if (annot.getSource().equals(((CombinedFragment) o).getName() + "_start")) { //$NON-NLS-1$
-						return annot;
-					}
-				}
-			}
-		}
-		if (o instanceof InteractionOperand) {
-			EList<EAnnotation> eAnnotations = ((InteractionOperand) o).getEAnnotations();
-			if (eAnnotations != null && !eAnnotations.isEmpty()) {
-				for (EAnnotation annot : eAnnotations) {
-					if (annot.getSource().equals(((InteractionOperand) o).getName() + "_start")) { //$NON-NLS-1$
-						return annot;
-					}
-				}
-			}
-		}
-		return o;
-	}
-
-	/**
-	 * Gets the fragments ordering ends.
-	 *
-	 * @param object
-	 *            the object
-	 * @return the fragments ordering ends
-	 */
-	public List<EObject> getFragmentsOrderingEnds(EObject object) {
-		List<EObject> results = new ArrayList<>();
-		if (object instanceof Interaction) {
-	
-			fillFragmentOrderingInteraction(object, results);
-		}
-		if (object instanceof InteractionOperand) {
-			fillFragmentOrderingInteractionOperand(object, results);
-		}
-		if (object instanceof CombinedFragment) {
-			fillFragmentOrderingCombinedFragment(object, results);
-		}
-	
-		return results;
-	}
-
-	/**
-	 * Fill fragment ordering combined fragment.
-	 *
-	 * @param object the object
-	 * @param results the results
-	 */
-	private void fillFragmentOrderingCombinedFragment(EObject object, List<EObject> results) {
-		EList<InteractionOperand> operands = ((CombinedFragment) object).getOperands();
-		for (InteractionOperand interactionOperand : operands) {
-			results.addAll(getFragmentsOrderingEnds(interactionOperand));
-		}
-	}
-
-	/**
-	 * Fill fragment ordering interaction operand.
-	 *
-	 * @param object the object
-	 * @param results the results
-	 */
-	private void fillFragmentOrderingInteractionOperand(EObject object, List<EObject> results) {
-		EList<InteractionFragment> fragments = ((InteractionOperand) object).getFragments();
-		EList<EAnnotation> eAnnotations = ((InteractionOperand) object).getEAnnotations();
-		if (eAnnotations != null && !eAnnotations.isEmpty()) {
-			for (EAnnotation annot : eAnnotations) {
-				if (annot.getSource().equals(((InteractionOperand) object).getName() + "_start")) { //$NON-NLS-1$
-					results.add(annot);
-				}
-			}
-		}
-		for (InteractionFragment interactionFragment : fragments) {
-			fillIInteractionFragment(results, interactionFragment);
-			if (interactionFragment instanceof CombinedFragment) {
-				results.addAll(getFragmentsOrderingEnds(interactionFragment));
-			}
-		}
-		if (eAnnotations != null && !eAnnotations.isEmpty()) {
-			for (EAnnotation annot : eAnnotations) {
-				if (annot.getSource().equals(((InteractionOperand) object).getName() + "_end")) { //$NON-NLS-1$
-					results.add(annot);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Fill fragment ordering interaction.
-	 *
-	 * @param object the object
-	 * @param results the results
-	 */
-	private void fillFragmentOrderingInteraction(EObject object, List<EObject> results) {
-		EList<InteractionFragment> fragments = ((Interaction) object).getFragments();
-		for (InteractionFragment interactionFragment : fragments) {
-			if (interactionFragment instanceof CombinedFragment) {
-				EList<EAnnotation> eAnnotations = interactionFragment.getEAnnotations();
-				if (eAnnotations != null && !eAnnotations.isEmpty()) {
-					for (EAnnotation annot : eAnnotations) {
-						if (annot.getSource().equals(((CombinedFragment) interactionFragment).getName() + "_start")) { //$NON-NLS-1$
-							results.add(annot);
-						}
-					}
-				}
-			}
-			fillIInteractionFragment(results, interactionFragment);
-			if (interactionFragment instanceof CombinedFragment) {
-
-				results.addAll(getFragmentsOrderingEnds(interactionFragment));
-				EList<EAnnotation> eAnnotations = interactionFragment.getEAnnotations();
-				if (eAnnotations != null && !eAnnotations.isEmpty()) {
-					for (EAnnotation annot : eAnnotations) {
-						if (annot.getSource().equals(((CombinedFragment) interactionFragment).getName() + "_end")) { //$NON-NLS-1$
-							results.add(annot);
-						}
-					}
-				}
-			}
-
-		}
-	}
-
-	/**
-	 * Fill I interaction fragment.
-	 *
-	 * @param results the results
-	 * @param interactionFragment the interaction fragment
-	 */
-	private void fillIInteractionFragment(List<EObject> results, InteractionFragment interactionFragment) {
-
-		results.add(interactionFragment);
-		if (interactionFragment instanceof MessageOccurrenceSpecification) {
-			EList<EAnnotation> eAnnotations = interactionFragment.getEAnnotations();
-			for (EAnnotation eAnnotation : eAnnotations) {
-				if (eAnnotation.getSource().equals(interactionFragment.getName() + "LOSTMESSAGE") || eAnnotation.getSource().equals(interactionFragment.getName() + "FOUNDMESSAGE")) { //$NON-NLS-1$ //$NON-NLS-2$
-					results.add(eAnnotation);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Gets the enclosing fragments.
-	 *
-	 * @param interactionFragment
-	 *            the interaction fragment
-	 * @return the enclosing fragments
-	 */
-	public List<EObject> getEnclosingFragments(EObject interactionFragment) {
-		final InteractionFragment enclosingFragment = getEnclosingFragment(interactionFragment);
-		List<EObject> fragments = null;
-		if (enclosingFragment instanceof Interaction) {
-			fragments = getFragmentsAndAnnotation(enclosingFragment);
-		}
-		if (enclosingFragment instanceof InteractionOperand) {
-			fragments = getFragmentsAndAnnotation(enclosingFragment);
-		}
-		return fragments;
-	}
-
-	/**
-	 * Gets the fragments and annotation.
-	 *
-	 * @param root
-	 *            the root
-	 * @return the fragments and annotation
-	 */
-	public List<EObject> getFragmentsAndAnnotation(InteractionFragment root) {
-		List<EObject> results = new ArrayList<>();
-		if (root instanceof Interaction) {
-			EList<InteractionFragment> fragments = ((Interaction) root).getFragments();
-			getFragmentsAndAnnotations(results, fragments);
-		}
-		if (root instanceof InteractionOperand) {
-	
-			EList<InteractionFragment> fragments = ((InteractionOperand) root).getFragments();
-			getFragmentsAndAnnotations(results, fragments);
-	
-		}
-
-		return results;
-	}
-
-	/**
-	 * Gets the enclosing fragment.
-	 *
-	 * @param fragment
-	 *            the fragment
-	 * @return the enclosing fragment
-	 */
-	public InteractionFragment getEnclosingFragment(EObject fragment) {
-		if (fragment instanceof Interaction || fragment instanceof InteractionOperand) {
-			return (InteractionFragment) fragment;
-		}
-	
-		if (fragment instanceof InteractionFragment) {
-			Interaction enclosingInteraction = ((InteractionFragment) fragment).getEnclosingInteraction();
-			if (enclosingInteraction == null) {
-				return ((InteractionFragment) fragment).getEnclosingOperand();
-			}
-			return enclosingInteraction;
-		}
-		if (fragment instanceof EAnnotation) {
-			return getEnclosingFragment(fragment.eContainer());
-		}
-		if (fragment instanceof Lifeline) {
-			return ((Lifeline) fragment).getInteraction();
-		}
-		if (fragment instanceof Message) {
-			return ((Message) fragment).getInteraction();
-		}
-		if (fragment instanceof Gate) {
-			InteractionOperand operand = ((Gate) fragment).getOperand();
-			if (operand == null) {
-				return getEnclosingFragment(fragment.eContainer());
-			}
-			return operand;
-		}
-		return null;
-	
-	}
-
-	/**
-	 * Gets the parent interaction.
-	 *
-	 * @param interactionFragment
-	 *            the interaction fragment
-	 * @return the parent interaction
-	 */
-	public Interaction getParentInteraction(InteractionFragment interactionFragment) {
-		if (interactionFragment instanceof InteractionOperand) {
-			return getParentInteraction((InteractionFragment) interactionFragment.eContainer());
-		}
-		Interaction enclosingInteraction = interactionFragment.getEnclosingInteraction();
-		if (enclosingInteraction == null) {
-			InteractionOperand enclosingOperand = interactionFragment.getEnclosingOperand();
-			return getParentInteraction((InteractionFragment) enclosingOperand.eContainer());
-		}
-		return enclosingInteraction;
-	}
-
-	/**
-	 * Get the index of a predecessor fragment.
-	 *
-	 * @param fragment
-	 *            Fragment to search
-	 * @param fragments
-	 *            List of fragments
-	 * @return Index of fragment if exists otherwise 0
-	 */
-	public int getFragmentIndex(EObject fragment, final List<EObject> fragments) {
-		if (fragment != null) {
-			return fragments.indexOf(fragment);
-		}
-		return -1;
-	}
-
-	/**
-	 * Make union.
-	 *
-	 * @param context
-	 *            the context
-	 * @return the list
-	 */
-	public List<EObject> makeUnion(EObject context) {
-		List<EObject> fragments = FragmentsService.getInstance()
-				.getFragmentsAndAnnotation((InteractionFragment) context);
-		return fragments;
-	}
-
-	/**
-	 * Get observation points list.
-	 *
-	 * @param context the context
-	 * @return the list
-	 */
-	public List<EObject> getObservationPoints(EObject context) {
-		List<EObject> fragments = FragmentsService.getInstance()
-				.getFragmentsAndAnnotation((InteractionFragment) context);
-		 
-		fragments = fragments.stream().filter(p -> !(p instanceof CombinedFragment) && !(p instanceof ExecutionSpecification) && !(p instanceof InteractionUse))
-				.collect(Collectors.toList());
-		return fragments;
-	}
-
-
-	/**
-	 * Eol precondition.
-	 *
-	 * @param p
-	 *            the p
-	 * @return true, if successful
-	 */
-	public boolean eolPrecondition(Lifeline p) {
-		Interaction i = p.getInteraction();
-		EList<InteractionFragment> fragments = i.getFragments();
-		for (InteractionFragment interactionFragment : fragments) {
-			if (interactionFragment instanceof DestructionOccurrenceSpecification) {
-				Lifeline covered = ((DestructionOccurrenceSpecification) interactionFragment).getCovered();
-				if (covered != null && covered.equals(p)) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Compute fragments.
-	 *
-	 * @param execution
-	 *            the execution
-	 * @param startingEndPredecessorAfter
-	 *            the starting end predecessor after
-	 * @param parentInteraction
-	 *            the parent interaction
-	 * @return the list
-	 */
-	public List<EObject> computeFragments(EObject execution, EObject startingEndPredecessorAfter, InteractionFragment parentInteraction) {
-		List<EObject> fragmentsource = FragmentsService.getInstance().getEnclosingFragments(execution);
-		List<EObject> fragments = null;
-		if (startingEndPredecessorAfter != null) {
-			fragments = FragmentsService.getInstance().getEnclosingFragments(startingEndPredecessorAfter);
-		} else {
-
-			fragments = /* getParentInteraction(execution).getFragments() */FragmentsService.getInstance().getFragmentsAndAnnotation(parentInteraction);
-		}
-		if (fragmentsource != null && !fragmentsource.equals(fragments)/* && execution instanceof ExecutionSpecification */) {
-			if (execution instanceof ExecutionSpecification) {
-				fragmentsource.remove(((ExecutionSpecification) execution).getStart());
-			}
-			fragmentsource.remove(execution);
-			if (execution instanceof ExecutionSpecification) {
-				fragmentsource.remove(((ExecutionSpecification) execution).getFinish());
-
-
-				fragments.add(((ExecutionSpecification) execution).getStart());
-			}
-			fragments.add(execution);
-			if (execution instanceof ExecutionSpecification) {
-				fragments.add(((ExecutionSpecification) execution).getFinish());
-			}
-		}
-		return fragments;
-	}
-
-
-
-	/**
-	 * Update fragment list.
-	 *
-	 * @param startingEndPredecessorAfter
-	 *            the starting end predecessor after
-	 * @param fragments
-	 *            the fragments
-	 */
-	public void updateFragmentList(EObject startingEndPredecessorAfter, List<EObject> fragments) {
-		InteractionFragment enclosingFragment = FragmentsService.getInstance().getEnclosingFragment(startingEndPredecessorAfter);
-		List<InteractionFragment> fragmentToUpdate = new ArrayList<>();
-		if (enclosingFragment instanceof Interaction) {
-			fragmentToUpdate = ((Interaction) enclosingFragment).getFragments();
-		}
-		if (enclosingFragment instanceof InteractionOperand) {
-			fragmentToUpdate = ((InteractionOperand) enclosingFragment).getFragments();
-		}
-		fragmentToUpdate.clear();
-		for (EObject interactionFragment : fragments) {
-			if (interactionFragment instanceof InteractionFragment) {
-				if (enclosingFragment.eContainer() != interactionFragment) {
-					fragmentToUpdate.add((InteractionFragment) interactionFragment);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Check if fragment is an execution finish.
-	 *
-	 * @param endCandidate
-	 *            Element to check
-	 * @param fragments
-	 *            Defined fragments
-	 * @return True if element is the end of an execution
-	 */
-	public boolean isEnd(InteractionFragment endCandidate, List<InteractionFragment> fragments) {
-		final List<InteractionFragment> executionFinishes = new ArrayList<InteractionFragment>();
-		for (final InteractionFragment fragment : fragments) {
-			if (fragment instanceof BehaviorExecutionSpecification) {
-				// Get start
-				final BehaviorExecutionSpecification behavior = (BehaviorExecutionSpecification) fragment;
-				// Get finish
-				executionFinishes.add(behavior.getFinish());
-			}
-		}
-		return executionFinishes.contains(endCandidate);
-	}
-
-	/**
-	 * Gets the fragments and annotations.
-	 *
-	 * @param results
-	 *            the results
-	 * @param fragments
-	 *            the fragments
-	 * @return the fragments and annotations
-	 */
-	private void getFragmentsAndAnnotations(List<EObject> results, EList<InteractionFragment> fragments) {
-		for (InteractionFragment interactionFragment : fragments) {
-			if (interactionFragment instanceof CombinedFragment) {
-				EList<EAnnotation> eAnnotations = interactionFragment.getEAnnotations();
-				for (EAnnotation annot : eAnnotations) {
-					if (annot.getSource().equals(((CombinedFragment) interactionFragment).getName() + "_start")) { //$NON-NLS-1$
-						results.add(annot);
-					}
-				}
-				fillIInteractionFragment(results, interactionFragment);
-				for (EAnnotation annot : eAnnotations) {
-					if (annot.getSource().equals(((CombinedFragment) interactionFragment).getName() + "_end")) { //$NON-NLS-1$
-						results.add(annot);
-					}
-				}			
-				for (InteractionOperand operand : ((CombinedFragment) interactionFragment).getOperands()) {
-						getFragmentsAndAnnotations(results, operand.getFragments());
-				}
-			} else {
-				fillIInteractionFragment(results, interactionFragment);
-			}
-		}
-	}
-
-}
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/services/GeneralOrderingService.java b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/services/GeneralOrderingService.java
deleted file mode 100755
index e45e69b..0000000
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/services/GeneralOrderingService.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2021 CEA LIST, Artal Technologies
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *    Aurelien Didier (ARTAL) - aurelien.didier51@gmail.com - Initial API and implementation
- *    Yann Binot (ARTAL) - yann.binot@artal.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.sirius.uml.diagram.sequence.services;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.papyrus.sirius.uml.diagram.common.core.services.LabelServices;
-import org.eclipse.sirius.diagram.model.business.internal.spec.DNodeSpec;
-import org.eclipse.uml2.uml.ExecutionSpecification;
-import org.eclipse.uml2.uml.GeneralOrdering;
-import org.eclipse.uml2.uml.InteractionFragment;
-import org.eclipse.uml2.uml.UMLFactory;
-
-/**
- * The Class GeneralOrderingService.
- *
- * @author Yann Binot (Artal Technologies) <yann.binot@artal.fr>
- */
-@SuppressWarnings("restriction")
-public class GeneralOrderingService {
-
-	/** The service. */
-	static private GeneralOrderingService service = null;
-
-
-	/**
-	 * Instantiates a new fragments service.
-	 */
-	private GeneralOrderingService() {
-
-	}
-
-	/**
-	 * Gets the single instance of FragmentsService.
-	 *
-	 * @return single instance of FragmentsService
-	 */
-	static public GeneralOrderingService getInstance() {
-		if (service == null) {
-			service = new GeneralOrderingService();
-		}
-		return service;
-	}
-
-
-	/**
-	 * Creates the general ordering.
-	 *
-	 * @param context
-	 *            the context
-	 * @param sourceVariable
-	 *            the source variable
-	 * @param targetVariable
-	 *            the target variable
-	 * @return the general ordering
-	 */
-	public GeneralOrdering createGeneralOrdering(EObject context, EObject sourceVariable, EObject targetVariable) {
-		if (context instanceof DNodeSpec) {
-			EObject target = ((DNodeSpec) context).getTarget();
-			if (target instanceof ExecutionSpecification) {
-				InteractionFragment interaction = FragmentsService.getInstance().getEnclosingFragment(target);
-
-				GeneralOrdering generalOrdering = UMLFactory.eINSTANCE.createGeneralOrdering();
-				interaction.getGeneralOrderings().add(generalOrdering);
-				generalOrdering.setName(computeDefaultName(generalOrdering));
-
-
-				generalOrdering.setBefore(((ExecutionSpecification) sourceVariable).getFinish());
-				generalOrdering.setAfter(((ExecutionSpecification) targetVariable).getStart());
-
-				return generalOrdering;
-			}
-		}
-		return null;
-	}
-
-
-
-	/**
-	 * Compute default name.
-	 *
-	 * @param element
-	 *            New element
-	 * @return Name for the new element, he name will looks like
-	 *         'ElementType'+total of existing elements of the same type.
-	 */
-	private String computeDefaultName(final EObject element) {
-		return LabelServices.INSTANCE.computeDefaultName(element);
-	}
-
-}
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/services/LifelineService.java b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/services/LifelineService.java
deleted file mode 100755
index b02514e..0000000
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/services/LifelineService.java
+++ /dev/null
@@ -1,343 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011, 2021 Obeo,  CEA LIST, Artal Technologies
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *    Obeo - initial API and implementation
- *    Aurelien Didier (ARTAL) - aurelien.didier51@gmail.com - adaptation to integrate in Papyrus
- *    Yann Binot (ARTAL) - yann.binot@artal.fr - adaptation to integrate in Papyrus
- *******************************************************************************/
-package org.eclipse.papyrus.sirius.uml.diagram.sequence.services;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.uml2.uml.CombinedFragment;
-import org.eclipse.uml2.uml.ConnectableElement;
-import org.eclipse.uml2.uml.Dependency;
-import org.eclipse.uml2.uml.ExecutionSpecification;
-import org.eclipse.uml2.uml.InstanceSpecification;
-import org.eclipse.uml2.uml.Interaction;
-import org.eclipse.uml2.uml.InteractionFragment;
-import org.eclipse.uml2.uml.InteractionOperand;
-import org.eclipse.uml2.uml.Lifeline;
-import org.eclipse.uml2.uml.Message;
-import org.eclipse.uml2.uml.MessageOccurrenceSpecification;
-import org.eclipse.uml2.uml.NamedElement;
-import org.eclipse.uml2.uml.OccurrenceSpecification;
-import org.eclipse.uml2.uml.Type;
-
-/**
- * The Class LifelineService.
- *
- * @author Yann Binot (Artal Technologies) <yann.binot@artal.fr>
- */
-public class LifelineService {
-
-
-	/** The service. */
-	static private LifelineService service = null;
-
-
-	/**
-	 * Instantiates a new fragments service.
-	 */
-	private LifelineService() {
-
-	}
-
-	/**
-	 * Gets the single instance of FragmentsService.
-	 *
-	 * @return single instance of FragmentsService
-	 */
-	static public LifelineService getInstance() {
-		if (service == null) {
-			service = new LifelineService();
-		}
-		return service;
-	}
-
-
-	/**
-	 * Get type associated to a lifeline.
-	 *
-	 * @param target
-	 *            Lifeline
-	 * @return Type
-	 */
-	public Type getType(Lifeline target) {
-		if (target.getRepresents() != null) {
-			return target.getRepresents().getType();
-		}
-
-		if (target.getClientDependencies() != null && !target.getClientDependencies().isEmpty()) {
-			return ((InstanceSpecification) target.getClientDependencies().get(0).getSuppliers().get(0))
-					.getClassifiers().get(0);
-		}
-		return null;
-
-	}
-
-	/**
-	 * Gets the fragments.
-	 *
-	 * @param results
-	 *            the results
-	 * @param lifeline
-	 *            the lifeline
-	 * @param interaction
-	 *            the interaction
-	 * @return the fragments
-	 */
-	public void getFragmentsFromLifeline(List<ExecutionSpecification> results, Lifeline lifeline, EObject interaction) {
-		EList<InteractionFragment> fragments = null;
-		if (interaction instanceof Interaction) {
-			fragments = ((Interaction) interaction).getFragments();
-		}
-		if (interaction instanceof InteractionOperand) {
-			fragments = ((InteractionOperand) interaction).getFragments();
-		}
-		for (InteractionFragment interactionFragment : fragments) {
-			if (interactionFragment instanceof ExecutionSpecification) {
-				if (interactionFragment.getCovereds().contains(lifeline)) {
-					if (!ExecutionService.getInstance().isNestedExecution((ExecutionSpecification) interactionFragment)) {
-						results.add((ExecutionSpecification) interactionFragment);
-					}
-				}
-			}
-			if (interactionFragment instanceof CombinedFragment) {
-				EList<InteractionOperand> operands = ((CombinedFragment) interactionFragment).getOperands();
-				for (InteractionOperand interactionOperand : operands) {
-					getFragmentsFromLifeline(results, lifeline, interactionOperand);
-				}
-			}
-		}
-	}
-
-
-	/**
-	 * Get the lifeline associated to a fragment.
-	 *
-	 * @param fragment
-	 *            Fragment
-	 * @return Lifeline if exists otherwise null
-	 */
-	public Lifeline getLifeline(EObject fragment) {
-		if (fragment instanceof Lifeline) {
-			return (Lifeline) fragment;
-		} else if (fragment instanceof InteractionFragment) {
-			final List<Lifeline> lifelines = ((InteractionFragment) fragment).getCovereds();
-			if (lifelines != null && !lifelines.isEmpty()) {
-				return lifelines.get(0);
-			}
-		}
-		return null;
-	}
-
-	
-
-
-
-	/**
-	 * Compute lifeline comment label.
-	 *
-	 * @param lifeline
-	 *            Lifeline
-	 * @return LAbel
-	 */
-	public String computeLifelineCommentLabel(Lifeline lifeline) {
-		final ConnectableElement represent = lifeline.getRepresents();
-		// ['current container :
-		// '+self.oclAsType(uml::Lifeline).represents.eContainer().oclAsType(uml::NamedElement).name/]
-		final EList<Dependency> dependencies = lifeline.getClientDependencies();
-
-		if (represent != null) {
-			final EObject container = represent.eContainer();
-			if (dependencies.size() == 0) {
-				if (container != null && container instanceof NamedElement) {
-					return "current container : " + ((NamedElement) container).getName(); //$NON-NLS-1$
-				}
-			} else {
-				// ['current container :
-				// '+self.oclAsType(uml::Lifeline).represents.eContainer().name+'\n
-				// context dependency:
-				// '+self.oclAsType(uml::Lifeline).clientDependency.supplier.name->sep('::')/]
-				if (container != null && container instanceof NamedElement) {
-					final EList<NamedElement> suppliers = dependencies.get(0).getSuppliers();
-					if (suppliers != null && suppliers.size() > 0) {
-						final EObject supplier = suppliers.get(0);
-						if (supplier != null && supplier instanceof NamedElement) {
-							return "current container : " + ((NamedElement) container).getName() //$NON-NLS-1$
-									+ " context dependency: " + ((NamedElement) supplier).getName(); //$NON-NLS-1$
-						}
-					}
-				}
-			}
-		} else {
-			if (dependencies != null) {
-				final EList<NamedElement> suppliers = dependencies.get(0).getSuppliers();
-				if (dependencies.size() > 1) {
-					// ['context dependency:
-					// '+self.oclAsType(uml::Lifeline).clientDependency.supplier.name->sep('::')/]
-					if (suppliers != null && suppliers.size() > 0) {
-						final EObject supplier = suppliers.get(0);
-						if (supplier != null && supplier instanceof NamedElement) {
-							return "context dependency: " + ((NamedElement) supplier).getName(); //$NON-NLS-1$
-						}
-					}
-				} else if (dependencies.size() == 1) {
-					// ['current container :
-					// '+self.oclAsType(uml::Lifeline).clientDependency.supplier.eContainer().name/]
-					if (suppliers != null && suppliers.size() > 0) {
-						final EObject supplier = suppliers.get(0);
-						if (supplier != null) {
-							final EObject container = supplier.eContainer();
-							if (container != null && container instanceof NamedElement) {
-								return "current container : " + ((NamedElement) container).getName(); //$NON-NLS-1$
-							}
-						}
-					}
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Check if lifeline is representing a property.
-	 *
-	 * @param element
-	 *            Lifeline
-	 * @return True iflifeline is representing a property
-	 */
-	public boolean isRepresentingProperty(Lifeline element) {
-		return false;
-	}
-
-	/**
-	 * Delete lifeline.
-	 *
-	 * @param lifeline
-	 *            Lifeline to delete
-	 */
-	public void delete(Lifeline lifeline) {
-		if (lifeline == null) {
-			return;
-		}
-		// Delete dependency
-		deleteContext(lifeline);
-
-		// Delete all executions
-		for (final ExecutionSpecification execution : executionSemanticCandidates(lifeline)) {
-			if (execution instanceof ExecutionSpecification) {
-				ExecutionService.getInstance().deleteExecution(execution);
-			}
-		}
-
-		// Delete all messages
-		for (final Message message : getAllMessages(lifeline)) {
-			MessageService.getInstance().delete(message);
-		}
-
-		// Delete lifeline
-		lifeline.destroy();
-	}
-
-	/**
-	 * Find the first level of {@link ExecutionSpecification} in the given {@link InteractionFragment} list.
-	 *
-	 * @param lifeline
-	 *            the {@link Lifeline} which is covered by the searched {@link ExecutionSpecification}
-	 * @param candidateFragments
-	 *            a sub-list of {@link InteractionFragment} to inspect for the first
-	 *            {@link ExecutionSpecification} level.
-	 * @return {@link List} of the {@link ExecutionSpecification}
-	 */
-	private List<ExecutionSpecification> getFirstLevelExecutions(Lifeline lifeline,
-			final List<InteractionFragment> candidateFragments) {
-		final List<ExecutionSpecification> executions = new ArrayList<ExecutionSpecification>();
-		ExecutionSpecification subExec = null;
-		for (final InteractionFragment fragment : candidateFragments) {
-			if (fragment instanceof ExecutionSpecification && fragment.getCovereds().contains(lifeline)) {
-				// Element on the same lifeline
-				if (subExec == null) {
-					subExec = (ExecutionSpecification) fragment;
-				}
-			} else if (fragment instanceof OccurrenceSpecification && subExec != null
-					&& fragment.equals(subExec.getFinish())) {
-				executions.add(subExec);
-				subExec = null;
-			}
-			if (fragment instanceof CombinedFragment) {
-				EList<InteractionOperand> operands = ((CombinedFragment) fragment).getOperands();
-				for (InteractionOperand operand : operands) {
-					executions.addAll(getFirstLevelExecutions(lifeline, operand.getFragments()));
-				}
-
-			}
-		}
-	
-		return executions;
-	}
-
-	/**
-	 * Finds the first level of {@link ExecutionSpecification} in the context of the given {@link Lifeline}.
-	 *
-	 * @param lifeline
-	 *            the context.
-	 * @return the {@link ExecutionSpecification} semantic candidates.
-	 */
-	private List<ExecutionSpecification> executionSemanticCandidates(Lifeline lifeline) {
-		return getFirstLevelExecutions(lifeline, lifeline.getInteraction().getFragments());
-	}
-
-	/**
-	 * Get all messages associated to lifeline.
-	 *
-	 * @param lifeline
-	 *            Lifeline
-	 * @return Messages associated to lifeline
-	 */
-	private List<Message> getAllMessages(Lifeline lifeline) {
-		final List<Message> messages = new ArrayList<Message>();
-		if (lifeline != null && lifeline.getInteraction() != null) {
-			for (final Message message : lifeline.getInteraction().getMessages()) {
-				for (final Lifeline coveredLifeline : ((MessageOccurrenceSpecification) message.getSendEvent())
-						.getCovereds()) {
-					if (lifeline.equals(coveredLifeline)) {
-						messages.add(message);
-					}
-				}
-			}
-		}
-		return messages;
-	}
-
-
-	/**
-	 * Delete the client dependency used for the context.
-	 *
-	 * @param lifeline
-	 *            the lifeline
-	 */
-	// add an eannotation
-	private void deleteContext(Lifeline lifeline) {
-		final Object[] dependencies = lifeline.getClientDependencies().toArray();
-
-		for (int i = 0; i < dependencies.length; i++) {
-			EcoreUtil.delete((Dependency) dependencies[i]);
-		}
-
-	}
-
-}
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/services/MessageService.java b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/services/MessageService.java
deleted file mode 100755
index 7aadbb6..0000000
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/services/MessageService.java
+++ /dev/null
@@ -1,1696 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2021, 2022 CEA LIST, Artal Technologies and Obeo
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *    Aurelien Didier (ARTAL) - aurelien.didier51@gmail.com - Initial API and implementation
- *    Jessy Mallet (Obeo) - jessy.mallet@obeo.fr - Modify Lost/Found Message creation
- *****************************************************************************/
-package org.eclipse.papyrus.sirius.uml.diagram.sequence.services;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Stack;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EAnnotation;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EcoreFactory;
-import org.eclipse.papyrus.sirius.uml.diagram.common.core.services.LabelServices;
-import org.eclipse.papyrus.sirius.uml.diagram.common.core.services.OperationServices;
-import org.eclipse.sirius.diagram.model.business.internal.spec.DNodeSpec;
-import org.eclipse.sirius.diagram.sequence.ordering.EventEnd;
-import org.eclipse.uml2.uml.Behavior;
-import org.eclipse.uml2.uml.BehaviorExecutionSpecification;
-import org.eclipse.uml2.uml.DestructionOccurrenceSpecification;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.ExecutionOccurrenceSpecification;
-import org.eclipse.uml2.uml.ExecutionSpecification;
-import org.eclipse.uml2.uml.Gate;
-import org.eclipse.uml2.uml.Interaction;
-import org.eclipse.uml2.uml.InteractionFragment;
-import org.eclipse.uml2.uml.InteractionOperand;
-import org.eclipse.uml2.uml.InteractionUse;
-import org.eclipse.uml2.uml.Lifeline;
-import org.eclipse.uml2.uml.Message;
-import org.eclipse.uml2.uml.MessageEnd;
-import org.eclipse.uml2.uml.MessageOccurrenceSpecification;
-import org.eclipse.uml2.uml.MessageSort;
-import org.eclipse.uml2.uml.NamedElement;
-import org.eclipse.uml2.uml.OccurrenceSpecification;
-import org.eclipse.uml2.uml.Operation;
-import org.eclipse.uml2.uml.PackageableElement;
-import org.eclipse.uml2.uml.Signal;
-import org.eclipse.uml2.uml.StateInvariant;
-import org.eclipse.uml2.uml.UMLFactory;
-
-/**
- * The Class MessageService.
- */
-@SuppressWarnings("restriction")
-public class MessageService {
-
-
-	/**
-	 * Signal name suffix.
-	 */
-	public static final String SIGNAL_SUFFIX = "_signal"; //$NON-NLS-1$
-
-	/**
-	 * Sender message name suffix.
-	 */
-	public static final String SENDER_MESSAGE_SUFFIX = "_sender"; //$NON-NLS-1$
-
-	/**
-	 * Receiver message name suffix.
-	 */
-	public static final String RECEIVER_MESSAGE_SUFFIX = "_receiver"; //$NON-NLS-1$
-
-
-	/** The service. */
-	static private MessageService service = null;
-
-
-	/**
-	 * Instantiates a new fragments service.
-	 */
-	private MessageService() {
-
-	}
-
-	/**
-	 * Gets the single instance of FragmentsService.
-	 *
-	 * @return single instance of FragmentsService
-	 */
-	static public MessageService getInstance() {
-		if (service == null) {
-			service = new MessageService();
-		}
-		return service;
-	}
-	
-	/**
-	 * Complete Found {@link Message} creation with its {@link MessageOccurrenceSpecification} receive event.
-	 *
-	 * @param context
-	 *            the context which hold the created Found {@link Message}
-	 * @param foundMessage
-	 *            the created Found {@link Message}.
-	 */
-	public void completeFoundMessageWithMsgOccSpec(EObject context, Message foundMessage) {
-		Lifeline lifeline= null;
-		if (context instanceof Lifeline) {
-			lifeline = (Lifeline) context;
-		} else if (context instanceof ExecutionOccurrenceSpecification) {
-			lifeline = ((ExecutionOccurrenceSpecification) context).getCovered();
-		}			
-		Interaction interaction = lifeline.getInteraction();
-		
-		foundMessage.setName(computeDefaultName(foundMessage));
-
-		MessageOccurrenceSpecification occurenceMessageReceive = UMLFactory.eINSTANCE.createMessageOccurrenceSpecification();
-		occurenceMessageReceive.setMessage(foundMessage);
-		
-		if (context instanceof ExecutionOccurrenceSpecification) {
-			ReorderService.getInstance().replaceExecByMessage(occurenceMessageReceive, interaction.getFragments(), (ExecutionOccurrenceSpecification) context);
-		} else {
-			interaction.getFragments().add(occurenceMessageReceive);
-		}
-		
-		lifeline.getCoveredBys().add(occurenceMessageReceive);
-		occurenceMessageReceive.setName(computeDefaultName(occurenceMessageReceive) + "ReceiveEvent"); //$NON-NLS-1$
-		EAnnotation annotation = EcoreFactory.eINSTANCE.createEAnnotation();
-		annotation.setSource(occurenceMessageReceive.getName() + "FOUNDMESSAGE"); //$NON-NLS-1$
-		occurenceMessageReceive.getEAnnotations().add(annotation);
-
-		foundMessage.setMessageSort(MessageSort.SYNCH_CALL_LITERAL);
-		foundMessage.setReceiveEvent(occurenceMessageReceive);
-	}
-
-
-
-	/**
-	 * Checks if is lost found target valid.
-	 *
-	 * @param context
-	 *            the context
-	 * @return true, if is lost found target valid
-	 */
-	public boolean isLostFoundTargetValid(EObject context) {
-
-		if (context instanceof Lifeline) {
-			return true;
-		}
-		if (context instanceof ExecutionOccurrenceSpecification) {
-			return true;
-		}
-		return false;
-
-
-	}
-	
-	/**
-	 * Complete Lost {@link Message} creation with its {@link MessageOccurrenceSpecification} Send Event.
-	 *
-	 * @param context
-	 *            the context which hold the created Lost {@link Message}
-	 * @param lostMessage
-	 *            the created Lost {@link Message}.
-	 */
-	public void completeLostMessageWithMsgOccSpec(EObject context, Message lostMessage) {
-		Lifeline lifeline = null;
-		if (context instanceof Lifeline) {
-			lifeline = (Lifeline) context;
-		} else if (context instanceof ExecutionOccurrenceSpecification) {
-			lifeline = ((ExecutionOccurrenceSpecification) context).getCovered();			
-		}
-		Interaction interaction = lifeline.getInteraction();
-
-		lostMessage.setName(computeDefaultName(lostMessage));
-
-		MessageOccurrenceSpecification occurenceMessageSend = UMLFactory.eINSTANCE.createMessageOccurrenceSpecification();
-		occurenceMessageSend.setMessage(lostMessage);
-
-		if (context instanceof ExecutionOccurrenceSpecification) {
-			ReorderService.getInstance().replaceExecByMessage(occurenceMessageSend, interaction.getFragments(), (ExecutionOccurrenceSpecification) context);
-
-		} else {
-			interaction.getFragments().add(occurenceMessageSend);
-		}
-		lifeline.getCoveredBys().add(occurenceMessageSend);
-		occurenceMessageSend.setName(computeDefaultName(occurenceMessageSend) + "SendEvent"); //$NON-NLS-1$
-		EAnnotation annotation = EcoreFactory.eINSTANCE.createEAnnotation();
-		annotation.setSource(occurenceMessageSend.getName() + "LOSTMESSAGE"); //$NON-NLS-1$
-		occurenceMessageSend.getEAnnotations().add(annotation);
-
-		lostMessage.setMessageSort(MessageSort.SYNCH_CALL_LITERAL);
-		lostMessage.setSendEvent(occurenceMessageSend);
-	}
-
-
-	/**
-	 * Gets the lost receive annotation.
-	 *
-	 * @param context
-	 *            the context
-	 * @return the lost receive annotation
-	 */
-	public EObject getLostReceiveAnnotation(EObject context) {
-		if (context instanceof Message) {
-			MessageEnd sendEvent = ((Message) context).getSendEvent();
-			EList<EAnnotation> eAnnotations = sendEvent.getEAnnotations();
-			for (EAnnotation eAnnotation : eAnnotations) {
-				if (eAnnotation.getSource().equals(sendEvent.getName() + "LOSTMESSAGE")) { //$NON-NLS-1$
-					return eAnnotation;
-				}
-			}
-			return sendEvent;
-		}
-
-		return null;
-	}
-	
-	/**
-	 * Gets the found send annotation.
-	 *
-	 * @param context
-	 *            the context
-	 * @return the found send annotation
-	 */
-	public EObject getFoundSendAnnotation(EObject context) {
-		if (context instanceof Message) {
-			MessageEnd receiveEvent = ((Message) context).getReceiveEvent();
-			EList<EAnnotation> eAnnotations = receiveEvent.getEAnnotations();
-			for (EAnnotation eAnnotation : eAnnotations) {
-				if (eAnnotation.getSource().equals(receiveEvent.getName() + "FOUNDMESSAGE")) { //$NON-NLS-1$
-					return eAnnotation;
-				}
-			}
-			return receiveEvent;
-		}
-
-		return null;
-	}
-
-
-	/**
-	 * Creates the reply message.
-	 *
-	 * @param context
-	 *            the context
-	 * @param sourceFragment
-	 *            the source fragment
-	 * @param targetFragment
-	 *            the target fragment
-	 * @param startingEndPredecessor
-	 *            the starting end predecessor
-	 * @param finishingEndPredecessor
-	 *            the finishing end predecessor
-	 */
-	public void createReplyMessage(EObject context, NamedElement sourceFragment,
-			NamedElement targetFragment, EventEnd startingEndPredecessor, EventEnd finishingEndPredecessor) {
-		EObject startingEndPredecessorSemanticEnd = null;
-		EObject finishingEndPredecessorSemanticEnd = null;
-		InteractionFragment interaction = null;
-		if (targetFragment instanceof Lifeline) {
-			interaction = ((Lifeline) targetFragment).getInteraction();
-		} else {
-			interaction = FragmentsService.getInstance().getEnclosingFragment(targetFragment);
-		}
-		if (startingEndPredecessor != null) {
-			startingEndPredecessorSemanticEnd = startingEndPredecessor.getSemanticEnd();
-		}
-		if (finishingEndPredecessor != null) {
-			finishingEndPredecessorSemanticEnd = finishingEndPredecessor.getSemanticEnd();
-		}
-		Message replyMessage = createReplyMessage(interaction, targetFragment, sourceFragment,
-				startingEndPredecessorSemanticEnd, finishingEndPredecessorSemanticEnd, null);
-		getMessages(interaction).add(replyMessage);
-
-		final MessageOccurrenceSpecification senderEventMessage = (MessageOccurrenceSpecification) replyMessage
-				.getSendEvent();
-		final MessageOccurrenceSpecification receiverEventMessage = (MessageOccurrenceSpecification) replyMessage
-				.getReceiveEvent();
-
-		final List<EObject> fragments = FragmentsService.getInstance().getFragmentsAndAnnotation(interaction);
-		final BehaviorExecutionSpecification predecessorExecution = ExecutionService.getInstance().getExecution(
-				startingEndPredecessorSemanticEnd);
-		// If predecessor is the beginning of an execution add message after the
-		// execution
-		if (startingEndPredecessorSemanticEnd != null && startingEndPredecessorSemanticEnd instanceof OccurrenceSpecification
-				&& predecessorExecution != null
-				&& startingEndPredecessorSemanticEnd.equals(predecessorExecution.getStart())) {
-			fragments.add(fragments.indexOf(predecessorExecution) + 1, senderEventMessage);
-		}
-		// Else set it directly after the predecessor
-		else {
-			fragments.add(fragments.indexOf(startingEndPredecessorSemanticEnd) + 1, senderEventMessage);
-		}
-
-		fragments.add(fragments.indexOf(senderEventMessage) + 1, receiverEventMessage);
-
-		FragmentsService.getInstance().updateFragmentList(startingEndPredecessorSemanticEnd != null ? startingEndPredecessorSemanticEnd : interaction, fragments);
-	}
-
-
-
-	/**
-	 * Create Delete message.
-	 *
-	 * @param context
-	 *            the context
-	 * @param sourceVariable
-	 *            the source variable
-	 * @param targetVariable
-	 *            the target variable
-	 * @param startingEndPredecessor
-	 *            the starting end predecessor
-	 * @param finishingEndPredecessor
-	 *            the finishing end predecessor
-	 * @return the message
-	 */
-	public Message deleteMessage(EObject context, EObject sourceVariable, Lifeline targetVariable, EventEnd startingEndPredecessor, EventEnd finishingEndPredecessor) {
-		EObject startingEndPredecessorSemanticEnd = null;
-		if (startingEndPredecessor != null) {
-			startingEndPredecessorSemanticEnd = startingEndPredecessor.getSemanticEnd();
-		}
-
-		if (context instanceof DNodeSpec) {
-			EObject target = ((DNodeSpec) context).getTarget();
-			Interaction interaction = null;
-			if (target instanceof InteractionFragment) {
-				interaction = FragmentsService.getInstance().getParentInteraction((InteractionFragment) target);
-			}
-			if (target instanceof Lifeline) {
-				interaction = ((Lifeline) target).getInteraction();
-			}
-			Message deleteMessage = UMLFactory.eINSTANCE.createMessage();
-			interaction.getMessages().add(deleteMessage);
-			deleteMessage.setName(computeDefaultName(deleteMessage));
-
-			MessageOccurrenceSpecification occurenceMessageSend = UMLFactory.eINSTANCE.createMessageOccurrenceSpecification();
-			interaction.getFragments().add(occurenceMessageSend);
-			LifelineService.getInstance().getLifeline(sourceVariable).getCoveredBys().add(occurenceMessageSend);
-			occurenceMessageSend.setName(computeDefaultName(occurenceMessageSend) + "SendEvent"); //$NON-NLS-1$
-
-			DestructionOccurrenceSpecification occurenceMessageReceive = UMLFactory.eINSTANCE.createDestructionOccurrenceSpecification();
-			interaction.getFragments().add(occurenceMessageReceive);
-			occurenceMessageReceive.setName(computeDefaultName(occurenceMessageReceive) + "ReceiveEvent"); //$NON-NLS-1$
-			targetVariable.getCoveredBys().add(occurenceMessageReceive);
-
-			deleteMessage.setMessageSort(MessageSort.DELETE_MESSAGE_LITERAL);
-			deleteMessage.setSendEvent(occurenceMessageSend);
-			deleteMessage.setReceiveEvent(occurenceMessageReceive);
-
-
-			List<EObject> fragments = FragmentsService.getInstance().getEnclosingFragments(interaction);
-			if (sourceVariable instanceof ExecutionOccurrenceSpecification) {
-				MessageOccurrenceSpecification sendEvent = (MessageOccurrenceSpecification) deleteMessage.getSendEvent();
-
-				ExecutionSpecification sourceExecution = ((ExecutionOccurrenceSpecification) sourceVariable).getExecution();
-
-				fragments.remove(sendEvent);
-				replaceByMessageOccurrence((ExecutionOccurrenceSpecification) sourceVariable, fragments, sendEvent, sourceExecution);
-				if (startingEndPredecessorSemanticEnd != null && startingEndPredecessorSemanticEnd.equals(sourceVariable)) {
-					startingEndPredecessorSemanticEnd = sendEvent;
-				}
-			}
-
-			boolean startOfExecution = startingEndPredecessorSemanticEnd == null ? true : ReorderService.getInstance().isStartOfExecution(startingEndPredecessorSemanticEnd, fragments);
-			int index = -1;
-			if (startingEndPredecessorSemanticEnd == null) {
-				index = 0;
-			} else {
-				index = startingEndPredecessorSemanticEnd.equals(deleteMessage.getSendEvent()) ? fragments.indexOf(startingEndPredecessorSemanticEnd) : fragments.indexOf(startingEndPredecessorSemanticEnd) + (startOfExecution ? 1 : 2);
-			}
-
-			/////////////////////////
-
-			fragments.remove(
-					deleteMessage.getSendEvent());
-			fragments.add(index,
-					deleteMessage.getSendEvent());
-
-			fragments.remove(
-					deleteMessage.getReceiveEvent());
-			fragments.add(fragments.indexOf(deleteMessage.getSendEvent()) + 1,
-					deleteMessage.getReceiveEvent());
-
-
-			FragmentsService.getInstance().updateFragmentList(interaction, fragments);
-
-
-			///////////////////////
-
-
-
-			return deleteMessage;
-		}
-		return null;
-	}
-
-	/**
-	 * Creates the message.
-	 *
-	 * @param context
-	 *            the context
-	 * @param sourceV
-	 *            the source V
-	 * @param targetV
-	 *            the target V
-	 * @param startingEndPredecessor
-	 *            the starting end predecessor
-	 * @param finishingEndPredecessor
-	 *            the finishing end predecessor
-	 * @return the message
-	 */
-	public Message createMessage(EObject context, EObject sourceV, Lifeline targetV, EventEnd startingEndPredecessor, EventEnd finishingEndPredecessor) {
-
-		Element startingEndPredecessorSemanticEnd = null;
-		if (startingEndPredecessor != null) {
-			startingEndPredecessorSemanticEnd = (Element) startingEndPredecessor.getSemanticEnd();
-		}
-
-		if (context instanceof DNodeSpec) {
-			EObject target = ((DNodeSpec) context).getTarget();
-			Interaction interaction = null;
-			if (target instanceof InteractionFragment) {
-				interaction = FragmentsService.getInstance().getParentInteraction((InteractionFragment) target);
-			} else if (target instanceof Lifeline) {
-				interaction = ((Lifeline) target).getInteraction();
-			}
-
-			Message createMessage = createMessage(interaction, sourceV, targetV);
-			List<EObject> fragments = FragmentsService.getInstance().getEnclosingFragments(interaction);
-			if (sourceV instanceof ExecutionOccurrenceSpecification) {
-				MessageOccurrenceSpecification sendEvent = (MessageOccurrenceSpecification) createMessage.getSendEvent();
-
-				ExecutionSpecification sourceExecution = ((ExecutionOccurrenceSpecification) sourceV).getExecution();
-
-				fragments.remove(sendEvent);
-				replaceByMessageOccurrence((ExecutionOccurrenceSpecification) sourceV, fragments, sendEvent, sourceExecution);
-				if (startingEndPredecessorSemanticEnd != null && startingEndPredecessorSemanticEnd.equals(sourceV)) {
-					startingEndPredecessorSemanticEnd = sendEvent;
-				}
-			}
-
-			/////////////////////////
-
-			boolean startOfExecution = startingEndPredecessorSemanticEnd == null ? true : ReorderService.getInstance().isStartOfExecution(startingEndPredecessorSemanticEnd, fragments);
-			int index = -1;
-			if (startingEndPredecessorSemanticEnd == null) {
-				index = 0;
-			} else {
-				index = startingEndPredecessorSemanticEnd.equals(createMessage.getSendEvent()) ? fragments.indexOf(startingEndPredecessorSemanticEnd) : fragments.indexOf(startingEndPredecessorSemanticEnd) + (startOfExecution ? 1 : 2);
-			}
-
-			fragments.remove(
-					createMessage.getSendEvent());
-			fragments.add(index,
-					createMessage.getSendEvent());
-
-			fragments.remove(
-					createMessage.getReceiveEvent());
-			fragments.add(fragments.indexOf(createMessage.getSendEvent()) + 1,
-					createMessage.getReceiveEvent());
-
-
-
-
-
-			///////////////////////
-
-
-
-			FragmentsService.getInstance().updateFragmentList(interaction, fragments);
-
-			return createMessage;
-		}
-		return null;
-	}
-
-
-
-	/**
-	 * Creates the synchronous message.
-	 *
-	 * @param source
-	 *            the source
-	 * @param target
-	 *            the target
-	 * @return the message
-	 */
-	public Message createMessage(EObject source, Lifeline target) {
-
-		if (source instanceof ExecutionOccurrenceSpecification) {
-			InteractionFragment interaction = FragmentsService.getInstance().getEnclosingFragment(target);
-			final Message message = createMessage((Interaction) interaction, source, target);
-			List<EObject> enclosingFragments = FragmentsService.getInstance().getEnclosingFragments(target);
-
-			MessageOccurrenceSpecification sendEvent = (MessageOccurrenceSpecification) message.getSendEvent();
-
-			ExecutionSpecification sourceExecution = ((ExecutionOccurrenceSpecification) source).getExecution();
-
-			replaceByMessageOccurrence((ExecutionOccurrenceSpecification) source, enclosingFragments, sendEvent, sourceExecution);
-
-			FragmentsService.getInstance().updateFragmentList(interaction, enclosingFragments);
-			return message;
-		}
-		return null;
-	}
-
-	/**
-	 * Creates the message.
-	 *
-	 * @param interaction
-	 *            the interaction
-	 * @param sourceV
-	 *            the source V
-	 * @param targetV
-	 *            the target V
-	 * @return the message
-	 */
-	private Message createMessage(Interaction interaction, EObject sourceV, Lifeline targetV) {
-		Message createMessage = UMLFactory.eINSTANCE.createMessage();
-		interaction.getMessages().add(createMessage);
-		createMessage.setName(computeDefaultName(createMessage));
-		MessageOccurrenceSpecification occurenceMessageSend = UMLFactory.eINSTANCE.createMessageOccurrenceSpecification();
-		interaction.getFragments().add(occurenceMessageSend);
-		LifelineService.getInstance().getLifeline(sourceV).getCoveredBys().add(occurenceMessageSend);
-		occurenceMessageSend.setName(computeDefaultName(occurenceMessageSend) + "SendEvent"); //$NON-NLS-1$
-		MessageOccurrenceSpecification occurenceMessageReceive = UMLFactory.eINSTANCE.createMessageOccurrenceSpecification();
-		interaction.getFragments().add(occurenceMessageReceive);
-		occurenceMessageReceive.setName(computeDefaultName(occurenceMessageReceive) + "ReceiveEvent"); //$NON-NLS-1$
-		targetV.getCoveredBys().add(occurenceMessageReceive);
-
-		createMessage.setMessageSort(MessageSort.CREATE_MESSAGE_LITERAL);
-		createMessage.setSendEvent(occurenceMessageSend);
-		createMessage.setReceiveEvent(occurenceMessageReceive);
-		return createMessage;
-	}
-
-
-	/**
-	 * Creates the synchronous message.
-	 *
-	 * @param target
-	 *            the target
-	 * @param source
-	 *            the source
-	 */
-	public void createSynchronousMessage(NamedElement target, NamedElement source) {
-
-		InteractionFragment interaction = FragmentsService.getInstance().getEnclosingFragment(target);
-
-		final Message message = createSynchronousMessage(interaction, source, target,
-				null, null, null);
-
-		getMessages(interaction).add(message);
-
-
-
-
-		manageMessageEnds(target, source, message);
-
-
-	}
-
-
-
-
-	/**
-	 * Create an operation and an asynchronous message from a lifeline or an execution. Create the operation
-	 * in the class and the asynchronous message in the interaction.
-	 *
-	 * @param target
-	 *            Target message element, it could be a lifeline or an execution
-	 * @param source
-	 *            Source message element, it could be a lifeline or an execution
-	 * @param startingEndPredecessor
-	 *            Start predecessor
-	 * @param finishingEndPredecessor
-	 *            Finish predecessor
-	 */
-	public void createOperationAndAsynchMessage(NamedElement target, NamedElement source,
-			EventEnd startingEndPredecessor, EventEnd finishingEndPredecessor) {
-		EObject startingEndPredecessorSemanticEnd = null;
-		if (startingEndPredecessor != null) {
-			startingEndPredecessorSemanticEnd = startingEndPredecessor.getSemanticEnd();
-		}
-		EObject finishingEndPredecessorSemanticEnd = null;
-		if (finishingEndPredecessor != null) {
-			finishingEndPredecessorSemanticEnd = finishingEndPredecessor.getSemanticEnd();
-		}
-		// Get associated class and interaction
-		org.eclipse.uml2.uml.Type type;
-		InteractionFragment interaction;
-		if (target instanceof Lifeline) {
-			type = LifelineService.getInstance().getType((Lifeline) target);
-			interaction = ((Lifeline) target).getInteraction();
-		} else  if (target instanceof ExecutionOccurrenceSpecification) {
-			ExecutionOccurrenceSpecification execOccSpec = (ExecutionOccurrenceSpecification) target;
-			Lifeline lifeline = execOccSpec.getCovered();
-			type = LifelineService.getInstance().getType(lifeline);
-			interaction = lifeline.getInteraction();
-		} else {
-			type = LifelineService.getInstance().getType(((ExecutionSpecification) target).getCovereds().get(0));
-			interaction = FragmentsService.getInstance().getEnclosingFragment(target);
-		}
-		final Operation operation = OperationServices.INSTANCE.createOperation(type);
-		// Create message
-
-		createAsynchronousMessage(interaction, source, target, false,
-				startingEndPredecessorSemanticEnd, finishingEndPredecessorSemanticEnd, operation);
-	}
-
-
-	/**
-	 * Gets the behaviors.
-	 *
-	 * @param interaction
-	 *            the interaction
-	 * @return the behaviors
-	 */
-	public List<Behavior> getBehaviors(InteractionFragment interaction) {
-		if (interaction instanceof InteractionOperand) {
-			return FragmentsService.getInstance().getParentInteraction(interaction).getOwnedBehaviors();
-		}
-		if (interaction instanceof Interaction) {
-			return ((Interaction) interaction).getOwnedBehaviors();
-		}
-		return null;
-	}
-
-	/**
-	 * Gets the messages.
-	 *
-	 * @param interaction
-	 *            the interaction
-	 * @return the messages
-	 */
-	public List<Message> getMessages(InteractionFragment interaction) {
-		if (interaction instanceof InteractionOperand) {
-			return FragmentsService.getInstance().getParentInteraction(interaction).getMessages();
-		}
-		if (interaction instanceof Interaction) {
-			return ((Interaction) interaction).getMessages();
-		}
-		return null;
-	}
-
-
-
-	/**
-	 * Create asynchronous message.
-	 *
-	 * @param interaction
-	 *            Interaction
-	 * @param createOperation
-	 *            Operation must be created true otherwise false
-	 * @param sourceFragment
-	 *            Source
-	 * @param targetFragment
-	 *            Target
-	 * @param operation
-	 *            Operation
-	 * @return Message
-	 */
-	public Message createAsynchronousMessage(InteractionFragment interaction, boolean createOperation,
-			NamedElement sourceFragment, NamedElement targetFragment, Operation operation) {
-		final UMLFactory factory = UMLFactory.eINSTANCE;
-
-		boolean createSourceMessOcc = !(sourceFragment instanceof Gate);
-		boolean createTargetMessOcc = !(targetFragment instanceof Gate);
-
-		final Message message = factory.createMessage();
-
-		final Lifeline source = LifelineService.getInstance().getLifeline(sourceFragment);
-		final Lifeline target = LifelineService.getInstance().getLifeline(targetFragment);
-
-		String messageName = ""; //$NON-NLS-1$
-		if (operation == null) {
-			messageName = "Message_" + Integer.toString(getMessages(interaction).size()); //$NON-NLS-1$
-		} else {
-			messageName = operation.getName();
-		}
-
-		message.setName(messageName);
-		message.setMessageSort(MessageSort.ASYNCH_CALL_LITERAL);
-
-		// Create message send event
-		if (createSourceMessOcc) {
-		final MessageOccurrenceSpecification senderEventMessage = factory
-				.createMessageOccurrenceSpecification();
-		senderEventMessage.setName(message.getName() + SENDER_MESSAGE_SUFFIX);
-		senderEventMessage.getCovereds().add(source);
-		senderEventMessage.setMessage(message);
-		message.setSendEvent(senderEventMessage);
-	} else {
-		message.setSendEvent((Gate) sourceFragment);
-	}
-
-	if (createTargetMessOcc) {
-		// Create message receive event
-		final MessageOccurrenceSpecification receiverEventMessage = factory
-				.createMessageOccurrenceSpecification();
-		receiverEventMessage.setName(message.getName() + RECEIVER_MESSAGE_SUFFIX);
-		receiverEventMessage.getCovereds().add(target);
-		receiverEventMessage.setMessage(message);
-
-
-		message.setReceiveEvent(receiverEventMessage);
-	} else {
-		message.setReceiveEvent((Gate) targetFragment);
-	}
-
-		return message;
-	}
-
-	/**
-	 * Creates the synchronous message.
-	 *
-	 * @param target
-	 *            the target
-	 * @param source
-	 *            the source
-	 */
-	public void createASynchronousMessage(NamedElement target, NamedElement source) {
-		InteractionFragment interaction = FragmentsService.getInstance().getEnclosingFragment(target);
-		final Message message = createAsynchronousMessage(interaction, false, source, target, null);
-		getMessages(interaction).add(message);
-		manageMessageEnds(target, source, message);
-	}
-
-	/**
-	 * Manage message ends.
-	 *
-	 * @param target the target
-	 * @param source the source
-	 * @param message the message
-	 */
-	private void manageMessageEnds(NamedElement target, NamedElement source, final Message message) {
-		if (source instanceof ExecutionOccurrenceSpecification) {
-			List<EObject> enclosingFragments = FragmentsService.getInstance().getEnclosingFragments(source);
-			MessageOccurrenceSpecification sendEvent = (MessageOccurrenceSpecification) message.getSendEvent();
-			ExecutionSpecification sourceExecution = ((ExecutionOccurrenceSpecification) source).getExecution();
-			replaceByMessageOccurrence((ExecutionOccurrenceSpecification) source, enclosingFragments, sendEvent, sourceExecution);
-			FragmentsService.getInstance().updateFragmentList(FragmentsService.getInstance().getEnclosingFragment(source), enclosingFragments);
-		}
-		if (source instanceof Gate) {
-
-		}
-		if (target instanceof ExecutionOccurrenceSpecification) {
-			List<EObject> enclosingFragments = FragmentsService.getInstance().getEnclosingFragments(target);
-			MessageOccurrenceSpecification receiveEvent = (MessageOccurrenceSpecification) message.getReceiveEvent();
-			ExecutionSpecification targetExecution = ((ExecutionOccurrenceSpecification) target).getExecution();
-			replaceByMessageOccurrence((ExecutionOccurrenceSpecification) target, enclosingFragments, receiveEvent, targetExecution);
-			FragmentsService.getInstance().updateFragmentList(FragmentsService.getInstance().getEnclosingFragment(target), enclosingFragments);
-		}
-		if (target instanceof Gate) {
-
-
-		}
-	}
-
-	/**
-	 * Create an operation and an synchronous message from a lifeline or an execution. Create the operation in
-	 * the class and the synchronous message in the interaction.
-	 *
-	 * @param target
-	 *            Target message element, it could be a lifeline or an execution
-	 * @param source
-	 *            Source message element, it could be a lifeline or an execution
-	 * @param startingEndPredecessor
-	 *            Start predecessor
-	 * @param finishingEndPredecessor
-	 *            Finish predecessor
-	 */
-	public void createOperationAndSynchMessage(NamedElement target, NamedElement source,
-			EventEnd startingEndPredecessor, EventEnd finishingEndPredecessor) {
-		EObject startingEndPredecessorSemanticEnd = null;
-		if (startingEndPredecessor != null) {
-			startingEndPredecessorSemanticEnd = startingEndPredecessor.getSemanticEnd();
-		}
-		EObject finishingEndPredecessorSemanticEnd = null;
-		if (finishingEndPredecessor != null) {
-			finishingEndPredecessorSemanticEnd = finishingEndPredecessor.getSemanticEnd();
-		}
-		// Get associated class and interaction
-		org.eclipse.uml2.uml.Type type;
-		InteractionFragment interaction;
-		boolean createExecution = false;
-		if (target instanceof Lifeline) {
-			createExecution = true;
-			type = LifelineService.getInstance().getType((Lifeline) target);
-			interaction = ((Lifeline) target).getInteraction();
-		} else {
-			type = LifelineService.getInstance().getType(((InteractionFragment) target).getCovereds().get(0));
-			interaction = FragmentsService.getInstance().getEnclosingFragment(target);
-			;
-		}
-		final Operation operation = OperationServices.INSTANCE.createOperation(type);
-		// Create message
-		createSynchronousMessage(interaction, source, target, createExecution, true,
-				startingEndPredecessorSemanticEnd, finishingEndPredecessorSemanticEnd, operation);
-	}
-
-
-	/**
-	 * Check if element is a valid message end.
-	 *
-	 * @param element
-	 *            Element
-	 * @return True if element is a valid message end
-	 */
-	public boolean isValidMessageEnd(Element element) {
-		// [preTarget->filter(uml::Lifeline).represents.type<>null or
-		// preTarget->filter(uml::ExecutionSpecification).covered.represents.type<>null
-		// or
-		// preTarget->filter(uml::Lifeline).clientDependency.supplier.oclAsType(uml::Property).classifier<>null
-		// or
-		// preTarget->filter(uml::ExecutionSpecification).covered.clientDependency.supplier.classifier<>null/]
-		return element instanceof Lifeline /* && ((Lifeline)element).getRepresents() != null */
-				|| element instanceof ExecutionSpecification
-						&& isCoveredTypeSet((ExecutionSpecification) element)
-				|| element instanceof Lifeline /* && ((Lifeline)element).getRepresents() != null */
-				|| element instanceof Gate
-				|| element instanceof StateInvariant
-				|| element instanceof InteractionUse
-				|| element instanceof OccurrenceSpecification;
-	}
-
-	/**
-	 * Check if element is a valid message end.
-	 *
-	 * @param preTarget
-	 *            Element
-	 * @return True if element is a valid message end
-	 */
-	public boolean isValidMessageEnd(EObject preTarget) {
-		if (preTarget == null) {
-			return false;
-		}
-
-		if (preTarget instanceof Lifeline) {
-			return isValidMessageEndForLifeline(preTarget);
-
-		} else if (preTarget instanceof ExecutionSpecification) {
-			for (final Lifeline lifeline : ((ExecutionSpecification) preTarget).getCovereds()) {
-				final boolean result = isValidMessageEndForLifeline(lifeline);
-				if (result) {
-					return true;
-				}
-			}
-		} else if (preTarget instanceof StateInvariant) {
-			return true;
-
-		} else if (preTarget instanceof InteractionUse) {
-			return true;
-		} else if (preTarget instanceof ExecutionOccurrenceSpecification) {
-			return true;
-		} else if (preTarget instanceof Gate) {
-			return true;
-		}
-
-		return false;
-	}
-
-	/**
-	 * Check if message is not a reply message.
-	 *
-	 * @param message
-	 *            Message
-	 * @return True if message is not a reply message
-	 */
-	public boolean isNotReply(Message message) {
-		return !isReply(message);
-	}
-
-	/**
-	 * Check if message is a reply message.
-	 *
-	 * @param message
-	 *            Message
-	 * @return True if message is a reply message
-	 */
-	public boolean isReply(Message message) {
-		if (message == null) {
-			return false;
-		}
-		return MessageSort.REPLY_LITERAL.equals(message.getMessageSort());
-	}
-
-
-	/**
-	 * Checks if is receive message event.
-	 *
-	 * @param event
-	 *            the event
-	 * @return true, if is receive message event
-	 */
-	public boolean isReceiveMessageEvent(MessageOccurrenceSpecification event) {
-		Message message = event.getMessage();
-		MessageEnd receiveEvent = message.getReceiveEvent();
-		if (receiveEvent.equals(event)) {
-			return true;
-		}
-		return false;
-	}
-
-
-	/**
-	 * Find occurrence specification context for a receive event.
-	 *
-	 * @param message
-	 *            Message
-	 * @return Occurrence specification context
-	 */
-	public NamedElement findOccurrenceSpecificationContextForReceiveEvent(Message message) {
-
-
-		MessageEnd receiveEvent = message.getReceiveEvent();
-		if (receiveEvent == null) {
-			return null;
-		}
-		if (receiveEvent instanceof Gate) {
-			return receiveEvent;
-		}
-		if (receiveEvent instanceof Gate) {
-			return message.getReceiveEvent();
-		}
-		if (message.getSendEvent() instanceof Gate) {
-			return message.getReceiveEvent();
-		}
-		return findOccurrenceSpecificationContext((OccurrenceSpecification) receiveEvent);
-	}
-
-
-	/**
-	 * Find occurrence specification context for a send event.
-	 *
-	 * @param message
-	 *            Message
-	 * @return Occurrence specification context
-	 */
-	public NamedElement findOccurrenceSpecificationContextForSendEvent(Message message) {
-		if (message.getReceiveEvent() instanceof Gate) {
-			return message.getSendEvent();
-		}
-		if (message.getSendEvent() instanceof Gate) {
-			return message.getSendEvent();
-		}
-		return findOccurrenceSpecificationContext((OccurrenceSpecification) message.getSendEvent());
-	}
-
-
-	/**
-	 * Check if message is a synchronous call.
-	 *
-	 * @param message
-	 *            Message
-	 * @return True if message is a synchronous call
-	 */
-	public boolean isSynchCall(Message message) {
-		if (message == null) {
-			return false;
-		}
-		return MessageSort.ASYNCH_CALL_LITERAL.equals(message.getMessageSort());
-	}
-
-	/**
-	 * Gets the invocation message.
-	 *
-	 * @param object
-	 *            the object
-	 * @return the invocation message
-	 */
-	public Message getInvocationMessage(EObject object) {
-
-		if (object instanceof Message) {
-			EObject eContainer = object.eContainer();
-			String name = ((Message) object).getName();
-			if (eContainer instanceof Interaction) {
-				// TODO, il faut trouver une autre solution pour trouver le message d'invokation que par le nom. Car celui ci pourrait etre chang� par l'utilisateur apres coup.
-				String invokationName = name.replace("_reply", ""); //$NON-NLS-1$ //$NON-NLS-2$
-				return ((Interaction) eContainer).getMessage(invokationName);
-			}
-		}
-		return null;
-
-	}
-
-	/**
-	 * Gets the message associated elements.
-	 *
-	 * @param msg
-	 *            the msg
-	 * @return the message associated elements
-	 */
-	public Collection<EObject> getMessageAssociatedElements(Message msg) {
-		Collection<EObject> messageAssociatedElements = new LinkedHashSet<EObject>();
-		messageAssociatedElements.add(msg);
-		messageAssociatedElements.add(msg.getSendEvent());
-		messageAssociatedElements.add(msg.getReceiveEvent());
-		messageAssociatedElements.add(((MessageOccurrenceSpecification) msg.getSendEvent()).getCovered());
-		messageAssociatedElements.add(((DestructionOccurrenceSpecification) msg.getReceiveEvent()).getCovered());
-		return messageAssociatedElements;
-	}
-
-	/**
-	 * Delete message.
-	 *
-	 * @param message
-	 *            Message to delete
-	 */
-	public void delete(Message message) {
-		if (message == null) {
-			return;
-		}
-
-		// Get fragments
-		final Interaction interaction = (Interaction) message.eContainer();
-		final List<InteractionFragment> fragments = interaction.getFragments();
-
-		// Delete start and finish message and if an execution is associated to
-		// the message remove also the
-		// execution
-		final MessageOccurrenceSpecification receiveMessage = (MessageOccurrenceSpecification) message
-				.getReceiveEvent();
-		if (receiveMessage != null) {
-			// If message is a synchronous message delete also the reply message
-//			if (MessageSort.SYNCH_CALL_LITERAL.equals(message.getMessageSort())) {
-//				final Message reply = getReplyMessage(message);
-//				if (reply != null) {
-//					delete(reply);
-//				}
-//			}
-
-			final BehaviorExecutionSpecification execution = ExecutionService.getInstance().getExecution(receiveMessage);
-			if (execution != null) {
-				ExecutionService.getInstance().deleteExecution(execution);
-			}
-			fragments.remove(receiveMessage);
-		}
-		final MessageOccurrenceSpecification sendMessage = (MessageOccurrenceSpecification) message
-				.getSendEvent();
-		if (sendMessage != null) {
-			final BehaviorExecutionSpecification execution = ExecutionService.getInstance().getExecution(sendMessage);
-			if (execution != null) {
-				ExecutionService.getInstance().deleteExecution(execution);
-			}
-			// Delete signal
-			final List<PackageableElement> packagedElements = new ArrayList<PackageableElement>();
-			packagedElements.addAll(message.getNearestPackage().getPackagedElements());
-			for (final PackageableElement packageableElement : packagedElements) {
-				if (packageableElement instanceof Signal) {
-					final Signal signal = (Signal) packageableElement;
-					if (signal.getName().startsWith(message.getName())) {
-						signal.destroy();
-					}
-				}
-			}
-			fragments.remove(message.getSendEvent());
-		}
-		// Delete message
-		interaction.getMessages().remove(message);
-	}
-
-
-	/**
-	 * Get the reply message associated to a message.
-	 *
-	 * @param message
-	 *            Message
-	 * @return Reply message if exists otherwise null
-	 */
-	public Message getReplyMessage(Message message) {
-		// To get the reply message associated to a message
-		// Get the execution associated to message if exists
-		final BehaviorExecutionSpecification execution = ExecutionService.getInstance().getExecution(message);
-		if (execution != null) {
-			// Get the end execution occurrence
-			final OccurrenceSpecification end = execution.getFinish();
-			if (end instanceof MessageOccurrenceSpecification) {
-				// Get the message
-				return ((MessageOccurrenceSpecification) end).getMessage();
-			}
-		}
-		// else in case of message without execution search by name
-		for (final Message messageReply : message.getInteraction().getMessages()) {
-			if (MessageSort.REPLY_LITERAL.equals(messageReply.getMessageSort())
-					&& messageReply.getName().startsWith(message.getName())) {
-				return messageReply;
-			}
-		}
-		return null;
-	}
-
-
-
-
-
-	////// private method
-
-	/**
-	 * create a reply message for a synchronous message.
-	 *
-	 * @param interaction
-	 *            interaction.
-	 * @param sourceFragment
-	 *            source
-	 * @param targetFragment
-	 *            target
-	 * @param startingEndPredecessor
-	 *            starting end predecessor
-	 * @param finishingEndPredecessor
-	 *            finishing end predecessor
-	 * @param message
-	 *            a synchronous message
-	 * @return a reply message
-	 */
-	private Message createReplyMessage(InteractionFragment interaction, NamedElement sourceFragment,
-			NamedElement targetFragment, EObject startingEndPredecessor, EObject finishingEndPredecessor,
-			Message message) {
-
-		final UMLFactory factory = UMLFactory.eINSTANCE;
-
-		final Lifeline source = LifelineService.getInstance().getLifeline(sourceFragment);
-		final Lifeline target = LifelineService.getInstance().getLifeline(targetFragment);
-
-		// Create reply message
-		final Message replyMessage = factory.createMessage();
-		String replyName = ""; //$NON-NLS-1$
-		if (message == null) {
-			replyName = "Message_" + getMessages(interaction).size(); //$NON-NLS-1$
-		} else {
-			replyName = message.getName();
-		}
-		replyMessage.setName(replyName + "_reply"); //$NON-NLS-1$
-		replyMessage.setMessageSort(MessageSort.REPLY_LITERAL);
-		getMessages(interaction).add(replyMessage);
-
-		// Create reply message send event
-		final MessageOccurrenceSpecification senderEventReplyMessage = factory
-				.createMessageOccurrenceSpecification();
-		senderEventReplyMessage.setName(replyMessage.getName() + SENDER_MESSAGE_SUFFIX);
-		senderEventReplyMessage.getCovereds().add(target);
-		senderEventReplyMessage.setMessage(replyMessage);
-
-		// Create reply message receive event
-		final MessageOccurrenceSpecification receiverEventReplyMessage = factory
-				.createMessageOccurrenceSpecification();
-		receiverEventReplyMessage.setName(replyMessage.getName() + RECEIVER_MESSAGE_SUFFIX);
-		receiverEventReplyMessage.getCovereds().add(source);
-		receiverEventReplyMessage.setMessage(replyMessage);
-
-		replyMessage.setSendEvent(senderEventReplyMessage);
-		replyMessage.setReceiveEvent(receiverEventReplyMessage);
-
-		return replyMessage;
-	}
-
-	/**
-	 * Replace by message occurrence.
-	 *
-	 * @param execOcc
-	 *            the exec occ
-	 * @param enclosingFragments
-	 *            the enclosing fragments
-	 * @param event
-	 *            the event
-	 * @param execution
-	 *            the execution
-	 */
-	private void replaceByMessageOccurrence(ExecutionOccurrenceSpecification execOcc, List<EObject> enclosingFragments, MessageOccurrenceSpecification event, ExecutionSpecification execution) {
-		if (execOcc.getName().endsWith("start")) { //$NON-NLS-1$
-			int indexOfSource = enclosingFragments.indexOf(execOcc);
-			enclosingFragments.remove(execOcc);
-			enclosingFragments.add(indexOfSource, event);
-			execution.setStart(event);
-			execOcc.setCovered(null);
-		}
-		if (execOcc.getName().endsWith("finish")) { //$NON-NLS-1$
-			int indexOfSource = enclosingFragments.indexOf(execOcc);
-			enclosingFragments.remove(execOcc);
-			enclosingFragments.add(indexOfSource, event);
-			execution.setFinish(event);
-			execOcc.setCovered(null);
-		}
-	}
-
-	/**
-	 * Create asynchronous typed message.
-	 *
-	 * @param interaction
-	 *            Interaction
-	 * @param sourceFragment
-	 *            Source
-	 * @param targetFragment
-	 *            Target
-	 * @param createExecution
-	 *            Set to true to create an execution
-	 * @param startingEndPredecessor
-	 *            Starting end predecessor
-	 * @param finishingEndPredecessor
-	 *            Finishing end predecessor
-	 * @param operation
-	 *            Operation associated to message
-	 * @return the message
-	 */
-	private Message createAsynchronousMessage(InteractionFragment interaction, NamedElement sourceFragment,
-			NamedElement targetFragment, boolean createExecution, EObject startingEndPredecessor,
-			EObject finishingEndPredecessor, Operation operation) {
-		final Lifeline target = LifelineService.getInstance().getLifeline(targetFragment);
-
-		final BehaviorExecutionSpecification predecessorExecution = ExecutionService.getInstance().getExecution(
-				startingEndPredecessor);
-
-
-
-		final UMLFactory factory = UMLFactory.eINSTANCE;
-		List<EObject> fragments = FragmentsService.getInstance().computeFragments(sourceFragment, startingEndPredecessor, interaction);
-
-		// Create message
-		final Message message = createAsynchronousMessage(interaction, createExecution, sourceFragment,
-				targetFragment, operation);
-
-		if (null != operation) {
-			message.setSignature(operation);
-		}
-
-		getMessages(interaction).add(message);
-
-		// Create execution or signal
-		BehaviorExecutionSpecification execution = null;
-		if (createExecution) {
-			execution = ExecutionService.getInstance().createExecution(/* operation, */target, message);
-			getBehaviors(interaction).add(execution.getBehavior());
-		} else {
-			final Signal signal = factory.createSignal();
-			signal.setName(message.getName() + SIGNAL_SUFFIX);
-			message.getNearestPackage().getPackagedElements().add(signal);
-		}
-
-
-
-		final MessageOccurrenceSpecification senderEventMessage = (MessageOccurrenceSpecification) message
-				.getSendEvent();
-		final MessageOccurrenceSpecification receiverEventMessage = (MessageOccurrenceSpecification) message
-				.getReceiveEvent();
-
-		ExecutionSpecification sourceExecution = null;
-		ExecutionOccurrenceSpecification endExec = null;
-		if (execution != null) {
-			execution.setStart(receiverEventMessage);
-			endExec = factory.createExecutionOccurrenceSpecification();
-			endExec.setName(execution.getName() + ExecutionService.EXECUTION_END_SUFFIX);
-			endExec.getCovereds().add(target);
-			endExec.setExecution(execution);
-			execution.setFinish(endExec);
-		} else if (targetFragment instanceof ExecutionOccurrenceSpecification) {
-			ExecutionOccurrenceSpecification execOccSpec = (ExecutionOccurrenceSpecification) targetFragment;
-			sourceExecution = execOccSpec.getExecution();
-		}
-
-		// If predecessor is the beginning of an execution add message after the
-		// execution
-		if (sourceFragment instanceof OccurrenceSpecification) {
-			// List<EObject> enclosingFragments = FragmentsService.getInstance().getEnclosingFragments(sourceFragment);
-			MessageOccurrenceSpecification sendEvent = (MessageOccurrenceSpecification) message.getSendEvent();
-			sourceExecution = ((ExecutionOccurrenceSpecification) sourceFragment).getExecution();
-			replaceByMessageOccurrence((ExecutionOccurrenceSpecification) sourceFragment, fragments, sendEvent, sourceExecution);
-		} else {
-			if (startingEndPredecessor != null && startingEndPredecessor instanceof OccurrenceSpecification
-					&& predecessorExecution != null
-					&& startingEndPredecessor.equals(predecessorExecution.getStart())) {
-				fragments.add(fragments.indexOf(predecessorExecution) + 1, senderEventMessage);
-			}
-			// Else set it directly after the predecessor
-			else {
-				fragments.add(fragments.indexOf(startingEndPredecessor) + 1, senderEventMessage);
-			}
-		}
-
-		// fragments.add(receiverEventMessage);
-		if (targetFragment instanceof OccurrenceSpecification && sourceExecution == null) {
-			// List<EObject> enclosingFragments = FragmentsService.getInstance().getEnclosingFragments(sourceFragment);
-			MessageOccurrenceSpecification receiveEvent = (MessageOccurrenceSpecification) message.getReceiveEvent();
-			sourceExecution = ((ExecutionOccurrenceSpecification) sourceFragment).getExecution();
-			replaceByMessageOccurrence((ExecutionOccurrenceSpecification) targetFragment, fragments, receiveEvent, sourceExecution);
-		} if (targetFragment instanceof OccurrenceSpecification && sourceExecution != null) {
-			ExecutionOccurrenceSpecification execOccSpec = (ExecutionOccurrenceSpecification) targetFragment;
-			sourceExecution = execOccSpec.getExecution();
-			replaceByMessageOccurrence((ExecutionOccurrenceSpecification) execOccSpec, fragments, receiverEventMessage, sourceExecution);
-			fragments.remove(senderEventMessage);
-			fragments.add(fragments.indexOf(receiverEventMessage), senderEventMessage);
-		} else {
-			fragments.add(fragments.indexOf(senderEventMessage) + 1, receiverEventMessage);
-		}
-		if (execution != null) {
-			// fragments.add(execution);
-			// fragments.add(endExec);
-			fragments.add(fragments.indexOf(receiverEventMessage) + 1, execution);
-			fragments.add(fragments.indexOf(execution) + 1, endExec);
-		}
-		FragmentsService.getInstance().updateFragmentList(startingEndPredecessor != null ? startingEndPredecessor : interaction, fragments);
-
-		return message;
-	}
-
-	/**
-	 * Create synchronous typed message.
-	 *
-	 * @param interaction
-	 *            Interaction
-	 * @param sourceFragment
-	 *            Source
-	 * @param targetFragment
-	 *            Target
-	 * @param createReply
-	 *            the create reply
-	 * @param createExecution
-	 *            set to true to create an execution
-	 * @param startingEndPredecessor
-	 *            Starting end predecessor
-	 * @param finishingEndPredecessor
-	 *            Finishing end predecessor
-	 * @param operation
-	 *            Operation associated with the message
-	 */
-	private void createSynchronousMessage(InteractionFragment interaction, NamedElement sourceFragment,
-			NamedElement targetFragment, boolean createReply, boolean createExecution, EObject startingEndPredecessor,
-			EObject finishingEndPredecessor, Operation operation) {
-		final Lifeline target = LifelineService.getInstance().getLifeline(targetFragment);
-		final BehaviorExecutionSpecification predecessorExecution = ExecutionService.getInstance().getExecution(
-				startingEndPredecessor);
-
-		final UMLFactory factory = UMLFactory.eINSTANCE;
-		List<EObject> fragments = FragmentsService.getInstance().computeFragments(sourceFragment, startingEndPredecessor, interaction);
-		final Message message = createSynchronousMessage(interaction, sourceFragment, targetFragment,
-				startingEndPredecessor, finishingEndPredecessor, operation);
-
-		getMessages(interaction).add(message);
-
-		if (null != operation) {
-			message.setSignature(operation);
-		}
-
-
-		ExecutionSpecification execution = targetFragment instanceof ExecutionSpecification ? (ExecutionSpecification) targetFragment : null;
-		Message replyMessage = null;
-		if (createReply) {
-
-
-			// Create behavior
-			// ExecutionSpecification execution = null;
-			if (createExecution) {
-				execution = ExecutionService.getInstance().createExecution(/* operation, */target, message);
-				getBehaviors(interaction).add(((BehaviorExecutionSpecification) execution).getBehavior());
-			} else {
-				// Create signal
-				final Signal signal = factory.createSignal();
-				signal.setName(message.getName() + SIGNAL_SUFFIX);
-				message.getNearestPackage().getPackagedElements().add(signal);
-			}
-			if (execution != null) {
-				execution.setStart((MessageOccurrenceSpecification) message.getReceiveEvent());
-			}
-
-			replyMessage = createReplyMessage(interaction, sourceFragment, targetFragment,
-					startingEndPredecessor, finishingEndPredecessor, message);
-			getMessages(interaction).add(replyMessage);
-
-			if (execution != null) {
-				execution.setFinish((MessageOccurrenceSpecification) replyMessage.getSendEvent());
-			}
-		}
-		// Add and order fragments under the interaction
-		// If predecessor is the beginning of an execution add message after the
-		// execution
-		if (sourceFragment instanceof OccurrenceSpecification) {
-			MessageOccurrenceSpecification sendEvent = (MessageOccurrenceSpecification) message.getSendEvent();
-			ExecutionSpecification sourceExecution = ((ExecutionOccurrenceSpecification) sourceFragment).getExecution();
-			replaceByMessageOccurrence((ExecutionOccurrenceSpecification) sourceFragment, fragments, sendEvent, sourceExecution);
-		} else {
-			if (startingEndPredecessor != null && startingEndPredecessor instanceof OccurrenceSpecification
-					&& predecessorExecution != null
-					&& startingEndPredecessor.equals(predecessorExecution.getStart())) {
-				fragments.add(fragments.indexOf(predecessorExecution) + 1,
-						message.getSendEvent());
-				// Else set it directly after the predecessor
-			} else {
-				fragments.add(fragments.indexOf(startingEndPredecessor) + 1,
-						message.getSendEvent());
-			}
-		}
-		if (targetFragment instanceof OccurrenceSpecification) {
-			MessageOccurrenceSpecification receiveEvent = (MessageOccurrenceSpecification) message.getReceiveEvent();
-			ExecutionSpecification sourceExecution = ((ExecutionOccurrenceSpecification) sourceFragment).getExecution();
-			replaceByMessageOccurrence((ExecutionOccurrenceSpecification) targetFragment, fragments, receiveEvent, sourceExecution);
-		} else {
-			fragments.add(fragments.indexOf(message.getSendEvent()) + 1,
-					message.getReceiveEvent());
-		}
-		if (replyMessage != null) {
-			fragments.add(replyMessage.getSendEvent());
-		}
-		if (execution != null) {
-			if (fragments.contains(execution)) {
-				fragments.remove(execution);
-				fragments.add(fragments.indexOf(message.getReceiveEvent()) + 1, execution);
-			} else {
-				fragments.add(fragments.indexOf(message.getReceiveEvent()) + 1, execution);
-			}
-			if (replyMessage != null) {
-				fragments.remove(replyMessage.getSendEvent());
-				fragments.add(fragments.indexOf(execution) + 1,
-						replyMessage.getSendEvent());
-			}
-		} else {
-			{
-				fragments.remove(replyMessage.getSendEvent());
-				fragments.add(fragments.indexOf(message.getReceiveEvent()) + 1,
-						replyMessage.getSendEvent());
-			}
-		}
-		if (replyMessage != null) {
-			if (fragments.contains(
-					replyMessage.getReceiveEvent())) {
-				fragments.remove(replyMessage.getReceiveEvent());
-				fragments.add(fragments.indexOf(replyMessage.getSendEvent()) + 1,
-						replyMessage.getReceiveEvent());
-			} else {
-				fragments.add(fragments.indexOf(replyMessage.getSendEvent()) + 1,
-						replyMessage.getReceiveEvent());
-			}
-		}
-		FragmentsService.getInstance().updateFragmentList(startingEndPredecessor != null ? startingEndPredecessor : interaction, fragments);
-	}
-
-	/**
-	 * Create synchronous typed message.
-	 *
-	 * @param interaction
-	 *            interaction
-	 * @param sourceFragment
-	 *            source
-	 * @param targetFragment
-	 *            target
-	 * @param startingEndPredecessor
-	 *            starting end predecessor
-	 * @param finishingEndPredecessor
-	 *            finishing end predecessor
-	 * @param operation
-	 *            operation associated with the message
-	 * @return a synchronous message
-	 */
-	private Message createSynchronousMessage(InteractionFragment interaction, NamedElement sourceFragment,
-			NamedElement targetFragment, EObject startingEndPredecessor, EObject finishingEndPredecessor,
-			Operation operation) {
-
-		final UMLFactory factory = UMLFactory.eINSTANCE;
-
-		boolean createSourceMessOcc = !(sourceFragment instanceof Gate);
-		boolean createTargetMessOcc = !(targetFragment instanceof Gate);
-
-
-		final Lifeline source = LifelineService.getInstance().getLifeline(sourceFragment);
-		final Lifeline target = LifelineService.getInstance().getLifeline(targetFragment);
-
-		String messageName = ""; //$NON-NLS-1$
-		if (operation == null) {
-			messageName = "Message_" + getMessages(interaction).size(); //$NON-NLS-1$
-		} else {
-			messageName = operation.getName();
-		}
-
-		final Message message = factory.createMessage();
-		message.setName(messageName);
-		message.setMessageSort(MessageSort.SYNCH_CALL_LITERAL);
-
-		// Create message send event
-		if (createSourceMessOcc) {
-			final MessageOccurrenceSpecification senderEventMessage = factory
-					.createMessageOccurrenceSpecification();
-			senderEventMessage.setName(message.getName() + SENDER_MESSAGE_SUFFIX);
-			if (source != null) {
-				senderEventMessage.getCovereds().add(source);
-			}
-			senderEventMessage.setMessage(message);
-			message.setSendEvent(senderEventMessage);
-		} else {
-			message.setSendEvent((Gate) sourceFragment);
-		}
-		// Create message receive event
-		if (createTargetMessOcc) {
-			final MessageOccurrenceSpecification receiverEventMessage = factory
-					.createMessageOccurrenceSpecification();
-			receiverEventMessage.setName(message.getName() + RECEIVER_MESSAGE_SUFFIX);
-			if (target != null) {
-				receiverEventMessage.getCovereds().add(target);
-			}
-			receiverEventMessage.setMessage(message);
-			message.setReceiveEvent(receiverEventMessage);
-		} else {
-			message.setReceiveEvent((Gate) targetFragment);
-		}
-		return message;
-
-	}
-
-	/**
-	 * Check if is covered type.
-	 *
-	 * @param element
-	 *            Execution specification
-	 * @return True if is a covered type
-	 */
-	private boolean isCoveredTypeSet(ExecutionSpecification element) {
-		if (element == null) {
-			return false;
-		}
-		return true;
-	}
-
-	/**
-	 * Checks if is valid message end for lifeline.
-	 *
-	 * @param preTarget
-	 *            the pre target
-	 * @return true, if is valid message end for lifeline
-	 */
-	private boolean isValidMessageEndForLifeline(EObject preTarget) {
-		return true;
-	}
-
-	/**
-	 * Retrieves the context element ({@link Lifeline} or {@link ExecutionSpecification}) of the given
-	 * {@link OccurrenceSpecification}.
-	 *
-	 * @param occurrenceSpecification
-	 *            the {@link OccurrenceSpecification} for which to find the context
-	 * @return the {@link ExecutionSpecification} on which the given {@link OccurrenceSpecification} is
-	 *         attached or otherwise, the {@link Lifeline}otherwise it is attached to.
-	 */
-	private NamedElement findOccurrenceSpecificationContext(OccurrenceSpecification occurrenceSpecification) {
-		if (occurrenceSpecification == null) {
-			return null;
-		}
-		EList<Lifeline> covereds = occurrenceSpecification.getCovereds();
-		if (covereds == null || covereds.isEmpty()) {
-			return null;
-		}
-		final Lifeline lifeline = covereds.get(0);
-		final Stack<NamedElement> context = new Stack<NamedElement>();
-		context.add(lifeline);
-
-		final List<EObject> allFragments = FragmentsService.getInstance().getEnclosingFragments(occurrenceSpecification);
-
-		final List<InteractionFragment> fragments = new ArrayList<InteractionFragment>();
-		for (final EObject fragment : allFragments) {
-			if (fragment instanceof InteractionFragment) {
-				if (((InteractionFragment) fragment).getCovered(lifeline.getName()) != null) {
-					fragments.add((InteractionFragment) fragment);
-				}
-			}
-		}
-
-		for (int i = 0; i < fragments.size(); i++) {
-			final InteractionFragment e = fragments.get(i);
-			InteractionFragment en;
-			if (i + 1 < fragments.size()) {
-				en = fragments.get(i + 1);
-			} else {
-				en = null;
-			}
-
-			if (e instanceof MessageOccurrenceSpecification && en != null
-					&& en instanceof ExecutionSpecification) {
-				context.add(en);
-			}
-
-			if (e instanceof ExecutionOccurrenceSpecification) {
-				if (en == null || !(en instanceof ExecutionSpecification)) {
-					if (!context.isEmpty()) {
-						context.pop();
-					}
-				}
-			}
-
-			// Found our element
-			if (e == occurrenceSpecification) {
-				if (!context.isEmpty()) {
-					return context.peek();
-				}
-			}
-
-			if (e instanceof ExecutionOccurrenceSpecification) {
-				if (en != null && en instanceof ExecutionSpecification) {
-					context.add(fragments.get(i + 1));
-				}
-			}
-
-			if (e instanceof MessageOccurrenceSpecification && FragmentsService.getInstance().isEnd(e, fragments)) {
-				context.pop();
-			}
-		}
-
-		return lifeline;
-	}
-
-
-
-
-
-	/**
-	 * Check is selection.
-	 *
-	 * @param sourceView
-	 *            the source view
-	 * @param targetView
-	 *            the target view
-	 * @return true, if successful
-	 */
-	public boolean checkIsOccurenceSpecSelection(EObject sourceView, EObject targetView) {
-		if (sourceView instanceof DNodeSpec && targetView instanceof DNodeSpec) {
-			String nameSource = ((DNodeSpec) sourceView).getActualMapping().getName();
-			String nameTarget = ((DNodeSpec) targetView).getActualMapping().getName();
-			return nameSource.equalsIgnoreCase("Observation") && nameTarget.equals("Observation"); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-
-
-		return false;
-	}
-
-
-	/**
-	 * Check is gate selection.
-	 *
-	 * @param sourceView
-	 *            the source view
-	 * @param targetView
-	 *            the target view
-	 * @return true, if successful
-	 */
-	public boolean checkIsGateSelection(EObject sourceView, EObject targetView) {
-
-		if (sourceView instanceof DNodeSpec && targetView instanceof DNodeSpec) {
-			String nameSource = ((DNodeSpec) sourceView).getActualMapping().getName();
-			String nameTarget = ((DNodeSpec) targetView).getActualMapping().getName();
-			boolean isGateSource = nameSource.equalsIgnoreCase("Gate") || nameSource.equalsIgnoreCase("GateBorder"); //$NON-NLS-1$ //$NON-NLS-2$
-			boolean isGateTarget = nameTarget.equalsIgnoreCase("Gate") || nameTarget.equalsIgnoreCase("GateBorder"); //$NON-NLS-1$ //$NON-NLS-2$
-			return isGateSource || isGateTarget;
-		}
-
-
-		return false;
-
-	}
-
-	/**
-	 * Pre condition message basic.
-	 *
-	 * @param object
-	 *            the object
-	 * @return true, if successful
-	 */
-	public boolean preConditionMessageBasic(EObject object) {
-		if (object instanceof Message) {
-			MessageSort messageSort = ((Message) object).getMessageSort();
-			MessageEnd sendEvent = ((Message) object).getSendEvent();
-			MessageEnd receiveEvent = ((Message) object).getReceiveEvent();
-
-			return (messageSort == MessageSort.SYNCH_CALL_LITERAL || messageSort == MessageSort.ASYNCH_CALL_LITERAL) && (receiveEvent instanceof MessageOccurrenceSpecification) && (sendEvent instanceof MessageOccurrenceSpecification);
-
-		}
-
-
-		return false;
-	}
-
-
-
-	/**
-	 * Compute default name.
-	 *
-	 * @param element
-	 *            New element
-	 * @return Name for the new element, he name will looks like
-	 *         'ElementType'+total of existing elements of the same type.
-	 */
-	private String computeDefaultName(final EObject element) {
-		return LabelServices.INSTANCE.computeDefaultName(element);
-	}
-
-
-
-}
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/services/ReorderService.java b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/services/ReorderService.java
deleted file mode 100755
index 54c14ad..0000000
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/services/ReorderService.java
+++ /dev/null
@@ -1,1045 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2022 Obeo, CEA LIST, Artal Technologies
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *    Obeo - initial API and implementation
- *    Aurelien Didier (ARTAL) - aurelien.didier51@gmail.com - adaptation to integrate in Papyrus
- *    Jessy Mallet (Obeo) - jessy.mallet@obeo.fr - Update Message reorder for message with null sendEvent.
- *******************************************************************************/
-package org.eclipse.papyrus.sirius.uml.diagram.sequence.services;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EAnnotation;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.papyrus.sirius.uml.diagram.common.core.services.LabelServices;
-import org.eclipse.papyrus.sirius.uml.diagram.sequence.utils.ReorderSequenceRegistry;
-import org.eclipse.sirius.diagram.model.business.internal.spec.DNodeSpec;
-import org.eclipse.sirius.diagram.sequence.ordering.EventEnd;
-import org.eclipse.sirius.diagram.sequence.ordering.SingleEventEnd;
-import org.eclipse.uml2.uml.CombinedFragment;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.ExecutionOccurrenceSpecification;
-import org.eclipse.uml2.uml.ExecutionSpecification;
-import org.eclipse.uml2.uml.Interaction;
-import org.eclipse.uml2.uml.InteractionFragment;
-import org.eclipse.uml2.uml.InteractionOperand;
-import org.eclipse.uml2.uml.Lifeline;
-import org.eclipse.uml2.uml.Message;
-import org.eclipse.uml2.uml.MessageEnd;
-import org.eclipse.uml2.uml.MessageOccurrenceSpecification;
-import org.eclipse.uml2.uml.MessageSort;
-import org.eclipse.uml2.uml.OccurrenceSpecification;
-import org.eclipse.uml2.uml.StateInvariant;
-
-/**
- * The Class ReorderService.
- *
- */
-public class ReorderService {
-
-	/** The fragment service. */
-	private final FragmentsService fragmentService = FragmentsService.getInstance();
-
-	/** The service. */
-	static private ReorderService service = null;
-
-	/**
-	 * Instantiates a new fragments service.
-	 */
-	private ReorderService() {
-
-	}
-
-	/**
-	 * Gets the single instance of FragmentsService.
-	 *
-	 * @return single instance of FragmentsService
-	 */
-	static public ReorderService getInstance() {
-		if (service == null) {
-			service = new ReorderService();
-		}
-		return service;
-	}
-
-	/**
-	 * Reorder new fragments.
-	 *
-	 * @param object                  the object
-	 * @param startingEndPredecessor  the starting end predecessor
-	 * @param finishingEndPredecessor the finishing end predecessor
-	 */
-	public void reorderNewFragments(EObject object, EObject startingEndPredecessor, EObject finishingEndPredecessor) {
-		if (object instanceof ExecutionSpecification) {
-			OccurrenceSpecification start = ((ExecutionSpecification) object).getStart();
-			OccurrenceSpecification finish = ((ExecutionSpecification) object).getFinish();
-			Interaction interaction = ((ExecutionSpecification) object).getEnclosingInteraction();
-			reorderNewFragments(interaction, (SingleEventEnd) startingEndPredecessor,
-					(SingleEventEnd) finishingEndPredecessor, (InteractionFragment) start, (InteractionFragment) finish,
-					object);
-		}
-
-	}
-
-	/**
-	 * Reorder new fragments.
-	 *
-	 * @param object                  the object
-	 * @param startingEndPredecessor  the starting end predecessor
-	 * @param finishingEndPredecessor the finishing end predecessor
-	 * @param instance                the instance
-	 */
-	public void reorderNewFragments(EObject object, EObject startingEndPredecessor, EObject finishingEndPredecessor,
-			EObject instance) {
-		reorderNewFragments(object, (EventEnd) startingEndPredecessor, (EventEnd) finishingEndPredecessor, null, null,
-				instance);
-	}
-
-	/**
-	 * Reorder new fragments.
-	 *
-	 * @param object                  the object
-	 * @param startingEndPredecessor  the starting end predecessor
-	 * @param finishingEndPredecessor the finishing end predecessor
-	 * @param start                   the start
-	 * @param finish                  the finish
-	 * @param instance                the instance
-	 */
-	public void reorderNewFragments(EObject object, EventEnd startingEndPredecessor, EventEnd finishingEndPredecessor,
-			EObject start, EObject finish, EObject instance) {
-		if (object instanceof Interaction) {
-
-			EObject startSemanticEnd = startingEndPredecessor != null ? startingEndPredecessor.getSemanticEnd() : null;
-			EObject finishSemanticEnd = finishingEndPredecessor != null ? finishingEndPredecessor.getSemanticEnd()
-					: null;
-
-			List<EObject> fragmentsource = fragmentService.getEnclosingFragments(instance);
-			List<EObject> fragments = null;
-			Interaction parentInteraction = null;
-			if (startSemanticEnd != null) {
-				fragments = fragmentService.getEnclosingFragments(startSemanticEnd);
-			} else {
-				parentInteraction = getParentInteraction(instance);
-				fragments = fragmentService.getFragmentsAndAnnotation(parentInteraction);
-			}
-			if (!fragmentsource.equals(fragments) && instance instanceof ExecutionSpecification) {
-				fragmentsource.remove(((ExecutionSpecification) instance).getStart());
-				fragmentsource.remove(instance);
-				fragmentsource.remove(((ExecutionSpecification) instance).getFinish());
-
-				fragments.add(((ExecutionSpecification) instance).getStart());
-				fragments.add(instance);
-				fragments.add(((ExecutionSpecification) instance).getFinish());
-			}
-
-			// add new Execution case
-			if ((startSemanticEnd == null && finishSemanticEnd == null)
-					|| ((startSemanticEnd != null && finishSemanticEnd != null)
-							&& (startSemanticEnd.equals(finishSemanticEnd)))) {
-				int indexOf = fragments.indexOf(startSemanticEnd);
-				if (indexOf < fragments.size()) {
-					int index = 0;
-					if (start != null) {
-						index++;
-						fragments.remove(start);
-						fragments.add(indexOf + index, start);
-					}
-					index++;
-					fragments.remove(instance);
-					fragments.add(indexOf + index, instance);
-					if (finish != null) {
-						index++;
-						fragments.remove(finish);
-						fragments.add(indexOf + index, finish);
-					}
-				} else {
-					if (start != null) {
-						fragments.remove(start);
-					}
-					fragments.remove(instance);
-					if (finish != null) {
-						fragments.remove(finish);
-					}
-					if (start != null) {
-						fragments.add(start);
-					}
-					fragments.add(instance);
-					if (finish != null) {
-						fragments.add(finish);
-					}
-				}
-			}
-			fragmentService.updateFragmentList(parentInteraction != null ? parentInteraction : startSemanticEnd,
-					fragments);
-		}
-
-	}
-
-	/**
-	 * Reorder.
-	 *
-	 * @param associedElements                        the associed elements
-	 * @param startingEndPredecessorAfterSemanticEnd  the starting end predecessor
-	 *                                                after semantic end
-	 * @param finishingEndPredecessorAfterSemanticEnd the finishing end predecessor
-	 *                                                after semantic end
-	 */
-	public void reorder(List<Element> associedElements, EObject startingEndPredecessorAfterSemanticEnd,
-			EObject finishingEndPredecessorAfterSemanticEnd) {
-		Element element = associedElements.get(0);
-		Interaction interaction = null;
-		List<EObject> fragments = null;
-		if (element instanceof Message) {
-			interaction = ((Message) element).getInteraction();
-			fragments = fragmentService.computeFragments(((Message) element).getSendEvent(),
-					startingEndPredecessorAfterSemanticEnd, interaction);
-		}
-		if (element instanceof InteractionFragment) {
-			interaction = fragmentService.getParentInteraction((InteractionFragment) element);
-			fragments = fragmentService.computeFragments(element, startingEndPredecessorAfterSemanticEnd, interaction);
-		}
-
-		Map<Element, Integer> map = new HashMap<>();
-
-		for (Element associated : associedElements) {
-			if (associated instanceof ExecutionSpecification) {
-				OccurrenceSpecification start = ((ExecutionSpecification) associated).getStart();
-				OccurrenceSpecification finish = ((ExecutionSpecification) associated).getFinish();
-				map.put(start, fragments.indexOf(start));
-				map.put(associated, fragments.indexOf(associated));
-				map.put(finish, fragments.indexOf(finish));
-			}
-		}
-		List<Element> values = new ArrayList<Element>(map.keySet());
-		Collections.sort(values, new Comparator<Element>() {
-
-			@Override
-			public int compare(Element o1, Element o2) {
-				return map.get(o1).compareTo(map.get(o2));
-			}
-
-		});
-
-		int indexOfStart = fragments.indexOf(startingEndPredecessorAfterSemanticEnd);
-		for (Element element2 : values) {
-			int indexOf = fragments.indexOf(element2);
-			if (indexOf <= indexOfStart) {
-				indexOfStart--;
-			}
-			fragments.remove(element2);
-		}
-
-		fragments.addAll(indexOfStart + 1, values);
-
-		fragmentService.updateFragmentList(
-				startingEndPredecessorAfterSemanticEnd != null ? startingEndPredecessorAfterSemanticEnd : interaction,
-				fragments);
-	}
-
-	/**
-	 * Reorder new combined fragment.
-	 *
-	 * @param object                  the object
-	 * @param startingEndPredecessor  the starting end predecessor
-	 * @param finishingEndPredecessor the finishing end predecessor
-	 * @param instance                the instance
-	 */
-	public void reorderNewCombinedFragment(EObject object, SingleEventEnd startingEndPredecessor,
-			SingleEventEnd finishingEndPredecessor, EObject instance/* , EObject ocStart, EObject oc */) {
-		if (object instanceof Interaction) {
-			Interaction interaction = (Interaction) object;
-			List<EObject> fragments = fragmentService.getFragmentsAndAnnotation(interaction);
-
-			EObject startSemanticEnd = startingEndPredecessor != null ? startingEndPredecessor.getSemanticEnd() : null;
-
-			// add new Execution case
-			int indexOf = fragments.indexOf(startSemanticEnd);
-			if (indexOf < fragments.size()) {
-				int index = 0;
-				index++;
-				fragments.remove(instance);
-				fragments.add(indexOf + index, instance);
-			} else {
-				fragments.remove(instance);
-				fragments.add(instance);
-			}
-			fragmentService.updateFragmentList(startSemanticEnd != null ? startSemanticEnd : interaction, fragments);
-		}
-
-	}
-	
-	/**
-	 * 
-	 * @param container   the InstanceRole
-	 * @param newLifeline the lifeline to create
-	 * @param predecessor the lifeline that is right after the one we are adding
-	 */
-	public void reorderNewLifeline(EObject self,EObject variable,Object op) {
-		if (self instanceof Interaction) {
-			final Interaction ownedInteraction = (Interaction) self;
-			final EList<Lifeline> lifelines = ownedInteraction.getLifelines();
-			if (op == null) {
-				lifelines.move(0, (Lifeline) variable);
-			} else {
-				int pos = lifelines.indexOf(op);
-				lifelines.move(pos + 1, (Lifeline) variable);
-			}
-		}
-	}
-	
-	/**
-	 * 
-	 * @param container   the InstanceRole
-	 * @param newLifeline the lifeline to create
-	 * @param predecessor the lifeline that is right after the one we are adding
-	 */
-	public void reorderNewLifeline(EObject self,Lifeline variable,Object op) {
-		if (op instanceof Lifeline) {
-			if (self instanceof Interaction) {
-				final Interaction ownedInteraction = (Interaction) self;
-				final EList<Lifeline> lifelines = ownedInteraction.getLifelines();
-				if (op == null) {
-					lifelines.add(0, (Lifeline) variable);
-				} else {
-					int pos = lifelines.indexOf(op);
-					lifelines.add(pos + 1, (Lifeline) variable);
-				}
-			}
-		}
-	}
-
-	
-	/**
-	 * Reorder lifeline horizontally.
-	 *
-	 * @param movedLifeline     moved lifeline
-	 * @param predecessorBefore lifeline predecessor before
-	 * @param predecessorAfter  lifeline predecessor after
-	 */
-	public void reorderLifeline(Lifeline movedLifeline, Lifeline predecessorBefore, Lifeline predecessorAfter) {
-		final Interaction ownedInteraction = movedLifeline.getInteraction();
-		final EList<Lifeline> lifelines = ownedInteraction.getLifelines();
-		final int movedLifelineIndex = lifelines.indexOf(movedLifeline);
-		if (predecessorAfter != null) {
-			final int predecessorAfterIndex = lifelines.indexOf(predecessorAfter);
-			if (movedLifelineIndex > predecessorAfterIndex) {
-				// Moved from the right to the left
-				lifelines.move(predecessorAfterIndex + 1, movedLifeline);
-				return;
-			}
-			if (movedLifelineIndex < predecessorAfterIndex) {
-				// Moved from the left to the right
-				lifelines.move(predecessorAfterIndex, movedLifeline);
-				return;
-			}
-		} else {
-			// moved at the beginning
-			lifelines.move(0, movedLifeline);
-		}
-	}
-
-	/**
-	 * Reorder fragment.
-	 *
-	 * @param fragment                     Fragment
-	 * @param startingEndPredecessorAfter  Starting end predecessor after reorder
-	 * @param finishingEndPredecessorAfter Finishing end predecessor after reorder
-	 */
-	public void reorderFragment(Element fragment, EventEnd startingEndPredecessorAfter,
-			EventEnd finishingEndPredecessorAfter) {
-
-		final EObject startingEndPredecessorAfterSemanticEnd = startingEndPredecessorAfter == null ? null
-				: (EObject) startingEndPredecessorAfter.getSemanticEnd();
-		final EObject finishingEndPredecessorAfterSemanticEnd = finishingEndPredecessorAfter == null ? null
-				: (EObject) finishingEndPredecessorAfter.getSemanticEnd();
-		if (fragment instanceof CombinedFragment) {
-			reorder((CombinedFragment) fragment, startingEndPredecessorAfterSemanticEnd,
-					finishingEndPredecessorAfterSemanticEnd);
-		} else if (fragment instanceof ExecutionSpecification) {
-			reorder((ExecutionSpecification) fragment, startingEndPredecessorAfterSemanticEnd,
-					finishingEndPredecessorAfterSemanticEnd);
-		} else if (fragment instanceof Message) {
-			reorder((Message) fragment, startingEndPredecessorAfterSemanticEnd,
-					finishingEndPredecessorAfterSemanticEnd);
-		} else if (fragment instanceof StateInvariant) {
-			reorder((StateInvariant) fragment, startingEndPredecessorAfterSemanticEnd,
-					finishingEndPredecessorAfterSemanticEnd);
-		}
-	}
-
-	///////// Reorder private method
-
-	/**
-	 * Reconnect.
-	 *
-	 * @param context  the context
-	 * @param edgeView the edge view
-	 * @param source   the source
-	 * @param view     the view
-	 */
-	public void connectToEvent(EObject context, EObject edgeView, EObject source, EObject view) {
-
-		if (view instanceof DNodeSpec) {
-			EObject target = ((DNodeSpec) view).getTarget();
-			if (target instanceof ExecutionOccurrenceSpecification) {
-				if (context instanceof Message) {
-					MessageEnd receiveEvent = ((Message) context).getReceiveEvent();
-					ExecutionSpecification execution = ((ExecutionOccurrenceSpecification) target).getExecution();
-					if (execution.getStart().equals(target)) {
-						execution.setStart((OccurrenceSpecification) receiveEvent);
-					}
-					if (execution.getFinish().equals(target)) {
-						execution.setFinish((OccurrenceSpecification) receiveEvent);
-					}
-					InteractionFragment enclosingFragment = fragmentService.getEnclosingFragment(execution);
-					if (enclosingFragment instanceof Interaction) {
-						((Interaction) enclosingFragment).getFragments().remove(target);
-					}
-					if (enclosingFragment instanceof InteractionOperand) {
-						((InteractionOperand) enclosingFragment).getFragments().remove(target);
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Reorder combined fragment.
-	 *
-	 * @param combinedFragment             Moved combined fragment
-	 * @param startingEndPredecessorAfter  Fragment preceding moved combined
-	 *                                     fragment start before the beginning of
-	 *                                     reorder operation
-	 * @param finishingEndPredecessorAfter Fragment preceding moved combined
-	 *                                     fragment finish before the beginning of
-	 *                                     reorder operation
-	 */
-	private void reorder(CombinedFragment combinedFragment, EObject startingEndPredecessorAfter,
-			EObject finishingEndPredecessorAfter) {
-
-		final Interaction interaction = combinedFragment.getEnclosingInteraction();
-		final List<EObject> fragments = fragmentService.getFragmentsAndAnnotation(interaction);
-
-		final boolean combinedFragmentStartPredecessorChanged = combinedFragmentStartPredecessorChanged(
-				combinedFragment, startingEndPredecessorAfter);
-
-		if (combinedFragmentStartPredecessorChanged) {
-			EAnnotation startOc = null;
-			EAnnotation endOc = null;
-			for (EObject interactionFragment : fragments) {
-				if (interactionFragment instanceof EAnnotation) {
-					if (((EAnnotation) interactionFragment).getSource().equals(combinedFragment.getName() + "_start")) { //$NON-NLS-1$
-						startOc = (EAnnotation) interactionFragment;
-					}
-					if (((EAnnotation) interactionFragment).getSource().equals(combinedFragment.getName() + "_end")) { //$NON-NLS-1$
-						endOc = (EAnnotation) interactionFragment;
-					}
-				}
-			}
-
-			fragments.remove(combinedFragment);
-			fragments.remove(startOc);
-			fragments.remove(endOc);
-			if (isStartOfExecution(startingEndPredecessorAfter, fragments)) {
-				fragments.add(fragmentService.getFragmentIndex(startingEndPredecessorAfter, fragments) + 2, startOc);
-				fragments.add(fragmentService.getFragmentIndex(startingEndPredecessorAfter, fragments) + 3,
-						combinedFragment);
-				fragments.add(fragmentService.getFragmentIndex(startingEndPredecessorAfter, fragments) + 4, endOc);
-			} else {
-				fragments.add(fragmentService.getFragmentIndex(startingEndPredecessorAfter, fragments) + 1, startOc);
-				fragments.add(fragmentService.getFragmentIndex(startingEndPredecessorAfter, fragments) + 2,
-						combinedFragment);
-				fragments.add(fragmentService.getFragmentIndex(startingEndPredecessorAfter, fragments) + 3, endOc);
-			}
-		}
-		fragmentService.updateFragmentList(interaction, fragments);
-	}
-
-	/**
-	 * Reorder.
-	 *
-	 * @param combinedFragment             the combined fragment
-	 * @param startingEndPredecessorAfter  the starting end predecessor after
-	 * @param finishingEndPredecessorAfter the finishing end predecessor after
-	 */
-	private void reorder(StateInvariant combinedFragment, EObject startingEndPredecessorAfter,
-			EObject finishingEndPredecessorAfter) {
-
-		final Interaction interaction = combinedFragment.getEnclosingInteraction();
-		final List<EObject> fragments = fragmentService.getFragmentsAndAnnotation(interaction);
-
-		final boolean combinedFragmentStartPredecessorChanged = stateInvariantStartPredecessorChanged(combinedFragment,
-				startingEndPredecessorAfter);
-
-		if (combinedFragmentStartPredecessorChanged) {
-			fragments.remove(combinedFragment);
-			if (isStartOfExecution(startingEndPredecessorAfter, fragments)) {
-				fragments.add(fragmentService.getFragmentIndex(startingEndPredecessorAfter, fragments) + 2,
-						combinedFragment);
-			} else {
-				fragments.add(fragmentService.getFragmentIndex(startingEndPredecessorAfter, fragments) + 1,
-						combinedFragment);
-			}
-		}
-		fragmentService.updateFragmentList(interaction, fragments);
-	}
-
-	/**
-	 * Reorder execution.
-	 *
-	 * @param execution                    Moved execution
-	 * @param startingEndPredecessorAfter  Fragment preceding moved execution start
-	 *                                     before the beginning of reorder operation
-	 * @param finishingEndPredecessorAfter Fragment preceding moved execution finish
-	 *                                     before the beginning of reorder operation
-	 */
-	private void reorder(ExecutionSpecification execution, EObject startingEndPredecessorAfter,
-			EObject finishingEndPredecessorAfter) {
-		Interaction parentInteraction = fragmentService.getParentInteraction(execution);
-		List<EObject> fragments = fragmentService.computeFragments(execution, startingEndPredecessorAfter,
-				parentInteraction);
-
-		final boolean executionFinishPredecessorChanged = executionFinishPredecessorChanged(execution,
-				finishingEndPredecessorAfter);
-		final boolean executionStartPredecessorChanged = executionStartPredecessorChanged(execution,
-				startingEndPredecessorAfter);
-
-		OccurrenceSpecification oldExecStart = execution.getStart();
-		OccurrenceSpecification execStartToMove = null;
-		OccurrenceSpecification oldExecFinish = execution.getFinish();
-		OccurrenceSpecification execFinishToMove = null;
-
-		if (executionStartPredecessorChanged) {
-			// move execution and start of execution
-			if (oldExecStart instanceof MessageOccurrenceSpecification) {
-				List<EObject> fragmentsource = FragmentsService.getInstance().getEnclosingFragments(execution);
-				replaceMessageOccByExecOcc(parentInteraction, fragmentsource, oldExecStart, true);
-			} 
-			execStartToMove = execution.getStart();
-			fragments.remove(oldExecStart);
-			fragments.remove(execution);
-			// manage start execution moving
-			if (ReorderSequenceRegistry.getInstance().containsKey(startingEndPredecessorAfter)) {
-				startingEndPredecessorAfter = ReorderSequenceRegistry.getInstance().get(startingEndPredecessorAfter);
-			}
-			addFragments(startingEndPredecessorAfter, fragments, execStartToMove);
-
-			// manage execution moving
-			fragments.add(fragmentService.getFragmentIndex(execStartToMove, fragments) + 1, execution);
-
-		}
-		if (executionFinishPredecessorChanged) {
-			// move end of execution
-			if (oldExecFinish instanceof MessageOccurrenceSpecification) {
-				List<EObject> fragmentsource = FragmentsService.getInstance().getEnclosingFragments(execution);
-				replaceMessageOccByExecOcc(parentInteraction, fragmentsource, oldExecFinish, false);
-			}
-			execFinishToMove = execution.getFinish();
-			fragments.remove(oldExecFinish);
-			// manage finish execution moving
-			if (ReorderSequenceRegistry.getInstance().containsKey(finishingEndPredecessorAfter)) {
-				finishingEndPredecessorAfter = ReorderSequenceRegistry.getInstance().get(finishingEndPredecessorAfter);
-			}
-			addFragments(finishingEndPredecessorAfter, fragments, execFinishToMove);
-
-		}
-		fragmentService.updateFragmentList(
-				startingEndPredecessorAfter != null ? startingEndPredecessorAfter : parentInteraction, fragments);
-	}
-
-	/**
-	 * Replace message occ by exec occ.
-	 *
-	 * @param parentInteraction the parent interaction
-	 * @param fragments         the fragments
-	 * @param occ               the occ
-	 * @param isStart           the is start
-	 */
-	private void replaceMessageOccByExecOcc(Interaction parentInteraction, List<EObject> fragments,
-			OccurrenceSpecification occ, boolean isStart) {
-		// 1. get the opposite messageOcc
-		// MessageOccurrenceSpecification oppStart =
-		// getMessageOccOpposite((MessageOccurrenceSpecification) occ);
-		// 1.1 check if opposite mesageOcc is linked at Execution
-		ExecutionSpecification assExec = getExecutionFromMessageOccurence((MessageOccurrenceSpecification) occ);
-
-		if (assExec != null) {
-			// 1.2 create the ExectionOcc
-			boolean isStartOcc = assExec.getStart().equals(occ);
-			ExecutionOccurrenceSpecification newExecOcc = ExecutionService.getInstance()
-					.createExecutionOccurrenceSpecification(assExec, isStartOcc);
-			ReorderSequenceRegistry.getInstance().put(occ, newExecOcc);
-			String newExecOccName = getNewExecOccName(parentInteraction, newExecOcc, isStartOcc);
-			newExecOcc.setName(newExecOccName);
-			// 1.3 replace the opposite message occ by the ExecutionOcc
-			if (isStartOcc) {
-				assExec.setStart(newExecOcc);
-
-			} else {
-				assExec.setFinish(newExecOcc);
-			}
-			newExecOcc.setExecution(assExec);
-			int indexOfExec = fragments.indexOf(assExec);
-			if (isStartOcc) {
-				fragments.add(indexOfExec, newExecOcc);
-			} else {
-				if (indexOfExec >= fragments.size() - 1) {
-					fragments.add(newExecOcc);
-				} else {
-					fragments.add(indexOfExec + 1, newExecOcc);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Compute the name of a new {@link ExecutionOccurrenceSpecification} in its {@link Interaction}.
-	 * 
-	 * @param parentInteraction
-	 *           the {@link Interaction} which will contain the new {@link ExecutionOccurrenceSpecification},
-	 * @param newExecOcc 
-     *           the new {@link ExecutionOccurrenceSpecification} with the name to compute,
-	 * @param isStart 
-     *           <code>true</code> if the new {@link ExecutionOccurrenceSpecification} is the start of an {@link ExecutionSpecification}, <code>false</code> otherwise,
-	 * @return the name of a new {@link ExecutionOccurrenceSpecification} in its {@link Interaction}.
-	 */
-	private String getNewExecOccName(Interaction parentInteraction, ExecutionOccurrenceSpecification newExecOcc, boolean isStart) {		
-		String execOccName = null; 
-		boolean isExisting = true;
-		int i = 1;
-		int j = 2;
-		while (isExisting) {
-			if (isStart) {
-				execOccName = "ExecutionOccurrenceSpecification" + i + "start"; //$NON-NLS-1$ //$NON-NLS-2$
-				i = i+2;
-			} else {
-				execOccName = "ExecutionOccurrenceSpecification" + j + "finish"; //$NON-NLS-1$ //$NON-NLS-2$
-				j = j +2;
-			}
-			isExisting = parentInteraction.getFragment(execOccName)!=null;
-		}		;
-		return execOccName;
-	}
-
-	/**
-	 * Adds the fragments.
-	 *
-	 * @param endPredecessorAfter the end predecessor after
-	 * @param fragments           the fragments
-	 * @param occ                 the occ
-	 */
-	private void addFragments(EObject endPredecessorAfter, List<EObject> fragments, OccurrenceSpecification occ) {
-		if (isStartOfExecution(endPredecessorAfter, fragments)) {
-			fragments.add(fragmentService.getFragmentIndex(endPredecessorAfter, fragments) + 2, occ);
-		} else {
-			fragments.add(endPredecessorAfter == null ? 0
-					: fragmentService.getFragmentIndex(endPredecessorAfter, fragments) + 1, occ);
-		}
-	}
-
-	/**
-	 * Reorder message.
-	 *
-	 * @param message                      Moved message
-	 * @param startingEndPredecessorAfter  Fragment preceding moved execution start
-	 *                                     before the beginning of reorder operation
-	 * @param finishingEndPredecessorAfter Fragment preceding moved execution finish
-	 *                                     before the beginning of reorder operation
-	 */
-	private void reorder(Message message, EObject startingEndPredecessorAfter, EObject finishingEndPredecessorAfter) {
-		final Interaction interaction = message.getInteraction();
-
-		MessageEnd sendEvent = message.getSendEvent();
-		MessageEnd receiveEvent = message.getReceiveEvent();
-
-		MessageEnd messageEndToMove = null;
-		if (sendEvent != null) {
-			messageEndToMove = sendEvent;
-		} else {
-			messageEndToMove = receiveEvent;
-		}
-
-		List<EObject> fragments = null;
-		boolean messageStartPredecessorChanged;
-
-		if (sendEvent != null && message.getMessageSort().equals(MessageSort.REPLY_LITERAL) && ReorderSequenceRegistry.getInstance().containsKey(sendEvent)) {
-			// case reply in synchronous message
-			// sendEvent is unconnected to execution and is not contained in Interaction
-			fragments = fragmentService.computeFragments(receiveEvent, startingEndPredecessorAfter,
-					interaction);
-			messageStartPredecessorChanged = messageStartPredecessorChanged(receiveEvent,
-					startingEndPredecessorAfter);
-		} else {
-			fragments = fragmentService.computeFragments(messageEndToMove, startingEndPredecessorAfter,
-					interaction);
-			messageStartPredecessorChanged = messageStartPredecessorChanged(messageEndToMove,
-					startingEndPredecessorAfter);
-		}
-
-		if (sendEvent != null && ReorderSequenceRegistry.getInstance().containsKey(sendEvent)) {
-			connectMessageWithExecutionSpecAndMove(message, true, fragments);
-		} else if (receiveEvent != null && ReorderSequenceRegistry.getInstance().containsKey(receiveEvent)) {
-			connectMessageWithExecutionSpecAndMove(message, false, fragments);
-		} else if (messageStartPredecessorChanged) {
-			boolean startOfExecution = isStartOfExecution(startingEndPredecessorAfter, fragments);
-			int fragmentIndex = fragmentService.getFragmentIndex(startingEndPredecessorAfter, fragments);
-			if (sendEvent != null) {
-				int indexOfSend = fragments.indexOf(sendEvent);
-				if (indexOfSend <= fragmentIndex) {
-					fragmentIndex--;
-				}
-				fragments.remove(sendEvent);
-			}
-			if (receiveEvent != null) {
-				int indexOfReceive = fragments.indexOf(receiveEvent);
-				if (indexOfReceive <= fragmentIndex) {
-					fragmentIndex--;
-				}
-				fragments.remove(receiveEvent);
-			}
-
-			if (startOfExecution) {
-				fragments.add(fragmentIndex + 2, messageEndToMove);
-			} else {
-				fragments.add(fragmentIndex + 1, messageEndToMove);
-			}
-
-			if (sendEvent != null && messageEndToMove.equals(receiveEvent)) {
-				fragments.add(fragmentService.getFragmentIndex(messageEndToMove, fragments) + 1, sendEvent);
-			} else if (receiveEvent != null && messageEndToMove.equals(sendEvent)) {
-				fragments.add(fragmentService.getFragmentIndex(messageEndToMove, fragments) + 1, receiveEvent);
-
-			}
-		}
-
-
-		Message predecessorMessage = getPredecessorMessage(message, fragments);
-		moveMessageInInteraction(message, predecessorMessage);
-		fragmentService.updateFragmentList(
-				startingEndPredecessorAfter != null ? startingEndPredecessorAfter : interaction, fragments);
-
-	}
-
-	/**
-	 * Connect a given {@link Message} with its initial {@link ExecutionSpecification}.
-	 * 
-	 * @param messageToMove
-	 *            the message to reorder
-	 * @param isMessageSendToReconnect
-	 *            <code>true</code> if it is the MessageSend to reconnect with {@link ExecutionSpecification}, <code>false</code> if it is the MessageReceiver,
-	 * @param fragments
-	 *            list of interaction fragments
-	 */
-	private void connectMessageWithExecutionSpecAndMove(Message messageToMove, boolean isMessageSendToReconnect, List<EObject> fragments) {
-		MessageEnd messEndToConnect = null;
-		MessageEnd otherMessageEnd = null;
-		if (isMessageSendToReconnect) {
-			messEndToConnect = messageToMove.getSendEvent();
-			otherMessageEnd = messageToMove.getReceiveEvent();
-		} else {
-			messEndToConnect = messageToMove.getReceiveEvent();
-			otherMessageEnd = messageToMove.getSendEvent();
-		}
-
-		ExecutionOccurrenceSpecification execOcc1 = (ExecutionOccurrenceSpecification) ReorderSequenceRegistry
-				.getInstance().get(messEndToConnect);
-		fragments.remove(messEndToConnect);
-		replaceExecByMessage(messEndToConnect, fragments, execOcc1);
-		fragments.remove(otherMessageEnd);
-
-		if (isMessageSendToReconnect) {
-			fragments.add(fragments.indexOf(messEndToConnect) + 1, otherMessageEnd);
-		} else {
-			fragments.add(fragments.indexOf(messEndToConnect), otherMessageEnd);
-		}
-
-		ExecutionSpecification executionFromMessageOccurence = getExecutionFromMessageOccurence(
-				(MessageOccurrenceSpecification) otherMessageEnd);
-		if (executionFromMessageOccurence != null) {
-			boolean isStart = executionFromMessageOccurence.getStart().equals(otherMessageEnd);
-			replaceMessageOccByExecOcc(messageToMove.getInteraction(), fragments, (MessageOccurrenceSpecification) otherMessageEnd,
-					isStart);
-			int indexOfSendEvent = fragments.indexOf(messEndToConnect);
-			fragments.remove(otherMessageEnd);
-			if (indexOfSendEvent >= fragments.size() - 1) {
-				fragments.add(otherMessageEnd);
-			} else {
-				fragments.add(indexOfSendEvent, otherMessageEnd);
-			}
-		}
-	}
-	
-	
-	/**
-	 * Get the previous {@link Message} of a given {@link Message} from list of fragments.
-	 * 
-	 * @param message
-	 *           the {@link Message} to found,
-	 * @param fragments 
-     *           list of fragment with ends of the given {@link Message}
-	 * @return the previous {@link Message} of a given {@link Message} from list of fragments.
-	 */
-	private Message getPredecessorMessage(Message message, List<EObject> fragments) {
-		Message predecessorMessage = null;
-		MessageEnd sendEvent = message.getSendEvent();
-		MessageEnd reveiveEvent = message.getReceiveEvent();
-		for (EObject fragment : fragments) {
-			if (fragment.equals(sendEvent) || fragment.equals(reveiveEvent)) {
-				return predecessorMessage;
-			} else if (fragment instanceof MessageOccurrenceSpecification) {	
-				// case predecessor is Found Message
-				predecessorMessage = ((MessageOccurrenceSpecification) fragment).getMessage();
-			} 
-		}
-		return null;
-	}
-
-	/**
-     * Moves an element inside a list to another position, relative to a second element of the list.
-     * 
-     * @param element
-     *            the element to move. Must be present in the list.
-     * @param pred
-     *            the element which should become the new predecessor of <code>element</code> in the list. May be
-     *            <code>null</code> to indicate that <code>element</code> should be moved at the front.
-     * @param list
-     *            the list of elements to alter.
-     */
-	private void moveMessageInInteraction(Message messageToMove, Message predecessorMessage) {
-		Interaction interaction = messageToMove.getInteraction();
-		EList<Message> interactionMessages = interaction.getMessages();
-		if (predecessorMessage == null) {
-			interactionMessages.move(0, messageToMove);
-		} else {
-			int messageToMoveIndex = interactionMessages.indexOf(messageToMove);
-			int predecessorMessageIndex = interactionMessages.indexOf(predecessorMessage);
-			if (messageToMoveIndex > predecessorMessageIndex) {
-				interactionMessages.move(predecessorMessageIndex + 1, messageToMove);
-			} else {
-				interactionMessages.move(predecessorMessageIndex, messageToMove);
-			}
-		}
-	}
-
-	/**
-	 * Replace exec by message.
-	 *
-	 * @param sendEvent the send event
-	 * @param fragments the fragments
-	 * @param execOcc1  the exec occ 1
-	 */
-	public void replaceExecByMessage(MessageEnd sendEvent, final List<EObject> fragments,
-			ExecutionOccurrenceSpecification execOcc1) {
-		int indexOfExec1 = fragments.indexOf(execOcc1);
-		ExecutionSpecification execution1 = execOcc1.getExecution();
-		if (execution1.getStart().equals(execOcc1)) {
-			execution1.setStart((OccurrenceSpecification) sendEvent);
-		} else {
-			execution1.setFinish((OccurrenceSpecification) sendEvent);
-		}
-		fragments.remove(execOcc1);
-		sendEvent.getMessage().getInteraction().getFragments().remove(execOcc1);
-		if (!fragments.contains(sendEvent)) {
-			fragments.add(indexOfExec1, sendEvent);
-		}
-	}
-
-	/**
-	 * Replace exec by message.
-	 *
-	 * @param sendEvent the send event
-	 * @param fragments the fragments
-	 * @param execOcc1  the exec occ 1
-	 */
-	
-	public void replaceExecByMessage(MessageEnd sendEvent, final EList<InteractionFragment> fragments,
-			ExecutionOccurrenceSpecification execOcc1) {
-		int indexOfExec1 = fragments.indexOf(execOcc1);
-		ExecutionSpecification execution1 = execOcc1.getExecution();
-		if (execution1.getStart().equals(execOcc1)) {
-			execution1.setStart((OccurrenceSpecification) sendEvent);
-		} else {
-			execution1.setFinish((OccurrenceSpecification) sendEvent);
-		}
-		fragments.remove(execOcc1);
-		fragments.add(indexOfExec1, (MessageOccurrenceSpecification) sendEvent);
-	}
-
-	/**
-	 * Gets the parent interaction.
-	 *
-	 * @param fragment the fragment
-	 * @return the parent interaction
-	 */
-	private Interaction getParentInteraction(EObject fragment) {
-		if (fragment instanceof InteractionFragment) {
-			return fragmentService.getParentInteraction((InteractionFragment) fragment);
-		}
-		return null;
-	}
-
-	/**
-	 * Gets the execution from message occurence.
-	 *
-	 * @param messageOcc the message occ
-	 * @return the execution from message occurence
-	 */
-	public ExecutionSpecification getExecutionFromMessageOccurence(MessageOccurrenceSpecification messageOcc) {
-
-		List<EObject> enclosingFragments = fragmentService.getEnclosingFragments(messageOcc);
-		for (EObject eEObject : enclosingFragments) {
-			if (eEObject instanceof ExecutionSpecification) {
-				if (((ExecutionSpecification) eEObject).getStart().equals(messageOcc)
-						|| ((ExecutionSpecification) eEObject).getFinish().equals(messageOcc)) {
-					return (ExecutionSpecification) eEObject;
-				}
-			}
-		}
-
-		return null;
-	}
-
-	/**
-	 * Checks if is start of execution.
-	 *
-	 * @param startingEndPredecessorAfter the starting end predecessor after
-	 * @param fragments                   the fragments
-	 * @return true, if is start of execution
-	 */
-	public boolean isStartOfExecution(EObject startingEndPredecessorAfter, List<EObject> fragments) {
-
-		if (startingEndPredecessorAfter instanceof ExecutionOccurrenceSpecification) {
-			final ExecutionOccurrenceSpecification executionStart = (ExecutionOccurrenceSpecification) startingEndPredecessorAfter;
-			if (executionStart.getExecution().getStart().equals(executionStart)) {
-				return true;
-			}
-		}
-
-		if (startingEndPredecessorAfter instanceof MessageOccurrenceSpecification) {
-			if (fragments.indexOf(startingEndPredecessorAfter) + 1 < fragments.size()) {
-				final EObject candidate = fragments.get(fragments.indexOf(startingEndPredecessorAfter) + 1);
-				if (candidate instanceof ExecutionSpecification) {
-					final ExecutionSpecification behaviorExecution = (ExecutionSpecification) candidate;
-					if (behaviorExecution.getStart().equals(startingEndPredecessorAfter)) {
-						return true;
-					}
-				}
-			}
-		}
-
-		return false;
-	}
-
-	/**
-	 * Combined fragment start predecessor changed.
-	 *
-	 * @param combinedFragment            the combined fragment
-	 * @param startingEndPredecessorAfter the starting end predecessor after
-	 * @return true, if successful
-	 */
-	private boolean combinedFragmentStartPredecessorChanged(CombinedFragment combinedFragment,
-			EObject startingEndPredecessorAfter) {
-		final Interaction interaction = combinedFragment.getEnclosingInteraction();
-		final List<EObject> fragments = fragmentService.getFragmentsAndAnnotation(interaction);
-		final EObject initialPredecessor = fragments.get(fragments.indexOf(combinedFragment) - 1);
-
-		return !initialPredecessor.equals(startingEndPredecessorAfter);
-	}
-
-	/**
-	 * State invariant start predecessor changed.
-	 *
-	 * @param stateInvariant              the state invariant
-	 * @param startingEndPredecessorAfter the starting end predecessor after
-	 * @return true, if successful
-	 */
-	private boolean stateInvariantStartPredecessorChanged(StateInvariant stateInvariant,
-			EObject startingEndPredecessorAfter) {
-		final Interaction interaction = stateInvariant.getEnclosingInteraction();
-		final List<EObject> fragments = fragmentService.getFragmentsAndAnnotation(interaction);
-		int indexOf = fragments.indexOf(stateInvariant);
-		if (indexOf == 0) {
-			return true;
-		}
-		final EObject initialPredecessor = fragments.get(indexOf - 1);
-
-		return !initialPredecessor.equals(startingEndPredecessorAfter);
-	}
-
-	/**
-	 * Execution start predecessor changed.
-	 *
-	 * @param execution                   the execution
-	 * @param startingEndPredecessorAfter the starting end predecessor after
-	 * @return true, if successful
-	 */
-	private boolean executionStartPredecessorChanged(ExecutionSpecification execution,
-			EObject startingEndPredecessorAfter) {
-		return true;
-	}
-
-	/**
-	 * Execution finish predecessor changed.
-	 *
-	 * @param execution                    the execution
-	 * @param finishingEndPredecessorAfter the finishing end predecessor after
-	 * @return true, if successful
-	 */
-	private boolean executionFinishPredecessorChanged(ExecutionSpecification execution,
-			EObject finishingEndPredecessorAfter) {
-		final List<EObject> fragments = fragmentService.getEnclosingFragments(execution);
-		int index = fragments.indexOf(execution.getFinish());
-		if (index == 0) {
-			return false;
-		}
-		final EObject initialPredecessor = fragments.get(index - 1);
-
-		return !initialPredecessor.equals(finishingEndPredecessorAfter);
-	}
-
-	/**
-	 * Message start predecessor changed.
-	 *
-	 * @param message                     the message
-	 * @param startingEndPredecessorAfter the starting end predecessor after
-	 * @return true, if successful
-	 */
-	private boolean messageStartPredecessorChanged(MessageEnd messageEndToMove, EObject startingEndPredecessorAfter) {
-		final InteractionFragment interaction = fragmentService.getEnclosingFragment(messageEndToMove);
-		final List<EObject> fragments = fragmentService.getFragmentsAndAnnotation(interaction);
-		int index = fragments.indexOf(messageEndToMove) - 1;
-		if (index == -1) {
-			return true;
-		}
-		final EObject initialPredecessor = fragments.get(index);
-
-		return !initialPredecessor.equals(startingEndPredecessorAfter);
-
-	}
-
-	/**
-	 * Compute default name.
-	 *
-	 * @param element New element
-	 * @return Name for the new element, he name will looks like 'ElementType'+total
-	 *         of existing elements of the same type.
-	 */
-	private String computeDefaultName(final EObject element) {
-		return LabelServices.INSTANCE.computeDefaultName(element);
-	}
-
-}
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/services/SequenceDiagramServices.java b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/services/SequenceDiagramServices.java
deleted file mode 100755
index d2d049f..0000000
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/services/SequenceDiagramServices.java
+++ /dev/null
@@ -1,1088 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2022 Obeo, CEA LIST, Artal Technologies
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *    Obeo - initial API and implementation
- *    Aurelien Didier (ARTAL) - aurelien.didier51@gmail.com - adaptation to integrate in Papyrus
- *    Jessy Mallet (Obeo) - jessy.mallet@obeo.fr - Update services with MessageServices.
- *******************************************************************************/
-package org.eclipse.papyrus.sirius.uml.diagram.sequence.services;
-
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.LinkedHashSet;
-import java.util.List;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.papyrus.sirius.uml.diagram.common.core.services.AbstractDiagramServices;
-import org.eclipse.papyrus.sirius.uml.diagram.common.core.services.LabelServices;
-import org.eclipse.sirius.diagram.DNode;
-import org.eclipse.sirius.diagram.description.style.Side;
-import org.eclipse.sirius.diagram.sequence.SequenceDDiagram;
-import org.eclipse.sirius.diagram.sequence.ordering.EventEnd;
-import org.eclipse.sirius.diagram.sequence.ordering.SingleEventEnd;
-import org.eclipse.sirius.diagram.ui.business.api.view.SiriusGMFHelper;
-import org.eclipse.uml2.uml.CombinedFragment;
-import org.eclipse.uml2.uml.Comment;
-import org.eclipse.uml2.uml.Constraint;
-import org.eclipse.uml2.uml.DurationConstraint;
-import org.eclipse.uml2.uml.DurationObservation;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.ExecutionOccurrenceSpecification;
-import org.eclipse.uml2.uml.ExecutionSpecification;
-import org.eclipse.uml2.uml.GeneralOrdering;
-import org.eclipse.uml2.uml.Interaction;
-import org.eclipse.uml2.uml.InteractionFragment;
-import org.eclipse.uml2.uml.Lifeline;
-import org.eclipse.uml2.uml.Message;
-import org.eclipse.uml2.uml.MessageOccurrenceSpecification;
-import org.eclipse.uml2.uml.MessageSort;
-import org.eclipse.uml2.uml.NamedElement;
-import org.eclipse.uml2.uml.TimeConstraint;
-import org.eclipse.uml2.uml.TimeObservation;
-
-/**
- * A set of services to handle the Sequence diagram.
- *
- * @author Melanie Bats <a href="mailto:melanie.bats@obeo.fr">melanie.bats@obeo.fr</a>
- */
-public class SequenceDiagramServices extends AbstractDiagramServices {
-
-
-	/** The comment service. */
-	private CommentService commentService = CommentService.getInstance();
-
-	/** The constraint service. */
-	private ConstraintService constraintService = ConstraintService.getInstance();
-
-	/** The execution service. */
-	private ExecutionService executionService = ExecutionService.getInstance();
-
-	/** The combined fragment operand service. */
-	private CombinedAndOperandService combinedFragmentOperandService = CombinedAndOperandService.getInstance();
-
-	/** The reorder service. */
-	private ReorderService reorderService = ReorderService.getInstance();
-
-	/** The message service. */
-	private MessageService messageService = MessageService.getInstance();
-
-	/** The lifeline service. */
-	private LifelineService lifelineService = LifelineService.getInstance();
-	/** The time observation constraint service. */
-	private TimeObservationConstraintService timeObservationConstraintService = TimeObservationConstraintService.getInstance();
-	/** The fragments service. */
-	private FragmentsService fragmentsService = FragmentsService.getInstance();
-
-
-	/** The is break. */
-	private static boolean isBreak = false;
-
-
-	/////////////////////// METHODE CALL FROM ODESIGN///////////////////////////
-
-
-	// -------- FRAGMENTS MANAGEMENT
-
-
-
-	/**
-	 * Gets the finish.
-	 *
-	 * @param o
-	 *            the o
-	 * @return the finish
-	 */
-	public EObject getFinish(EObject o) {
-		return fragmentsService.getFinish(o);
-	}
-
-
-	/**
-	 * Gets the start.
-	 *
-	 * @param o
-	 *            the o
-	 * @return the start
-	 */
-	public EObject getStart(EObject o) {
-		return fragmentsService.getStart(o);
-	}
-
-	/**
-	 * Make union.
-	 *
-	 * @param context
-	 *            the context
-	 * @return the list
-	 */
-	public List<EObject> makeUnion(EObject context) {
-		return fragmentsService.makeUnion(context);
-	}
-
-	/**
-	 * Get observation points to draw.
-	 *
-	 * @param context
-	 *            the context
-	 * @return the list
-	 */
-	public List<EObject> getObservationPoints(EObject context) {
-		return fragmentsService.getObservationPoints(context);
-	}
-
-
-	/**
-	 * Eol precondition.
-	 *
-	 * @param p
-	 *            the p
-	 * @return true, if successful
-	 */
-	public boolean eolPrecondition(Lifeline p) {
-		return fragmentsService.eolPrecondition(p);
-	}
-
-	/**
-	 * Gets the fragments ordering ends.
-	 *
-	 * @param object
-	 *            the object
-	 * @return the fragments ordering ends
-	 */
-	public List<EObject> getFragmentsOrderingEnds(EObject object) {
-		return fragmentsService.getFragmentsOrderingEnds(object);
-	}
-
-
-
-	// ------------ MANAGEMENT DIAGRAM FEATURE
-	/**
-	 * Get sequence diagram label.
-	 *
-	 * @param interaction
-	 *            Interaction associated to sequence diagram
-	 * @return SEquence diagram label
-	 */
-	public String getSequenceDiagramName(Interaction interaction) {
-		return LabelServices.INSTANCE.getSequenceDiagramName(interaction);
-	}
-
-	/**
-	 * Compute semantic elements.
-	 *
-	 * @param exec
-	 *            the exec
-	 * @return the collection
-	 */
-	public Collection<EObject> computeSemanticElements(ExecutionSpecification exec) {
-		return new LinkedHashSet<EObject>(Arrays.asList(exec, exec.getStart(), exec.getFinish(), exec.getCovereds().get(0)));
-	}
-
-
-	// -------- MANAGEMENT TIME, OBSERVATION AND CONSTRAINTE
-
-
-	/**
-	 * Gets the time constraint.
-	 *
-	 * @param context
-	 *            the context
-	 * @return the time constraint
-	 */
-	public List<TimeConstraint> getTimeConstraint(EObject context) {
-		return timeObservationConstraintService.getTimeConstraint(context);
-	}
-
-
-
-	/**
-	 * Gets the side.
-	 *
-	 * @param context
-	 *            the context
-	 * @return the side
-	 */
-	public List<Side> getSide(EObject context) {
-		return timeObservationConstraintService.getSide(context);
-	}
-
-
-
-	/**
-	 * Creates the general ordering.
-	 *
-	 * @param context
-	 *            the context
-	 * @param sourceVariable
-	 *            the source variable
-	 * @param targetVariable
-	 *            the target variable
-	 * @return the general ordering
-	 */
-	public GeneralOrdering createGeneralOrdering(EObject context, EObject sourceVariable, EObject targetVariable) {
-		return GeneralOrderingService.getInstance().createGeneralOrdering(context, sourceVariable, targetVariable);
-	}
-
-
-
-	/**
-	 * Creates the duration observation.
-	 *
-	 * @param context
-	 *            the context
-	 * @param sourceVariable
-	 *            the source variable
-	 * @param targetVariable
-	 *            the target variable
-	 * @return the duration observation
-	 */
-	public DurationObservation createDurationObservation(EObject context, EObject sourceVariable, EObject targetVariable) {
-		return timeObservationConstraintService.createDurationObservation(context, sourceVariable, targetVariable);
-	}
-
-
-
-	/**
-	 * Creates the duration constraint.
-	 *
-	 * @param context
-	 *            the context
-	 * @param sourceVariable
-	 *            the source variable
-	 * @param targetVariable
-	 *            the target variable
-	 * @return the duration constraint
-	 */
-	public DurationConstraint createDurationConstraint(EObject context, EObject sourceVariable, EObject targetVariable) {
-
-		return timeObservationConstraintService.createDurationConstraint(context, sourceVariable, targetVariable);
-	}
-
-
-
-
-
-	/**
-	 * Gets the all duration observation.
-	 *
-	 * @param context
-	 *            the context
-	 * @return the all duration observation
-	 */
-	public List<DurationObservation> getAllDurationObservation(EObject context) {
-		return timeObservationConstraintService.getAllDurationObservation(context);
-	}
-
-
-	/**
-	 * Gets the time constraints.
-	 *
-	 * @param context
-	 *            the context
-	 * @return the time constraints
-	 */
-	public List<TimeConstraint> getTimeConstraints(EObject context) {
-		return timeObservationConstraintService.getTimeConstraints(context);
-	}
-
-
-	/**
-	 * Gets the time observations.
-	 *
-	 * @param context
-	 *            the context
-	 * @return the time observations
-	 */
-	public List<TimeObservation> getTimeObservations(EObject context) {
-		return timeObservationConstraintService.getTimeObservations(context);
-	}
-	
-	/**
-	 * Gets the Event.
-	 *
-	 * @param context
-	 *            the context
-	 * @return the time observations
-	 */
-	public EObject getEventOrSelf(EObject context) {
-		return timeObservationConstraintService.getEventOrSelf(context);
-	}
-
-	/**
-	 * Delete the time constraint Event.
-	 *
-	 * @param context
-	 *            the context
-	 * @return the time observations
-	 */
-	public void deleteTimeConstraint(EObject context) {
-		timeObservationConstraintService.deleteTimeConstraint(context);
-	}
-	
-	/**
-	 * Delete the time constraint Event.
-	 *
-	 * @param context
-	 *            the context
-	 * @return the time observations
-	 */
-	public void deleteTimeObservation(EObject context) {
-		timeObservationConstraintService.deleteTimeObservation(context);
-	}
-
-
-	
-	/**
-	 * Gets the time observations.
-	 *
-	 * @param context
-	 *            the context
-	 * @return the time observations
-	 */
-	public List<TimeObservation> getTimeObservation(EObject context) {
-		return timeObservationConstraintService.getTimeObservation(context);
-	}
-
-
-	/**
-	 * Gets the source constrained element.
-	 *
-	 * @param context
-	 *            the context
-	 * @return the source constrained element
-	 */
-	public EObject getSourceConstrainedElement(EObject context) {
-		return constraintService.getSourceConstrainedElement(context);
-	}
-
-	/**
-	 * Gets the target constrained element.
-	 *
-	 * @param context
-	 *            the context
-	 * @return the target constrained element
-	 */
-	public EObject getTargetConstrainedElement(EObject context) {
-		return constraintService.getTargetConstrainedElement(context);
-	}
-
-
-	/**
-	 * Gets the source constrained element.
-	 *
-	 * @param context
-	 *            the context
-	 * @return the source constrained element
-	 */
-	public EObject getSourceObservation(EObject context) {
-		return constraintService.getSourceObservation(context);
-	}
-
-	/**
-	 * Gets the target constrained element.
-	 *
-	 * @param context
-	 *            the context
-	 * @return the target constrained element
-	 */
-	public EObject getTargetObservation(EObject context) {
-		return constraintService.getTargetObservation(context);
-	}
-
-
-	// ------------------- MANGEMENT LIFELINE
-
-
-	/**
-	 * Compute lifeline comment label.
-	 *
-	 * @param lifeline
-	 *            Lifeline
-	 * @return LAbel
-	 */
-	public String computeLifelineCommentLabel(Lifeline lifeline) {
-		return lifelineService.computeLifelineCommentLabel(lifeline);
-	}
-
-	/**
-	 * Check if lifeline is representing a property.
-	 *
-	 * @param element
-	 *            Lifeline
-	 * @return True iflifeline is representing a property
-	 */
-	public boolean isRepresentingProperty(Lifeline element) {
-		return lifelineService.isRepresentingProperty(element);
-	}
-
-	/**
-	 * Delete lifeline.
-	 *
-	 * @param lifeline
-	 *            Lifeline to delete
-	 */
-	public void delete(Lifeline lifeline) {
-		lifelineService.delete(lifeline);
-	}
-
-
-
-	// --------------- MANAGE MESSAGE
-
-	/**
-	 * Check is selection.
-	 *
-	 * @param sourceView
-	 *            the source view
-	 * @param targetView
-	 *            the target view
-	 * @return true, if successful
-	 */
-	public boolean checkIsOccurenceSpecSelection(EObject sourceView, EObject targetView) {
-		boolean checkIsOccurenceSpecSelection = messageService.checkIsOccurenceSpecSelection(sourceView, targetView);
-		if (checkIsOccurenceSpecSelection) {
-			isBreak = true;
-		}
-		return checkIsOccurenceSpecSelection;
-	}
-
-
-	/**
-	 * Check is gate selection.
-	 *
-	 * @param sourceView
-	 *            the source view
-	 * @param targetView
-	 *            the target view
-	 * @return true, if successful
-	 */
-	public boolean checkIsGateSelection(EObject sourceView, EObject targetView) {
-		boolean checkIsGateSelection = messageService.checkIsGateSelection(sourceView, targetView);
-		if (checkIsGateSelection) {
-			isBreak = true;
-		}
-		return checkIsGateSelection;
-	}
-	
-	/**
-	 * Complete Lost {@link Message} creation with {@link MessageOccurrenceSpecification}.
-	 *
-	 * @param context
-	 *            the context which hold the created Lost {@link Message}
-	 * @param message
-	 *            the created Lost {@link Message}.
-	 */
-	public void completeLostMessageWithMsgOccSpec(EObject context, Message message) {
-		messageService.completeLostMessageWithMsgOccSpec(context, message);
-	}
-	
-	/**
-	 * Complete Found {@link Message} creation with {@link MessageOccurrenceSpecification}.
-	 *
-	 * @param context
-	 *            the context which hold the created Found {@link Message}
-	 * @param message
-	 *            the created Found {@link Message}.
-	 */
-	public void completeFoundMessageWithMsgOccSpec(EObject context, Message message) {
-		messageService.completeFoundMessageWithMsgOccSpec(context, message);
-	}
-
-	/**
-	 * Gets the lost receive annotation.
-	 *
-	 * @param context
-	 *            the context
-	 * @return the lost receive annotation
-	 */
-	public EObject getLostReceiveAnnotation(EObject context) {
-
-		return messageService.getLostReceiveAnnotation(context);
-	}
-
-
-	/**
-	 * Checks if is lost found target valid.
-	 *
-	 * @param context
-	 *            the context
-	 * @return true, if is lost found target valid
-	 */
-	public boolean isLostFoundTargetValid(EObject context) {
-		return messageService.isLostFoundTargetValid(context);
-	}
-
-
-	/**
-	 * Creates the reply message.
-	 *
-	 * @param context
-	 *            the context
-	 * @param sourceFragment
-	 *            the source fragment
-	 * @param targetFragment
-	 *            the target fragment
-	 * @param startingEndPredecessor
-	 *            the starting end predecessor
-	 * @param finishingEndPredecessor
-	 *            the finishing end predecessor
-	 */
-	public void createReplyMessage(EObject context, NamedElement sourceFragment,
-			NamedElement targetFragment, EventEnd startingEndPredecessor, EventEnd finishingEndPredecessor) {
-		messageService.createReplyMessage(context, sourceFragment, targetFragment, startingEndPredecessor, finishingEndPredecessor);
-	}
-
-
-
-	/**
-	 * Create Delete message.
-	 *
-	 * @param context
-	 *            the context
-	 * @param sourceVariable
-	 *            the source variable
-	 * @param targetVariable
-	 *            the target variable
-	 * @param startingEndPredecessor
-	 *            the starting end predecessor
-	 * @param finishingEndPredecessor
-	 *            the finishing end predecessor
-	 * @return the message
-	 */
-	public Message deleteMessage(EObject context, EObject sourceVariable, Lifeline targetVariable, EventEnd startingEndPredecessor, EventEnd finishingEndPredecessor) {
-		return messageService.deleteMessage(context, sourceVariable, targetVariable, startingEndPredecessor, finishingEndPredecessor);
-	}
-
-	/**
-	 * Creates the message.
-	 *
-	 * @param context
-	 *            the context
-	 * @param sourceV
-	 *            the source V
-	 * @param targetV
-	 *            the target V
-	 * @param startingEndPredecessor
-	 *            the starting end predecessor
-	 * @param finishingEndPredecessor
-	 *            the finishing end predecessor
-	 * @return the message
-	 */
-	public Message createMessage(EObject context, EObject sourceV, Lifeline targetV, EventEnd startingEndPredecessor, EventEnd finishingEndPredecessor) {
-		return messageService.createMessage(context, sourceV, targetV, startingEndPredecessor, finishingEndPredecessor);
-	}
-
-	/**
-	 * Creates the message.
-	 *
-	 * @param target
-	 *            the target
-	 * @param source
-	 *            the source
-	 * @return the message
-	 */
-	public Message createMessage(Lifeline target, EObject source) {
-		return messageService.createMessage(source, target);
-	}
-
-
-	/**
-	 * Creates the synchronous message.
-	 *
-	 * @param target
-	 *            the target
-	 * @param source
-	 *            the source
-	 */
-	public void createSynchronousMessage(NamedElement target, NamedElement source) {
-		messageService.createSynchronousMessage(target, source);
-	}
-
-	/**
-	 * Creates the A synchronous message.
-	 *
-	 * @param target
-	 *            the target
-	 * @param source
-	 *            the source
-	 */
-	public void createASynchronousMessage(NamedElement target, NamedElement source) {
-		messageService.createASynchronousMessage(target, source);
-	}
-
-
-
-	/**
-	 * Create an operation and an asynchronous message from a lifeline or an execution. Create the operation
-	 * in the class and the asynchronous message in the interaction.
-	 *
-	 * @param target
-	 *            Target message element, it could be a lifeline or an execution
-	 * @param source
-	 *            Source message element, it could be a lifeline or an execution
-	 * @param startingEndPredecessor
-	 *            Start predecessor
-	 * @param finishingEndPredecessor
-	 *            Finish predecessor
-	 */
-	public void createOperationAndAsynchMessage(NamedElement target, NamedElement source,
-			EventEnd startingEndPredecessor, EventEnd finishingEndPredecessor) {
-		messageService.createOperationAndAsynchMessage(target, source, startingEndPredecessor, finishingEndPredecessor);
-	}
-
-	/**
-	 * Create an operation and an asynchronous message from a lifeline or an execution without predecessor defined. Create the operation
-	 * in the class and the asynchronous message in the interaction. It is mainly used when target is an {@link ExecutionOccurrenceSpecification}.
-	 *
-	 * @param target
-	 *            Target message element, it could be a lifeline or an execution
-	 * @param source
-	 *            Source message element, it could be a lifeline or an execution or an ExecutionOccurrenceSpecification
-	 */
-	public void createOperationAndAsynchMessageWithoutPredecessor(NamedElement target, NamedElement source) {
-		messageService.createOperationAndAsynchMessage(target, source, null, null);
-	}
-
-
-	/**
-	 * Create an operation and an synchronous message from a lifeline or an execution. Create the operation in
-	 * the class and the synchronous message in the interaction.
-	 *
-	 * @param target
-	 *            Target message element, it could be a lifeline or an execution
-	 * @param source
-	 *            Source message element, it could be a lifeline or an execution
-	 * @param startingEndPredecessor
-	 *            Start predecessor
-	 * @param finishingEndPredecessor
-	 *            Finish predecessor
-	 */
-	public void createOperationAndSynchMessage(NamedElement target, NamedElement source,
-			EventEnd startingEndPredecessor, EventEnd finishingEndPredecessor) {
-		messageService.createOperationAndSynchMessage(target, source, startingEndPredecessor, finishingEndPredecessor);
-	}
-
-
-
-
-	/**
-	 * Check if element is a valid message end.
-	 *
-	 * @param element
-	 *            Element
-	 * @return True if element is a valid message end
-	 */
-	public boolean isValidMessageEnd(Element element) {
-		return messageService.isValidMessageEnd(element);
-	}
-
-	/**
-	 * Check if element is a valid message end.
-	 *
-	 * @param preTarget
-	 *            Element
-	 * @return True if element is a valid message end
-	 */
-	public boolean isValidMessageEnd(EObject preTarget) {
-		return messageService.isValidMessageEnd(preTarget);
-	}
-
-
-
-
-
-	/**
-	 * Check if message is not a reply message.
-	 *
-	 * @param message
-	 *            Message
-	 * @return True if message is not a reply message
-	 */
-	public boolean isNotReply(Message message) {
-		return messageService.isNotReply(message);
-	}
-
-	/**
-	 * Find occurrence specification context for a receive event.
-	 *
-	 * @param message
-	 *            Message
-	 * @return Occurrence specification context
-	 */
-	public NamedElement findOccurrenceSpecificationContextForReceiveEvent(Message message) {
-		return messageService.findOccurrenceSpecificationContextForReceiveEvent(message);
-	}
-
-
-	/**
-	 * Find occurrence specification context for a send event.
-	 *
-	 * @param message
-	 *            Message
-	 * @return Occurrence specification context
-	 */
-	public NamedElement findOccurrenceSpecificationContextForSendEvent(Message message) {
-		return messageService.findOccurrenceSpecificationContextForSendEvent(message);
-	}
-
-	/**
-	 * Check if message is a synchronous call.
-	 *
-	 * @param message
-	 *            Message
-	 * @return True if message is a synchronous call
-	 */
-	public boolean isSynchCall(Message message) {
-		return messageService.isSynchCall(message);
-	}
-
-	/**
-	 * Gets the invocation message.
-	 *
-	 * @param object
-	 *            the object
-	 * @return the invocation message
-	 */
-	public Message getInvocationMessage(EObject object) {
-		return messageService.getInvocationMessage(object);
-	}
-
-	/**
-	 * Gets the message associated elements.
-	 *
-	 * @param msg
-	 *            the msg
-	 * @return the message associated elements
-	 */
-	public Collection<EObject> getMessageAssociatedElements(Message msg) {
-		return messageService.getMessageAssociatedElements(msg);
-	}
-
-	/**
-	 * Delete message.
-	 *
-	 * @param message
-	 *            Message to delete
-	 */
-	public void delete(Message message) {
-		messageService.delete(message);
-	}
-
-	/**
-	 * Pre condition message basic.
-	 *
-	 * @param object
-	 *            the object
-	 * @return true, if successful
-	 */
-	public boolean preConditionMessageBasic(EObject object) {
-		return messageService.preConditionMessageBasic(object);
-	}
-
-	/**
-	 * Pre condition message basic.
-	 *
-	 * @param object
-	 *            the object
-	 * @return true, if successful
-	 */
-	public boolean preConditionNotMessageBasic(EObject object) {
-		if (object instanceof Message) {
-			if (((Message) object).getMessageSort() == MessageSort.CREATE_MESSAGE_LITERAL || ((Message) object).getMessageSort() == MessageSort.DELETE_MESSAGE_LITERAL || ((Message) object).getMessageSort() == MessageSort.REPLY_LITERAL) {
-				return false;
-			}
-		}
-		return !messageService.preConditionMessageBasic(object);
-	}
-
-
-	// ---------------------- REORDER MANAGEMENT
-
-
-	/**
-	 * Reorder new fragments.
-	 *
-	 * @param object
-	 *            the object
-	 * @param startingEndPredecessor
-	 *            the starting end predecessor
-	 * @param finishingEndPredecessor
-	 *            the finishing end predecessor
-	 */
-	public void reorderNewFragments(EObject object, EObject startingEndPredecessor, EObject finishingEndPredecessor) {
-		reorderService.reorderNewFragments(object, startingEndPredecessor, finishingEndPredecessor);
-
-
-	}
-
-	/**
-	 * Reorder new lifeline.
-	 *
-	 * @param object
-	 *            the object
-	 * @param newInstance
-	 *            the newInstance to create
-	 * @param predecessor
-	 *            the lifeline predecessor
-	 */
-	public void reorderNewLifeline(EObject container, EObject newInstance, EObject predecessor) {
-		reorderService.reorderNewLifeline(container, newInstance, predecessor);
-	}
-
-	/**
-	 * Reorder new fragments.
-	 *
-	 * @param object
-	 *            the object
-	 * @param startingEndPredecessor
-	 *            the starting end predecessor
-	 * @param finishingEndPredecessor
-	 *            the finishing end predecessor
-	 * @param instance
-	 *            the instance
-	 */
-	public void reorderNewFragments(EObject object, EObject startingEndPredecessor, EObject finishingEndPredecessor, EObject instance) {
-		reorderService.reorderNewFragments(object, startingEndPredecessor, finishingEndPredecessor, instance);
-	}
-
-	/**
-	 * Reorder new fragments.
-	 *
-	 * @param object
-	 *            the object
-	 * @param startingEndPredecessor
-	 *            the starting end predecessor
-	 * @param finishingEndPredecessor
-	 *            the finishing end predecessor
-	 * @param start
-	 *            the start
-	 * @param finish
-	 *            the finish
-	 * @param instance
-	 *            the instance
-	 */
-	public void reorderNewFragments(EObject object, EventEnd startingEndPredecessor, EventEnd finishingEndPredecessor, EObject start, EObject finish, EObject instance) {
-		reorderService.reorderNewFragments(object, startingEndPredecessor, finishingEndPredecessor, start, finish, instance);
-	}
-
-
-	/**
-	 * Reorder new combined fragment.
-	 *
-	 * @param object
-	 *            the object
-	 * @param startingEndPredecessor
-	 *            the starting end predecessor
-	 * @param finishingEndPredecessor
-	 *            the finishing end predecessor
-	 * @param instance
-	 *            the instance
-	 */
-	public void reorderNewCombinedFragment(EObject object, SingleEventEnd startingEndPredecessor, SingleEventEnd finishingEndPredecessor, EObject instance/* , EObject ocStart, EObject oc */) {
-		reorderService.reorderNewCombinedFragment(object, startingEndPredecessor, finishingEndPredecessor, instance);
-	}
-
-	/**
-	 * Choose the context of combined fragment creation.
-	 *
-	 * @param context
-	 *            the context
-	 */
-	public EObject chooseContext(EObject context) {
-		if (context instanceof SequenceDDiagram)
-			return ((SequenceDDiagram) context).getTarget();
-		return context;
-	}
-
-	/**
-	 * Reorder lifeline horizontally.
-	 *
-	 * @param movedLifeline
-	 *            moved lifeline
-	 * @param predecessorBefore
-	 *            lifeline predecessor before
-	 * @param predecessorAfter
-	 *            lifeline predecessor after
-	 */
-	public void reorderLifeline(Lifeline movedLifeline, Lifeline predecessorBefore,
-			Lifeline predecessorAfter) {
-		reorderService.reorderLifeline(movedLifeline, predecessorBefore, predecessorAfter);
-	}
-
-
-	/**
-	 * Reorder fragment.
-	 *
-	 * @param fragment
-	 *            Fragment
-	 * @param startingEndPredecessorAfter
-	 *            Starting end predecessor after reorder
-	 * @param finishingEndPredecessorAfter
-	 *            Finishing end predecessor after reorder
-	 */
-	public void reorderFragment(Element fragment, EventEnd startingEndPredecessorAfter,
-			EventEnd finishingEndPredecessorAfter) {
-		reorderService.reorderFragment(fragment, startingEndPredecessorAfter, finishingEndPredecessorAfter);
-	}
-
-
-	/**
-	 * Reconnect.
-	 *
-	 * @param context            the context
-	 * @param edgeView            the edge view
-	 * @param source the source
-	 * @param view            the view
-	 */
-	public void connectToEvent(EObject context, EObject edgeView, EObject source, EObject view) {
-		View gmfView = SiriusGMFHelper.getGmfView((DNode) view);
-		reorderService.connectToEvent(context, edgeView, source, view);
-	}
-
-
-	// ----------- COMBINEDFRAGMENT MANAGEMENT
-
-	/**
-	 * Gets the enclosing fragment.
-	 *
-	 * @param fragment the fragment
-	 * @return the enclosing fragment
-	 */
-	public InteractionFragment getEnclosingFragment(EObject fragment) {
-		return fragmentsService.getEnclosingFragment(fragment);
-	}
-
-	/**
-	 * Delete combined fragment.
-	 *
-	 * @param combinedFragment
-	 *            the combined fragment
-	 */
-	public void deleteCombinedFragment(CombinedFragment combinedFragment) {
-		combinedFragmentOperandService.deleteCombinedFragment(combinedFragment);
-	}
-
-
-	/**
-	 * Creates the E annotations.
-	 *
-	 * @param context
-	 *            the context
-	 */
-	public void createEAnnotations(EObject context) {
-		combinedFragmentOperandService.createEAnnotations(context);
-	}
-
-	/**
-	 * Manage operand fragment.
-	 *
-	 * @param context
-	 *            the context
-	 * @param startingEndPredecessor
-	 *            the starting end predecessor
-	 * @param finishingEndPredecessor
-	 *            the finishing end predecessor
-	 */
-	public void manageOperandFragment(EObject context, EventEnd startingEndPredecessor, EventEnd finishingEndPredecessor) {
-		combinedFragmentOperandService.manageOperandFragment(context, startingEndPredecessor, finishingEndPredecessor);
-	}
-
-
-	// ---------- EXECUTION MANAGEMENT
-
-
-	/**
-	 * Gets the execution specifications.
-	 *
-	 * @param object
-	 *            the object
-	 * @return the execution specifications
-	 */
-	public List<ExecutionSpecification> getExecutionSpecifications(EObject object) {
-		return executionService.getExecutionSpecifications(object);
-	}
-
-
-
-
-	/**
-	 * Delete execution.
-	 *
-	 * @param execution
-	 *            Execution to delete
-	 */
-	public void deleteExecution(ExecutionSpecification execution) {
-		executionService.deleteExecution(execution);
-	}
-
-	/**
-	 * Apply execution.
-	 *
-	 * @param context
-	 *            the context
-	 * @param exe
-	 *            the exe
-	 * @param start
-	 *            the start
-	 * @param finish
-	 *            the finish
-	 */
-	public void applyExecution(EObject context, ExecutionSpecification exe, ExecutionOccurrenceSpecification start, ExecutionOccurrenceSpecification finish) {
-		executionService.applyExecution(context, exe, start, finish);
-	}
-
-
-
-	/**
-	 * Target finder expression.
-	 *
-	 * @param object
-	 *            the object
-	 * @return the list
-	 */
-	// -------------CONSTRAINT AND COMMENT SERVICE
-	public List<?> targetFinderExpression(EObject object) {
-		if (object instanceof Comment) {
-			return commentService.targeFinderExpressionForComment((Comment) object);
-		}
-		if (object instanceof Constraint) {
-			return constraintService.targeFinderExpressionForConstraint((Constraint) object);
-		}
-		return null;
-
-	}
-
-
-	/**
-	 * Gets the constraint label.
-	 *
-	 * @param object
-	 *            the object
-	 * @return the constraint label
-	 */
-	public String getConstraintLabel(EObject object) {
-		return constraintService.getConstraintLabel(object);
-	}
-
-
-	/**
-	 * Log.
-	 *
-	 * @param container
-	 *            the container
-	 * @return true, if successful
-	 */
-	public boolean log(EObject container) {
-		return true;
-	}
-
-}
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/services/TimeObservationConstraintService.java b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/services/TimeObservationConstraintService.java
deleted file mode 100755
index 107d0fc..0000000
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/services/TimeObservationConstraintService.java
+++ /dev/null
@@ -1,390 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2021 CEA LIST, Artal Technologies
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *    Aurelien Didier (ARTAL) - aurelien.didier51@gmail.com - Initial API and implementation
- *    Yann Binot (ARTAL) - yann.binot@artal.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.sirius.uml.diagram.sequence.services;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.stream.Collectors;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EAnnotation;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.papyrus.sirius.uml.diagram.common.core.services.LabelServices;
-import org.eclipse.sirius.diagram.model.business.internal.spec.DNodeSpec;
-import org.eclipse.sirius.diagram.description.style.Side;
-import org.eclipse.sirius.viewpoint.DRepresentationElement;
-import org.eclipse.uml2.uml.CombinedFragment;
-import org.eclipse.uml2.uml.Constraint;
-import org.eclipse.uml2.uml.Duration;
-import org.eclipse.uml2.uml.DurationConstraint;
-import org.eclipse.uml2.uml.DurationInterval;
-import org.eclipse.uml2.uml.DurationObservation;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.ExecutionSpecification;
-import org.eclipse.uml2.uml.Interaction;
-import org.eclipse.uml2.uml.InteractionFragment;
-import org.eclipse.uml2.uml.InteractionOperand;
-import org.eclipse.uml2.uml.LiteralInteger;
-import org.eclipse.uml2.uml.Message;
-import org.eclipse.uml2.uml.Model;
-import org.eclipse.uml2.uml.NamedElement;
-import org.eclipse.uml2.uml.OccurrenceSpecification;
-import org.eclipse.uml2.uml.PackageableElement;
-import org.eclipse.uml2.uml.TimeConstraint;
-import org.eclipse.uml2.uml.TimeObservation;
-import org.eclipse.uml2.uml.UMLFactory;
-
-/**
- * The Class TimeObservationConstraintService.
- *
- * @author Yann Binot (Artal Technologies) <yann.binot@artal.fr>
- */
-public class TimeObservationConstraintService {
-
-	/** The service. */
-	static private TimeObservationConstraintService service = null;
-
-
-	/**
-	 * Instantiates a new fragments service.
-	 */
-	private TimeObservationConstraintService() {
-
-	}
-
-	/**
-	 * Gets the single instance of FragmentsService.
-	 *
-	 * @return single instance of FragmentsService
-	 */
-	static public TimeObservationConstraintService getInstance() {
-		if (service == null) {
-			service = new TimeObservationConstraintService();
-		}
-		return service;
-	}
-
-
-
-
-	/**
-	 * Gets the time constraint.
-	 *
-	 * @param context
-	 *            the context
-	 * @return the time constraint
-	 */
-	public List<TimeConstraint> getTimeConstraint(EObject context) {
-		List<TimeConstraint> results= getTimeConstraints(context);
-		results = results.stream().filter(con -> con.getConstrainedElements().contains(context)).collect(Collectors.toList());
-		return results;
-	}
-
-	/**
-	 * Gets the time constraint.
-	 *
-	 * @param context the context
-	 * @return the time constraint
-	 */
-	public List<TimeObservation> getTimeObservation(EObject context) {
-		List<TimeObservation> results= getTimeObservations(context);
-		results = results.stream().filter(con -> context.equals(con.getEvent())).collect(Collectors.toList());
-		return results;
-	}
-
-	/**
-	 * Gets the side.
-	 *
-	 * @param context
-	 *            the context
-	 * @return the side
-	 */
-	public List<Side> getSide(EObject context) {
-		List<Side> results = new ArrayList<>();
-		results.add(Side.EAST);
-		results.add(Side.WEST);
-		if (context instanceof TimeConstraint) {
-			EList<Element> constrainedElements = ((TimeConstraint) context).getConstrainedElements();
-			for (Element element : constrainedElements) {
-				if (element instanceof OccurrenceSpecification) {
-					if (!ReorderService.getInstance().isStartOfExecution(element, FragmentsService.getInstance().getEnclosingFragments(element))) {
-						results.add(Side.NORTH);
-						return results;
-					} else {
-						results.add(Side.SOUTH);
-						return results;
-					}
-				}
-			}
-		}
-		if (context instanceof TimeObservation) {
-			NamedElement event = ((TimeObservation) context).getEvent();
-			if (!ReorderService.getInstance().isStartOfExecution(event, FragmentsService.getInstance().getEnclosingFragments(event))) {
-				results.add(Side.NORTH);
-				return results;
-			} else {
-				results.add(Side.SOUTH);
-				return results;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Creates the duration observation.
-	 *
-	 * @param context
-	 *            the context
-	 * @param sourceVariable
-	 *            the source variable
-	 * @param targetVariable
-	 *            the target variable
-	 * @return the duration observation
-	 */
-	public DurationObservation createDurationObservation(EObject context, EObject sourceVariable, EObject targetVariable) {
-		EObject target = context;
-		InteractionFragment interaction = null;
-		if (context instanceof DRepresentationElement) {
-			target = ((DRepresentationElement) context).getTarget();
-		}
-		if (target instanceof ExecutionSpecification 
-				|| target instanceof EAnnotation
-				|| target instanceof OccurrenceSpecification 
-				|| target instanceof Message) {
-			interaction = FragmentsService.getInstance().getEnclosingFragment(target);
-		}
-		if (interaction != null) {
-			DurationObservation durationObservation = UMLFactory.eINSTANCE.createDurationObservation();
-			interaction.getModel().getPackagedElements().add(durationObservation);
-			durationObservation.setName(computeDefaultName(durationObservation));
-
-			if (sourceVariable instanceof ExecutionSpecification) {
-				durationObservation.getEvents().add(((ExecutionSpecification) sourceVariable).getFinish());
-			} else if (sourceVariable instanceof OccurrenceSpecification) {
-				durationObservation.getEvents().add((NamedElement) sourceVariable);
-			} else if (sourceVariable instanceof Message) {
-				durationObservation.getEvents().add((((Message) sourceVariable)).getSendEvent());
-			}
-			if (targetVariable instanceof ExecutionSpecification) {
-				durationObservation.getEvents().add(((ExecutionSpecification) targetVariable).getStart());
-			} else if (targetVariable instanceof OccurrenceSpecification) {
-				durationObservation.getEvents().add((NamedElement) targetVariable);
-			} else if (targetVariable instanceof Message) {
-				durationObservation.getEvents().add((((Message) targetVariable)).getSendEvent());
-			}
-
-			return durationObservation;
-		}
-		return null;
-	}
-
-	/**
-	 * Creates the duration constraint.
-	 *
-	 * @param context
-	 *            the context
-	 * @param sourceVariable
-	 *            the source variable
-	 * @param targetVariable
-	 *            the target variable
-	 * @return the duration constraint
-	 */
-	public DurationConstraint createDurationConstraint(EObject context, EObject sourceVariable,
-			EObject targetVariable) {
-		EObject target = context;
-		if (context instanceof DRepresentationElement) {
-			target = ((DRepresentationElement) context).getTarget();
-		}
-		InteractionFragment interaction = null;
-		if (target instanceof ExecutionSpecification || target instanceof EAnnotation
-				|| target instanceof OccurrenceSpecification || target instanceof Message) {
-			interaction = FragmentsService.getInstance().getEnclosingFragment(target);
-		}
-		DurationConstraint durationConstraint = UMLFactory.eINSTANCE.createDurationConstraint();
-		getRules(interaction).add(durationConstraint);
-		durationConstraint.setName(computeDefaultName(durationConstraint));
-		DurationInterval durationInterval = UMLFactory.eINSTANCE.createDurationInterval();
-		durationConstraint.setSpecification(durationInterval);
-		durationInterval.setName(computeDefaultName(durationInterval));
-		Duration min = UMLFactory.eINSTANCE.createDuration();
-		interaction.getModel().getPackagedElements().add(min);
-		durationInterval.setMin(min);
-		min.setName(computeDefaultName(min));
-		LiteralInteger minInteger = UMLFactory.eINSTANCE.createLiteralInteger();
-		min.setExpr(minInteger);
-		Duration max = UMLFactory.eINSTANCE.createDuration();
-		interaction.getModel().getPackagedElements().add(max);
-		durationInterval.setMax(max);
-		max.setName(computeDefaultName(max));
-		LiteralInteger maxInteger = UMLFactory.eINSTANCE.createLiteralInteger();
-		max.setExpr(maxInteger);
-		if (sourceVariable instanceof EAnnotation || sourceVariable instanceof OccurrenceSpecification) {
-			durationConstraint.getConstrainedElements().add((Element) sourceVariable);
-		}
-		if (sourceVariable instanceof ExecutionSpecification) {
-			durationConstraint.getConstrainedElements().add(((ExecutionSpecification) sourceVariable).getStart());
-		}
-		if (sourceVariable instanceof Message) {
-			durationConstraint.getConstrainedElements().add(((Message) sourceVariable).getSendEvent());
-		}
-		if (targetVariable instanceof EAnnotation || targetVariable instanceof OccurrenceSpecification) {
-			durationConstraint.getConstrainedElements().add((Element) targetVariable);
-		}
-		if (targetVariable instanceof ExecutionSpecification) {
-			durationConstraint.getConstrainedElements().add(((ExecutionSpecification) targetVariable).getFinish());
-		}
-		if (targetVariable instanceof Message) {
-			durationConstraint.getConstrainedElements().add(((Message) targetVariable).getSendEvent());
-		}
-		return durationConstraint;
-	}
-
-	/**
-	 * Gets the all duration observation.
-	 *
-	 * @param context
-	 *            the context
-	 * @return the all duration observation
-	 */
-	public List<DurationObservation> getAllDurationObservation(EObject context) {
-		List<DurationObservation> results = new ArrayList<>();
-		if (context instanceof Interaction) {
-			List<DurationObservation> collect = ((Interaction) context).getModel().getPackagedElements().stream()
-					.filter(e -> e instanceof DurationObservation)
-					.map(e -> (DurationObservation) e)
-					.collect(Collectors.toList());
-			results.addAll(collect);
-			EList<InteractionFragment> fragments = ((Interaction) context).getFragments();
-			for (InteractionFragment interactionFragment : fragments) {
-				if (interactionFragment instanceof CombinedFragment) {
-					results.addAll(getAllDurationObservation(interactionFragment));
-				}
-			}
-		}
-		return results;
-	}
-
-
-	/**
-	 * Gets the time constraints.
-	 *
-	 * @param context
-	 *            the context
-	 * @return the time constraints
-	 */
-	public List<TimeConstraint> getTimeConstraints(EObject context) {
-		List<TimeConstraint> results = new ArrayList<>();
-		if (!(context instanceof Interaction) && context instanceof InteractionFragment) {
-			context = FragmentsService.getInstance().getParentInteraction((InteractionFragment) context);
-		}
-		if (context instanceof Interaction) {
-			EList<Constraint> ownedRules = ((Interaction) context).getOwnedRules();
-			for (Constraint constraint : ownedRules) {
-				if (constraint instanceof TimeConstraint) {
-					results.add((TimeConstraint) constraint);
-				}
-			}
-		}
-		return results;
-	}
-
-
-	/**
-	 * Gets the time observations.
-	 *
-	 * @param context
-	 *            the context
-	 * @return the time observations
-	 */
-	public List<TimeObservation> getTimeObservations(EObject context) {
-		List<TimeObservation> results = new ArrayList<>();
-		if (context instanceof Element) {
-			Model model = ((Element) context).getModel();
-			EList<PackageableElement> packagedElements = model.getPackagedElements();
-			for (PackageableElement packageableElement : packagedElements) {
-				if (packageableElement instanceof TimeObservation) {
-					results.add((TimeObservation) packageableElement);
-				}
-			}
-		}
-		return results;
-	}
-
-	/**
-	 * Gets the rules.
-	 *
-	 * @param interaction the interaction
-	 * @return the rules
-	 */
-
-	public EObject getEventOrSelf(EObject obj) {
-		if (obj instanceof OccurrenceSpecification) {
-			return obj;
-		}
-		if (obj instanceof ExecutionSpecification) {
-			return ((ExecutionSpecification) obj).getStart();
-		}
-		if (obj instanceof Message) {
-			return ((Message) obj).getSendEvent();
-		}
-		return null;
-	}
-
-	public void deleteTimeObservation(EObject context) {
-		List<TimeObservation> tos = getTimeObservation(context);
-		for (TimeObservation to : tos) {
-			to.destroy();
-		}
-	}
-
-	public void deleteTimeConstraint(EObject context) {
-		List<TimeConstraint> tcs = getTimeConstraint(context);
-		for (TimeConstraint tc : tcs) {
-			tc.destroy();
-		}
-	}
-
-	
-	///// private methode
-	/**
-	 * Gets the rules.
-	 *
-	 * @param interaction
-	 *            the interaction
-	 * @return the rules
-	 */
-	private List<Constraint> getRules(InteractionFragment interaction) {
-		if (interaction instanceof InteractionOperand) {
-			return FragmentsService.getInstance().getParentInteraction(interaction).getOwnedRules();
-		}
-		if (interaction instanceof Interaction) {
-			return ((Interaction) interaction).getOwnedRules();
-		}
-		return null;
-	}
-
-	/**
-	 * Compute default name.
-	 *
-	 * @param element
-	 *            New element
-	 * @return Name for the new element, he name will looks like
-	 *         'ElementType'+total of existing elements of the same type.
-	 */
-	private String computeDefaultName(final EObject element) {
-		return LabelServices.INSTANCE.computeDefaultName(element);
-	}
-
-}
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/utils/ReorderSequenceRegistry.java b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/utils/ReorderSequenceRegistry.java
deleted file mode 100755
index e96a0f7..0000000
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.sequence/src/org/eclipse/papyrus/sirius/uml/diagram/sequence/utils/ReorderSequenceRegistry.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2021 CEA LIST, Artal Technologies
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *    Aurelien Didier (ARTAL) - aurelien.didier51@gmail.com - Initial API and implementation
- *    Yann Binot (ARTAL) - yann.binot@artal.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.sirius.uml.diagram.sequence.utils;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * The Class ReorderSequenceRegistry.
- *
- * @author Yann Binot (Artal Technologies) <yann.binot@artal.fr>
- */
-/**
- * The Class ReorderSequenceRegistry.
- */
-public class ReorderSequenceRegistry {
-
-	/** The instance. */
-	static private ReorderSequenceRegistry instance;
-
-	/**
-	 * Instantiates a new reorder sequence registry.
-	 */
-	private ReorderSequenceRegistry() {
-
-	}
-
-	/**
-	 * Gets the single instance of ReorderSequenceRegistry.
-	 *
-	 * @return single instance of ReorderSequenceRegistry
-	 */
-	static public ReorderSequenceRegistry getInstance() {
-		if (instance == null) {
-			instance = new ReorderSequenceRegistry();
-		}
-		return instance;
-	}
-
-
-	/** The registry. */
-	static Map<EObject, EObject> registry = new HashMap<>();
-
-
-
-
-	/**
-	 * Clear.
-	 */
-	public void clear() {
-		registry.clear();
-	}
-
-	/**
-	 * Put.
-	 *
-	 * @param key
-	 *            the key
-	 * @param value
-	 *            the value
-	 */
-	public void put(EObject key, EObject value) {
-		registry.put(key, value);
-	}
-
-	/**
-	 * Removes the.
-	 *
-	 * @param key
-	 *            the key
-	 */
-	public void remove(EObject key) {
-		registry.remove(key);
-	}
-
-
-	/**
-	 * Contains.
-	 *
-	 * @param value
-	 *            the value
-	 * @return true, if successful
-	 */
-	public boolean containsKey(EObject value) {
-		return registry.containsKey(value);
-	}
-
-	/**
-	 * Contains.
-	 *
-	 * @param value
-	 *            the value
-	 * @return true, if successful
-	 */
-	public boolean containsValue(EObject value) {
-		return registry.containsValue(value);
-	}
-
-	/**
-	 * Gets the.
-	 *
-	 * @param key
-	 *            the key
-	 * @return the e object
-	 */
-	public EObject get(EObject key) {
-		return registry.get(key);
-	}
-
-
-}
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.textedit/META-INF/MANIFEST.MF b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.textedit/META-INF/MANIFEST.MF
index 08e66e3..29ee8d9 100755
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.textedit/META-INF/MANIFEST.MF
+++ b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.textedit/META-INF/MANIFEST.MF
@@ -17,8 +17,6 @@
  org.eclipse.papyrus.uml.xtext.integration.ui;bundle-version="[3.1.0,4.0.0)",
  org.eclipse.sirius.common.acceleo.aql;bundle-version="[7.0.7,8.0.0)",
  org.eclipse.sirius.common.xtext;bundle-version="[7.0.7,8.0.0)",
- org.eclipse.sirius.diagram.sequence.ui;bundle-version="[7.0.7,8.0.0)",
- org.eclipse.sirius.diagram.sequence;bundle-version="[7.0.7,8.0.0)",
  org.eclipse.sirius.diagram.ui;bundle-version="[7.0.7,8.0.0)",
  org.eclipse.sirius.diagram;bundle-version="[7.0.7,8.0.0)",
  org.eclipse.sirius.ext.base;bundle-version="[7.0.7,8.0.0)",
diff --git a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.textedit/src/org/eclipse/papyrus/sirius/uml/diagram/textedit/XtextSiriusEditPartFactory.java b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.textedit/src/org/eclipse/papyrus/sirius/uml/diagram/textedit/XtextSiriusEditPartFactory.java
index 2d69660..ddbaf7a 100755
--- a/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.textedit/src/org/eclipse/papyrus/sirius/uml/diagram/textedit/XtextSiriusEditPartFactory.java
+++ b/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.textedit/src/org/eclipse/papyrus/sirius/uml/diagram/textedit/XtextSiriusEditPartFactory.java
@@ -13,10 +13,7 @@
  *****************************************************************************/
 package org.eclipse.papyrus.sirius.uml.diagram.textedit;
 
-import org.eclipse.emf.ecore.EObject;
 import org.eclipse.gef.EditPart;
-import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
-import org.eclipse.gmf.runtime.notation.Node;
 import org.eclipse.gmf.runtime.notation.View;
 import org.eclipse.papyrus.sirius.uml.diagram.textedit.editpart.XtextDEdgeNameEditPart;
 import org.eclipse.papyrus.sirius.uml.diagram.textedit.editpart.XtextSiriusDNode3EditPart;
@@ -24,35 +21,6 @@
 import org.eclipse.papyrus.sirius.uml.diagram.textedit.editpart.XtextSiriusDNodeContainerNameEditPart;
 import org.eclipse.papyrus.sirius.uml.diagram.textedit.editpart.XtextSiriusDNodeListElementEditPart;
 import org.eclipse.papyrus.sirius.uml.diagram.textedit.editpart.XtextSiriusDNodeNameEditPart;
-import org.eclipse.sirius.diagram.DEdge;
-import org.eclipse.sirius.diagram.DiagramPackage;
-import org.eclipse.sirius.diagram.sequence.business.internal.elements.CombinedFragment;
-import org.eclipse.sirius.diagram.sequence.business.internal.elements.EndOfLife;
-import org.eclipse.sirius.diagram.sequence.business.internal.elements.Execution;
-import org.eclipse.sirius.diagram.sequence.business.internal.elements.InstanceRole;
-import org.eclipse.sirius.diagram.sequence.business.internal.elements.InteractionUse;
-import org.eclipse.sirius.diagram.sequence.business.internal.elements.Lifeline;
-import org.eclipse.sirius.diagram.sequence.business.internal.elements.LostMessageEnd;
-import org.eclipse.sirius.diagram.sequence.business.internal.elements.Message;
-import org.eclipse.sirius.diagram.sequence.business.internal.elements.ObservationPoint;
-import org.eclipse.sirius.diagram.sequence.business.internal.elements.Operand;
-import org.eclipse.sirius.diagram.sequence.business.internal.elements.State;
-import org.eclipse.sirius.diagram.sequence.model.business.internal.SequenceDDiagramSpec;
-import org.eclipse.sirius.diagram.sequence.ui.tool.internal.edit.part.CombinedFragmentCompartmentEditPart;
-import org.eclipse.sirius.diagram.sequence.ui.tool.internal.edit.part.CombinedFragmentEditPart;
-import org.eclipse.sirius.diagram.sequence.ui.tool.internal.edit.part.EndOfLifeEditPart;
-import org.eclipse.sirius.diagram.sequence.ui.tool.internal.edit.part.ExecutionEditPart;
-import org.eclipse.sirius.diagram.sequence.ui.tool.internal.edit.part.InstanceRoleEditPart;
-import org.eclipse.sirius.diagram.sequence.ui.tool.internal.edit.part.InteractionUseEditPart;
-import org.eclipse.sirius.diagram.sequence.ui.tool.internal.edit.part.LifelineEditPart;
-import org.eclipse.sirius.diagram.sequence.ui.tool.internal.edit.part.LostMessageEndEditPart;
-import org.eclipse.sirius.diagram.sequence.ui.tool.internal.edit.part.ObservationPointEditPart;
-import org.eclipse.sirius.diagram.sequence.ui.tool.internal.edit.part.OperandCompartmentEditPart;
-import org.eclipse.sirius.diagram.sequence.ui.tool.internal.edit.part.OperandEditPart;
-import org.eclipse.sirius.diagram.sequence.ui.tool.internal.edit.part.SequenceDiagramEditPart;
-import org.eclipse.sirius.diagram.sequence.ui.tool.internal.edit.part.SequenceMessageNameEditPart;
-import org.eclipse.sirius.diagram.sequence.ui.tool.internal.edit.part.StateEditPart;
-import org.eclipse.sirius.diagram.ui.internal.edit.parts.DDiagramEditPart;
 import org.eclipse.sirius.diagram.ui.internal.edit.parts.DEdgeNameEditPart;
 import org.eclipse.sirius.diagram.ui.internal.edit.parts.DNode3EditPart;
 import org.eclipse.sirius.diagram.ui.internal.edit.parts.DNodeContainerName2EditPart;
@@ -86,50 +54,6 @@
 		if (model instanceof View) {
 			final View view = (View) model;
 
-			//For sequence diagram edit part
-			if (SiriusVisualIDRegistry.getVisualID(view)==(DDiagramEditPart.VISUAL_ID)
-					&& view.getElement() instanceof SequenceDDiagramSpec){
-				return new SequenceDiagramEditPart(view);
-			}
-	        if (view instanceof Node) {
-	            EObject semanticElement = ViewUtil.resolveSemanticElement(view);
-	            if (DiagramPackage.eINSTANCE.getDNode().isInstance(semanticElement)) {
-	                if (InstanceRole.notationPredicate().apply(view)) {
-	                    return new InstanceRoleEditPart(view);
-	                } else if (Lifeline.notationPredicate().apply(view)) {
-	                    return new LifelineEditPart(view);
-	                } else if (Execution.notationPredicate().apply(view)) {
-	                    return new ExecutionEditPart (view);
-	                } else if (State.notationPredicate().apply(view)) {
-	                    return new StateEditPart(view);
-	                } else if (EndOfLife.notationPredicate().apply(view)) {
-	                    return new EndOfLifeEditPart(view);
-	                } else if (LostMessageEnd.notationPredicate().apply(view)) {
-	                    return new LostMessageEndEditPart(view);
-	                } else if (ObservationPoint.notationPredicate().apply(view)) {
-	                    return new ObservationPointEditPart(view);
-	                }
-	            } else if (DiagramPackage.eINSTANCE.getDNodeContainer().isInstance(semanticElement)) {
-	                if (InteractionUse.notationPredicate().apply(view)) {
-	                    return new InteractionUseEditPart(view);
-	                } else if (CombinedFragment.notationPredicate().apply(view)) {
-	                    return new CombinedFragmentEditPart(view);
-	                } else if (CombinedFragment.compartmentNotationPredicate().apply(view)) {
-	                    return new CombinedFragmentCompartmentEditPart(view);
-	                } else if (Operand.notationPredicate().apply(view)) {
-	                    return new OperandEditPart(view);
-	                } else if (Operand.compartmentNotationPredicate().apply(view)) {
-	                    return new OperandCompartmentEditPart(view);
-	                }
-	            } else if (DiagramPackage.eINSTANCE.getDEdge().isInstance(semanticElement)) {
-	                DEdge edge = (DEdge) semanticElement;
-	                if (Message.viewpointElementPredicate().apply(edge) && SiriusVisualIDRegistry.getVisualID(view) == SequenceMessageNameEditPart.VISUAL_ID) {
-	                    return new SequenceMessageNameEditPart(view);
-	                }
-	            }
-	        }
-
-
 	        //For other edit part
 			switch (SiriusVisualIDRegistry.getVisualID(view)) {
 			case NotationViewIDs.DNODE_NAME_EDIT_PART_VISUAL_ID:
diff --git a/plugins/uml/pom.xml b/plugins/uml/pom.xml
index 507c33d..85e6d7a 100755
--- a/plugins/uml/pom.xml
+++ b/plugins/uml/pom.xml
@@ -30,7 +30,6 @@
 		<module>org.eclipse.papyrus.sirius.uml.diagram.deployment</module>
 		<module>org.eclipse.papyrus.sirius.uml.diagram.pkg</module>
 		<module>org.eclipse.papyrus.sirius.uml.diagram.profile</module>
-		<module>org.eclipse.papyrus.sirius.uml.diagram.sequence</module>
 		<module>org.eclipse.papyrus.sirius.uml.diagram.statemachine</module>
 		<module>org.eclipse.papyrus.sirius.uml.diagram.textedit</module>
 		<module>org.eclipse.papyrus.sirius.uml.diagram.usecase</module>
diff --git a/tests/junit/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.activity.tests/resources/createDiagram/createDiagram.aird b/tests/junit/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.activity.tests/resources/createDiagram/createDiagram.aird
index 46a36a1..863f687 100644
--- a/tests/junit/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.activity.tests/resources/createDiagram/createDiagram.aird
+++ b/tests/junit/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.activity.tests/resources/createDiagram/createDiagram.aird
@@ -16,9 +16,6 @@
   <ownedViews xmi:type="viewpoint:DView" uid="_5WtlAL6CEe2za8APilvktQ">
     <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.papyrus.sirius.uml.diagram.statemachine/description/papyrus_statemachine.odesign#//@ownedViewpoints[name='StateMachineDiagram']"/>
   </ownedViews>
-  <ownedViews xmi:type="viewpoint:DView" uid="_5W5yQL6CEe2za8APilvktQ">
-    <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.papyrus.sirius.uml.diagram.sequence/description/papyrus_sequence.odesign#//@ownedViewpoints[name='SequenceDiagram']"/>
-  </ownedViews>
   <ownedViews xmi:type="viewpoint:DView" uid="_5XJC0L6CEe2za8APilvktQ">
     <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.papyrus.sirius.uml.diagram.clazz/description/papyrus_class.odesign#//@ownedViewpoints[name='ClassDiagram']"/>
   </ownedViews>
diff --git a/tests/junit/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.activity.tests/resources/creation/edges/Edge_CreationTest.aird b/tests/junit/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.activity.tests/resources/creation/edges/Edge_CreationTest.aird
index 275f814..8d2d789 100644
--- a/tests/junit/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.activity.tests/resources/creation/edges/Edge_CreationTest.aird
+++ b/tests/junit/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.activity.tests/resources/creation/edges/Edge_CreationTest.aird
@@ -8,9 +8,6 @@
     <semanticResources>pathmap://UML_PROFILES/Standard.profile.uml</semanticResources>
     <semanticResources>pathmap://UML_METAMODELS/UML.metamodel.uml</semanticResources>
     <semanticResources>pathmap://UML_METAMODELS/Ecore.metamodel.uml</semanticResources>
-    <ownedViews xmi:type="viewpoint:DView" uid="_EY-esAOGEe6R-OFHh-SMMw">
-      <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.papyrus.sirius.uml.diagram.sequence/description/papyrus_sequence.odesign#//@ownedViewpoints[name='SequenceDiagram']"/>
-    </ownedViews>
     <ownedViews xmi:type="viewpoint:DView" uid="_EZlisAOGEe6R-OFHh-SMMw">
       <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.papyrus.sirius.uml.diagram.compositestructure/description/papyrus_compositestructure.odesign#//@ownedViewpoints[name='CompositeStructureDiagram']"/>
     </ownedViews>
diff --git a/tests/junit/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.activity.tests/resources/creation/nodes/subNodes.aird b/tests/junit/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.activity.tests/resources/creation/nodes/subNodes.aird
index 5520b7c..8d2000e 100644
--- a/tests/junit/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.activity.tests/resources/creation/nodes/subNodes.aird
+++ b/tests/junit/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.activity.tests/resources/creation/nodes/subNodes.aird
@@ -19,9 +19,6 @@
         <target xmi:type="uml:Activity" href="subNodes.uml#_Pqb4MACOEe6Ah8UG4XZNPw"/>
       </ownedRepresentationDescriptors>
     </ownedViews>
-    <ownedViews xmi:type="viewpoint:DView" uid="_EpyOMACOEe6Ah8UG4XZNPw">
-      <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.papyrus.sirius.uml.diagram.sequence/description/papyrus_sequence.odesign#//@ownedViewpoints[name='SequenceDiagram']"/>
-    </ownedViews>
     <ownedViews xmi:type="viewpoint:DView" uid="_Ep7YIACOEe6Ah8UG4XZNPw">
       <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.papyrus.sirius.uml.diagram.communication/description/papyrus_communication.odesign#//@ownedViewpoints[name='CommunicationDiagram']"/>
     </ownedViews>
diff --git a/tests/junit/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.activity.tests/resources/deletion/nodes/nodeDeleteSemanticTest.aird b/tests/junit/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.activity.tests/resources/deletion/nodes/nodeDeleteSemanticTest.aird
index ebb71c1..19ab9f1 100644
--- a/tests/junit/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.activity.tests/resources/deletion/nodes/nodeDeleteSemanticTest.aird
+++ b/tests/junit/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.activity.tests/resources/deletion/nodes/nodeDeleteSemanticTest.aird
@@ -30,9 +30,6 @@
     <ownedViews xmi:type="viewpoint:DView" uid="_9jt0gPvZEe2AGdhWhn2cGg">
       <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.papyrus.sirius.uml.diagram.communication/description/papyrus_communication.odesign#//@ownedViewpoints[name='CommunicationDiagram']"/>
     </ownedViews>
-    <ownedViews xmi:type="viewpoint:DView" uid="_9j1JQPvZEe2AGdhWhn2cGg">
-      <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.papyrus.sirius.uml.diagram.sequence/description/papyrus_sequence.odesign#//@ownedViewpoints[name='SequenceDiagram']"/>
-    </ownedViews>
   </viewpoint:DAnalysis>
   <diagram:DSemanticDiagram uid="_yN4w0AEgEe61Q5FJhq_skA" synchronized="false">
     <eAnnotations xmi:type="description:DAnnotation" uid="_yQhOEAEgEe61Q5FJhq_skA" source="Papyrus-SiriusDiagram">
diff --git a/tests/junit/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.activity.tests/resources/drop/graphical/graphicalDrop.aird b/tests/junit/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.activity.tests/resources/drop/graphical/graphicalDrop.aird
index b228029..634e145 100644
--- a/tests/junit/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.activity.tests/resources/drop/graphical/graphicalDrop.aird
+++ b/tests/junit/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.activity.tests/resources/drop/graphical/graphicalDrop.aird
@@ -30,9 +30,6 @@
     <ownedViews xmi:type="viewpoint:DView" uid="_9jt0gPvZEe2AGdhWhn2cGg">
       <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.papyrus.sirius.uml.diagram.communication/description/papyrus_communication.odesign#//@ownedViewpoints[name='CommunicationDiagram']"/>
     </ownedViews>
-    <ownedViews xmi:type="viewpoint:DView" uid="_9j1JQPvZEe2AGdhWhn2cGg">
-      <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.papyrus.sirius.uml.diagram.sequence/description/papyrus_sequence.odesign#//@ownedViewpoints[name='SequenceDiagram']"/>
-    </ownedViews>
   </viewpoint:DAnalysis>
   <diagram:DSemanticDiagram uid="_UysckPvaEe2X1anYdYe0-g" synchronized="false">
     <eAnnotations xmi:type="description:DAnnotation" uid="_U17WwPvaEe2X1anYdYe0-g" source="Papyrus-SiriusDiagram">
diff --git a/tests/junit/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.activity.tests/resources/drop/subNodes/subNodeSemanticDrop.aird b/tests/junit/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.activity.tests/resources/drop/subNodes/subNodeSemanticDrop.aird
index c738939..582eaa1 100644
--- a/tests/junit/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.activity.tests/resources/drop/subNodes/subNodeSemanticDrop.aird
+++ b/tests/junit/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.activity.tests/resources/drop/subNodes/subNodeSemanticDrop.aird
@@ -31,9 +31,6 @@
         <target xmi:type="uml:Activity" href="subNodeSemanticDrop.uml#_25CpEPlkEe2Qc8FDEAEo9g"/>
       </ownedRepresentationDescriptors>
     </ownedViews>
-    <ownedViews xmi:type="viewpoint:DView" uid="_OVsIgPsMEe2IlKSOG9k8kQ">
-      <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.papyrus.sirius.uml.diagram.sequence/description/papyrus_sequence.odesign#//@ownedViewpoints[name='SequenceDiagram']"/>
-    </ownedViews>
     <ownedViews xmi:type="viewpoint:DView" uid="_OV_DcPsMEe2IlKSOG9k8kQ">
       <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.papyrus.sirius.uml.diagram.compositestructure/description/papyrus_compositestructure.odesign#//@ownedViewpoints[name='CompositeStructureDiagram']"/>
     </ownedViews>
diff --git a/tests/junit/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.activity.tests/resources/reconnection/Edge_ReconnectionTest.aird b/tests/junit/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.activity.tests/resources/reconnection/Edge_ReconnectionTest.aird
index d4627be..5cf8ac2 100644
--- a/tests/junit/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.activity.tests/resources/reconnection/Edge_ReconnectionTest.aird
+++ b/tests/junit/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.activity.tests/resources/reconnection/Edge_ReconnectionTest.aird
@@ -24,9 +24,6 @@
     <ownedViews xmi:type="viewpoint:DView" uid="_BWUXcP7PEe25uY4qQKnlvA">
       <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.papyrus.sirius.uml.diagram.usecase/description/papyrus_usecase.odesign#//@ownedViewpoints[name='UseCaseDiagram']"/>
     </ownedViews>
-    <ownedViews xmi:type="viewpoint:DView" uid="_BWeIcP7PEe25uY4qQKnlvA">
-      <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.papyrus.sirius.uml.diagram.sequence/description/papyrus_sequence.odesign#//@ownedViewpoints[name='SequenceDiagram']"/>
-    </ownedViews>
     <ownedViews xmi:type="viewpoint:DView" uid="_BWldMP7PEe25uY4qQKnlvA">
       <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.papyrus.sirius.uml.diagram.communication/description/papyrus_communication.odesign#//@ownedViewpoints[name='CommunicationDiagram']"/>
     </ownedViews>
diff --git a/tests/junit/plugins/uml/org.eclipse.papyrus.sirius.uml.diagram.clazz.tests/resources/creation/edges/common/Edge_CreationTest.aird