Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'extraplugins/design')
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/.classpath7
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/.project28
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/META-INF/MANIFEST.MF17
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/build.properties14
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/icons/full/obj16/Layer.gifbin0 -> 129 bytes
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/icons/full/obj16/LayerDependency.gifbin0 -> 129 bytes
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/icons/full/obj16/Plugin.gifbin0 -> 129 bytes
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/icons/full/obj16/PluginDependency.gifbin0 -> 129 bytes
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/plugin.properties50
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/plugin.xml25
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/src/org/eclipse/papyrus/design/profile/architecture/provider/ArchitectureEditPlugin.java97
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/src/org/eclipse/papyrus/design/profile/architecture/provider/ArchitectureItemProviderAdapterFactory.java275
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/src/org/eclipse/papyrus/design/profile/architecture/provider/ElementItemProvider.java174
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/src/org/eclipse/papyrus/design/profile/architecture/provider/LayerDependencyItemProvider.java194
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/src/org/eclipse/papyrus/design/profile/architecture/provider/LayerItemProvider.java266
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/src/org/eclipse/papyrus/design/profile/architecture/provider/PluginDependencyItemProvider.java194
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/src/org/eclipse/papyrus/design/profile/architecture/provider/PluginItemProvider.java290
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/.classpath7
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/.project28
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/META-INF/MANIFEST.MF19
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/build.properties14
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/icons/full/obj16/ArchitectureModelFile.gifbin0 -> 346 bytes
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/icons/full/wizban/NewArchitecture.gifbin0 -> 2462 bytes
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/plugin.properties57
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/plugin.xml39
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/src/org/eclipse/papyrus/design/profile/architecture/presentation/ArchitectureActionBarContributor.java427
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/src/org/eclipse/papyrus/design/profile/architecture/presentation/ArchitectureEditor.java1820
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/src/org/eclipse/papyrus/design/profile/architecture/presentation/ArchitectureEditorPlugin.java99
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/src/org/eclipse/papyrus/design/profile/architecture/presentation/ArchitectureModelWizard.java631
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture/.classpath7
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture/.project28
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture/META-INF/MANIFEST.MF16
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture/build.properties25
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture/icons/architectureprofile.gifbin0 -> 983 bytes
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture/models/architecture.ecore105
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture/models/architecture.profile.di17
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture/models/architecture.profile.genmodel65
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture/models/architecture.profile.notation297
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture/models/architecture.profile.uml749
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture/models/architecture2.profile.uml711
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture/plugin.properties16
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture/plugin.xml44
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/ArchitectureFactory.java73
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/ArchitecturePackage.java944
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/Element.java79
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/Layer.java197
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/LayerDependency.java119
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/Plugin.java226
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/PluginDependency.java109
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/impl/ArchitectureFactoryImpl.java132
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/impl/ArchitecturePackageImpl.java497
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/impl/ElementImpl.java221
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/impl/LayerDependencyImpl.java276
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/impl/LayerImpl.java443
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/impl/PluginDependencyImpl.java283
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/impl/PluginImpl.java497
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/util/ArchitectureAdapterFactory.java196
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/util/ArchitectureSwitch.java202
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.feature/.project17
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.feature/build.properties2
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.feature/feature.xml66
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.feature/plugin.properties16
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.updatesite/.project17
-rw-r--r--extraplugins/design/org.eclipse.papyrus.design.profile.updatesite/site.xml11
64 files changed, 11475 insertions, 0 deletions
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/.classpath b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/.classpath
new file mode 100644
index 00000000000..45f024e850e
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/.project b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/.project
new file mode 100644
index 00000000000..65224fa3318
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.design.profile.architecture.edit</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ </natures>
+</projectDescription>
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/META-INF/MANIFEST.MF b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..9e655301add
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/META-INF/MANIFEST.MF
@@ -0,0 +1,17 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.design.profile.architecture.edit;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.papyrus.design.profile.architecture.provider.ArchitectureEditPlugin$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.papyrus.design.profile.architecture.provider
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.papyrus.design.profile.architecture;visibility:=reexport,
+ org.eclipse.emf.edit;visibility:=reexport,
+ org.eclipse.uml2.common.edit;visibility:=reexport,
+ org.eclipse.ocl.uml.edit;bundle-version="3.1.0"
+Bundle-ActivationPolicy: lazy
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/build.properties b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/build.properties
new file mode 100644
index 00000000000..400b20ae286
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/build.properties
@@ -0,0 +1,14 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+bin.includes = .,\
+ icons/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties
+jars.compile.order = .
+source.. = src/
+output.. = bin/
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/icons/full/obj16/Layer.gif b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/icons/full/obj16/Layer.gif
new file mode 100644
index 00000000000..45731fe28e7
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/icons/full/obj16/Layer.gif
Binary files differ
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/icons/full/obj16/LayerDependency.gif b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/icons/full/obj16/LayerDependency.gif
new file mode 100644
index 00000000000..7bac4fd3808
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/icons/full/obj16/LayerDependency.gif
Binary files differ
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/icons/full/obj16/Plugin.gif b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/icons/full/obj16/Plugin.gif
new file mode 100644
index 00000000000..b3643da048a
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/icons/full/obj16/Plugin.gif
Binary files differ
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/icons/full/obj16/PluginDependency.gif b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/icons/full/obj16/PluginDependency.gif
new file mode 100644
index 00000000000..cdd3b76e3c0
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/icons/full/obj16/PluginDependency.gif
Binary files differ
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/plugin.properties b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/plugin.properties
new file mode 100644
index 00000000000..c1118e9529f
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/plugin.properties
@@ -0,0 +1,50 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+pluginName = Architecture Edit Support
+providerName = www.example.org
+
+_UI_CreateChild_text = {0}
+_UI_CreateChild_text2 = {1} {0}
+_UI_CreateChild_text3 = {1}
+_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
+_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
+_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.
+
+_UI_PropertyDescriptor_description = The {0} of the {1}
+
+_UI_Layer_type = Layer
+_UI_Element_type = Element
+_UI_Unknown_type = Object
+
+_UI_Unknown_datatype= Value
+
+_UI_Layer_name_feature = Name
+_UI_Layer_parentFolder_feature = Parent Folder
+_UI_Element_documentation_feature = Documentation
+_UI_Element_comment_feature = Comment
+_UI_Unknown_feature = Unspecified
+
+_UI_Layer_base_Package_feature = Base Package
+_UI_LayerDependency_type = Layer Dependency
+_UI_Layer_isDeprecated_feature = Is Deprecated
+_UI_Layer_deprecatedComment_feature = Deprecated Comment
+_UI_Layer_referent_feature = Referent
+_UI_Plugin_type = Plugin
+_UI_PluginDependency_type = Plugin Dependency
+_UI_LayerDependency_isDeprecated_feature = Is Deprecated
+_UI_LayerDependency_deprecatedComment_feature = Deprecated Comment
+_UI_LayerDependency_base_Dependency_feature = Base Dependency
+_UI_Plugin_name_feature = Name
+_UI_Plugin_parentFolder_feature = Parent Folder
+_UI_Plugin_originalParentFolder_feature = Original Parent Folder
+_UI_Plugin_isDeprecated_feature = Is Deprecated
+_UI_Plugin_deprecatedComment_feature = Deprecated Comment
+_UI_Plugin_referent_feature = Referent
+_UI_Plugin_base_Package_feature = Base Package
+_UI_PluginDependency_deprecatedComment_feature = Deprecated Comment
+_UI_PluginDependency_isDeprecated_feature = Is Deprecated
+_UI_PluginDependency_base_Dependency_feature = Base Dependency
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/plugin.xml b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/plugin.xml
new file mode 100644
index 00000000000..8aafcbf4384
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/plugin.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ <copyright>
+ </copyright>
+
+ $Id$
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+ <factory
+ uri="http://www.eclipse.org/papyrus/design/architecture/1"
+ class="org.eclipse.papyrus.design.profile.architecture.provider.ArchitectureItemProviderAdapterFactory"
+ supportedTypes=
+ "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+ org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+ org.eclipse.emf.edit.provider.ITreeItemContentProvider
+ org.eclipse.emf.edit.provider.IItemLabelProvider
+ org.eclipse.emf.edit.provider.IItemPropertySource"/>
+ </extension>
+
+</plugin>
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/src/org/eclipse/papyrus/design/profile/architecture/provider/ArchitectureEditPlugin.java b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/src/org/eclipse/papyrus/design/profile/architecture/provider/ArchitectureEditPlugin.java
new file mode 100644
index 00000000000..631c0371c73
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/src/org/eclipse/papyrus/design/profile/architecture/provider/ArchitectureEditPlugin.java
@@ -0,0 +1,97 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.design.profile.architecture.provider;
+
+import org.eclipse.emf.common.EMFPlugin;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.provider.EcoreEditPlugin;
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the central singleton for the Architecture edit plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class ArchitectureEditPlugin extends EMFPlugin {
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final ArchitectureEditPlugin INSTANCE = new ArchitectureEditPlugin();
+
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static Implementation plugin;
+
+ /**
+ * Create the instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ArchitectureEditPlugin() {
+ super
+ (new ResourceLocator [] {
+ EcoreEditPlugin.INSTANCE,
+ UMLEditPlugin.INSTANCE,
+ });
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+ @Override
+ public ResourceLocator getPluginResourceLocator() {
+ return plugin;
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+ public static Implementation getPlugin() {
+ return plugin;
+ }
+
+ /**
+ * The actual implementation of the Eclipse <b>Plugin</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static class Implementation extends EclipsePlugin {
+ /**
+ * Creates an instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Implementation() {
+ super();
+
+ // Remember the static instance.
+ //
+ plugin = this;
+ }
+ }
+
+}
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/src/org/eclipse/papyrus/design/profile/architecture/provider/ArchitectureItemProviderAdapterFactory.java b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/src/org/eclipse/papyrus/design/profile/architecture/provider/ArchitectureItemProviderAdapterFactory.java
new file mode 100644
index 00000000000..3d0503ecd40
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/src/org/eclipse/papyrus/design/profile/architecture/provider/ArchitectureItemProviderAdapterFactory.java
@@ -0,0 +1,275 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.design.profile.architecture.provider;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.papyrus.design.profile.architecture.util.ArchitectureAdapterFactory;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ArchitectureItemProviderAdapterFactory extends ArchitectureAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
+ /**
+ * This keeps track of the root adapter factory that delegates to this adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ComposedAdapterFactory parentAdapterFactory;
+
+ /**
+ * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+ /**
+ * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+ /**
+ * This constructs an instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ArchitectureItemProviderAdapterFactory() {
+ supportedTypes.add(IEditingDomainItemProvider.class);
+ supportedTypes.add(IStructuredItemContentProvider.class);
+ supportedTypes.add(ITreeItemContentProvider.class);
+ supportedTypes.add(IItemLabelProvider.class);
+ supportedTypes.add(IItemPropertySource.class);
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.design.profile.architecture.Layer} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LayerItemProvider layerItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.design.profile.architecture.Layer}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createLayerAdapter() {
+ if (layerItemProvider == null) {
+ layerItemProvider = new LayerItemProvider(this);
+ }
+
+ return layerItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.design.profile.architecture.LayerDependency} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LayerDependencyItemProvider layerDependencyItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.design.profile.architecture.LayerDependency}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createLayerDependencyAdapter() {
+ if (layerDependencyItemProvider == null) {
+ layerDependencyItemProvider = new LayerDependencyItemProvider(this);
+ }
+
+ return layerDependencyItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.design.profile.architecture.Plugin} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PluginItemProvider pluginItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.design.profile.architecture.Plugin}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createPluginAdapter() {
+ if (pluginItemProvider == null) {
+ pluginItemProvider = new PluginItemProvider(this);
+ }
+
+ return pluginItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.design.profile.architecture.PluginDependency} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PluginDependencyItemProvider pluginDependencyItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.design.profile.architecture.PluginDependency}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createPluginDependencyAdapter() {
+ if (pluginDependencyItemProvider == null) {
+ pluginDependencyItemProvider = new PluginDependencyItemProvider(this);
+ }
+
+ return pluginDependencyItemProvider;
+ }
+
+ /**
+ * This returns the root adapter factory that contains this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ComposeableAdapterFactory getRootAdapterFactory() {
+ return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+ }
+
+ /**
+ * This sets the composed adapter factory that contains this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
+ this.parentAdapterFactory = parentAdapterFactory;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object type) {
+ return supportedTypes.contains(type) || super.isFactoryForType(type);
+ }
+
+ /**
+ * This implementation substitutes the factory itself as the key for the adapter.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter adapt(Notifier notifier, Object type) {
+ return super.adapt(notifier, this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object adapt(Object object, Object type) {
+ if (isFactoryForType(type)) {
+ Object adapter = super.adapt(object, type);
+ if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
+ return adapter;
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * This adds a listener.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void addListener(INotifyChangedListener notifyChangedListener) {
+ changeNotifier.addListener(notifyChangedListener);
+ }
+
+ /**
+ * This removes a listener.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void removeListener(INotifyChangedListener notifyChangedListener) {
+ changeNotifier.removeListener(notifyChangedListener);
+ }
+
+ /**
+ * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void fireNotifyChanged(Notification notification) {
+ changeNotifier.fireNotifyChanged(notification);
+
+ if (parentAdapterFactory != null) {
+ parentAdapterFactory.fireNotifyChanged(notification);
+ }
+ }
+
+ /**
+ * This disposes all of the item providers created by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void dispose() {
+ if (layerItemProvider != null) layerItemProvider.dispose();
+ if (layerDependencyItemProvider != null) layerDependencyItemProvider.dispose();
+ if (pluginItemProvider != null) pluginItemProvider.dispose();
+ if (pluginDependencyItemProvider != null) pluginDependencyItemProvider.dispose();
+ }
+
+}
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/src/org/eclipse/papyrus/design/profile/architecture/provider/ElementItemProvider.java b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/src/org/eclipse/papyrus/design/profile/architecture/provider/ElementItemProvider.java
new file mode 100644
index 00000000000..b04c9a35b2b
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/src/org/eclipse/papyrus/design/profile/architecture/provider/ElementItemProvider.java
@@ -0,0 +1,174 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.design.profile.architecture.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage;
+import org.eclipse.papyrus.design.profile.architecture.Element;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.design.profile.architecture.Element} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ElementItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ElementItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addDocumentationPropertyDescriptor(object);
+ addCommentPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Documentation feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addDocumentationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Element_documentation_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Element_documentation_feature", "_UI_Element_type"),
+ ArchitecturePackage.Literals.ELEMENT__DOCUMENTATION,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Comment feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addCommentPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Element_comment_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Element_comment_feature", "_UI_Element_type"),
+ ArchitecturePackage.Literals.ELEMENT__COMMENT,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((Element)object).getDocumentation();
+ return label == null || label.length() == 0 ?
+ getString("_UI_Element_type") :
+ getString("_UI_Element_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Element.class)) {
+ case ArchitecturePackage.ELEMENT__DOCUMENTATION:
+ case ArchitecturePackage.ELEMENT__COMMENT:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return ArchitectureEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/src/org/eclipse/papyrus/design/profile/architecture/provider/LayerDependencyItemProvider.java b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/src/org/eclipse/papyrus/design/profile/architecture/provider/LayerDependencyItemProvider.java
new file mode 100644
index 00000000000..1153508b64b
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/src/org/eclipse/papyrus/design/profile/architecture/provider/LayerDependencyItemProvider.java
@@ -0,0 +1,194 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.design.profile.architecture.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage;
+import org.eclipse.papyrus.design.profile.architecture.LayerDependency;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.design.profile.architecture.LayerDependency} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class LayerDependencyItemProvider
+ extends ElementItemProvider
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LayerDependencyItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIsDeprecatedPropertyDescriptor(object);
+ addDeprecatedCommentPropertyDescriptor(object);
+ addBase_DependencyPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Is Deprecated feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsDeprecatedPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_LayerDependency_isDeprecated_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_LayerDependency_isDeprecated_feature", "_UI_LayerDependency_type"),
+ ArchitecturePackage.Literals.LAYER_DEPENDENCY__IS_DEPRECATED,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Deprecated Comment feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addDeprecatedCommentPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_LayerDependency_deprecatedComment_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_LayerDependency_deprecatedComment_feature", "_UI_LayerDependency_type"),
+ ArchitecturePackage.Literals.LAYER_DEPENDENCY__DEPRECATED_COMMENT,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Base Dependency feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_DependencyPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_LayerDependency_base_Dependency_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_LayerDependency_base_Dependency_feature", "_UI_LayerDependency_type"),
+ ArchitecturePackage.Literals.LAYER_DEPENDENCY__BASE_DEPENDENCY,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns LayerDependency.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/LayerDependency"));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((LayerDependency)object).getDocumentation();
+ return label == null || label.length() == 0 ?
+ getString("_UI_LayerDependency_type") :
+ getString("_UI_LayerDependency_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(LayerDependency.class)) {
+ case ArchitecturePackage.LAYER_DEPENDENCY__IS_DEPRECATED:
+ case ArchitecturePackage.LAYER_DEPENDENCY__DEPRECATED_COMMENT:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+}
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/src/org/eclipse/papyrus/design/profile/architecture/provider/LayerItemProvider.java b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/src/org/eclipse/papyrus/design/profile/architecture/provider/LayerItemProvider.java
new file mode 100644
index 00000000000..63931f13901
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/src/org/eclipse/papyrus/design/profile/architecture/provider/LayerItemProvider.java
@@ -0,0 +1,266 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.design.profile.architecture.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage;
+import org.eclipse.papyrus.design.profile.architecture.Layer;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.design.profile.architecture.Layer} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class LayerItemProvider
+ extends ElementItemProvider
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LayerItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addNamePropertyDescriptor(object);
+ addParentFolderPropertyDescriptor(object);
+ addBase_PackagePropertyDescriptor(object);
+ addIsDeprecatedPropertyDescriptor(object);
+ addDeprecatedCommentPropertyDescriptor(object);
+ addReferentPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addNamePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Layer_name_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Layer_name_feature", "_UI_Layer_type"),
+ ArchitecturePackage.Literals.LAYER__NAME,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Parent Folder feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addParentFolderPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Layer_parentFolder_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Layer_parentFolder_feature", "_UI_Layer_type"),
+ ArchitecturePackage.Literals.LAYER__PARENT_FOLDER,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Base Package feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_PackagePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Layer_base_Package_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Layer_base_Package_feature", "_UI_Layer_type"),
+ ArchitecturePackage.Literals.LAYER__BASE_PACKAGE,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Is Deprecated feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsDeprecatedPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Layer_isDeprecated_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Layer_isDeprecated_feature", "_UI_Layer_type"),
+ ArchitecturePackage.Literals.LAYER__IS_DEPRECATED,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Deprecated Comment feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addDeprecatedCommentPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Layer_deprecatedComment_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Layer_deprecatedComment_feature", "_UI_Layer_type"),
+ ArchitecturePackage.Literals.LAYER__DEPRECATED_COMMENT,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Referent feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addReferentPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Layer_referent_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Layer_referent_feature", "_UI_Layer_type"),
+ ArchitecturePackage.Literals.LAYER__REFERENT,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This returns Layer.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/Layer"));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((Layer)object).getName();
+ return label == null || label.length() == 0 ?
+ getString("_UI_Layer_type") :
+ getString("_UI_Layer_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Layer.class)) {
+ case ArchitecturePackage.LAYER__NAME:
+ case ArchitecturePackage.LAYER__PARENT_FOLDER:
+ case ArchitecturePackage.LAYER__IS_DEPRECATED:
+ case ArchitecturePackage.LAYER__DEPRECATED_COMMENT:
+ case ArchitecturePackage.LAYER__REFERENT:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+}
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/src/org/eclipse/papyrus/design/profile/architecture/provider/PluginDependencyItemProvider.java b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/src/org/eclipse/papyrus/design/profile/architecture/provider/PluginDependencyItemProvider.java
new file mode 100644
index 00000000000..33e90ac2dc5
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/src/org/eclipse/papyrus/design/profile/architecture/provider/PluginDependencyItemProvider.java
@@ -0,0 +1,194 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.design.profile.architecture.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage;
+import org.eclipse.papyrus.design.profile.architecture.PluginDependency;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.design.profile.architecture.PluginDependency} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PluginDependencyItemProvider
+ extends ElementItemProvider
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PluginDependencyItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addDeprecatedCommentPropertyDescriptor(object);
+ addIsDeprecatedPropertyDescriptor(object);
+ addBase_DependencyPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Deprecated Comment feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addDeprecatedCommentPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_PluginDependency_deprecatedComment_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_PluginDependency_deprecatedComment_feature", "_UI_PluginDependency_type"),
+ ArchitecturePackage.Literals.PLUGIN_DEPENDENCY__DEPRECATED_COMMENT,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Is Deprecated feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsDeprecatedPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_PluginDependency_isDeprecated_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_PluginDependency_isDeprecated_feature", "_UI_PluginDependency_type"),
+ ArchitecturePackage.Literals.PLUGIN_DEPENDENCY__IS_DEPRECATED,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Base Dependency feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_DependencyPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_PluginDependency_base_Dependency_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_PluginDependency_base_Dependency_feature", "_UI_PluginDependency_type"),
+ ArchitecturePackage.Literals.PLUGIN_DEPENDENCY__BASE_DEPENDENCY,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns PluginDependency.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/PluginDependency"));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((PluginDependency)object).getDocumentation();
+ return label == null || label.length() == 0 ?
+ getString("_UI_PluginDependency_type") :
+ getString("_UI_PluginDependency_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(PluginDependency.class)) {
+ case ArchitecturePackage.PLUGIN_DEPENDENCY__DEPRECATED_COMMENT:
+ case ArchitecturePackage.PLUGIN_DEPENDENCY__IS_DEPRECATED:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+}
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/src/org/eclipse/papyrus/design/profile/architecture/provider/PluginItemProvider.java b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/src/org/eclipse/papyrus/design/profile/architecture/provider/PluginItemProvider.java
new file mode 100644
index 00000000000..b766cc30eac
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.edit/src/org/eclipse/papyrus/design/profile/architecture/provider/PluginItemProvider.java
@@ -0,0 +1,290 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.design.profile.architecture.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage;
+import org.eclipse.papyrus.design.profile.architecture.Plugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.design.profile.architecture.Plugin} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PluginItemProvider
+ extends ElementItemProvider
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PluginItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addNamePropertyDescriptor(object);
+ addParentFolderPropertyDescriptor(object);
+ addOriginalParentFolderPropertyDescriptor(object);
+ addIsDeprecatedPropertyDescriptor(object);
+ addDeprecatedCommentPropertyDescriptor(object);
+ addReferentPropertyDescriptor(object);
+ addBase_PackagePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addNamePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Plugin_name_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Plugin_name_feature", "_UI_Plugin_type"),
+ ArchitecturePackage.Literals.PLUGIN__NAME,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Parent Folder feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addParentFolderPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Plugin_parentFolder_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Plugin_parentFolder_feature", "_UI_Plugin_type"),
+ ArchitecturePackage.Literals.PLUGIN__PARENT_FOLDER,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Original Parent Folder feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOriginalParentFolderPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Plugin_originalParentFolder_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Plugin_originalParentFolder_feature", "_UI_Plugin_type"),
+ ArchitecturePackage.Literals.PLUGIN__ORIGINAL_PARENT_FOLDER,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Is Deprecated feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsDeprecatedPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Plugin_isDeprecated_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Plugin_isDeprecated_feature", "_UI_Plugin_type"),
+ ArchitecturePackage.Literals.PLUGIN__IS_DEPRECATED,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Deprecated Comment feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addDeprecatedCommentPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Plugin_deprecatedComment_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Plugin_deprecatedComment_feature", "_UI_Plugin_type"),
+ ArchitecturePackage.Literals.PLUGIN__DEPRECATED_COMMENT,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Referent feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addReferentPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Plugin_referent_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Plugin_referent_feature", "_UI_Plugin_type"),
+ ArchitecturePackage.Literals.PLUGIN__REFERENT,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Base Package feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_PackagePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Plugin_base_Package_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Plugin_base_Package_feature", "_UI_Plugin_type"),
+ ArchitecturePackage.Literals.PLUGIN__BASE_PACKAGE,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns Plugin.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/Plugin"));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((Plugin)object).getName();
+ return label == null || label.length() == 0 ?
+ getString("_UI_Plugin_type") :
+ getString("_UI_Plugin_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Plugin.class)) {
+ case ArchitecturePackage.PLUGIN__NAME:
+ case ArchitecturePackage.PLUGIN__PARENT_FOLDER:
+ case ArchitecturePackage.PLUGIN__ORIGINAL_PARENT_FOLDER:
+ case ArchitecturePackage.PLUGIN__IS_DEPRECATED:
+ case ArchitecturePackage.PLUGIN__DEPRECATED_COMMENT:
+ case ArchitecturePackage.PLUGIN__REFERENT:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+}
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/.classpath b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/.classpath
new file mode 100644
index 00000000000..45f024e850e
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/.project b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/.project
new file mode 100644
index 00000000000..d9de175557b
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.design.profile.architecture.editor</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ </natures>
+</projectDescription>
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/META-INF/MANIFEST.MF b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..dfa1e32fd13
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/META-INF/MANIFEST.MF
@@ -0,0 +1,19 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.design.profile.architecture.editor;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.papyrus.design.profile.architecture.presentation.ArchitectureEditorPlugin$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.papyrus.design.profile.architecture.presentation
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.core.resources;visibility:=reexport,
+ org.eclipse.papyrus.design.profile.architecture.edit;visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;visibility:=reexport,
+ org.eclipse.emf.edit.ui;visibility:=reexport,
+ org.eclipse.ui.ide;visibility:=reexport,
+ org.eclipse.ocl.uml.edit;bundle-version="3.1.0"
+Bundle-ActivationPolicy: lazy
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/build.properties b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/build.properties
new file mode 100644
index 00000000000..db715c27319
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/build.properties
@@ -0,0 +1,14 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+bin.includes = .,\
+ icons/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties
+jars.compile.order = .
+source.. = src/
+output.. = bin
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/icons/full/obj16/ArchitectureModelFile.gif b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/icons/full/obj16/ArchitectureModelFile.gif
new file mode 100644
index 00000000000..1ae5c0695d9
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/icons/full/obj16/ArchitectureModelFile.gif
Binary files differ
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/icons/full/wizban/NewArchitecture.gif b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/icons/full/wizban/NewArchitecture.gif
new file mode 100644
index 00000000000..36775a51305
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/icons/full/wizban/NewArchitecture.gif
Binary files differ
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/plugin.properties b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/plugin.properties
new file mode 100644
index 00000000000..7d24ced80a8
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/plugin.properties
@@ -0,0 +1,57 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+pluginName = Architecture Editor
+providerName = www.example.org
+
+_UI_ArchitectureEditor_menu = &Architecture Editor
+
+_UI_CreateChild_menu_item = &New Child
+_UI_CreateSibling_menu_item = N&ew Sibling
+
+_UI_ShowPropertiesView_menu_item = Show &Properties View
+_UI_RefreshViewer_menu_item = &Refresh
+
+_UI_SelectionPage_label = Selection
+_UI_ParentPage_label = Parent
+_UI_ListPage_label = List
+_UI_TreePage_label = Tree
+_UI_TablePage_label = Table
+_UI_TreeWithColumnsPage_label = Tree with Columns
+_UI_ObjectColumn_label = Object
+_UI_SelfColumn_label = Self
+
+_UI_NoObjectSelected = Selected Nothing
+_UI_SingleObjectSelected = Selected Object: {0}
+_UI_MultiObjectSelected = Selected {0} Objects
+
+_UI_OpenEditorError_label = Open Editor
+
+_UI_Wizard_category = Example EMF Model Creation Wizards
+
+_UI_CreateModelError_message = Problems encountered in file "{0}"
+
+_UI_ArchitectureModelWizard_label = Architecture Model
+_UI_ArchitectureModelWizard_description = Create a new Architecture model
+
+_UI_ArchitectureEditor_label = Architecture Model Editor
+
+_UI_ArchitectureEditorFilenameDefaultBase = My
+_UI_ArchitectureEditorFilenameExtensions = architecture
+
+_UI_Wizard_label = New
+
+_WARN_FilenameExtension = The file name must end in ''.{0}''
+_WARN_FilenameExtensions = The file name must have one of the following extensions: {0}
+
+_UI_ModelObject = &Model Object
+_UI_XMLEncoding = &XML Encoding
+_UI_XMLEncodingChoices = UTF-8 ASCII UTF-16 UTF-16BE UTF-16LE ISO-8859-1
+_UI_Wizard_initial_object_description = Select a model object to create
+
+_UI_FileConflict_label = File Conflict
+_WARN_FileConflict = There are unsaved changes that conflict with changes made outside the editor. Do you wish to discard this editor's changes?
+
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/plugin.xml b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/plugin.xml
new file mode 100644
index 00000000000..cf5789618d0
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/plugin.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ <copyright>
+ </copyright>
+
+ $Id$
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.ui.newWizards">
+ <category
+ id="org.eclipse.emf.ecore.Wizard.category.ID"
+ name="%_UI_Wizard_category"/>
+ <wizard
+ id="org.eclipse.papyrus.design.profile.architecture.presentation.ArchitectureModelWizardID"
+ name="%_UI_ArchitectureModelWizard_label"
+ class="org.eclipse.papyrus.design.profile.architecture.presentation.ArchitectureModelWizard"
+ category="org.eclipse.emf.ecore.Wizard.category.ID"
+ icon="icons/full/obj16/ArchitectureModelFile.gif">
+ <description>%_UI_ArchitectureModelWizard_description</description>
+ <selection class="org.eclipse.core.resources.IResource"/>
+ </wizard>
+ </extension>
+
+ <extension point="org.eclipse.ui.editors">
+ <editor
+ id="org.eclipse.papyrus.design.profile.architecture.presentation.ArchitectureEditorID"
+ name="%_UI_ArchitectureEditor_label"
+ icon="icons/full/obj16/ArchitectureModelFile.gif"
+ extensions="architecture"
+ class="org.eclipse.papyrus.design.profile.architecture.presentation.ArchitectureEditor"
+ contributorClass="org.eclipse.papyrus.design.profile.architecture.presentation.ArchitectureActionBarContributor">
+ </editor>
+ </extension>
+
+</plugin>
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/src/org/eclipse/papyrus/design/profile/architecture/presentation/ArchitectureActionBarContributor.java b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/src/org/eclipse/papyrus/design/profile/architecture/presentation/ArchitectureActionBarContributor.java
new file mode 100644
index 00000000000..39197591791
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/src/org/eclipse/papyrus/design/profile/architecture/presentation/ArchitectureActionBarContributor.java
@@ -0,0 +1,427 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.design.profile.architecture.presentation;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.ui.viewer.IViewerProvider;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+
+import org.eclipse.emf.edit.ui.action.ControlAction;
+import org.eclipse.emf.edit.ui.action.CreateChildAction;
+import org.eclipse.emf.edit.ui.action.CreateSiblingAction;
+import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
+import org.eclipse.emf.edit.ui.action.LoadResourceAction;
+import org.eclipse.emf.edit.ui.action.ValidateAction;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.ActionContributionItem;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IContributionItem;
+import org.eclipse.jface.action.IContributionManager;
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.action.SubContributionItem;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.Viewer;
+
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.PartInitException;
+
+/**
+ * This is the action bar contributor for the Architecture model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ArchitectureActionBarContributor
+ extends EditingDomainActionBarContributor
+ implements ISelectionChangedListener {
+ /**
+ * This keeps track of the active editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IEditorPart activeEditorPart;
+
+ /**
+ * This keeps track of the current selection provider.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ISelectionProvider selectionProvider;
+
+ /**
+ * This action opens the Properties view.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IAction showPropertiesViewAction =
+ new Action(ArchitectureEditorPlugin.INSTANCE.getString("_UI_ShowPropertiesView_menu_item")) {
+ @Override
+ public void run() {
+ try {
+ getPage().showView("org.eclipse.ui.views.PropertySheet");
+ }
+ catch (PartInitException exception) {
+ ArchitectureEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+ };
+
+ /**
+ * This action refreshes the viewer of the current editor if the editor
+ * implements {@link org.eclipse.emf.common.ui.viewer.IViewerProvider}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IAction refreshViewerAction =
+ new Action(ArchitectureEditorPlugin.INSTANCE.getString("_UI_RefreshViewer_menu_item")) {
+ @Override
+ public boolean isEnabled() {
+ return activeEditorPart instanceof IViewerProvider;
+ }
+
+ @Override
+ public void run() {
+ if (activeEditorPart instanceof IViewerProvider) {
+ Viewer viewer = ((IViewerProvider)activeEditorPart).getViewer();
+ if (viewer != null) {
+ viewer.refresh();
+ }
+ }
+ }
+ };
+
+ /**
+ * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateChildAction} corresponding to each descriptor
+ * generated for the current selection by the item provider.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<IAction> createChildActions;
+
+ /**
+ * This is the menu manager into which menu contribution items should be added for CreateChild actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IMenuManager createChildMenuManager;
+
+ /**
+ * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} corresponding to each descriptor
+ * generated for the current selection by the item provider.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<IAction> createSiblingActions;
+
+ /**
+ * This is the menu manager into which menu contribution items should be added for CreateSibling actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IMenuManager createSiblingMenuManager;
+
+ /**
+ * This creates an instance of the contributor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ArchitectureActionBarContributor() {
+ super(ADDITIONS_LAST_STYLE);
+ loadResourceAction = new LoadResourceAction();
+ validateAction = new ValidateAction();
+ controlAction = new ControlAction();
+ }
+
+ /**
+ * This adds Separators for editor additions to the tool bar.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void contributeToToolBar(IToolBarManager toolBarManager) {
+ toolBarManager.add(new Separator("architecture-settings"));
+ toolBarManager.add(new Separator("architecture-additions"));
+ }
+
+ /**
+ * This adds to the menu bar a menu and some separators for editor additions,
+ * as well as the sub-menus for object creation items.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void contributeToMenu(IMenuManager menuManager) {
+ super.contributeToMenu(menuManager);
+
+ IMenuManager submenuManager = new MenuManager(ArchitectureEditorPlugin.INSTANCE.getString("_UI_ArchitectureEditor_menu"), "org.eclipse.papyrus.design.profile.architectureMenuID");
+ menuManager.insertAfter("additions", submenuManager);
+ submenuManager.add(new Separator("settings"));
+ submenuManager.add(new Separator("actions"));
+ submenuManager.add(new Separator("additions"));
+ submenuManager.add(new Separator("additions-end"));
+
+ // Prepare for CreateChild item addition or removal.
+ //
+ createChildMenuManager = new MenuManager(ArchitectureEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item"));
+ submenuManager.insertBefore("additions", createChildMenuManager);
+
+ // Prepare for CreateSibling item addition or removal.
+ //
+ createSiblingMenuManager = new MenuManager(ArchitectureEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item"));
+ submenuManager.insertBefore("additions", createSiblingMenuManager);
+
+ // Force an update because Eclipse hides empty menus now.
+ //
+ submenuManager.addMenuListener
+ (new IMenuListener() {
+ public void menuAboutToShow(IMenuManager menuManager) {
+ menuManager.updateAll(true);
+ }
+ });
+
+ addGlobalActions(submenuManager);
+ }
+
+ /**
+ * When the active editor changes, this remembers the change and registers with it as a selection provider.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setActiveEditor(IEditorPart part) {
+ super.setActiveEditor(part);
+ activeEditorPart = part;
+
+ // Switch to the new selection provider.
+ //
+ if (selectionProvider != null) {
+ selectionProvider.removeSelectionChangedListener(this);
+ }
+ if (part == null) {
+ selectionProvider = null;
+ }
+ else {
+ selectionProvider = part.getSite().getSelectionProvider();
+ selectionProvider.addSelectionChangedListener(this);
+
+ // Fake a selection changed event to update the menus.
+ //
+ if (selectionProvider.getSelection() != null) {
+ selectionChanged(new SelectionChangedEvent(selectionProvider, selectionProvider.getSelection()));
+ }
+ }
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionChangedListener},
+ * handling {@link org.eclipse.jface.viewers.SelectionChangedEvent}s by querying for the children and siblings
+ * that can be added to the selected object and updating the menus accordingly.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void selectionChanged(SelectionChangedEvent event) {
+ // Remove any menu items for old selection.
+ //
+ if (createChildMenuManager != null) {
+ depopulateManager(createChildMenuManager, createChildActions);
+ }
+ if (createSiblingMenuManager != null) {
+ depopulateManager(createSiblingMenuManager, createSiblingActions);
+ }
+
+ // Query the new selection for appropriate new child/sibling descriptors
+ //
+ Collection<?> newChildDescriptors = null;
+ Collection<?> newSiblingDescriptors = null;
+
+ ISelection selection = event.getSelection();
+ if (selection instanceof IStructuredSelection && ((IStructuredSelection)selection).size() == 1) {
+ Object object = ((IStructuredSelection)selection).getFirstElement();
+
+ EditingDomain domain = ((IEditingDomainProvider)activeEditorPart).getEditingDomain();
+
+ newChildDescriptors = domain.getNewChildDescriptors(object, null);
+ newSiblingDescriptors = domain.getNewChildDescriptors(null, object);
+ }
+
+ // Generate actions for selection; populate and redraw the menus.
+ //
+ createChildActions = generateCreateChildActions(newChildDescriptors, selection);
+ createSiblingActions = generateCreateSiblingActions(newSiblingDescriptors, selection);
+
+ if (createChildMenuManager != null) {
+ populateManager(createChildMenuManager, createChildActions, null);
+ createChildMenuManager.update(true);
+ }
+ if (createSiblingMenuManager != null) {
+ populateManager(createSiblingMenuManager, createSiblingActions, null);
+ createSiblingMenuManager.update(true);
+ }
+ }
+
+ /**
+ * This generates a {@link org.eclipse.emf.edit.ui.action.CreateChildAction} for each object in <code>descriptors</code>,
+ * and returns the collection of these actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<IAction> generateCreateChildActions(Collection<?> descriptors, ISelection selection) {
+ Collection<IAction> actions = new ArrayList<IAction>();
+ if (descriptors != null) {
+ for (Object descriptor : descriptors) {
+ actions.add(new CreateChildAction(activeEditorPart, selection, descriptor));
+ }
+ }
+ return actions;
+ }
+
+ /**
+ * This generates a {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} for each object in <code>descriptors</code>,
+ * and returns the collection of these actions.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<IAction> generateCreateSiblingActions(Collection<?> descriptors, ISelection selection) {
+ Collection<IAction> actions = new ArrayList<IAction>();
+ if (descriptors != null) {
+ for (Object descriptor : descriptors) {
+ actions.add(new CreateSiblingAction(activeEditorPart, selection, descriptor));
+ }
+ }
+ return actions;
+ }
+
+ /**
+ * This populates the specified <code>manager</code> with {@link org.eclipse.jface.action.ActionContributionItem}s
+ * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection,
+ * by inserting them before the specified contribution item <code>contributionID</code>.
+ * If <code>contributionID</code> is <code>null</code>, they are simply added.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void populateManager(IContributionManager manager, Collection<? extends IAction> actions, String contributionID) {
+ if (actions != null) {
+ for (IAction action : actions) {
+ if (contributionID != null) {
+ manager.insertBefore(contributionID, action);
+ }
+ else {
+ manager.add(action);
+ }
+ }
+ }
+ }
+
+ /**
+ * This removes from the specified <code>manager</code> all {@link org.eclipse.jface.action.ActionContributionItem}s
+ * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void depopulateManager(IContributionManager manager, Collection<? extends IAction> actions) {
+ if (actions != null) {
+ IContributionItem[] items = manager.getItems();
+ for (int i = 0; i < items.length; i++) {
+ // Look into SubContributionItems
+ //
+ IContributionItem contributionItem = items[i];
+ while (contributionItem instanceof SubContributionItem) {
+ contributionItem = ((SubContributionItem)contributionItem).getInnerItem();
+ }
+
+ // Delete the ActionContributionItems with matching action.
+ //
+ if (contributionItem instanceof ActionContributionItem) {
+ IAction action = ((ActionContributionItem)contributionItem).getAction();
+ if (actions.contains(action)) {
+ manager.remove(contributionItem);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * This populates the pop-up menu before it appears.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void menuAboutToShow(IMenuManager menuManager) {
+ super.menuAboutToShow(menuManager);
+ MenuManager submenuManager = null;
+
+ submenuManager = new MenuManager(ArchitectureEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item"));
+ populateManager(submenuManager, createChildActions, null);
+ menuManager.insertBefore("edit", submenuManager);
+
+ submenuManager = new MenuManager(ArchitectureEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item"));
+ populateManager(submenuManager, createSiblingActions, null);
+ menuManager.insertBefore("edit", submenuManager);
+ }
+
+ /**
+ * This inserts global actions before the "additions-end" separator.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void addGlobalActions(IMenuManager menuManager) {
+ menuManager.insertAfter("additions-end", new Separator("ui-actions"));
+ menuManager.insertAfter("ui-actions", showPropertiesViewAction);
+
+ refreshViewerAction.setEnabled(refreshViewerAction.isEnabled());
+ menuManager.insertAfter("ui-actions", refreshViewerAction);
+
+ super.addGlobalActions(menuManager);
+ }
+
+ /**
+ * This ensures that a delete action will clean up all references to deleted objects.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean removeAllReferencesOnDelete() {
+ return true;
+ }
+
+} \ No newline at end of file
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/src/org/eclipse/papyrus/design/profile/architecture/presentation/ArchitectureEditor.java b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/src/org/eclipse/papyrus/design/profile/architecture/presentation/ArchitectureEditor.java
new file mode 100644
index 00000000000..19441c80801
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/src/org/eclipse/papyrus/design/profile/architecture/presentation/ArchitectureEditor.java
@@ -0,0 +1,1820 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.design.profile.architecture.presentation;
+
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.EventObject;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceChangeEvent;
+import org.eclipse.core.resources.IResourceChangeListener;
+import org.eclipse.core.resources.IResourceDelta;
+import org.eclipse.core.resources.IResourceDeltaVisitor;
+import org.eclipse.core.resources.ResourcesPlugin;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IStatusLineManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+
+import org.eclipse.jface.viewers.ColumnWeightData;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.ListViewer;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.StructuredViewer;
+import org.eclipse.jface.viewers.TableLayout;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.jface.viewers.Viewer;
+
+import org.eclipse.swt.SWT;
+
+import org.eclipse.swt.custom.CTabFolder;
+
+import org.eclipse.swt.dnd.DND;
+import org.eclipse.swt.dnd.Transfer;
+
+import org.eclipse.swt.events.ControlAdapter;
+import org.eclipse.swt.events.ControlEvent;
+
+import org.eclipse.swt.graphics.Point;
+
+import org.eclipse.swt.layout.FillLayout;
+
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.TableColumn;
+import org.eclipse.swt.widgets.Tree;
+import org.eclipse.swt.widgets.TreeColumn;
+
+import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IEditorSite;
+import org.eclipse.ui.IPartListener;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.PartInitException;
+
+import org.eclipse.ui.dialogs.SaveAsDialog;
+
+import org.eclipse.ui.ide.IGotoMarker;
+
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.part.MultiPageEditorPart;
+
+import org.eclipse.ui.views.contentoutline.ContentOutline;
+import org.eclipse.ui.views.contentoutline.ContentOutlinePage;
+import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
+
+import org.eclipse.ui.views.properties.IPropertySheetPage;
+import org.eclipse.ui.views.properties.PropertySheet;
+import org.eclipse.ui.views.properties.PropertySheetPage;
+
+import org.eclipse.emf.common.command.BasicCommandStack;
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.command.CommandStack;
+import org.eclipse.emf.common.command.CommandStackListener;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.ui.MarkerHelper;
+import org.eclipse.emf.common.ui.ViewerPane;
+
+import org.eclipse.emf.common.ui.editor.ProblemEditorPart;
+
+import org.eclipse.emf.common.ui.viewer.IViewerProvider;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EValidator;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+
+import org.eclipse.emf.ecore.util.EContentAdapter;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+
+import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
+
+import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory;
+
+import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
+
+import org.eclipse.emf.edit.ui.celleditor.AdapterFactoryTreeEditor;
+
+import org.eclipse.emf.edit.ui.dnd.EditingDomainViewerDropAdapter;
+import org.eclipse.emf.edit.ui.dnd.LocalTransfer;
+import org.eclipse.emf.edit.ui.dnd.ViewerDragAdapter;
+
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.emf.edit.ui.provider.UnwrappingSelectionProvider;
+
+import org.eclipse.emf.edit.ui.util.EditUIMarkerHelper;
+import org.eclipse.emf.edit.ui.util.EditUIUtil;
+
+import org.eclipse.emf.edit.ui.view.ExtendedPropertySheetPage;
+
+import org.eclipse.papyrus.design.profile.architecture.provider.ArchitectureItemProviderAdapterFactory;
+
+import org.eclipse.emf.ecore.provider.EcoreItemProviderAdapterFactory;
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+import org.eclipse.uml2.uml.edit.providers.UMLItemProviderAdapterFactory;
+
+
+/**
+ * This is an example of a Architecture model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ArchitectureEditor
+ extends MultiPageEditorPart
+ implements IEditingDomainProvider, ISelectionProvider, IMenuListener, IViewerProvider, IGotoMarker {
+ /**
+ * This keeps track of the editing domain that is used to track all changes to the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AdapterFactoryEditingDomain editingDomain;
+
+ /**
+ * This is the one adapter factory used for providing views of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ComposedAdapterFactory adapterFactory;
+
+ /**
+ * This is the content outline page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IContentOutlinePage contentOutlinePage;
+
+ /**
+ * This is a kludge...
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IStatusLineManager contentOutlineStatusLineManager;
+
+ /**
+ * This is the content outline page's viewer.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TreeViewer contentOutlineViewer;
+
+ /**
+ * This is the property sheet page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PropertySheetPage propertySheetPage;
+
+ /**
+ * This is the viewer that shadows the selection in the content outline.
+ * The parent relation must be correctly defined for this to work.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TreeViewer selectionViewer;
+
+ /**
+ * This inverts the roll of parent and child in the content provider and show parents as a tree.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TreeViewer parentViewer;
+
+ /**
+ * This shows how a tree view works.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TreeViewer treeViewer;
+
+ /**
+ * This shows how a list view works.
+ * A list viewer doesn't support icons.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ListViewer listViewer;
+
+ /**
+ * This shows how a table view works.
+ * A table can be used as a list with icons.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TableViewer tableViewer;
+
+ /**
+ * This shows how a tree view with columns works.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TreeViewer treeViewerWithColumns;
+
+ /**
+ * This keeps track of the active viewer pane, in the book.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ViewerPane currentViewerPane;
+
+ /**
+ * This keeps track of the active content viewer, which may be either one of the viewers in the pages or the content outline viewer.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Viewer currentViewer;
+
+ /**
+ * This listens to which ever viewer is active.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ISelectionChangedListener selectionChangedListener;
+
+ /**
+ * This keeps track of all the {@link org.eclipse.jface.viewers.ISelectionChangedListener}s that are listening to this editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<ISelectionChangedListener> selectionChangedListeners = new ArrayList<ISelectionChangedListener>();
+
+ /**
+ * This keeps track of the selection of the editor as a whole.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ISelection editorSelection = StructuredSelection.EMPTY;
+
+ /**
+ * The MarkerHelper is responsible for creating workspace resource markers presented
+ * in Eclipse's Problems View.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MarkerHelper markerHelper = new EditUIMarkerHelper();
+
+ /**
+ * This listens for when the outline becomes active
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IPartListener partListener =
+ new IPartListener() {
+ public void partActivated(IWorkbenchPart p) {
+ if (p instanceof ContentOutline) {
+ if (((ContentOutline)p).getCurrentPage() == contentOutlinePage) {
+ getActionBarContributor().setActiveEditor(ArchitectureEditor.this);
+
+ setCurrentViewer(contentOutlineViewer);
+ }
+ }
+ else if (p instanceof PropertySheet) {
+ if (((PropertySheet)p).getCurrentPage() == propertySheetPage) {
+ getActionBarContributor().setActiveEditor(ArchitectureEditor.this);
+ handleActivate();
+ }
+ }
+ else if (p == ArchitectureEditor.this) {
+ handleActivate();
+ }
+ }
+ public void partBroughtToTop(IWorkbenchPart p) {
+ // Ignore.
+ }
+ public void partClosed(IWorkbenchPart p) {
+ // Ignore.
+ }
+ public void partDeactivated(IWorkbenchPart p) {
+ // Ignore.
+ }
+ public void partOpened(IWorkbenchPart p) {
+ // Ignore.
+ }
+ };
+
+ /**
+ * Resources that have been removed since last activation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<Resource> removedResources = new ArrayList<Resource>();
+
+ /**
+ * Resources that have been changed since last activation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<Resource> changedResources = new ArrayList<Resource>();
+
+ /**
+ * Resources that have been saved.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<Resource> savedResources = new ArrayList<Resource>();
+
+ /**
+ * Map to store the diagnostic associated with a resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Map<Resource, Diagnostic> resourceToDiagnosticMap = new LinkedHashMap<Resource, Diagnostic>();
+
+ /**
+ * Controls whether the problem indication should be updated.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected boolean updateProblemIndication = true;
+
+ /**
+ * Adapter used to update the problem indication when resources are demanded loaded.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EContentAdapter problemIndicationAdapter =
+ new EContentAdapter() {
+ @Override
+ public void notifyChanged(Notification notification) {
+ if (notification.getNotifier() instanceof Resource) {
+ switch (notification.getFeatureID(Resource.class)) {
+ case Resource.RESOURCE__IS_LOADED:
+ case Resource.RESOURCE__ERRORS:
+ case Resource.RESOURCE__WARNINGS: {
+ Resource resource = (Resource)notification.getNotifier();
+ Diagnostic diagnostic = analyzeResourceProblems(resource, null);
+ if (diagnostic.getSeverity() != Diagnostic.OK) {
+ resourceToDiagnosticMap.put(resource, diagnostic);
+ }
+ else {
+ resourceToDiagnosticMap.remove(resource);
+ }
+
+ if (updateProblemIndication) {
+ getSite().getShell().getDisplay().asyncExec
+ (new Runnable() {
+ public void run() {
+ updateProblemIndication();
+ }
+ });
+ }
+ break;
+ }
+ }
+ }
+ else {
+ super.notifyChanged(notification);
+ }
+ }
+
+ @Override
+ protected void setTarget(Resource target) {
+ basicSetTarget(target);
+ }
+
+ @Override
+ protected void unsetTarget(Resource target) {
+ basicUnsetTarget(target);
+ }
+ };
+
+ /**
+ * This listens for workspace changes.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IResourceChangeListener resourceChangeListener =
+ new IResourceChangeListener() {
+ public void resourceChanged(IResourceChangeEvent event) {
+ IResourceDelta delta = event.getDelta();
+ try {
+ class ResourceDeltaVisitor implements IResourceDeltaVisitor {
+ protected ResourceSet resourceSet = editingDomain.getResourceSet();
+ protected Collection<Resource> changedResources = new ArrayList<Resource>();
+ protected Collection<Resource> removedResources = new ArrayList<Resource>();
+
+ public boolean visit(IResourceDelta delta) {
+ if (delta.getResource().getType() == IResource.FILE) {
+ if (delta.getKind() == IResourceDelta.REMOVED ||
+ delta.getKind() == IResourceDelta.CHANGED && delta.getFlags() != IResourceDelta.MARKERS) {
+ Resource resource = resourceSet.getResource(URI.createPlatformResourceURI(delta.getFullPath().toString(), true), false);
+ if (resource != null) {
+ if (delta.getKind() == IResourceDelta.REMOVED) {
+ removedResources.add(resource);
+ }
+ else if (!savedResources.remove(resource)) {
+ changedResources.add(resource);
+ }
+ }
+ }
+ }
+
+ return true;
+ }
+
+ public Collection<Resource> getChangedResources() {
+ return changedResources;
+ }
+
+ public Collection<Resource> getRemovedResources() {
+ return removedResources;
+ }
+ }
+
+ final ResourceDeltaVisitor visitor = new ResourceDeltaVisitor();
+ delta.accept(visitor);
+
+ if (!visitor.getRemovedResources().isEmpty()) {
+ getSite().getShell().getDisplay().asyncExec
+ (new Runnable() {
+ public void run() {
+ removedResources.addAll(visitor.getRemovedResources());
+ if (!isDirty()) {
+ getSite().getPage().closeEditor(ArchitectureEditor.this, false);
+ }
+ }
+ });
+ }
+
+ if (!visitor.getChangedResources().isEmpty()) {
+ getSite().getShell().getDisplay().asyncExec
+ (new Runnable() {
+ public void run() {
+ changedResources.addAll(visitor.getChangedResources());
+ if (getSite().getPage().getActiveEditor() == ArchitectureEditor.this) {
+ handleActivate();
+ }
+ }
+ });
+ }
+ }
+ catch (CoreException exception) {
+ ArchitectureEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+ };
+
+ /**
+ * Handles activation of the editor or it's associated views.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void handleActivate() {
+ // Recompute the read only state.
+ //
+ if (editingDomain.getResourceToReadOnlyMap() != null) {
+ editingDomain.getResourceToReadOnlyMap().clear();
+
+ // Refresh any actions that may become enabled or disabled.
+ //
+ setSelection(getSelection());
+ }
+
+ if (!removedResources.isEmpty()) {
+ if (handleDirtyConflict()) {
+ getSite().getPage().closeEditor(ArchitectureEditor.this, false);
+ }
+ else {
+ removedResources.clear();
+ changedResources.clear();
+ savedResources.clear();
+ }
+ }
+ else if (!changedResources.isEmpty()) {
+ changedResources.removeAll(savedResources);
+ handleChangedResources();
+ changedResources.clear();
+ savedResources.clear();
+ }
+ }
+
+ /**
+ * Handles what to do with changed resources on activation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void handleChangedResources() {
+ if (!changedResources.isEmpty() && (!isDirty() || handleDirtyConflict())) {
+ if (isDirty()) {
+ changedResources.addAll(editingDomain.getResourceSet().getResources());
+ }
+ editingDomain.getCommandStack().flush();
+
+ updateProblemIndication = false;
+ for (Resource resource : changedResources) {
+ if (resource.isLoaded()) {
+ resource.unload();
+ try {
+ resource.load(Collections.EMPTY_MAP);
+ }
+ catch (IOException exception) {
+ if (!resourceToDiagnosticMap.containsKey(resource)) {
+ resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));
+ }
+ }
+ }
+ }
+
+ if (AdapterFactoryEditingDomain.isStale(editorSelection)) {
+ setSelection(StructuredSelection.EMPTY);
+ }
+
+ updateProblemIndication = true;
+ updateProblemIndication();
+ }
+ }
+
+ /**
+ * Updates the problems indication with the information described in the specified diagnostic.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void updateProblemIndication() {
+ if (updateProblemIndication) {
+ BasicDiagnostic diagnostic =
+ new BasicDiagnostic
+ (Diagnostic.OK,
+ "org.eclipse.papyrus.design.profile.architecture.editor",
+ 0,
+ null,
+ new Object [] { editingDomain.getResourceSet() });
+ for (Diagnostic childDiagnostic : resourceToDiagnosticMap.values()) {
+ if (childDiagnostic.getSeverity() != Diagnostic.OK) {
+ diagnostic.add(childDiagnostic);
+ }
+ }
+
+ int lastEditorPage = getPageCount() - 1;
+ if (lastEditorPage >= 0 && getEditor(lastEditorPage) instanceof ProblemEditorPart) {
+ ((ProblemEditorPart)getEditor(lastEditorPage)).setDiagnostic(diagnostic);
+ if (diagnostic.getSeverity() != Diagnostic.OK) {
+ setActivePage(lastEditorPage);
+ }
+ }
+ else if (diagnostic.getSeverity() != Diagnostic.OK) {
+ ProblemEditorPart problemEditorPart = new ProblemEditorPart();
+ problemEditorPart.setDiagnostic(diagnostic);
+ problemEditorPart.setMarkerHelper(markerHelper);
+ try {
+ addPage(++lastEditorPage, problemEditorPart, getEditorInput());
+ setPageText(lastEditorPage, problemEditorPart.getPartName());
+ setActivePage(lastEditorPage);
+ showTabs();
+ }
+ catch (PartInitException exception) {
+ ArchitectureEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+
+ if (markerHelper.hasMarkers(editingDomain.getResourceSet())) {
+ markerHelper.deleteMarkers(editingDomain.getResourceSet());
+ if (diagnostic.getSeverity() != Diagnostic.OK) {
+ try {
+ markerHelper.createMarkers(diagnostic);
+ }
+ catch (CoreException exception) {
+ ArchitectureEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * Shows a dialog that asks if conflicting changes should be discarded.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected boolean handleDirtyConflict() {
+ return
+ MessageDialog.openQuestion
+ (getSite().getShell(),
+ getString("_UI_FileConflict_label"),
+ getString("_WARN_FileConflict"));
+ }
+
+ /**
+ * This creates a model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ArchitectureEditor() {
+ super();
+ initializeEditingDomain();
+ }
+
+ /**
+ * This sets up the editing domain for the model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void initializeEditingDomain() {
+ // Create an adapter factory that yields item providers.
+ //
+ adapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
+
+ adapterFactory.addAdapterFactory(new ResourceItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new ArchitectureItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new EcoreItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new UMLItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());
+
+ // Create the command stack that will notify this editor as commands are executed.
+ //
+ BasicCommandStack commandStack = new BasicCommandStack();
+
+ // Add a listener to set the most recent command's affected objects to be the selection of the viewer with focus.
+ //
+ commandStack.addCommandStackListener
+ (new CommandStackListener() {
+ public void commandStackChanged(final EventObject event) {
+ getContainer().getDisplay().asyncExec
+ (new Runnable() {
+ public void run() {
+ firePropertyChange(IEditorPart.PROP_DIRTY);
+
+ // Try to select the affected objects.
+ //
+ Command mostRecentCommand = ((CommandStack)event.getSource()).getMostRecentCommand();
+ if (mostRecentCommand != null) {
+ setSelectionToViewer(mostRecentCommand.getAffectedObjects());
+ }
+ if (propertySheetPage != null && !propertySheetPage.getControl().isDisposed()) {
+ propertySheetPage.refresh();
+ }
+ }
+ });
+ }
+ });
+
+ // Create the editing domain with a special command stack.
+ //
+ editingDomain = new AdapterFactoryEditingDomain(adapterFactory, commandStack, new HashMap<Resource, Boolean>());
+ }
+
+ /**
+ * This is here for the listener to be able to call it.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void firePropertyChange(int action) {
+ super.firePropertyChange(action);
+ }
+
+ /**
+ * This sets the selection into whichever viewer is active.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSelectionToViewer(Collection<?> collection) {
+ final Collection<?> theSelection = collection;
+ // Make sure it's okay.
+ //
+ if (theSelection != null && !theSelection.isEmpty()) {
+ Runnable runnable =
+ new Runnable() {
+ public void run() {
+ // Try to select the items in the current content viewer of the editor.
+ //
+ if (currentViewer != null) {
+ currentViewer.setSelection(new StructuredSelection(theSelection.toArray()), true);
+ }
+ }
+ };
+ getSite().getShell().getDisplay().asyncExec(runnable);
+ }
+ }
+
+ /**
+ * This returns the editing domain as required by the {@link IEditingDomainProvider} interface.
+ * This is important for implementing the static methods of {@link AdapterFactoryEditingDomain}
+ * and for supporting {@link org.eclipse.emf.edit.ui.action.CommandAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EditingDomain getEditingDomain() {
+ return editingDomain;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public class ReverseAdapterFactoryContentProvider extends AdapterFactoryContentProvider {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ReverseAdapterFactoryContentProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object [] getElements(Object object) {
+ Object parent = super.getParent(object);
+ return (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object [] getChildren(Object object) {
+ Object parent = super.getParent(object);
+ return (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean hasChildren(Object object) {
+ Object parent = super.getParent(object);
+ return parent != null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getParent(Object object) {
+ return null;
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCurrentViewerPane(ViewerPane viewerPane) {
+ if (currentViewerPane != viewerPane) {
+ if (currentViewerPane != null) {
+ currentViewerPane.showFocus(false);
+ }
+ currentViewerPane = viewerPane;
+ }
+ setCurrentViewer(currentViewerPane.getViewer());
+ }
+
+ /**
+ * This makes sure that one content viewer, either for the current page or the outline view, if it has focus,
+ * is the current one.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCurrentViewer(Viewer viewer) {
+ // If it is changing...
+ //
+ if (currentViewer != viewer) {
+ if (selectionChangedListener == null) {
+ // Create the listener on demand.
+ //
+ selectionChangedListener =
+ new ISelectionChangedListener() {
+ // This just notifies those things that are affected by the section.
+ //
+ public void selectionChanged(SelectionChangedEvent selectionChangedEvent) {
+ setSelection(selectionChangedEvent.getSelection());
+ }
+ };
+ }
+
+ // Stop listening to the old one.
+ //
+ if (currentViewer != null) {
+ currentViewer.removeSelectionChangedListener(selectionChangedListener);
+ }
+
+ // Start listening to the new one.
+ //
+ if (viewer != null) {
+ viewer.addSelectionChangedListener(selectionChangedListener);
+ }
+
+ // Remember it.
+ //
+ currentViewer = viewer;
+
+ // Set the editors selection based on the current viewer's selection.
+ //
+ setSelection(currentViewer == null ? StructuredSelection.EMPTY : currentViewer.getSelection());
+ }
+ }
+
+ /**
+ * This returns the viewer as required by the {@link IViewerProvider} interface.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Viewer getViewer() {
+ return currentViewer;
+ }
+
+ /**
+ * This creates a context menu for the viewer and adds a listener as well registering the menu for extension.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createContextMenuFor(StructuredViewer viewer) {
+ MenuManager contextMenu = new MenuManager("#PopUp");
+ contextMenu.add(new Separator("additions"));
+ contextMenu.setRemoveAllWhenShown(true);
+ contextMenu.addMenuListener(this);
+ Menu menu= contextMenu.createContextMenu(viewer.getControl());
+ viewer.getControl().setMenu(menu);
+ getSite().registerContextMenu(contextMenu, new UnwrappingSelectionProvider(viewer));
+
+ int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;
+ Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance() };
+ viewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(viewer));
+ viewer.addDropSupport(dndOperations, transfers, new EditingDomainViewerDropAdapter(editingDomain, viewer));
+ }
+
+ /**
+ * This is the method called to load a resource into the editing domain's resource set based on the editor's input.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createModel() {
+ URI resourceURI = EditUIUtil.getURI(getEditorInput());
+ Exception exception = null;
+ Resource resource = null;
+ try {
+ // Load the resource through the editing domain.
+ //
+ resource = editingDomain.getResourceSet().getResource(resourceURI, true);
+ }
+ catch (Exception e) {
+ exception = e;
+ resource = editingDomain.getResourceSet().getResource(resourceURI, false);
+ }
+
+ Diagnostic diagnostic = analyzeResourceProblems(resource, exception);
+ if (diagnostic.getSeverity() != Diagnostic.OK) {
+ resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));
+ }
+ editingDomain.getResourceSet().eAdapters().add(problemIndicationAdapter);
+ }
+
+ /**
+ * Returns a diagnostic describing the errors and warnings listed in the resource
+ * and the specified exception (if any).
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Diagnostic analyzeResourceProblems(Resource resource, Exception exception) {
+ if (!resource.getErrors().isEmpty() || !resource.getWarnings().isEmpty()) {
+ BasicDiagnostic basicDiagnostic =
+ new BasicDiagnostic
+ (Diagnostic.ERROR,
+ "org.eclipse.papyrus.design.profile.architecture.editor",
+ 0,
+ getString("_UI_CreateModelError_message", resource.getURI()),
+ new Object [] { exception == null ? (Object)resource : exception });
+ basicDiagnostic.merge(EcoreUtil.computeDiagnostic(resource, true));
+ return basicDiagnostic;
+ }
+ else if (exception != null) {
+ return
+ new BasicDiagnostic
+ (Diagnostic.ERROR,
+ "org.eclipse.papyrus.design.profile.architecture.editor",
+ 0,
+ getString("_UI_CreateModelError_message", resource.getURI()),
+ new Object[] { exception });
+ }
+ else {
+ return Diagnostic.OK_INSTANCE;
+ }
+ }
+
+ /**
+ * This is the method used by the framework to install your own controls.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void createPages() {
+ // Creates the model from the editor input
+ //
+ createModel();
+
+ // Only creates the other pages if there is something that can be edited
+ //
+ if (!getEditingDomain().getResourceSet().getResources().isEmpty()) {
+ // Create a page for the selection tree view.
+ //
+ {
+ ViewerPane viewerPane =
+ new ViewerPane(getSite().getPage(), ArchitectureEditor.this) {
+ @Override
+ public Viewer createViewer(Composite composite) {
+ Tree tree = new Tree(composite, SWT.MULTI);
+ TreeViewer newTreeViewer = new TreeViewer(tree);
+ return newTreeViewer;
+ }
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+
+ selectionViewer = (TreeViewer)viewerPane.getViewer();
+ selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+
+ selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+ selectionViewer.setInput(editingDomain.getResourceSet());
+ selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
+ viewerPane.setTitle(editingDomain.getResourceSet());
+
+ new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);
+
+ createContextMenuFor(selectionViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_SelectionPage_label"));
+ }
+
+ // Create a page for the parent tree view.
+ //
+ {
+ ViewerPane viewerPane =
+ new ViewerPane(getSite().getPage(), ArchitectureEditor.this) {
+ @Override
+ public Viewer createViewer(Composite composite) {
+ Tree tree = new Tree(composite, SWT.MULTI);
+ TreeViewer newTreeViewer = new TreeViewer(tree);
+ return newTreeViewer;
+ }
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+
+ parentViewer = (TreeViewer)viewerPane.getViewer();
+ parentViewer.setAutoExpandLevel(30);
+ parentViewer.setContentProvider(new ReverseAdapterFactoryContentProvider(adapterFactory));
+ parentViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+ createContextMenuFor(parentViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_ParentPage_label"));
+ }
+
+ // This is the page for the list viewer
+ //
+ {
+ ViewerPane viewerPane =
+ new ViewerPane(getSite().getPage(), ArchitectureEditor.this) {
+ @Override
+ public Viewer createViewer(Composite composite) {
+ return new ListViewer(composite);
+ }
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+ listViewer = (ListViewer)viewerPane.getViewer();
+ listViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ listViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+ createContextMenuFor(listViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_ListPage_label"));
+ }
+
+ // This is the page for the tree viewer
+ //
+ {
+ ViewerPane viewerPane =
+ new ViewerPane(getSite().getPage(), ArchitectureEditor.this) {
+ @Override
+ public Viewer createViewer(Composite composite) {
+ return new TreeViewer(composite);
+ }
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+ treeViewer = (TreeViewer)viewerPane.getViewer();
+ treeViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+ new AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory);
+
+ createContextMenuFor(treeViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_TreePage_label"));
+ }
+
+ // This is the page for the table viewer.
+ //
+ {
+ ViewerPane viewerPane =
+ new ViewerPane(getSite().getPage(), ArchitectureEditor.this) {
+ @Override
+ public Viewer createViewer(Composite composite) {
+ return new TableViewer(composite);
+ }
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+ tableViewer = (TableViewer)viewerPane.getViewer();
+
+ Table table = tableViewer.getTable();
+ TableLayout layout = new TableLayout();
+ table.setLayout(layout);
+ table.setHeaderVisible(true);
+ table.setLinesVisible(true);
+
+ TableColumn objectColumn = new TableColumn(table, SWT.NONE);
+ layout.addColumnData(new ColumnWeightData(3, 100, true));
+ objectColumn.setText(getString("_UI_ObjectColumn_label"));
+ objectColumn.setResizable(true);
+
+ TableColumn selfColumn = new TableColumn(table, SWT.NONE);
+ layout.addColumnData(new ColumnWeightData(2, 100, true));
+ selfColumn.setText(getString("_UI_SelfColumn_label"));
+ selfColumn.setResizable(true);
+
+ tableViewer.setColumnProperties(new String [] {"a", "b"});
+ tableViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ tableViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+ createContextMenuFor(tableViewer);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_TablePage_label"));
+ }
+
+ // This is the page for the table tree viewer.
+ //
+ {
+ ViewerPane viewerPane =
+ new ViewerPane(getSite().getPage(), ArchitectureEditor.this) {
+ @Override
+ public Viewer createViewer(Composite composite) {
+ return new TreeViewer(composite);
+ }
+ @Override
+ public void requestActivation() {
+ super.requestActivation();
+ setCurrentViewerPane(this);
+ }
+ };
+ viewerPane.createControl(getContainer());
+
+ treeViewerWithColumns = (TreeViewer)viewerPane.getViewer();
+
+ Tree tree = treeViewerWithColumns.getTree();
+ tree.setLayoutData(new FillLayout());
+ tree.setHeaderVisible(true);
+ tree.setLinesVisible(true);
+
+ TreeColumn objectColumn = new TreeColumn(tree, SWT.NONE);
+ objectColumn.setText(getString("_UI_ObjectColumn_label"));
+ objectColumn.setResizable(true);
+ objectColumn.setWidth(250);
+
+ TreeColumn selfColumn = new TreeColumn(tree, SWT.NONE);
+ selfColumn.setText(getString("_UI_SelfColumn_label"));
+ selfColumn.setResizable(true);
+ selfColumn.setWidth(200);
+
+ treeViewerWithColumns.setColumnProperties(new String [] {"a", "b"});
+ treeViewerWithColumns.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ treeViewerWithColumns.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+ createContextMenuFor(treeViewerWithColumns);
+ int pageIndex = addPage(viewerPane.getControl());
+ setPageText(pageIndex, getString("_UI_TreeWithColumnsPage_label"));
+ }
+
+ getSite().getShell().getDisplay().asyncExec
+ (new Runnable() {
+ public void run() {
+ setActivePage(0);
+ }
+ });
+ }
+
+ // Ensures that this editor will only display the page's tab
+ // area if there are more than one page
+ //
+ getContainer().addControlListener
+ (new ControlAdapter() {
+ boolean guard = false;
+ @Override
+ public void controlResized(ControlEvent event) {
+ if (!guard) {
+ guard = true;
+ hideTabs();
+ guard = false;
+ }
+ }
+ });
+
+ getSite().getShell().getDisplay().asyncExec
+ (new Runnable() {
+ public void run() {
+ updateProblemIndication();
+ }
+ });
+ }
+
+ /**
+ * If there is just one page in the multi-page editor part,
+ * this hides the single tab at the bottom.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void hideTabs() {
+ if (getPageCount() <= 1) {
+ setPageText(0, "");
+ if (getContainer() instanceof CTabFolder) {
+ ((CTabFolder)getContainer()).setTabHeight(1);
+ Point point = getContainer().getSize();
+ getContainer().setSize(point.x, point.y + 6);
+ }
+ }
+ }
+
+ /**
+ * If there is more than one page in the multi-page editor part,
+ * this shows the tabs at the bottom.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void showTabs() {
+ if (getPageCount() > 1) {
+ setPageText(0, getString("_UI_SelectionPage_label"));
+ if (getContainer() instanceof CTabFolder) {
+ ((CTabFolder)getContainer()).setTabHeight(SWT.DEFAULT);
+ Point point = getContainer().getSize();
+ getContainer().setSize(point.x, point.y - 6);
+ }
+ }
+ }
+
+ /**
+ * This is used to track the active viewer.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void pageChange(int pageIndex) {
+ super.pageChange(pageIndex);
+
+ if (contentOutlinePage != null) {
+ handleContentOutlineSelection(contentOutlinePage.getSelection());
+ }
+ }
+
+ /**
+ * This is how the framework determines which interfaces we implement.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("rawtypes")
+ @Override
+ public Object getAdapter(Class key) {
+ if (key.equals(IContentOutlinePage.class)) {
+ return showOutlineView() ? getContentOutlinePage() : null;
+ }
+ else if (key.equals(IPropertySheetPage.class)) {
+ return getPropertySheetPage();
+ }
+ else if (key.equals(IGotoMarker.class)) {
+ return this;
+ }
+ else {
+ return super.getAdapter(key);
+ }
+ }
+
+ /**
+ * This accesses a cached version of the content outliner.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IContentOutlinePage getContentOutlinePage() {
+ if (contentOutlinePage == null) {
+ // The content outline is just a tree.
+ //
+ class MyContentOutlinePage extends ContentOutlinePage {
+ @Override
+ public void createControl(Composite parent) {
+ super.createControl(parent);
+ contentOutlineViewer = getTreeViewer();
+ contentOutlineViewer.addSelectionChangedListener(this);
+
+ // Set up the tree viewer.
+ //
+ contentOutlineViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+ contentOutlineViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+ contentOutlineViewer.setInput(editingDomain.getResourceSet());
+
+ // Make sure our popups work.
+ //
+ createContextMenuFor(contentOutlineViewer);
+
+ if (!editingDomain.getResourceSet().getResources().isEmpty()) {
+ // Select the root object in the view.
+ //
+ contentOutlineViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
+ }
+ }
+
+ @Override
+ public void makeContributions(IMenuManager menuManager, IToolBarManager toolBarManager, IStatusLineManager statusLineManager) {
+ super.makeContributions(menuManager, toolBarManager, statusLineManager);
+ contentOutlineStatusLineManager = statusLineManager;
+ }
+
+ @Override
+ public void setActionBars(IActionBars actionBars) {
+ super.setActionBars(actionBars);
+ getActionBarContributor().shareGlobalActions(this, actionBars);
+ }
+ }
+
+ contentOutlinePage = new MyContentOutlinePage();
+
+ // Listen to selection so that we can handle it is a special way.
+ //
+ contentOutlinePage.addSelectionChangedListener
+ (new ISelectionChangedListener() {
+ // This ensures that we handle selections correctly.
+ //
+ public void selectionChanged(SelectionChangedEvent event) {
+ handleContentOutlineSelection(event.getSelection());
+ }
+ });
+ }
+
+ return contentOutlinePage;
+ }
+
+ /**
+ * This accesses a cached version of the property sheet.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IPropertySheetPage getPropertySheetPage() {
+ if (propertySheetPage == null) {
+ propertySheetPage =
+ new ExtendedPropertySheetPage(editingDomain) {
+ @Override
+ public void setSelectionToViewer(List<?> selection) {
+ ArchitectureEditor.this.setSelectionToViewer(selection);
+ ArchitectureEditor.this.setFocus();
+ }
+
+ @Override
+ public void setActionBars(IActionBars actionBars) {
+ super.setActionBars(actionBars);
+ getActionBarContributor().shareGlobalActions(this, actionBars);
+ }
+ };
+ propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory));
+ }
+
+ return propertySheetPage;
+ }
+
+ /**
+ * This deals with how we want selection in the outliner to affect the other views.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void handleContentOutlineSelection(ISelection selection) {
+ if (currentViewerPane != null && !selection.isEmpty() && selection instanceof IStructuredSelection) {
+ Iterator<?> selectedElements = ((IStructuredSelection)selection).iterator();
+ if (selectedElements.hasNext()) {
+ // Get the first selected element.
+ //
+ Object selectedElement = selectedElements.next();
+
+ // If it's the selection viewer, then we want it to select the same selection as this selection.
+ //
+ if (currentViewerPane.getViewer() == selectionViewer) {
+ ArrayList<Object> selectionList = new ArrayList<Object>();
+ selectionList.add(selectedElement);
+ while (selectedElements.hasNext()) {
+ selectionList.add(selectedElements.next());
+ }
+
+ // Set the selection to the widget.
+ //
+ selectionViewer.setSelection(new StructuredSelection(selectionList));
+ }
+ else {
+ // Set the input to the widget.
+ //
+ if (currentViewerPane.getViewer().getInput() != selectedElement) {
+ currentViewerPane.getViewer().setInput(selectedElement);
+ currentViewerPane.setTitle(selectedElement);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * This is for implementing {@link IEditorPart} and simply tests the command stack.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isDirty() {
+ return ((BasicCommandStack)editingDomain.getCommandStack()).isSaveNeeded();
+ }
+
+ /**
+ * This is for implementing {@link IEditorPart} and simply saves the model file.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void doSave(IProgressMonitor progressMonitor) {
+ // Save only resources that have actually changed.
+ //
+ final Map<Object, Object> saveOptions = new HashMap<Object, Object>();
+ saveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER);
+
+ // Do the work within an operation because this is a long running activity that modifies the workbench.
+ //
+ WorkspaceModifyOperation operation =
+ new WorkspaceModifyOperation() {
+ // This is the method that gets invoked when the operation runs.
+ //
+ @Override
+ public void execute(IProgressMonitor monitor) {
+ // Save the resources to the file system.
+ //
+ boolean first = true;
+ for (Resource resource : editingDomain.getResourceSet().getResources()) {
+ if ((first || !resource.getContents().isEmpty() || isPersisted(resource)) && !editingDomain.isReadOnly(resource)) {
+ try {
+ long timeStamp = resource.getTimeStamp();
+ resource.save(saveOptions);
+ if (resource.getTimeStamp() != timeStamp) {
+ savedResources.add(resource);
+ }
+ }
+ catch (Exception exception) {
+ resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));
+ }
+ first = false;
+ }
+ }
+ }
+ };
+
+ updateProblemIndication = false;
+ try {
+ // This runs the options, and shows progress.
+ //
+ new ProgressMonitorDialog(getSite().getShell()).run(true, false, operation);
+
+ // Refresh the necessary state.
+ //
+ ((BasicCommandStack)editingDomain.getCommandStack()).saveIsDone();
+ firePropertyChange(IEditorPart.PROP_DIRTY);
+ }
+ catch (Exception exception) {
+ // Something went wrong that shouldn't.
+ //
+ ArchitectureEditorPlugin.INSTANCE.log(exception);
+ }
+ updateProblemIndication = true;
+ updateProblemIndication();
+ }
+
+ /**
+ * This returns whether something has been persisted to the URI of the specified resource.
+ * The implementation uses the URI converter from the editor's resource set to try to open an input stream.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected boolean isPersisted(Resource resource) {
+ boolean result = false;
+ try {
+ InputStream stream = editingDomain.getResourceSet().getURIConverter().createInputStream(resource.getURI());
+ if (stream != null) {
+ result = true;
+ stream.close();
+ }
+ }
+ catch (IOException e) {
+ // Ignore
+ }
+ return result;
+ }
+
+ /**
+ * This always returns true because it is not currently supported.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isSaveAsAllowed() {
+ return true;
+ }
+
+ /**
+ * This also changes the editor's input.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void doSaveAs() {
+ SaveAsDialog saveAsDialog = new SaveAsDialog(getSite().getShell());
+ saveAsDialog.open();
+ IPath path = saveAsDialog.getResult();
+ if (path != null) {
+ IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
+ if (file != null) {
+ doSaveAs(URI.createPlatformResourceURI(file.getFullPath().toString(), true), new FileEditorInput(file));
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void doSaveAs(URI uri, IEditorInput editorInput) {
+ (editingDomain.getResourceSet().getResources().get(0)).setURI(uri);
+ setInputWithNotify(editorInput);
+ setPartName(editorInput.getName());
+ IProgressMonitor progressMonitor =
+ getActionBars().getStatusLineManager() != null ?
+ getActionBars().getStatusLineManager().getProgressMonitor() :
+ new NullProgressMonitor();
+ doSave(progressMonitor);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void gotoMarker(IMarker marker) {
+ try {
+ if (marker.getType().equals(EValidator.MARKER)) {
+ String uriAttribute = marker.getAttribute(EValidator.URI_ATTRIBUTE, null);
+ if (uriAttribute != null) {
+ URI uri = URI.createURI(uriAttribute);
+ EObject eObject = editingDomain.getResourceSet().getEObject(uri, true);
+ if (eObject != null) {
+ setSelectionToViewer(Collections.singleton(editingDomain.getWrapper(eObject)));
+ }
+ }
+ }
+ }
+ catch (CoreException exception) {
+ ArchitectureEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+
+ /**
+ * This is called during startup.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void init(IEditorSite site, IEditorInput editorInput) {
+ setSite(site);
+ setInputWithNotify(editorInput);
+ setPartName(editorInput.getName());
+ site.setSelectionProvider(this);
+ site.getPage().addPartListener(partListener);
+ ResourcesPlugin.getWorkspace().addResourceChangeListener(resourceChangeListener, IResourceChangeEvent.POST_CHANGE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setFocus() {
+ if (currentViewerPane != null) {
+ currentViewerPane.setFocus();
+ }
+ else {
+ getControl(getActivePage()).setFocus();
+ }
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void addSelectionChangedListener(ISelectionChangedListener listener) {
+ selectionChangedListeners.add(listener);
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void removeSelectionChangedListener(ISelectionChangedListener listener) {
+ selectionChangedListeners.remove(listener);
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to return this editor's overall selection.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ISelection getSelection() {
+ return editorSelection;
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to set this editor's overall selection.
+ * Calling this result will notify the listeners.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSelection(ISelection selection) {
+ editorSelection = selection;
+
+ for (ISelectionChangedListener listener : selectionChangedListeners) {
+ listener.selectionChanged(new SelectionChangedEvent(this, selection));
+ }
+ setStatusLineManager(selection);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStatusLineManager(ISelection selection) {
+ IStatusLineManager statusLineManager = currentViewer != null && currentViewer == contentOutlineViewer ?
+ contentOutlineStatusLineManager : getActionBars().getStatusLineManager();
+
+ if (statusLineManager != null) {
+ if (selection instanceof IStructuredSelection) {
+ Collection<?> collection = ((IStructuredSelection)selection).toList();
+ switch (collection.size()) {
+ case 0: {
+ statusLineManager.setMessage(getString("_UI_NoObjectSelected"));
+ break;
+ }
+ case 1: {
+ String text = new AdapterFactoryItemDelegator(adapterFactory).getText(collection.iterator().next());
+ statusLineManager.setMessage(getString("_UI_SingleObjectSelected", text));
+ break;
+ }
+ default: {
+ statusLineManager.setMessage(getString("_UI_MultiObjectSelected", Integer.toString(collection.size())));
+ break;
+ }
+ }
+ }
+ else {
+ statusLineManager.setMessage("");
+ }
+ }
+ }
+
+ /**
+ * This looks up a string in the plugin's plugin.properties file.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static String getString(String key) {
+ return ArchitectureEditorPlugin.INSTANCE.getString(key);
+ }
+
+ /**
+ * This looks up a string in plugin.properties, making a substitution.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static String getString(String key, Object s1) {
+ return ArchitectureEditorPlugin.INSTANCE.getString(key, new Object [] { s1 });
+ }
+
+ /**
+ * This implements {@link org.eclipse.jface.action.IMenuListener} to help fill the context menus with contributions from the Edit menu.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void menuAboutToShow(IMenuManager menuManager) {
+ ((IMenuListener)getEditorSite().getActionBarContributor()).menuAboutToShow(menuManager);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EditingDomainActionBarContributor getActionBarContributor() {
+ return (EditingDomainActionBarContributor)getEditorSite().getActionBarContributor();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IActionBars getActionBars() {
+ return getActionBarContributor().getActionBars();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AdapterFactory getAdapterFactory() {
+ return adapterFactory;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void dispose() {
+ updateProblemIndication = false;
+
+ ResourcesPlugin.getWorkspace().removeResourceChangeListener(resourceChangeListener);
+
+ getSite().getPage().removePartListener(partListener);
+
+ adapterFactory.dispose();
+
+ if (getActionBarContributor().getActiveEditor() == this) {
+ getActionBarContributor().setActiveEditor(null);
+ }
+
+ if (propertySheetPage != null) {
+ propertySheetPage.dispose();
+ }
+
+ if (contentOutlinePage != null) {
+ contentOutlinePage.dispose();
+ }
+
+ super.dispose();
+ }
+
+ /**
+ * Returns whether the outline view should be presented to the user.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected boolean showOutlineView() {
+ return true;
+ }
+}
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/src/org/eclipse/papyrus/design/profile/architecture/presentation/ArchitectureEditorPlugin.java b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/src/org/eclipse/papyrus/design/profile/architecture/presentation/ArchitectureEditorPlugin.java
new file mode 100644
index 00000000000..f6b0d043094
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/src/org/eclipse/papyrus/design/profile/architecture/presentation/ArchitectureEditorPlugin.java
@@ -0,0 +1,99 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.design.profile.architecture.presentation;
+
+import org.eclipse.emf.common.EMFPlugin;
+
+import org.eclipse.emf.common.ui.EclipseUIPlugin;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.provider.EcoreEditPlugin;
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the central singleton for the Architecture editor plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class ArchitectureEditorPlugin extends EMFPlugin {
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final ArchitectureEditorPlugin INSTANCE = new ArchitectureEditorPlugin();
+
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static Implementation plugin;
+
+ /**
+ * Create the instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ArchitectureEditorPlugin() {
+ super
+ (new ResourceLocator [] {
+ EcoreEditPlugin.INSTANCE,
+ UMLEditPlugin.INSTANCE,
+ });
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+ @Override
+ public ResourceLocator getPluginResourceLocator() {
+ return plugin;
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+ public static Implementation getPlugin() {
+ return plugin;
+ }
+
+ /**
+ * The actual implementation of the Eclipse <b>Plugin</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static class Implementation extends EclipseUIPlugin {
+ /**
+ * Creates an instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Implementation() {
+ super();
+
+ // Remember the static instance.
+ //
+ plugin = this;
+ }
+ }
+
+}
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/src/org/eclipse/papyrus/design/profile/architecture/presentation/ArchitectureModelWizard.java b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/src/org/eclipse/papyrus/design/profile/architecture/presentation/ArchitectureModelWizard.java
new file mode 100644
index 00000000000..08b8e2e4b2b
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture.editor/src/org/eclipse/papyrus/design/profile/architecture/presentation/ArchitectureModelWizard.java
@@ -0,0 +1,631 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.design.profile.architecture.presentation;
+
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.MissingResourceException;
+import java.util.StringTokenizer;
+
+import org.eclipse.emf.common.CommonPlugin;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+import org.eclipse.emf.edit.ui.provider.ExtendedImageRegistry;
+
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+
+import org.eclipse.jface.dialogs.MessageDialog;
+
+import org.eclipse.jface.viewers.IStructuredSelection;
+
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.jface.wizard.WizardPage;
+
+import org.eclipse.swt.SWT;
+
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.ModifyEvent;
+
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+
+import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
+
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.part.ISetSelectionTarget;
+
+import org.eclipse.papyrus.design.profile.architecture.ArchitectureFactory;
+import org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage;
+import org.eclipse.papyrus.design.profile.architecture.provider.ArchitectureEditPlugin;
+
+
+import org.eclipse.core.runtime.Path;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PartInitException;
+
+
+/**
+ * This is a simple wizard for creating a new model file.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ArchitectureModelWizard extends Wizard implements INewWizard {
+ /**
+ * The supported extensions for created files.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<String> FILE_EXTENSIONS =
+ Collections.unmodifiableList(Arrays.asList(ArchitectureEditorPlugin.INSTANCE.getString("_UI_ArchitectureEditorFilenameExtensions").split("\\s*,\\s*")));
+
+ /**
+ * A formatted list of supported file extensions, suitable for display.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final String FORMATTED_FILE_EXTENSIONS =
+ ArchitectureEditorPlugin.INSTANCE.getString("_UI_ArchitectureEditorFilenameExtensions").replaceAll("\\s*,\\s*", ", ");
+
+ /**
+ * This caches an instance of the model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ArchitecturePackage architecturePackage = ArchitecturePackage.eINSTANCE;
+
+ /**
+ * This caches an instance of the model factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ArchitectureFactory architectureFactory = architecturePackage.getArchitectureFactory();
+
+ /**
+ * This is the file creation page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ArchitectureModelWizardNewFileCreationPage newFileCreationPage;
+
+ /**
+ * This is the initial object creation page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ArchitectureModelWizardInitialObjectCreationPage initialObjectCreationPage;
+
+ /**
+ * Remember the selection during initialization for populating the default container.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IStructuredSelection selection;
+
+ /**
+ * Remember the workbench during initialization.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IWorkbench workbench;
+
+ /**
+ * Caches the names of the types that can be created as the root object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected List<String> initialObjectNames;
+
+ /**
+ * This just records the information.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void init(IWorkbench workbench, IStructuredSelection selection) {
+ this.workbench = workbench;
+ this.selection = selection;
+ setWindowTitle(ArchitectureEditorPlugin.INSTANCE.getString("_UI_Wizard_label"));
+ setDefaultPageImageDescriptor(ExtendedImageRegistry.INSTANCE.getImageDescriptor(ArchitectureEditorPlugin.INSTANCE.getImage("full/wizban/NewArchitecture")));
+ }
+
+ /**
+ * Returns the names of the types that can be created as the root object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<String> getInitialObjectNames() {
+ if (initialObjectNames == null) {
+ initialObjectNames = new ArrayList<String>();
+ for (EClassifier eClassifier : architecturePackage.getEClassifiers()) {
+ if (eClassifier instanceof EClass) {
+ EClass eClass = (EClass)eClassifier;
+ if (!eClass.isAbstract()) {
+ initialObjectNames.add(eClass.getName());
+ }
+ }
+ }
+ Collections.sort(initialObjectNames, CommonPlugin.INSTANCE.getComparator());
+ }
+ return initialObjectNames;
+ }
+
+ /**
+ * Create a new model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EObject createInitialModel() {
+ EClass eClass = (EClass)architecturePackage.getEClassifier(initialObjectCreationPage.getInitialObjectName());
+ EObject rootObject = architectureFactory.create(eClass);
+ return rootObject;
+ }
+
+ /**
+ * Do the work after everything is specified.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean performFinish() {
+ try {
+ // Remember the file.
+ //
+ final IFile modelFile = getModelFile();
+
+ // Do the work within an operation.
+ //
+ WorkspaceModifyOperation operation =
+ new WorkspaceModifyOperation() {
+ @Override
+ protected void execute(IProgressMonitor progressMonitor) {
+ try {
+ // Create a resource set
+ //
+ ResourceSet resourceSet = new ResourceSetImpl();
+
+ // Get the URI of the model file.
+ //
+ URI fileURI = URI.createPlatformResourceURI(modelFile.getFullPath().toString(), true);
+
+ // Create a resource for this file.
+ //
+ Resource resource = resourceSet.createResource(fileURI);
+
+ // Add the initial model object to the contents.
+ //
+ EObject rootObject = createInitialModel();
+ if (rootObject != null) {
+ resource.getContents().add(rootObject);
+ }
+
+ // Save the contents of the resource to the file system.
+ //
+ Map<Object, Object> options = new HashMap<Object, Object>();
+ options.put(XMLResource.OPTION_ENCODING, initialObjectCreationPage.getEncoding());
+ resource.save(options);
+ }
+ catch (Exception exception) {
+ ArchitectureEditorPlugin.INSTANCE.log(exception);
+ }
+ finally {
+ progressMonitor.done();
+ }
+ }
+ };
+
+ getContainer().run(false, false, operation);
+
+ // Select the new file resource in the current view.
+ //
+ IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
+ IWorkbenchPage page = workbenchWindow.getActivePage();
+ final IWorkbenchPart activePart = page.getActivePart();
+ if (activePart instanceof ISetSelectionTarget) {
+ final ISelection targetSelection = new StructuredSelection(modelFile);
+ getShell().getDisplay().asyncExec
+ (new Runnable() {
+ public void run() {
+ ((ISetSelectionTarget)activePart).selectReveal(targetSelection);
+ }
+ });
+ }
+
+ // Open an editor on the new file.
+ //
+ try {
+ page.openEditor
+ (new FileEditorInput(modelFile),
+ workbench.getEditorRegistry().getDefaultEditor(modelFile.getFullPath().toString()).getId());
+ }
+ catch (PartInitException exception) {
+ MessageDialog.openError(workbenchWindow.getShell(), ArchitectureEditorPlugin.INSTANCE.getString("_UI_OpenEditorError_label"), exception.getMessage());
+ return false;
+ }
+
+ return true;
+ }
+ catch (Exception exception) {
+ ArchitectureEditorPlugin.INSTANCE.log(exception);
+ return false;
+ }
+ }
+
+ /**
+ * This is the one page of the wizard.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public class ArchitectureModelWizardNewFileCreationPage extends WizardNewFileCreationPage {
+ /**
+ * Pass in the selection.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ArchitectureModelWizardNewFileCreationPage(String pageId, IStructuredSelection selection) {
+ super(pageId, selection);
+ }
+
+ /**
+ * The framework calls this to see if the file is correct.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean validatePage() {
+ if (super.validatePage()) {
+ String extension = new Path(getFileName()).getFileExtension();
+ if (extension == null || !FILE_EXTENSIONS.contains(extension)) {
+ String key = FILE_EXTENSIONS.size() > 1 ? "_WARN_FilenameExtensions" : "_WARN_FilenameExtension";
+ setErrorMessage(ArchitectureEditorPlugin.INSTANCE.getString(key, new Object [] { FORMATTED_FILE_EXTENSIONS }));
+ return false;
+ }
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IFile getModelFile() {
+ return ResourcesPlugin.getWorkspace().getRoot().getFile(getContainerFullPath().append(getFileName()));
+ }
+ }
+
+ /**
+ * This is the page where the type of object to create is selected.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public class ArchitectureModelWizardInitialObjectCreationPage extends WizardPage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Combo initialObjectField;
+
+ /**
+ * @generated
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ */
+ protected List<String> encodings;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Combo encodingField;
+
+ /**
+ * Pass in the selection.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ArchitectureModelWizardInitialObjectCreationPage(String pageId) {
+ super(pageId);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createControl(Composite parent) {
+ Composite composite = new Composite(parent, SWT.NONE); {
+ GridLayout layout = new GridLayout();
+ layout.numColumns = 1;
+ layout.verticalSpacing = 12;
+ composite.setLayout(layout);
+
+ GridData data = new GridData();
+ data.verticalAlignment = GridData.FILL;
+ data.grabExcessVerticalSpace = true;
+ data.horizontalAlignment = GridData.FILL;
+ composite.setLayoutData(data);
+ }
+
+ Label containerLabel = new Label(composite, SWT.LEFT);
+ {
+ containerLabel.setText(ArchitectureEditorPlugin.INSTANCE.getString("_UI_ModelObject"));
+
+ GridData data = new GridData();
+ data.horizontalAlignment = GridData.FILL;
+ containerLabel.setLayoutData(data);
+ }
+
+ initialObjectField = new Combo(composite, SWT.BORDER);
+ {
+ GridData data = new GridData();
+ data.horizontalAlignment = GridData.FILL;
+ data.grabExcessHorizontalSpace = true;
+ initialObjectField.setLayoutData(data);
+ }
+
+ for (String objectName : getInitialObjectNames()) {
+ initialObjectField.add(getLabel(objectName));
+ }
+
+ if (initialObjectField.getItemCount() == 1) {
+ initialObjectField.select(0);
+ }
+ initialObjectField.addModifyListener(validator);
+
+ Label encodingLabel = new Label(composite, SWT.LEFT);
+ {
+ encodingLabel.setText(ArchitectureEditorPlugin.INSTANCE.getString("_UI_XMLEncoding"));
+
+ GridData data = new GridData();
+ data.horizontalAlignment = GridData.FILL;
+ encodingLabel.setLayoutData(data);
+ }
+ encodingField = new Combo(composite, SWT.BORDER);
+ {
+ GridData data = new GridData();
+ data.horizontalAlignment = GridData.FILL;
+ data.grabExcessHorizontalSpace = true;
+ encodingField.setLayoutData(data);
+ }
+
+ for (String encoding : getEncodings()) {
+ encodingField.add(encoding);
+ }
+
+ encodingField.select(0);
+ encodingField.addModifyListener(validator);
+
+ setPageComplete(validatePage());
+ setControl(composite);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ModifyListener validator =
+ new ModifyListener() {
+ public void modifyText(ModifyEvent e) {
+ setPageComplete(validatePage());
+ }
+ };
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected boolean validatePage() {
+ return getInitialObjectName() != null && getEncodings().contains(encodingField.getText());
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setVisible(boolean visible) {
+ super.setVisible(visible);
+ if (visible) {
+ if (initialObjectField.getItemCount() == 1) {
+ initialObjectField.clearSelection();
+ encodingField.setFocus();
+ }
+ else {
+ encodingField.clearSelection();
+ initialObjectField.setFocus();
+ }
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getInitialObjectName() {
+ String label = initialObjectField.getText();
+
+ for (String name : getInitialObjectNames()) {
+ if (getLabel(name).equals(label)) {
+ return name;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getEncoding() {
+ return encodingField.getText();
+ }
+
+ /**
+ * Returns the label for the specified type name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected String getLabel(String typeName) {
+ try {
+ return ArchitectureEditPlugin.INSTANCE.getString("_UI_" + typeName + "_type");
+ }
+ catch(MissingResourceException mre) {
+ ArchitectureEditorPlugin.INSTANCE.log(mre);
+ }
+ return typeName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<String> getEncodings() {
+ if (encodings == null) {
+ encodings = new ArrayList<String>();
+ for (StringTokenizer stringTokenizer = new StringTokenizer(ArchitectureEditorPlugin.INSTANCE.getString("_UI_XMLEncodingChoices")); stringTokenizer.hasMoreTokens(); ) {
+ encodings.add(stringTokenizer.nextToken());
+ }
+ }
+ return encodings;
+ }
+ }
+
+ /**
+ * The framework calls this to create the contents of the wizard.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void addPages() {
+ // Create a page, set the title, and the initial model file name.
+ //
+ newFileCreationPage = new ArchitectureModelWizardNewFileCreationPage("Whatever", selection);
+ newFileCreationPage.setTitle(ArchitectureEditorPlugin.INSTANCE.getString("_UI_ArchitectureModelWizard_label"));
+ newFileCreationPage.setDescription(ArchitectureEditorPlugin.INSTANCE.getString("_UI_ArchitectureModelWizard_description"));
+ newFileCreationPage.setFileName(ArchitectureEditorPlugin.INSTANCE.getString("_UI_ArchitectureEditorFilenameDefaultBase") + "." + FILE_EXTENSIONS.get(0));
+ addPage(newFileCreationPage);
+
+ // Try and get the resource selection to determine a current directory for the file dialog.
+ //
+ if (selection != null && !selection.isEmpty()) {
+ // Get the resource...
+ //
+ Object selectedElement = selection.iterator().next();
+ if (selectedElement instanceof IResource) {
+ // Get the resource parent, if its a file.
+ //
+ IResource selectedResource = (IResource)selectedElement;
+ if (selectedResource.getType() == IResource.FILE) {
+ selectedResource = selectedResource.getParent();
+ }
+
+ // This gives us a directory...
+ //
+ if (selectedResource instanceof IFolder || selectedResource instanceof IProject) {
+ // Set this for the container.
+ //
+ newFileCreationPage.setContainerFullPath(selectedResource.getFullPath());
+
+ // Make up a unique new name here.
+ //
+ String defaultModelBaseFilename = ArchitectureEditorPlugin.INSTANCE.getString("_UI_ArchitectureEditorFilenameDefaultBase");
+ String defaultModelFilenameExtension = FILE_EXTENSIONS.get(0);
+ String modelFilename = defaultModelBaseFilename + "." + defaultModelFilenameExtension;
+ for (int i = 1; ((IContainer)selectedResource).findMember(modelFilename) != null; ++i) {
+ modelFilename = defaultModelBaseFilename + i + "." + defaultModelFilenameExtension;
+ }
+ newFileCreationPage.setFileName(modelFilename);
+ }
+ }
+ }
+ initialObjectCreationPage = new ArchitectureModelWizardInitialObjectCreationPage("Whatever2");
+ initialObjectCreationPage.setTitle(ArchitectureEditorPlugin.INSTANCE.getString("_UI_ArchitectureModelWizard_label"));
+ initialObjectCreationPage.setDescription(ArchitectureEditorPlugin.INSTANCE.getString("_UI_Wizard_initial_object_description"));
+ addPage(initialObjectCreationPage);
+ }
+
+ /**
+ * Get the file from the page.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IFile getModelFile() {
+ return newFileCreationPage.getModelFile();
+ }
+
+}
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/.classpath b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/.classpath
new file mode 100644
index 00000000000..45f024e850e
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/.project b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/.project
new file mode 100644
index 00000000000..7b95564dd2e
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.design.profile.architecture</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/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/META-INF/MANIFEST.MF b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..5b458477028
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/META-INF/MANIFEST.MF
@@ -0,0 +1,16 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.design.profile.architecture;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.papyrus.design.profile.architecture,
+ org.eclipse.papyrus.design.profile.architecture.impl,
+ org.eclipse.papyrus.design.profile.architecture.util
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.ecore;visibility:=reexport,
+ org.eclipse.uml2.uml;bundle-version="3.2.0";visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/build.properties b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/build.properties
new file mode 100644
index 00000000000..43545dbe0ff
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/build.properties
@@ -0,0 +1,25 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+bin.includes = .,\
+ model/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties,\
+ icons/,\
+ models/
+jars.compile.order = .
+source.. = src/
+output.. = bin/
+src.includes = src/,\
+ plugin.xml,\
+ plugin.properties,\
+ models/,\
+ icons/,\
+ build.properties,\
+ META-INF/,\
+ .project,\
+ .classpath
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/icons/architectureprofile.gif b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/icons/architectureprofile.gif
new file mode 100644
index 00000000000..34fb3c9d8cb
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/icons/architectureprofile.gif
Binary files differ
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/models/architecture.ecore b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/models/architecture.ecore
new file mode 100644
index 00000000000..657ea61cad6
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/models/architecture.ecore
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="architecture"
+ nsURI="http://www.eclipse.org/papyrus/design/architecture/1" nsPrefix="architecture">
+ <eClassifiers xsi:type="ecore:EClass" name="Layer" eSuperTypes="#//Element">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;p>&#xD;&#xA; An alternative name to be used in place of the stereotyped element's name.&#xD;&#xA;&lt;/p>"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="parentFolder" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;p>&#xD;&#xA; The name of the parent folder that will contain the layer, if any.&#xD;&#xA;&lt;/p>&#xD;&#xA;&lt;p>&#xD;&#xA; If no parent is specified, the layer is 'virtual' (no corresponding physical folder)&#xD;&#xA;&lt;/p>&#xD;&#xA;&lt;p>&#xD;&#xA; Ex: plugins&#xD;&#xA;&lt;/p>"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+ lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDeprecated" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="deprecatedComment" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;p>&#xD;&#xA; A comment associated to the isDeprecated=true&#xD;&#xA;&lt;/p>"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="referent" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Element" abstract="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="documentation" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The documentation associated to the element."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="comment" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A comment added to the element. This can be used to discuss about an element."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="LayerDependency" eSuperTypes="#//Element">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;p>&#xD;&#xA; A dependency between two layers.&#xD;&#xA;&lt;/p>&#xD;&#xA;&lt;p>&#xD;&#xA; This dependency is computed from the dependencies of internal layer or packages.&#xD;&#xA;&lt;/p>"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDeprecated" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="deprecatedComment" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;p>&#xD;&#xA; A comment associated to the isDeprecated=true&#xD;&#xA;&lt;/p>"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Dependency" ordered="false"
+ lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Dependency"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Plugin" eSuperTypes="#//Element">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;p>&#xD;&#xA; An alternative name to be used in place of the stereotyped element's name.&#xD;&#xA;&lt;/p>"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="parentFolder" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;p>&#xD;&#xA; The name of the parent folder that will contain the layer, if any.&#xD;&#xA;&lt;/p>&#xD;&#xA;&lt;p>&#xD;&#xA; If no parent is specified, the layer is 'virtual' (no corresponding physical folder)&#xD;&#xA;&lt;/p>&#xD;&#xA;&lt;p>&#xD;&#xA; Ex: plugins&#xD;&#xA;&lt;/p>"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="originalParentFolder" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;p>&#xD;&#xA; The name of the parent folder that was containing the layer before the refactoring, if any.&#xD;&#xA;&lt;/p>&#xD;&#xA;"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDeprecated" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="deprecatedComment" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;p>&#xD;&#xA; A comment associated to the isDeprecated=true&#xD;&#xA;&lt;/p>"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="referent" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+ lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PluginDependency" eSuperTypes="#//Element">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="deprecatedComment" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="&lt;p>&#xD;&#xA; A comment associated to the isDeprecated=true&#xD;&#xA;&lt;/p>"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDeprecated" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Dependency" ordered="false"
+ lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Dependency"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/models/architecture.profile.di b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/models/architecture.profile.di
new file mode 100644
index 00000000000..08a6ba3809f
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/models/architecture.profile.di
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="ASCII"?>
+<di:SashWindowsMngr xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://www.eclipse.org/papyrus/0.7.0/sashdi">
+ <pageList>
+ <availablePage>
+ <emfPageIdentifier href="architecture.profile.notation#_4J9lkPS3EeCQ4s2W2w_p6A"/>
+ </availablePage>
+ </pageList>
+ <sashModel currentSelection="//@sashModel/@windows.0/@children.0">
+ <windows>
+ <children xsi:type="di:TabFolder">
+ <children>
+ <emfPageIdentifier href="architecture.profile.notation#_4J9lkPS3EeCQ4s2W2w_p6A"/>
+ </children>
+ </children>
+ </windows>
+ </sashModel>
+</di:SashWindowsMngr>
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/models/architecture.profile.genmodel b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/models/architecture.profile.genmodel
new file mode 100644
index 00000000000..24fb789bd3d
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/models/architecture.profile.genmodel
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:genmodel="http://www.eclipse.org/uml2/2.2.0/GenModel" modelDirectory="/org.eclipse.papyrus.design.profile.architecture/src"
+ modelPluginID="org.eclipse.papyrus.design.profile.architecture" modelName="Architecture"
+ importerID="org.eclipse.uml2.uml.ecore.importer" complianceLevel="5.0" copyrightFields="false"
+ usedGenPackages="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml">
+ <genAnnotations source="http://www.eclipse.org/emf/2002/GenModel/importer/org.eclipse.uml2.uml.ecore.importer">
+ <details key="ECORE_TAGGED_VALUES" value="PROCESS"/>
+ <details key="UNION_PROPERTIES" value="REPORT"/>
+ <details key="DUPLICATE_FEATURES" value="DISCARD"/>
+ <details key="SUBSETTING_PROPERTIES" value="REPORT"/>
+ <details key="COMMENTS" value="PROCESS"/>
+ <details key="DUPLICATE_FEATURE_INHERITANCE" value="DISCARD"/>
+ <details key="DUPLICATE_OPERATIONS" value="DISCARD"/>
+ <details key="INVARIANT_CONSTRAINTS" value="PROCESS"/>
+ <details key="REDEFINING_PROPERTIES" value="REPORT"/>
+ <details key="ANNOTATION_DETAILS" value="PROCESS"/>
+ <details key="DUPLICATE_OPERATION_INHERITANCE" value="DISCARD"/>
+ <details key="REDEFINING_OPERATIONS" value="REPORT"/>
+ <details key="DERIVED_FEATURES" value="PROCESS"/>
+ <details key="OPERATION_BODIES" value="IGNORE"/>
+ <details key="CAMEL_CASE_NAMES" value="IGNORE"/>
+ <details key="SUPER_CLASS_ORDER" value="PROCESS"/>
+ </genAnnotations>
+ <foreignModel>architecture.profile.uml</foreignModel>
+ <genPackages xsi:type="genmodel:GenPackage" prefix="Architecture" basePackage="org.eclipse.papyrus.design.profile"
+ disposableProviderFactory="true" ecorePackage="architecture.ecore#/">
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="architecture.ecore#//Layer">
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute architecture.ecore#//Layer/name"/>
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute architecture.ecore#//Layer/parentFolder"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference architecture.ecore#//Layer/base_Package"/>
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute architecture.ecore#//Layer/isDeprecated"/>
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute architecture.ecore#//Layer/deprecatedComment"/>
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute architecture.ecore#//Layer/referent"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="architecture.ecore#//Element">
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute architecture.ecore#//Element/documentation"/>
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute architecture.ecore#//Element/comment"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="architecture.ecore#//LayerDependency">
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute architecture.ecore#//LayerDependency/isDeprecated"/>
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute architecture.ecore#//LayerDependency/deprecatedComment"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference architecture.ecore#//LayerDependency/base_Dependency"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="architecture.ecore#//Plugin">
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute architecture.ecore#//Plugin/name"/>
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute architecture.ecore#//Plugin/parentFolder"/>
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute architecture.ecore#//Plugin/originalParentFolder"/>
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute architecture.ecore#//Plugin/isDeprecated"/>
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute architecture.ecore#//Plugin/deprecatedComment"/>
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute architecture.ecore#//Plugin/referent"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference architecture.ecore#//Plugin/base_Package"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="architecture.ecore#//PluginDependency">
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute architecture.ecore#//PluginDependency/deprecatedComment"/>
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute architecture.ecore#//PluginDependency/isDeprecated"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference architecture.ecore#//PluginDependency/base_Dependency"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/models/architecture.profile.notation b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/models/architecture.profile.notation
new file mode 100644
index 00000000000..30687da9b3c
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/models/architecture.profile.notation
@@ -0,0 +1,297 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:uml="http://www.eclipse.org/uml2/3.0.0/UML" xmi:id="_4J9lkPS3EeCQ4s2W2w_p6A" type="PapyrusUMLProfileDiagram" name="overview" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_9EVN0PS3EeCQ4s2W2w_p6A" type="1026" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9EV04PS3EeCQ4s2W2w_p6A" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9EV04fS3EeCQ4s2W2w_p6A" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9EV04vS3EeCQ4s2W2w_p6A" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9EV04_S3EeCQ4s2W2w_p6A" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9EV05PS3EeCQ4s2W2w_p6A" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9EV05fS3EeCQ4s2W2w_p6A" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_9EV05vS3EeCQ4s2W2w_p6A" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_9EZfQPS3EeCQ4s2W2w_p6A" type="1071">
+ <children xmi:type="notation:Shape" xmi:id="_CFIOMPS4EeCQ4s2W2w_p6A" type="3002" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:Property" href="architecture.profile.uml#_CE8A8PS4EeCQ4s2W2w_p6A"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_CFIOMfS4EeCQ4s2W2w_p6A"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Ykp50PS5EeCQ4s2W2w_p6A" type="3002" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:Property" href="architecture.profile.uml#_U5kvMPS5EeCQ4s2W2w_p6A"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Ykp50fS5EeCQ4s2W2w_p6A" x="52" y="46"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_L3TsoPaqEeCMT_0n-PmDbg" type="3002" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:Property" href="architecture.profile.uml#_L3QCQPaqEeCMT_0n-PmDbg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_L3TsofaqEeCMT_0n-PmDbg"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_7H5osPasEeCMT_0n-PmDbg" type="3002" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:Property" href="architecture.profile.uml#_Ykw2sPaqEeCMT_0n-PmDbg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_7H5osfasEeCMT_0n-PmDbg" x="59" y="64"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_70aJYPasEeCMT_0n-PmDbg" type="3002" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:Property" href="architecture.profile.uml#_z55b0PaqEeCMT_0n-PmDbg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_70aJYfasEeCMT_0n-PmDbg" x="56" y="69"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_9EZfQfS3EeCQ4s2W2w_p6A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_9EZfQvS3EeCQ4s2W2w_p6A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_9EZfQ_S3EeCQ4s2W2w_p6A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9EZfRPS3EeCQ4s2W2w_p6A"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_9EZfRfS3EeCQ4s2W2w_p6A" visible="false" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_9EZfRvS3EeCQ4s2W2w_p6A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_9EZfR_S3EeCQ4s2W2w_p6A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_9EZfSPS3EeCQ4s2W2w_p6A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9EZfSfS3EeCQ4s2W2w_p6A"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="architecture.profile.uml#_9DuJ0PS3EeCQ4s2W2w_p6A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9EVN0fS3EeCQ4s2W2w_p6A" x="312" y="36" width="211" height="157"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_wX-agPS4EeCQ4s2W2w_p6A" type="1026" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wX_BkPS4EeCQ4s2W2w_p6A" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wX_BkfS4EeCQ4s2W2w_p6A" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wX_BkvS4EeCQ4s2W2w_p6A" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wX_ooPS4EeCQ4s2W2w_p6A" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wX_oofS4EeCQ4s2W2w_p6A" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wX_oovS4EeCQ4s2W2w_p6A" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_wX_oo_S4EeCQ4s2W2w_p6A" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_wX_opPS4EeCQ4s2W2w_p6A" type="1071">
+ <children xmi:type="notation:Shape" xmi:id="_0KC98PS4EeCQ4s2W2w_p6A" type="3002" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:Property" href="architecture.profile.uml#_0J8QQPS4EeCQ4s2W2w_p6A"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_0KC98fS4EeCQ4s2W2w_p6A"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_E9XKIPS5EeCQ4s2W2w_p6A" type="3002" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:Property" href="architecture.profile.uml#_-zwuoPS4EeCQ4s2W2w_p6A"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_E9XKIfS5EeCQ4s2W2w_p6A" x="27" y="48"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_wX_opfS4EeCQ4s2W2w_p6A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_wX_opvS4EeCQ4s2W2w_p6A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_wX_op_S4EeCQ4s2W2w_p6A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wX_oqPS4EeCQ4s2W2w_p6A"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_wX_oqfS4EeCQ4s2W2w_p6A" visible="false" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_wX_oqvS4EeCQ4s2W2w_p6A"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_wX_oq_S4EeCQ4s2W2w_p6A"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_wX_orPS4EeCQ4s2W2w_p6A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wX_orfS4EeCQ4s2W2w_p6A"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="architecture.profile.uml#_wXyNQPS4EeCQ4s2W2w_p6A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wX-agfS4EeCQ4s2W2w_p6A" x="786" y="372" width="205"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_FoesQPTQEeCDBuWvZAIMYg" type="1031" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Fof6YPTQEeCDBuWvZAIMYg" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FoghcPTQEeCDBuWvZAIMYg" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FoghcfTQEeCDBuWvZAIMYg" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FoghcvTQEeCDBuWvZAIMYg" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FohIgPTQEeCDBuWvZAIMYg" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FohvkPTQEeCDBuWvZAIMYg" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FwSkcPTQEeCDBuWvZAIMYg" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FwSkcfTQEeCDBuWvZAIMYg" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FwSkcvTQEeCDBuWvZAIMYg" key="StereotypeList" value="Standard::Metaclass"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FwSkc_TQEeCDBuWvZAIMYg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FwSkdPTQEeCDBuWvZAIMYg" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FwSkdfTQEeCDBuWvZAIMYg" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_FohvkfTQEeCDBuWvZAIMYg" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FoesQfTQEeCDBuWvZAIMYg" x="90" y="270"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_BRs1UPapEeCMT_0n-PmDbg" type="1026" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BR-iIPapEeCMT_0n-PmDbg" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BR_JMPapEeCMT_0n-PmDbg" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BR_JMfapEeCMT_0n-PmDbg" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BR_JMvapEeCMT_0n-PmDbg" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BR_JM_apEeCMT_0n-PmDbg" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BR_JNPapEeCMT_0n-PmDbg" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_BR_JNfapEeCMT_0n-PmDbg" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_BR_JNvapEeCMT_0n-PmDbg" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_BR_JN_apEeCMT_0n-PmDbg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_BR_wQPapEeCMT_0n-PmDbg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_BR_wQfapEeCMT_0n-PmDbg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BR_wQvapEeCMT_0n-PmDbg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_BR_wQ_apEeCMT_0n-PmDbg" visible="false" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_BR_wRPapEeCMT_0n-PmDbg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_BR_wRfapEeCMT_0n-PmDbg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_BR_wRvapEeCMT_0n-PmDbg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BR_wR_apEeCMT_0n-PmDbg"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="architecture.profile.uml#_BRgBAPapEeCMT_0n-PmDbg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BRs1UfapEeCMT_0n-PmDbg" x="372" y="510"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_rliAIPpTEeCbIZwHSJSkOQ" type="1031" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rlj1UPpTEeCbIZwHSJSkOQ" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rlkcYPpTEeCbIZwHSJSkOQ" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rlkcYfpTEeCbIZwHSJSkOQ" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rlkcYvpTEeCbIZwHSJSkOQ" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rllDcPpTEeCbIZwHSJSkOQ" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rllDcfpTEeCbIZwHSJSkOQ" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rx0IoPpTEeCbIZwHSJSkOQ" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rx0IofpTEeCbIZwHSJSkOQ" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rx0vsPpTEeCbIZwHSJSkOQ" key="StereotypeList" value="Standard::Metaclass"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rx0vsfpTEeCbIZwHSJSkOQ" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rx0vsvpTEeCbIZwHSJSkOQ" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rx0vs_pTEeCbIZwHSJSkOQ" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_rllDcvpTEeCbIZwHSJSkOQ" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Dependency"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rlinMPpTEeCbIZwHSJSkOQ" x="114" y="588"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_GkHtgPpUEeCbIZwHSJSkOQ" type="1026" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GkIUkPpUEeCbIZwHSJSkOQ" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GkIUkfpUEeCbIZwHSJSkOQ" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GkIUkvpUEeCbIZwHSJSkOQ" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GkIUk_pUEeCbIZwHSJSkOQ" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GkIUlPpUEeCbIZwHSJSkOQ" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GkI7oPpUEeCbIZwHSJSkOQ" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_GkI7ofpUEeCbIZwHSJSkOQ" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_GkI7ovpUEeCbIZwHSJSkOQ" type="1071">
+ <children xmi:type="notation:Shape" xmi:id="_YsUpAPpUEeCbIZwHSJSkOQ" type="3002" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:Property" href="architecture.profile.uml#_Xk8KMPpUEeCbIZwHSJSkOQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_YsVQEPpUEeCbIZwHSJSkOQ" x="51" y="23"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Y2i8APpUEeCbIZwHSJSkOQ" type="3002" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:Property" href="architecture.profile.uml#_Xk8KMfpUEeCbIZwHSJSkOQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Y2i8AfpUEeCbIZwHSJSkOQ" x="51" y="23"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Y_rC0PpUEeCbIZwHSJSkOQ" type="3002" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:Property" href="architecture.profile.uml#_Xk8xQPpUEeCbIZwHSJSkOQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Y_rC0fpUEeCbIZwHSJSkOQ" x="51" y="23"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ZIGmEPpUEeCbIZwHSJSkOQ" type="3002" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:Property" href="architecture.profile.uml#_Xk8xQvpUEeCbIZwHSJSkOQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ZIGmEfpUEeCbIZwHSJSkOQ" x="51" y="23"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ZQftEPpUEeCbIZwHSJSkOQ" type="3002" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:Property" href="architecture.profile.uml#_Xk8xQ_pUEeCbIZwHSJSkOQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ZQftEfpUEeCbIZwHSJSkOQ" x="51" y="23"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_sKl_kPpUEeCbIZwHSJSkOQ" type="3002" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:Property" href="architecture.profile.uml#_jifhUPpUEeCbIZwHSJSkOQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_sKmmoPpUEeCbIZwHSJSkOQ" x="82" y="116"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_GkI7o_pUEeCbIZwHSJSkOQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GkI7pPpUEeCbIZwHSJSkOQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GkI7pfpUEeCbIZwHSJSkOQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GkI7pvpUEeCbIZwHSJSkOQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_GkI7p_pUEeCbIZwHSJSkOQ" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_GkI7qPpUEeCbIZwHSJSkOQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GkI7qfpUEeCbIZwHSJSkOQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GkI7qvpUEeCbIZwHSJSkOQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GkI7q_pUEeCbIZwHSJSkOQ"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="architecture.profile.uml#_GbwbsPpUEeCbIZwHSJSkOQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GkHtgfpUEeCbIZwHSJSkOQ" x="312" y="264"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_SvT4APpUEeCbIZwHSJSkOQ" type="1026" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SvUfEPpUEeCbIZwHSJSkOQ" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SvVGIPpUEeCbIZwHSJSkOQ" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SvVGIfpUEeCbIZwHSJSkOQ" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SvVGIvpUEeCbIZwHSJSkOQ" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SvVGI_pUEeCbIZwHSJSkOQ" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SvVGJPpUEeCbIZwHSJSkOQ" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_SvVGJfpUEeCbIZwHSJSkOQ" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_SvVGJvpUEeCbIZwHSJSkOQ" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_SvVGJ_pUEeCbIZwHSJSkOQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_SvVGKPpUEeCbIZwHSJSkOQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_SvVGKfpUEeCbIZwHSJSkOQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SvVGKvpUEeCbIZwHSJSkOQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_SvVGK_pUEeCbIZwHSJSkOQ" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_SvVGLPpUEeCbIZwHSJSkOQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_SvVGLfpUEeCbIZwHSJSkOQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_SvVGLvpUEeCbIZwHSJSkOQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SvVGL_pUEeCbIZwHSJSkOQ"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="architecture.profile.uml#_SoO_oPpUEeCbIZwHSJSkOQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SvT4AfpUEeCbIZwHSJSkOQ" x="366" y="624"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_4J9lkfS3EeCQ4s2W2w_p6A"/>
+ <element xmi:type="uml:Profile" href="architecture.profile.uml#_4J5UIPS3EeCQ4s2W2w_p6A"/>
+ <edges xmi:type="notation:Connector" xmi:id="_NmYOYPS5EeCQ4s2W2w_p6A" type="4002" source="_9EVN0PS3EeCQ4s2W2w_p6A" target="_wX-agPS4EeCQ4s2W2w_p6A" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_NmZcgPS5EeCQ4s2W2w_p6A" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_NmZcgfS5EeCQ4s2W2w_p6A" x="8" y="15"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_NmYOYfS5EeCQ4s2W2w_p6A" fontName="Segoe UI"/>
+ <element xmi:type="uml:Generalization" href="architecture.profile.uml#_NmKzAPS5EeCQ4s2W2w_p6A"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NmYOYvS5EeCQ4s2W2w_p6A" points="[35, -6, -135, 23]$[164, -20, -6, 9]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NmzFIPS5EeCQ4s2W2w_p6A" id="(0.41232227488151657,0.07874015748031496)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NmzFIfS5EeCQ4s2W2w_p6A" id="(0.3902439024390244,0.9923076923076923)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_HFs4MPTQEeCDBuWvZAIMYg" type="1013" source="_9EVN0PS3EeCQ4s2W2w_p6A" target="_FoesQPTQEeCDBuWvZAIMYg" lineColor="0">
+ <styles xmi:type="notation:FontStyle" xmi:id="_HFs4MfTQEeCDBuWvZAIMYg" fontName="Segoe UI"/>
+ <element xmi:type="uml:Extension" href="architecture.profile.uml#_HAKQ4PTQEeCDBuWvZAIMYg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HFs4MvTQEeCDBuWvZAIMYg" points="[-1, 2, 183, 0]$[-171, 3, 13, 1]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HNbQ0PTQEeCDBuWvZAIMYg" id="(0.004739336492890996,0.4881889763779528)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HNbQ0fTQEeCDBuWvZAIMYg" id="(0.87,0.56)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_QZ15IPapEeCMT_0n-PmDbg" type="4002" source="_BRs1UPapEeCMT_0n-PmDbg" target="_wX-agPS4EeCQ4s2W2w_p6A" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_QZ3uUPapEeCMT_0n-PmDbg" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_QZ3uUfapEeCMT_0n-PmDbg" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_QZ15IfapEeCMT_0n-PmDbg" fontName="Segoe UI"/>
+ <element xmi:type="uml:Generalization" href="architecture.profile.uml#_QZvygPapEeCMT_0n-PmDbg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QZ15IvapEeCMT_0n-PmDbg" points="[28, 2, -113, -12]$[133, 20, -8, 6]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QaA4QPapEeCMT_0n-PmDbg" id="(0.9159663865546218,0.38)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QaA4QfapEeCMT_0n-PmDbg" id="(0.04878048780487805,0.6692307692307692)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_9h4mEPpVEeCbIZwHSJSkOQ" type="4002" source="_SvT4APpUEeCbIZwHSJSkOQ" target="_wX-agPS4EeCQ4s2W2w_p6A" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_9h5NIPpVEeCbIZwHSJSkOQ" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_9h5NIfpVEeCbIZwHSJSkOQ" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_9h4mEfpVEeCbIZwHSJSkOQ" fontName="Segoe UI"/>
+ <element xmi:type="uml:Generalization" href="architecture.profile.uml#_9h1iwPpVEeCbIZwHSJSkOQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9h4mEvpVEeCbIZwHSJSkOQ" points="[-12, -10, 217, 195]$[-223, -198, 6, 7]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9h_60PpVEeCbIZwHSJSkOQ" id="(0.88,0.2641509433962264)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9h_60fpVEeCbIZwHSJSkOQ" id="(0.2,0.7076923076923077)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_-dWIwPpVEeCbIZwHSJSkOQ" type="4002" source="_GkHtgPpUEeCbIZwHSJSkOQ" target="_wX-agPS4EeCQ4s2W2w_p6A" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_-dWv0PpVEeCbIZwHSJSkOQ" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_-dWv0fpVEeCbIZwHSJSkOQ" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_-dWIwfpVEeCbIZwHSJSkOQ" fontName="Segoe UI"/>
+ <element xmi:type="uml:Generalization" href="architecture.profile.uml#_-dTFcPpVEeCbIZwHSJSkOQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-dWIwvpVEeCbIZwHSJSkOQ" points="[-17, -10, 351, 209]$[-335, -199, 33, 20]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-dddgPpVEeCbIZwHSJSkOQ" id="(0.22325581395348837,0.04608294930875576)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-dddgfpVEeCbIZwHSJSkOQ" id="(0.8390243902439024,0.8384615384615385)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_AvVZgPpWEeCbIZwHSJSkOQ" type="1013" source="_BRs1UPapEeCMT_0n-PmDbg" target="_rliAIPpTEeCbIZwHSJSkOQ" lineColor="0">
+ <styles xmi:type="notation:FontStyle" xmi:id="_AvVZgfpWEeCbIZwHSJSkOQ" fontName="Segoe UI"/>
+ <element xmi:type="uml:Extension" href="architecture.profile.uml#_AvSWMfpWEeCbIZwHSJSkOQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AvVZgvpWEeCbIZwHSJSkOQ" points="[7, 8, 0, -91]$[5, 94, -2, -5]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ava5EPpWEeCbIZwHSJSkOQ" id="(0.29411764705882354,0.92)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ava5EfpWEeCbIZwHSJSkOQ" id="(0.42,0.1)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_BO-i4PpWEeCbIZwHSJSkOQ" type="1013" source="_SvT4APpUEeCbIZwHSJSkOQ" target="_rliAIPpTEeCbIZwHSJSkOQ" lineColor="0">
+ <styles xmi:type="notation:FontStyle" xmi:id="_BO-i4fpWEeCbIZwHSJSkOQ" fontName="Segoe UI"/>
+ <element xmi:type="uml:Extension" href="architecture.profile.uml#_BO8GofpWEeCbIZwHSJSkOQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_BO-i4vpWEeCbIZwHSJSkOQ" points="[-8, 8, 81, -86]$[-82, 88, 7, -6]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BPEpgPpWEeCbIZwHSJSkOQ" id="(0.152,0.9245283018867925)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BPEpgfpWEeCbIZwHSJSkOQ" id="(0.74,0.12)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_HHkt8PpWEeCbIZwHSJSkOQ" type="1013" source="_GkHtgPpUEeCbIZwHSJSkOQ" target="_FoesQPTQEeCDBuWvZAIMYg" lineColor="0">
+ <styles xmi:type="notation:FontStyle" xmi:id="_HHkt8fpWEeCbIZwHSJSkOQ" fontName="Segoe UI"/>
+ <element xmi:type="uml:Extension" href="architecture.profile.uml#_HHhqoPpWEeCbIZwHSJSkOQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HHkt8vpWEeCbIZwHSJSkOQ" points="[0, 0, 140, 27]$[-122, -29, 18, -2]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HHqNgPpWEeCbIZwHSJSkOQ" id="(0.0,0.25806451612903225)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HHqNgfpWEeCbIZwHSJSkOQ" id="(0.82,0.46)"/>
+ </edges>
+</notation:Diagram>
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/models/architecture.profile.uml b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/models/architecture.profile.uml
new file mode 100644
index 00000000000..df85c387f8b
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/models/architecture.profile.uml
@@ -0,0 +1,749 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore="http://www.eclipse.org/uml2/schemas/Ecore/5" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/3.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/uml2/schemas/Ecore/5 pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA">
+ <uml:Profile xmi:id="_4J5UIPS3EeCQ4s2W2w_p6A" name="architecture" metamodelReference="_4J5UIfS3EeCQ4s2W2w_p6A">
+ <eAnnotations xmi:id="_tWgYIPS5EeCQ4s2W2w_p6A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <contents xmi:type="ecore:EPackage" xmi:id="_f-_v8PpVEeCbIZwHSJSkOQ" name="architecture" nsURI="http://www.eclipse.org/papyrus/design/architecture/1" nsPrefix="architecture">
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_f-_v8fpVEeCbIZwHSJSkOQ" name="Layer" eSuperTypes="_f-_wAPpVEeCbIZwHSJSkOQ">
+ <eAnnotations xmi:id="_f-_v8vpVEeCbIZwHSJSkOQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_9DuJ0PS3EeCQ4s2W2w_p6A"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_f-_v8_pVEeCbIZwHSJSkOQ" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_f-_v9fpVEeCbIZwHSJSkOQ" name="parentFolder" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_f-_v9_pVEeCbIZwHSJSkOQ" name="base_Package" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Package"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_f-_v-fpVEeCbIZwHSJSkOQ" name="isDeprecated" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_f-_v-_pVEeCbIZwHSJSkOQ" name="deprecatedComment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_f-_v_fpVEeCbIZwHSJSkOQ" name="referent" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_f-_wAPpVEeCbIZwHSJSkOQ" name="Element" abstract="true">
+ <eAnnotations xmi:id="_f-_wAfpVEeCbIZwHSJSkOQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_wXyNQPS4EeCQ4s2W2w_p6A"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_f-_wAvpVEeCbIZwHSJSkOQ" name="documentation" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_f-_wBPpVEeCbIZwHSJSkOQ" name="comment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_f-_wBvpVEeCbIZwHSJSkOQ" name="LayerDependency" eSuperTypes="_f-_wAPpVEeCbIZwHSJSkOQ">
+ <eAnnotations xmi:id="_f-_wB_pVEeCbIZwHSJSkOQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_BRgBAPapEeCMT_0n-PmDbg"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_f-_wCPpVEeCbIZwHSJSkOQ" name="isDeprecated" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_f-_wCvpVEeCbIZwHSJSkOQ" name="deprecatedComment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_f-_wDPpVEeCbIZwHSJSkOQ" name="base_Dependency" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Dependency"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_f-_wD_pVEeCbIZwHSJSkOQ" name="Plugin" eSuperTypes="_f-_wAPpVEeCbIZwHSJSkOQ">
+ <eAnnotations xmi:id="_f-_wEPpVEeCbIZwHSJSkOQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_GbwbsPpUEeCbIZwHSJSkOQ"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_f-_wEfpVEeCbIZwHSJSkOQ" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_f-_wE_pVEeCbIZwHSJSkOQ" name="parentFolder" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_f-_wFfpVEeCbIZwHSJSkOQ" name="originalParentFolder" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_f-_wF_pVEeCbIZwHSJSkOQ" name="isDeprecated" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_f-_wGfpVEeCbIZwHSJSkOQ" name="deprecatedComment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_f-_wG_pVEeCbIZwHSJSkOQ" name="referent" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_f-_wHfpVEeCbIZwHSJSkOQ" name="base_Package" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Package"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_f-_wIPpVEeCbIZwHSJSkOQ" name="PluginDependency" eSuperTypes="_f-_wAPpVEeCbIZwHSJSkOQ">
+ <eAnnotations xmi:id="_f-_wIfpVEeCbIZwHSJSkOQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_SoO_oPpUEeCbIZwHSJSkOQ"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_f-_wIvpVEeCbIZwHSJSkOQ" name="deprecatedComment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_f-_wJPpVEeCbIZwHSJSkOQ" name="isDeprecated" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_f-_wJvpVEeCbIZwHSJSkOQ" name="base_Dependency" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Dependency"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </contents>
+ <contents xmi:type="ecore:EPackage" xmi:id="_X3s4sPpVEeCbIZwHSJSkOQ" name="architecture" nsURI="http://www.eclipse.org/papyrus/design/architecture/1" nsPrefix="architecture">
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_X3s4sfpVEeCbIZwHSJSkOQ" name="Layer">
+ <eAnnotations xmi:id="_X3s4svpVEeCbIZwHSJSkOQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_9DuJ0PS3EeCQ4s2W2w_p6A"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_X3s4s_pVEeCbIZwHSJSkOQ" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_X3s4tfpVEeCbIZwHSJSkOQ" name="parentFolder" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_X3s4t_pVEeCbIZwHSJSkOQ" name="base_Package" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Package"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_X3s4ufpVEeCbIZwHSJSkOQ" name="isDeprecated" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_X3s4u_pVEeCbIZwHSJSkOQ" name="deprecatedComment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_X3s4vfpVEeCbIZwHSJSkOQ" name="referent" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_X3s4wPpVEeCbIZwHSJSkOQ" name="Element" abstract="true">
+ <eAnnotations xmi:id="_X3s4wfpVEeCbIZwHSJSkOQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_wXyNQPS4EeCQ4s2W2w_p6A"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_X3s4wvpVEeCbIZwHSJSkOQ" name="documentation" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_X3s4xPpVEeCbIZwHSJSkOQ" name="comment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_X3s4xvpVEeCbIZwHSJSkOQ" name="LayerDependency">
+ <eAnnotations xmi:id="_X3s4x_pVEeCbIZwHSJSkOQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_BRgBAPapEeCMT_0n-PmDbg"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_X3s4yPpVEeCbIZwHSJSkOQ" name="isDeprecated" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_X3s4yvpVEeCbIZwHSJSkOQ" name="deprecatedComment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_X3s4zPpVEeCbIZwHSJSkOQ" name="base_Dependency" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Dependency"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_X3s4z_pVEeCbIZwHSJSkOQ" name="Plugin">
+ <eAnnotations xmi:id="_X3s40PpVEeCbIZwHSJSkOQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_GbwbsPpUEeCbIZwHSJSkOQ"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_X3s40fpVEeCbIZwHSJSkOQ" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_X3s40_pVEeCbIZwHSJSkOQ" name="parentFolder" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_X3tfwfpVEeCbIZwHSJSkOQ" name="originalParentFolder" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_X3tfw_pVEeCbIZwHSJSkOQ" name="isDeprecated" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_X3tfxfpVEeCbIZwHSJSkOQ" name="deprecatedComment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_X3tfx_pVEeCbIZwHSJSkOQ" name="referent" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_X3tfyfpVEeCbIZwHSJSkOQ" name="base_Package" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Package"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_X3tfzPpVEeCbIZwHSJSkOQ" name="PluginDependency">
+ <eAnnotations xmi:id="_X3tfzfpVEeCbIZwHSJSkOQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_SoO_oPpUEeCbIZwHSJSkOQ"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_X3tfzvpVEeCbIZwHSJSkOQ" name="deprecatedComment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_X3tf0PpVEeCbIZwHSJSkOQ" name="isDeprecated" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_X3tf0vpVEeCbIZwHSJSkOQ" name="base_Dependency" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Dependency"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </contents>
+ <contents xmi:type="ecore:EPackage" xmi:id="_ewIh4fasEeCMT_0n-PmDbg" name="architecture" nsURI="http://www.eclipse.org/papyrus/design/architecture/1" nsPrefix="architecture">
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_ewIh4vasEeCMT_0n-PmDbg" name="Layer" eSuperTypes="_ewIh8fasEeCMT_0n-PmDbg">
+ <eAnnotations xmi:id="_ewIh4_asEeCMT_0n-PmDbg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_9DuJ0PS3EeCQ4s2W2w_p6A"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ewIh5PasEeCMT_0n-PmDbg" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ewIh5vasEeCMT_0n-PmDbg" name="parentFolder" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_ewIh6PasEeCMT_0n-PmDbg" name="base_Package" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Package"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ewIh6vasEeCMT_0n-PmDbg" name="isDeprecated" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ewIh7PasEeCMT_0n-PmDbg" name="deprecatedComment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ewIh7vasEeCMT_0n-PmDbg" name="referent" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_ewIh8fasEeCMT_0n-PmDbg" name="Element" abstract="true">
+ <eAnnotations xmi:id="_ewIh8vasEeCMT_0n-PmDbg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_wXyNQPS4EeCQ4s2W2w_p6A"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ewIh8_asEeCMT_0n-PmDbg" name="documentation" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ewIh9fasEeCMT_0n-PmDbg" name="comment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_ewIh9_asEeCMT_0n-PmDbg" name="LayerDependency" eSuperTypes="_ewIh8fasEeCMT_0n-PmDbg">
+ <eAnnotations xmi:id="_ewIh-PasEeCMT_0n-PmDbg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_BRgBAPapEeCMT_0n-PmDbg"/>
+ </eClassifiers>
+ </contents>
+ <contents xmi:type="ecore:EPackage" xmi:id="_blvpgPasEeCMT_0n-PmDbg" name="architecture" nsURI="http://www.eclipse.org/papyrus/design/architecture/1" nsPrefix="architecture">
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_blvpgfasEeCMT_0n-PmDbg" name="Layer" eSuperTypes="_blvpkPasEeCMT_0n-PmDbg">
+ <eAnnotations xmi:id="_blvpgvasEeCMT_0n-PmDbg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_9DuJ0PS3EeCQ4s2W2w_p6A"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_blvpg_asEeCMT_0n-PmDbg" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_blvphfasEeCMT_0n-PmDbg" name="parentFolder" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_blvph_asEeCMT_0n-PmDbg" name="base_Package" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Package"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_blvpifasEeCMT_0n-PmDbg" name="isDeprecated" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_blvpi_asEeCMT_0n-PmDbg" name="deprecatedComment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_blvpjfasEeCMT_0n-PmDbg" name="referent" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_blvpkPasEeCMT_0n-PmDbg" name="Element" abstract="true">
+ <eAnnotations xmi:id="_blvpkfasEeCMT_0n-PmDbg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_wXyNQPS4EeCQ4s2W2w_p6A"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_blvpkvasEeCMT_0n-PmDbg" name="documentation" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_blvplPasEeCMT_0n-PmDbg" name="comment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_blvplvasEeCMT_0n-PmDbg" name="LayerDependency" eSuperTypes="_blvpkPasEeCMT_0n-PmDbg">
+ <eAnnotations xmi:id="_blvpl_asEeCMT_0n-PmDbg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_BRgBAPapEeCMT_0n-PmDbg"/>
+ </eClassifiers>
+ </contents>
+ <contents xmi:type="ecore:EPackage" xmi:id="_o1PmIParEeCMT_0n-PmDbg" name="architecture" nsURI="http://www.eclipse.org/papyrus/design/architecture/1" nsPrefix="architecture">
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_o1PmIfarEeCMT_0n-PmDbg" name="Layer" eSuperTypes="_o1PmL_arEeCMT_0n-PmDbg">
+ <eAnnotations xmi:id="_o1PmIvarEeCMT_0n-PmDbg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_9DuJ0PS3EeCQ4s2W2w_p6A"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_o1PmI_arEeCMT_0n-PmDbg" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_o1PmJfarEeCMT_0n-PmDbg" name="parentFolder" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_o1PmJ_arEeCMT_0n-PmDbg" name="base_Package" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Package"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_o1PmKfarEeCMT_0n-PmDbg" name="isDeprecated" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_o1PmK_arEeCMT_0n-PmDbg" name="deprecatedComment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_o1PmLfarEeCMT_0n-PmDbg" name="referent" ordered="false" lowerBound="1"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_o1PmL_arEeCMT_0n-PmDbg" name="Element" abstract="true">
+ <eAnnotations xmi:id="_o1PmMParEeCMT_0n-PmDbg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_wXyNQPS4EeCQ4s2W2w_p6A"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_o1PmMfarEeCMT_0n-PmDbg" name="documentation" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_o1PmM_arEeCMT_0n-PmDbg" name="comment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_o1PmNfarEeCMT_0n-PmDbg" name="LayerDependency" eSuperTypes="_o1PmL_arEeCMT_0n-PmDbg">
+ <eAnnotations xmi:id="_o1PmNvarEeCMT_0n-PmDbg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_BRgBAPapEeCMT_0n-PmDbg"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_o1PmOParEeCMT_0n-PmDbg" name="Class0">
+ <eAnnotations xmi:id="_o1PmOfarEeCMT_0n-PmDbg" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_o1PmOvarEeCMT_0n-PmDbg" name="firstName" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_o1PmPParEeCMT_0n-PmDbg" name="lastName" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_o1PmPvarEeCMT_0n-PmDbg" name="email" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_o1PmQParEeCMT_0n-PmDbg" name="company" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </contents>
+ <contents xmi:type="ecore:EPackage" xmi:id="_ZoB1EfarEeCMT_0n-PmDbg" name="architecture" nsURI="http://www.eclipse.org/papyrus/design/architecture/1" nsPrefix="architecture">
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_ZoB1EvarEeCMT_0n-PmDbg" name="Layer" eSuperTypes="_ZoCcJParEeCMT_0n-PmDbg">
+ <eAnnotations xmi:id="_ZoB1E_arEeCMT_0n-PmDbg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_9DuJ0PS3EeCQ4s2W2w_p6A"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ZoB1FParEeCMT_0n-PmDbg" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ZoB1FvarEeCMT_0n-PmDbg" name="parentFolder" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_ZoB1GParEeCMT_0n-PmDbg" name="base_Package" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Package"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ZoB1GvarEeCMT_0n-PmDbg" name="isDeprecated" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ZoB1HParEeCMT_0n-PmDbg" name="deprecatedComment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_ZoCcIfarEeCMT_0n-PmDbg" name="referent" ordered="false" lowerBound="1" eType="_ZoCcKvarEeCMT_0n-PmDbg"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_ZoCcJParEeCMT_0n-PmDbg" name="Element" abstract="true">
+ <eAnnotations xmi:id="_ZoCcJfarEeCMT_0n-PmDbg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_wXyNQPS4EeCQ4s2W2w_p6A"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ZoCcJvarEeCMT_0n-PmDbg" name="documentation" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ZoCcKParEeCMT_0n-PmDbg" name="comment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_ZoCcKvarEeCMT_0n-PmDbg" name="Committer">
+ <eAnnotations xmi:id="_ZoCcK_arEeCMT_0n-PmDbg" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ZoCcLParEeCMT_0n-PmDbg" name="firstName" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ZoCcLvarEeCMT_0n-PmDbg" name="lastName" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ZoCcMParEeCMT_0n-PmDbg" name="email" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ZoCcMvarEeCMT_0n-PmDbg" name="company" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_ZoCcNParEeCMT_0n-PmDbg" name="LayerDependency" eSuperTypes="_ZoCcJParEeCMT_0n-PmDbg">
+ <eAnnotations xmi:id="_ZoCcNfarEeCMT_0n-PmDbg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_BRgBAPapEeCMT_0n-PmDbg"/>
+ </eClassifiers>
+ </contents>
+ <contents xmi:type="ecore:EPackage" xmi:id="_MZcT4ParEeCMT_0n-PmDbg" name="architecture" nsURI="http://www.eclipse.org/papyrus/design/architecture/1" nsPrefix="architecture">
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_MZcT4farEeCMT_0n-PmDbg" name="Layer">
+ <eAnnotations xmi:id="_MZcT4varEeCMT_0n-PmDbg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_9DuJ0PS3EeCQ4s2W2w_p6A"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_MZcT4_arEeCMT_0n-PmDbg" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_MZcT5farEeCMT_0n-PmDbg" name="parentFolder" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_MZcT5_arEeCMT_0n-PmDbg" name="base_Package" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Package"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_MZcT6farEeCMT_0n-PmDbg" name="isDeprecated" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_MZcT6_arEeCMT_0n-PmDbg" name="deprecatedComment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_MZcT7farEeCMT_0n-PmDbg" name="referent" ordered="false" lowerBound="1" eType="_MZcT8ParEeCMT_0n-PmDbg"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_MZcT8ParEeCMT_0n-PmDbg" name="Committer">
+ <eAnnotations xmi:id="_MZcT8farEeCMT_0n-PmDbg" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_MZcT8varEeCMT_0n-PmDbg" name="firstName" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_MZcT9ParEeCMT_0n-PmDbg" name="lastName" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_MZcT9varEeCMT_0n-PmDbg" name="email" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_MZcT-ParEeCMT_0n-PmDbg" name="company" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_MZcT-varEeCMT_0n-PmDbg" name="Element" abstract="true">
+ <eAnnotations xmi:id="_MZcT-_arEeCMT_0n-PmDbg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_wXyNQPS4EeCQ4s2W2w_p6A"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_MZcT_ParEeCMT_0n-PmDbg" name="documentation" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_MZcT_varEeCMT_0n-PmDbg" name="comment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_MZcUAParEeCMT_0n-PmDbg" name="LayerDependency">
+ <eAnnotations xmi:id="_MZcUAfarEeCMT_0n-PmDbg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_BRgBAPapEeCMT_0n-PmDbg"/>
+ </eClassifiers>
+ </contents>
+ <contents xmi:type="ecore:EPackage" xmi:id="_I8W30PTQEeCDBuWvZAIMYg" name="architecture" nsURI="http://www.eclipse.org/papyrus/design/architecture/1" nsPrefix="architecture">
+ <eAnnotations xmi:id="_I8aiMPTQEeCDBuWvZAIMYg" source="PapyrusVersion">
+ <details xmi:id="_I8aiMfTQEeCDBuWvZAIMYg" key="Version" value="0.0.6"/>
+ <details xmi:id="_I8aiMvTQEeCDBuWvZAIMYg" key="Comment" value=""/>
+ <details xmi:id="_I8aiM_TQEeCDBuWvZAIMYg" key="Copyright" value=""/>
+ <details xmi:id="_I8aiNPTQEeCDBuWvZAIMYg" key="Date" value="2011-10-12"/>
+ <details xmi:id="_I8aiNfTQEeCDBuWvZAIMYg" key="Author" value=""/>
+ </eAnnotations>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_I8W30fTQEeCDBuWvZAIMYg" name="Layer" eSuperTypes="_I8W32vTQEeCDBuWvZAIMYg">
+ <eAnnotations xmi:id="_I8W30vTQEeCDBuWvZAIMYg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_9DuJ0PS3EeCQ4s2W2w_p6A"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_I8W30_TQEeCDBuWvZAIMYg" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_I8W31fTQEeCDBuWvZAIMYg" name="parentFolder" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_I8W31_TQEeCDBuWvZAIMYg" name="base_Package" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Package"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_I8W32vTQEeCDBuWvZAIMYg" name="Element" abstract="true">
+ <eAnnotations xmi:id="_I8W32_TQEeCDBuWvZAIMYg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_wXyNQPS4EeCQ4s2W2w_p6A"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_I8W33PTQEeCDBuWvZAIMYg" name="documentation" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_I8W33vTQEeCDBuWvZAIMYg" name="comment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </contents>
+ <contents xmi:type="ecore:EPackage" xmi:id="_ATlEIPTQEeCDBuWvZAIMYg" name="architecture" nsURI="http://www.eclipse.org/papyrus/design/architecture/1" nsPrefix="architecture">
+ <eAnnotations xmi:id="_ATlrMPTQEeCDBuWvZAIMYg" source="PapyrusVersion">
+ <details xmi:id="_ATlrMfTQEeCDBuWvZAIMYg" key="Version" value="0.0.5"/>
+ <details xmi:id="_ATlrMvTQEeCDBuWvZAIMYg" key="Comment" value=""/>
+ <details xmi:id="_ATlrM_TQEeCDBuWvZAIMYg" key="Copyright" value=""/>
+ <details xmi:id="_ATlrNPTQEeCDBuWvZAIMYg" key="Date" value="2011-10-12"/>
+ <details xmi:id="_ATlrNfTQEeCDBuWvZAIMYg" key="Author" value=""/>
+ </eAnnotations>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_ATlEIfTQEeCDBuWvZAIMYg" name="Layer" eSuperTypes="_ATlEKPTQEeCDBuWvZAIMYg">
+ <eAnnotations xmi:id="_ATlEIvTQEeCDBuWvZAIMYg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_9DuJ0PS3EeCQ4s2W2w_p6A"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ATlEI_TQEeCDBuWvZAIMYg" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ATlEJfTQEeCDBuWvZAIMYg" name="parentFolder" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_ATlEKPTQEeCDBuWvZAIMYg" name="Element" abstract="true">
+ <eAnnotations xmi:id="_ATlEKfTQEeCDBuWvZAIMYg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_wXyNQPS4EeCQ4s2W2w_p6A"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ATlEKvTQEeCDBuWvZAIMYg" name="documentation" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ATlELPTQEeCDBuWvZAIMYg" name="comment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </contents>
+ <contents xmi:type="ecore:EPackage" xmi:id="_2doSsPTPEeCDBuWvZAIMYg" name="architecture" nsURI="http://www.eclipse.org/papyrus/design/architecture/1" nsPrefix="architecture">
+ <eAnnotations xmi:id="_2dqH4PTPEeCDBuWvZAIMYg" source="PapyrusVersion">
+ <details xmi:id="_2dqH4fTPEeCDBuWvZAIMYg" key="Version" value="0.0.4"/>
+ <details xmi:id="_2dqH4vTPEeCDBuWvZAIMYg" key="Comment" value=""/>
+ <details xmi:id="_2dqH4_TPEeCDBuWvZAIMYg" key="Copyright" value=""/>
+ <details xmi:id="_2dqH5PTPEeCDBuWvZAIMYg" key="Date" value="2011-10-12"/>
+ <details xmi:id="_2dqH5fTPEeCDBuWvZAIMYg" key="Author" value=""/>
+ </eAnnotations>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_2doSsfTPEeCDBuWvZAIMYg" name="Layer" eSuperTypes="_2doSuvTPEeCDBuWvZAIMYg">
+ <eAnnotations xmi:id="_2doSsvTPEeCDBuWvZAIMYg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_9DuJ0PS3EeCQ4s2W2w_p6A"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_2doSs_TPEeCDBuWvZAIMYg" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_2doStfTPEeCDBuWvZAIMYg" name="parentFolder" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_2doSt_TPEeCDBuWvZAIMYg" name="base_Package" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Package"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_2doSuvTPEeCDBuWvZAIMYg" name="Element" abstract="true">
+ <eAnnotations xmi:id="_2doSu_TPEeCDBuWvZAIMYg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_wXyNQPS4EeCQ4s2W2w_p6A"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_2doSvPTPEeCDBuWvZAIMYg" name="documentation" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_2doSvvTPEeCDBuWvZAIMYg" name="comment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </contents>
+ <contents xmi:type="ecore:EPackage" xmi:id="_mK4c8fTPEeCDBuWvZAIMYg" name="architecture" nsURI="http://www.eclipse.org/papyrus/design/architecture/1" nsPrefix="architecture">
+ <eAnnotations xmi:id="_mK8HUPTPEeCDBuWvZAIMYg" source="PapyrusVersion">
+ <details xmi:id="_mK8HUfTPEeCDBuWvZAIMYg" key="Version" value="0.0.3"/>
+ <details xmi:id="_mK8HUvTPEeCDBuWvZAIMYg" key="Comment" value=""/>
+ <details xmi:id="_mK8HU_TPEeCDBuWvZAIMYg" key="Copyright" value=""/>
+ <details xmi:id="_mK8HVPTPEeCDBuWvZAIMYg" key="Date" value="2011-10-12"/>
+ <details xmi:id="_mK8HVfTPEeCDBuWvZAIMYg" key="Author" value=""/>
+ </eAnnotations>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_mK4c8vTPEeCDBuWvZAIMYg" name="Layer" eSuperTypes="_mK5EB_TPEeCDBuWvZAIMYg">
+ <eAnnotations xmi:id="_mK4c8_TPEeCDBuWvZAIMYg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_9DuJ0PS3EeCQ4s2W2w_p6A"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_mK4c9PTPEeCDBuWvZAIMYg" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_mK5EAPTPEeCDBuWvZAIMYg" name="parentFolder" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_mK5EAvTPEeCDBuWvZAIMYg" name="base_Package" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Package"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_mK5EBPTPEeCDBuWvZAIMYg" name="base_Model" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Model"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_mK5EB_TPEeCDBuWvZAIMYg" name="Element" abstract="true">
+ <eAnnotations xmi:id="_mK5ECPTPEeCDBuWvZAIMYg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_wXyNQPS4EeCQ4s2W2w_p6A"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_mK5ECfTPEeCDBuWvZAIMYg" name="documentation" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_mK5EC_TPEeCDBuWvZAIMYg" name="comment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </contents>
+ <contents xmi:type="ecore:EPackage" xmi:id="_g8PTAPS9EeCDBuWvZAIMYg" name="architecture" nsURI="http://www.eclipse.org/papyrus/design/architecture/1" nsPrefix="architecture">
+ <eAnnotations xmi:id="_g8SWUPS9EeCDBuWvZAIMYg" source="PapyrusVersion">
+ <details xmi:id="_g8SWUfS9EeCDBuWvZAIMYg" key="Version" value="0.0.2"/>
+ <details xmi:id="_g8SWUvS9EeCDBuWvZAIMYg" key="Comment" value=""/>
+ <details xmi:id="_g8SWU_S9EeCDBuWvZAIMYg" key="Copyright" value=""/>
+ <details xmi:id="_g8SWVPS9EeCDBuWvZAIMYg" key="Date" value="2011-10-12"/>
+ <details xmi:id="_g8SWVfS9EeCDBuWvZAIMYg" key="Author" value=""/>
+ </eAnnotations>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_g8PTAfS9EeCDBuWvZAIMYg" name="Layer" eSuperTypes="_g8PTCPS9EeCDBuWvZAIMYg">
+ <eAnnotations xmi:id="_g8PTAvS9EeCDBuWvZAIMYg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_9DuJ0PS3EeCQ4s2W2w_p6A"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_g8PTA_S9EeCDBuWvZAIMYg" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_g8PTBfS9EeCDBuWvZAIMYg" name="parentFolder" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_g8PTCPS9EeCDBuWvZAIMYg" name="Element" abstract="true">
+ <eAnnotations xmi:id="_g8PTCfS9EeCDBuWvZAIMYg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_wXyNQPS4EeCQ4s2W2w_p6A"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_g8PTCvS9EeCDBuWvZAIMYg" name="documentation" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_g8PTDPS9EeCDBuWvZAIMYg" name="comment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </contents>
+ <contents xmi:type="ecore:EPackage" xmi:id="_tWgYIfS5EeCQ4s2W2w_p6A" name="Profile" nsURI="http:///schemas/Profile/_tWdU0PS5EeCQ4s2W2w_p6A/0" nsPrefix="Profile">
+ <eAnnotations xmi:id="_tWjbcPS5EeCQ4s2W2w_p6A" source="PapyrusVersion">
+ <details xmi:id="_tWjbcfS5EeCQ4s2W2w_p6A" key="Version" value="0.0.1"/>
+ <details xmi:id="_tWjbcvS5EeCQ4s2W2w_p6A" key="Comment" value=""/>
+ <details xmi:id="_tWjbc_S5EeCQ4s2W2w_p6A" key="Copyright" value="Cedric Dumoulin"/>
+ <details xmi:id="_tWjbdPS5EeCQ4s2W2w_p6A" key="Date" value="2011-10-12"/>
+ <details xmi:id="_tWjbdfS5EeCQ4s2W2w_p6A" key="Author" value=""/>
+ </eAnnotations>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_tWgYIvS5EeCQ4s2W2w_p6A" name="layer" eSuperTypes="_tWgYKfS5EeCQ4s2W2w_p6A">
+ <eAnnotations xmi:id="_tWgYI_S5EeCQ4s2W2w_p6A" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_9DuJ0PS3EeCQ4s2W2w_p6A"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_tWgYJPS5EeCQ4s2W2w_p6A" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_tWgYJvS5EeCQ4s2W2w_p6A" name="parentFolder" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_tWgYKfS5EeCQ4s2W2w_p6A" name="Element" abstract="true">
+ <eAnnotations xmi:id="_tWgYKvS5EeCQ4s2W2w_p6A" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_wXyNQPS4EeCQ4s2W2w_p6A"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_tWgYK_S5EeCQ4s2W2w_p6A" name="documentation" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_tWgYLfS5EeCQ4s2W2w_p6A" name="comment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </contents>
+ </eAnnotations>
+ <packageImport xmi:id="_4J5UIfS3EeCQ4s2W2w_p6A">
+ <importedPackage xmi:type="uml:Model" href="pathmap://UML_METAMODELS/UML.metamodel.uml#_0"/>
+ </packageImport>
+ <packageImport xmi:id="_4J5UIvS3EeCQ4s2W2w_p6A">
+ <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+ </packageImport>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_9DuJ0PS3EeCQ4s2W2w_p6A" name="Layer">
+ <generalization xmi:id="_NmKzAPS5EeCQ4s2W2w_p6A" general="_wXyNQPS4EeCQ4s2W2w_p6A"/>
+ <ownedAttribute xmi:id="_CE8A8PS4EeCQ4s2W2w_p6A" name="name">
+ <ownedComment xmi:id="_VjUFMPS4EeCQ4s2W2w_p6A" annotatedElement="_CE8A8PS4EeCQ4s2W2w_p6A">
+ <body>&lt;p>&#xD;
+ An alternative name to be used in place of the stereotyped element's name.&#xD;
+&lt;/p></body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_U5kvMPS5EeCQ4s2W2w_p6A" name="parentFolder">
+ <ownedComment xmi:id="_U5kvMfS5EeCQ4s2W2w_p6A" annotatedElement="_U5kvMPS5EeCQ4s2W2w_p6A">
+ <body>&lt;p>&#xD;
+ The name of the parent folder that will contain the layer, if any.&#xD;
+&lt;/p>&#xD;
+&lt;p>&#xD;
+ If no parent is specified, the layer is 'virtual' (no corresponding physical folder)&#xD;
+&lt;/p>&#xD;
+&lt;p>&#xD;
+ Ex: plugins&#xD;
+&lt;/p></body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_HAJp0PTQEeCDBuWvZAIMYg" name="base_Package" association="_HAKQ4PTQEeCDBuWvZAIMYg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_L3QCQPaqEeCMT_0n-PmDbg" name="isDeprecated">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_Ykw2sPaqEeCMT_0n-PmDbg" name="deprecatedComment">
+ <ownedComment xmi:id="_Ykw2sfaqEeCMT_0n-PmDbg" annotatedElement="_Ykw2sPaqEeCMT_0n-PmDbg">
+ <body>&lt;p>&#xD;
+ A comment associated to the isDeprecated=true&#xD;
+&lt;/p></body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_z55b0PaqEeCMT_0n-PmDbg" name="referent">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_wXyNQPS4EeCQ4s2W2w_p6A" name="Element" isAbstract="true">
+ <ownedAttribute xmi:id="_0J8QQPS4EeCQ4s2W2w_p6A" name="documentation">
+ <ownedComment xmi:id="_B5g-oPS5EeCQ4s2W2w_p6A" annotatedElement="_0J8QQPS4EeCQ4s2W2w_p6A">
+ <body>The documentation associated to the element.</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_-zwuoPS4EeCQ4s2W2w_p6A" name="comment">
+ <ownedComment xmi:id="_FnqEUPS5EeCQ4s2W2w_p6A" annotatedElement="_-zwuoPS4EeCQ4s2W2w_p6A">
+ <body>A comment added to the element. This can be used to discuss about an element.</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_HAKQ4PTQEeCDBuWvZAIMYg" name="E_Layer_Package0" memberEnd="_HAKQ4fTQEeCDBuWvZAIMYg _HAJp0PTQEeCDBuWvZAIMYg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_HAKQ4fTQEeCDBuWvZAIMYg" name="extension_Layer" type="_9DuJ0PS3EeCQ4s2W2w_p6A" aggregation="composite" association="_HAKQ4PTQEeCDBuWvZAIMYg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_BRgBAPapEeCMT_0n-PmDbg" name="LayerDependency">
+ <ownedComment xmi:id="_D_G2wPapEeCMT_0n-PmDbg" annotatedElement="_BRgBAPapEeCMT_0n-PmDbg">
+ <body>&lt;p>&#xD;
+ A dependency between two layers.&#xD;
+&lt;/p>&#xD;
+&lt;p>&#xD;
+ This dependency is computed from the dependencies of internal layer or packages.&#xD;
+&lt;/p></body>
+ </ownedComment>
+ <generalization xmi:id="_QZvygPapEeCMT_0n-PmDbg" general="_wXyNQPS4EeCQ4s2W2w_p6A"/>
+ <ownedAttribute xmi:id="_cg_NcPpUEeCbIZwHSJSkOQ" name="isDeprecated">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_cg_0gPpUEeCbIZwHSJSkOQ" name="deprecatedComment">
+ <ownedComment xmi:id="_cg_0gfpUEeCbIZwHSJSkOQ" annotatedElement="_cg_0gPpUEeCbIZwHSJSkOQ">
+ <body>&lt;p>&#xD;
+ A comment associated to the isDeprecated=true&#xD;
+&lt;/p></body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_Brk0wPpVEeCbIZwHSJSkOQ" name="base_Dependency" association="_Brlb0PpVEeCbIZwHSJSkOQ">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Dependency"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_AvSWMPpWEeCbIZwHSJSkOQ" name="base_Dependency" association="_AvSWMfpWEeCbIZwHSJSkOQ">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Dependency"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_GbwbsPpUEeCbIZwHSJSkOQ" name="Plugin">
+ <generalization xmi:id="_89YAQPpUEeCbIZwHSJSkOQ" general="_wXyNQPS4EeCQ4s2W2w_p6A"/>
+ <generalization xmi:id="_-dTFcPpVEeCbIZwHSJSkOQ" general="_wXyNQPS4EeCQ4s2W2w_p6A"/>
+ <ownedAttribute xmi:id="_Xk8KMfpUEeCbIZwHSJSkOQ" name="name">
+ <ownedComment xmi:id="_Xk8KMvpUEeCbIZwHSJSkOQ" annotatedElement="_Xk8KMfpUEeCbIZwHSJSkOQ">
+ <body>&lt;p>&#xD;
+ An alternative name to be used in place of the stereotyped element's name.&#xD;
+&lt;/p></body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_Xk8xQ_pUEeCbIZwHSJSkOQ" name="parentFolder">
+ <ownedComment xmi:id="_Xk8xRPpUEeCbIZwHSJSkOQ" annotatedElement="_Xk8xQ_pUEeCbIZwHSJSkOQ">
+ <body>&lt;p>&#xD;
+ The name of the parent folder that will contain the layer, if any.&#xD;
+&lt;/p>&#xD;
+&lt;p>&#xD;
+ If no parent is specified, the layer is 'virtual' (no corresponding physical folder)&#xD;
+&lt;/p>&#xD;
+&lt;p>&#xD;
+ Ex: plugins&#xD;
+&lt;/p></body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_jifhUPpUEeCbIZwHSJSkOQ" name="originalParentFolder">
+ <ownedComment xmi:id="_jifhUfpUEeCbIZwHSJSkOQ" annotatedElement="_jifhUPpUEeCbIZwHSJSkOQ">
+ <body>&lt;p>&#xD;
+ The name of the parent folder that was containing the layer before the refactoring, if any.&#xD;
+&lt;/p>&#xD;
+</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_Xk8KMPpUEeCbIZwHSJSkOQ" name="isDeprecated">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_Xk8xQPpUEeCbIZwHSJSkOQ" name="deprecatedComment">
+ <ownedComment xmi:id="_Xk8xQfpUEeCbIZwHSJSkOQ" annotatedElement="_Xk8xQPpUEeCbIZwHSJSkOQ">
+ <body>&lt;p>&#xD;
+ A comment associated to the isDeprecated=true&#xD;
+&lt;/p></body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_Xk8xQvpUEeCbIZwHSJSkOQ" name="referent">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_GPu8cPpVEeCbIZwHSJSkOQ" name="base_Package" association="_GPvjgPpVEeCbIZwHSJSkOQ">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_HHhDkPpWEeCbIZwHSJSkOQ" name="base_Package" association="_HHhqoPpWEeCbIZwHSJSkOQ">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_SoO_oPpUEeCbIZwHSJSkOQ" name="PluginDependency">
+ <generalization xmi:id="_90ZH0PpUEeCbIZwHSJSkOQ" general="_wXyNQPS4EeCQ4s2W2w_p6A"/>
+ <generalization xmi:id="_9h1iwPpVEeCbIZwHSJSkOQ" general="_wXyNQPS4EeCQ4s2W2w_p6A"/>
+ <ownedAttribute xmi:id="_dN_dYPpUEeCbIZwHSJSkOQ" name="deprecatedComment">
+ <ownedComment xmi:id="_dN_dYfpUEeCbIZwHSJSkOQ" annotatedElement="_dN_dYPpUEeCbIZwHSJSkOQ">
+ <body>&lt;p>&#xD;
+ A comment associated to the isDeprecated=true&#xD;
+&lt;/p></body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_dN_dYvpUEeCbIZwHSJSkOQ" name="isDeprecated">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_BGdVgPpVEeCbIZwHSJSkOQ" name="base_Dependency" association="_BGejoPpVEeCbIZwHSJSkOQ">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Dependency"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_BO8GoPpWEeCbIZwHSJSkOQ" name="base_Dependency" association="_BO8GofpWEeCbIZwHSJSkOQ">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Dependency"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_BGejoPpVEeCbIZwHSJSkOQ" name="E_PluginDependency_Dependency0" memberEnd="_BGejofpVEeCbIZwHSJSkOQ _BGdVgPpVEeCbIZwHSJSkOQ">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_BGejofpVEeCbIZwHSJSkOQ" name="extension_PluginDependency" type="_SoO_oPpUEeCbIZwHSJSkOQ" aggregation="composite" association="_BGejoPpVEeCbIZwHSJSkOQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_Brlb0PpVEeCbIZwHSJSkOQ" name="E_LayerDependency_Dependency0" memberEnd="_Brlb0fpVEeCbIZwHSJSkOQ _Brk0wPpVEeCbIZwHSJSkOQ">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_Brlb0fpVEeCbIZwHSJSkOQ" name="extension_LayerDependency" type="_BRgBAPapEeCMT_0n-PmDbg" aggregation="composite" association="_Brlb0PpVEeCbIZwHSJSkOQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_GPvjgPpVEeCbIZwHSJSkOQ" name="E_Plugin_Package0" memberEnd="_GPvjgfpVEeCbIZwHSJSkOQ _GPu8cPpVEeCbIZwHSJSkOQ">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_GPvjgfpVEeCbIZwHSJSkOQ" name="extension_Plugin" type="_GbwbsPpUEeCbIZwHSJSkOQ" aggregation="composite" association="_GPvjgPpVEeCbIZwHSJSkOQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_AvSWMfpWEeCbIZwHSJSkOQ" name="E_LayerDependency_Dependency1" memberEnd="_AvSWMvpWEeCbIZwHSJSkOQ _AvSWMPpWEeCbIZwHSJSkOQ">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_AvSWMvpWEeCbIZwHSJSkOQ" name="extension_LayerDependency" type="_BRgBAPapEeCMT_0n-PmDbg" aggregation="composite" association="_AvSWMfpWEeCbIZwHSJSkOQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_BO8GofpWEeCbIZwHSJSkOQ" name="E_PluginDependency_Dependency1" memberEnd="_BO8GovpWEeCbIZwHSJSkOQ _BO8GoPpWEeCbIZwHSJSkOQ">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_BO8GovpWEeCbIZwHSJSkOQ" name="extension_PluginDependency" type="_SoO_oPpUEeCbIZwHSJSkOQ" aggregation="composite" association="_BO8GofpWEeCbIZwHSJSkOQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_HHhqoPpWEeCbIZwHSJSkOQ" name="E_Plugin_Package1" memberEnd="_HHhqofpWEeCbIZwHSJSkOQ _HHhDkPpWEeCbIZwHSJSkOQ">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_HHhqofpWEeCbIZwHSJSkOQ" name="extension_Plugin" type="_GbwbsPpUEeCbIZwHSJSkOQ" aggregation="composite" association="_HHhqoPpWEeCbIZwHSJSkOQ"/>
+ </packagedElement>
+ <profileApplication xmi:id="_s0-i8PS6EeCDBuWvZAIMYg">
+ <eAnnotations xmi:id="_s13TwPS6EeCDBuWvZAIMYg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA"/>
+ </eAnnotations>
+ <appliedProfile href="pathmap://UML_PROFILES/Ecore.profile.uml#_0"/>
+ </profileApplication>
+ </uml:Profile>
+ <Ecore:EPackage xmi:id="_wJJpcPS6EeCDBuWvZAIMYg" base_Package="_4J5UIPS3EeCQ4s2W2w_p6A" nsURI="http://www.eclipse.org/papyrus/design/architecture/1" basePackage="org.eclipse.papyrus.design.profile"/>
+</xmi:XMI>
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/models/architecture2.profile.uml b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/models/architecture2.profile.uml
new file mode 100644
index 00000000000..fcf9d456094
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/models/architecture2.profile.uml
@@ -0,0 +1,711 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore="http://www.eclipse.org/uml2/schemas/Ecore/5" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/3.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/uml2/schemas/Ecore/5 pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA">
+ <uml:Profile xmi:id="_4J5UIPS3EeCQ4s2W2w_p6A" name="architecture" metamodelReference="_4J5UIfS3EeCQ4s2W2w_p6A">
+ <eAnnotations xmi:id="_tWgYIPS5EeCQ4s2W2w_p6A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <contents xmi:type="ecore:EPackage" xmi:id="_f-_v8PpVEeCbIZwHSJSkOQ" name="architecture" nsURI="http://www.eclipse.org/papyrus/design/architecture/1" nsPrefix="architecture">
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_f-_v8fpVEeCbIZwHSJSkOQ" name="Layer" eSuperTypes="_f-_wAPpVEeCbIZwHSJSkOQ">
+ <eAnnotations xmi:id="_f-_v8vpVEeCbIZwHSJSkOQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_9DuJ0PS3EeCQ4s2W2w_p6A"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_f-_v8_pVEeCbIZwHSJSkOQ" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_f-_v9fpVEeCbIZwHSJSkOQ" name="parentFolder" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_f-_v9_pVEeCbIZwHSJSkOQ" name="base_Package" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Package"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_f-_v-fpVEeCbIZwHSJSkOQ" name="isDeprecated" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_f-_v-_pVEeCbIZwHSJSkOQ" name="deprecatedComment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_f-_v_fpVEeCbIZwHSJSkOQ" name="referent" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_f-_wAPpVEeCbIZwHSJSkOQ" name="Element" abstract="true">
+ <eAnnotations xmi:id="_f-_wAfpVEeCbIZwHSJSkOQ" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_f-_wAvpVEeCbIZwHSJSkOQ" name="documentation" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_f-_wBPpVEeCbIZwHSJSkOQ" name="comment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_f-_wBvpVEeCbIZwHSJSkOQ" name="LayerDependency" eSuperTypes="_f-_wAPpVEeCbIZwHSJSkOQ">
+ <eAnnotations xmi:id="_f-_wB_pVEeCbIZwHSJSkOQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_BRgBAPapEeCMT_0n-PmDbg"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_f-_wCPpVEeCbIZwHSJSkOQ" name="isDeprecated" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_f-_wCvpVEeCbIZwHSJSkOQ" name="deprecatedComment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_f-_wDPpVEeCbIZwHSJSkOQ" name="base_Dependency" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Dependency"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_f-_wD_pVEeCbIZwHSJSkOQ" name="Plugin" eSuperTypes="_f-_wAPpVEeCbIZwHSJSkOQ">
+ <eAnnotations xmi:id="_f-_wEPpVEeCbIZwHSJSkOQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_GbwbsPpUEeCbIZwHSJSkOQ"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_f-_wEfpVEeCbIZwHSJSkOQ" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_f-_wE_pVEeCbIZwHSJSkOQ" name="parentFolder" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_f-_wFfpVEeCbIZwHSJSkOQ" name="originalParentFolder" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_f-_wF_pVEeCbIZwHSJSkOQ" name="isDeprecated" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_f-_wGfpVEeCbIZwHSJSkOQ" name="deprecatedComment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_f-_wG_pVEeCbIZwHSJSkOQ" name="referent" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_f-_wHfpVEeCbIZwHSJSkOQ" name="base_Package" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Package"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_f-_wIPpVEeCbIZwHSJSkOQ" name="PluginDependency" eSuperTypes="_f-_wAPpVEeCbIZwHSJSkOQ">
+ <eAnnotations xmi:id="_f-_wIfpVEeCbIZwHSJSkOQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_SoO_oPpUEeCbIZwHSJSkOQ"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_f-_wIvpVEeCbIZwHSJSkOQ" name="deprecatedComment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_f-_wJPpVEeCbIZwHSJSkOQ" name="isDeprecated" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_f-_wJvpVEeCbIZwHSJSkOQ" name="base_Dependency" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Dependency"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </contents>
+ <contents xmi:type="ecore:EPackage" xmi:id="_X3s4sPpVEeCbIZwHSJSkOQ" name="architecture" nsURI="http://www.eclipse.org/papyrus/design/architecture/1" nsPrefix="architecture">
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_X3s4sfpVEeCbIZwHSJSkOQ" name="Layer">
+ <eAnnotations xmi:id="_X3s4svpVEeCbIZwHSJSkOQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_9DuJ0PS3EeCQ4s2W2w_p6A"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_X3s4s_pVEeCbIZwHSJSkOQ" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_X3s4tfpVEeCbIZwHSJSkOQ" name="parentFolder" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_X3s4t_pVEeCbIZwHSJSkOQ" name="base_Package" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Package"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_X3s4ufpVEeCbIZwHSJSkOQ" name="isDeprecated" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_X3s4u_pVEeCbIZwHSJSkOQ" name="deprecatedComment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_X3s4vfpVEeCbIZwHSJSkOQ" name="referent" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_X3s4wPpVEeCbIZwHSJSkOQ" name="Element" abstract="true">
+ <eAnnotations xmi:id="_X3s4wfpVEeCbIZwHSJSkOQ" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_X3s4wvpVEeCbIZwHSJSkOQ" name="documentation" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_X3s4xPpVEeCbIZwHSJSkOQ" name="comment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_X3s4xvpVEeCbIZwHSJSkOQ" name="LayerDependency">
+ <eAnnotations xmi:id="_X3s4x_pVEeCbIZwHSJSkOQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_BRgBAPapEeCMT_0n-PmDbg"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_X3s4yPpVEeCbIZwHSJSkOQ" name="isDeprecated" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_X3s4yvpVEeCbIZwHSJSkOQ" name="deprecatedComment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_X3s4zPpVEeCbIZwHSJSkOQ" name="base_Dependency" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Dependency"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_X3s4z_pVEeCbIZwHSJSkOQ" name="Plugin">
+ <eAnnotations xmi:id="_X3s40PpVEeCbIZwHSJSkOQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_GbwbsPpUEeCbIZwHSJSkOQ"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_X3s40fpVEeCbIZwHSJSkOQ" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_X3s40_pVEeCbIZwHSJSkOQ" name="parentFolder" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_X3tfwfpVEeCbIZwHSJSkOQ" name="originalParentFolder" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_X3tfw_pVEeCbIZwHSJSkOQ" name="isDeprecated" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_X3tfxfpVEeCbIZwHSJSkOQ" name="deprecatedComment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_X3tfx_pVEeCbIZwHSJSkOQ" name="referent" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_X3tfyfpVEeCbIZwHSJSkOQ" name="base_Package" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Package"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_X3tfzPpVEeCbIZwHSJSkOQ" name="PluginDependency">
+ <eAnnotations xmi:id="_X3tfzfpVEeCbIZwHSJSkOQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_SoO_oPpUEeCbIZwHSJSkOQ"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_X3tfzvpVEeCbIZwHSJSkOQ" name="deprecatedComment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_X3tf0PpVEeCbIZwHSJSkOQ" name="isDeprecated" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_X3tf0vpVEeCbIZwHSJSkOQ" name="base_Dependency" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Dependency"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </contents>
+ <contents xmi:type="ecore:EPackage" xmi:id="_ewIh4fasEeCMT_0n-PmDbg" name="architecture" nsURI="http://www.eclipse.org/papyrus/design/architecture/1" nsPrefix="architecture">
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_ewIh4vasEeCMT_0n-PmDbg" name="Layer" eSuperTypes="_ewIh8fasEeCMT_0n-PmDbg">
+ <eAnnotations xmi:id="_ewIh4_asEeCMT_0n-PmDbg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_9DuJ0PS3EeCQ4s2W2w_p6A"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ewIh5PasEeCMT_0n-PmDbg" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ewIh5vasEeCMT_0n-PmDbg" name="parentFolder" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_ewIh6PasEeCMT_0n-PmDbg" name="base_Package" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Package"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ewIh6vasEeCMT_0n-PmDbg" name="isDeprecated" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ewIh7PasEeCMT_0n-PmDbg" name="deprecatedComment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ewIh7vasEeCMT_0n-PmDbg" name="referent" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_ewIh8fasEeCMT_0n-PmDbg" name="Element" abstract="true">
+ <eAnnotations xmi:id="_ewIh8vasEeCMT_0n-PmDbg" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ewIh8_asEeCMT_0n-PmDbg" name="documentation" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ewIh9fasEeCMT_0n-PmDbg" name="comment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_ewIh9_asEeCMT_0n-PmDbg" name="LayerDependency" eSuperTypes="_ewIh8fasEeCMT_0n-PmDbg">
+ <eAnnotations xmi:id="_ewIh-PasEeCMT_0n-PmDbg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_BRgBAPapEeCMT_0n-PmDbg"/>
+ </eClassifiers>
+ </contents>
+ <contents xmi:type="ecore:EPackage" xmi:id="_blvpgPasEeCMT_0n-PmDbg" name="architecture" nsURI="http://www.eclipse.org/papyrus/design/architecture/1" nsPrefix="architecture">
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_blvpgfasEeCMT_0n-PmDbg" name="Layer" eSuperTypes="_blvpkPasEeCMT_0n-PmDbg">
+ <eAnnotations xmi:id="_blvpgvasEeCMT_0n-PmDbg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_9DuJ0PS3EeCQ4s2W2w_p6A"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_blvpg_asEeCMT_0n-PmDbg" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_blvphfasEeCMT_0n-PmDbg" name="parentFolder" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_blvph_asEeCMT_0n-PmDbg" name="base_Package" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Package"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_blvpifasEeCMT_0n-PmDbg" name="isDeprecated" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_blvpi_asEeCMT_0n-PmDbg" name="deprecatedComment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_blvpjfasEeCMT_0n-PmDbg" name="referent" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_blvpkPasEeCMT_0n-PmDbg" name="Element" abstract="true">
+ <eAnnotations xmi:id="_blvpkfasEeCMT_0n-PmDbg" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_blvpkvasEeCMT_0n-PmDbg" name="documentation" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_blvplPasEeCMT_0n-PmDbg" name="comment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_blvplvasEeCMT_0n-PmDbg" name="LayerDependency" eSuperTypes="_blvpkPasEeCMT_0n-PmDbg">
+ <eAnnotations xmi:id="_blvpl_asEeCMT_0n-PmDbg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_BRgBAPapEeCMT_0n-PmDbg"/>
+ </eClassifiers>
+ </contents>
+ <contents xmi:type="ecore:EPackage" xmi:id="_o1PmIParEeCMT_0n-PmDbg" name="architecture" nsURI="http://www.eclipse.org/papyrus/design/architecture/1" nsPrefix="architecture">
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_o1PmIfarEeCMT_0n-PmDbg" name="Layer" eSuperTypes="_o1PmL_arEeCMT_0n-PmDbg">
+ <eAnnotations xmi:id="_o1PmIvarEeCMT_0n-PmDbg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_9DuJ0PS3EeCQ4s2W2w_p6A"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_o1PmI_arEeCMT_0n-PmDbg" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_o1PmJfarEeCMT_0n-PmDbg" name="parentFolder" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_o1PmJ_arEeCMT_0n-PmDbg" name="base_Package" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Package"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_o1PmKfarEeCMT_0n-PmDbg" name="isDeprecated" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_o1PmK_arEeCMT_0n-PmDbg" name="deprecatedComment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_o1PmLfarEeCMT_0n-PmDbg" name="referent" ordered="false" lowerBound="1"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_o1PmL_arEeCMT_0n-PmDbg" name="Element" abstract="true">
+ <eAnnotations xmi:id="_o1PmMParEeCMT_0n-PmDbg" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_o1PmMfarEeCMT_0n-PmDbg" name="documentation" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_o1PmM_arEeCMT_0n-PmDbg" name="comment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_o1PmNfarEeCMT_0n-PmDbg" name="LayerDependency" eSuperTypes="_o1PmL_arEeCMT_0n-PmDbg">
+ <eAnnotations xmi:id="_o1PmNvarEeCMT_0n-PmDbg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_BRgBAPapEeCMT_0n-PmDbg"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_o1PmOParEeCMT_0n-PmDbg" name="Class0">
+ <eAnnotations xmi:id="_o1PmOfarEeCMT_0n-PmDbg" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_o1PmOvarEeCMT_0n-PmDbg" name="firstName" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_o1PmPParEeCMT_0n-PmDbg" name="lastName" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_o1PmPvarEeCMT_0n-PmDbg" name="email" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_o1PmQParEeCMT_0n-PmDbg" name="company" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </contents>
+ <contents xmi:type="ecore:EPackage" xmi:id="_ZoB1EfarEeCMT_0n-PmDbg" name="architecture" nsURI="http://www.eclipse.org/papyrus/design/architecture/1" nsPrefix="architecture">
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_ZoB1EvarEeCMT_0n-PmDbg" name="Layer" eSuperTypes="_ZoCcJParEeCMT_0n-PmDbg">
+ <eAnnotations xmi:id="_ZoB1E_arEeCMT_0n-PmDbg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_9DuJ0PS3EeCQ4s2W2w_p6A"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ZoB1FParEeCMT_0n-PmDbg" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ZoB1FvarEeCMT_0n-PmDbg" name="parentFolder" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_ZoB1GParEeCMT_0n-PmDbg" name="base_Package" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Package"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ZoB1GvarEeCMT_0n-PmDbg" name="isDeprecated" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ZoB1HParEeCMT_0n-PmDbg" name="deprecatedComment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_ZoCcIfarEeCMT_0n-PmDbg" name="referent" ordered="false" lowerBound="1" eType="_ZoCcKvarEeCMT_0n-PmDbg"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_ZoCcJParEeCMT_0n-PmDbg" name="Element" abstract="true">
+ <eAnnotations xmi:id="_ZoCcJfarEeCMT_0n-PmDbg" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ZoCcJvarEeCMT_0n-PmDbg" name="documentation" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ZoCcKParEeCMT_0n-PmDbg" name="comment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_ZoCcKvarEeCMT_0n-PmDbg" name="Committer">
+ <eAnnotations xmi:id="_ZoCcK_arEeCMT_0n-PmDbg" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ZoCcLParEeCMT_0n-PmDbg" name="firstName" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ZoCcLvarEeCMT_0n-PmDbg" name="lastName" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ZoCcMParEeCMT_0n-PmDbg" name="email" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ZoCcMvarEeCMT_0n-PmDbg" name="company" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_ZoCcNParEeCMT_0n-PmDbg" name="LayerDependency" eSuperTypes="_ZoCcJParEeCMT_0n-PmDbg">
+ <eAnnotations xmi:id="_ZoCcNfarEeCMT_0n-PmDbg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_BRgBAPapEeCMT_0n-PmDbg"/>
+ </eClassifiers>
+ </contents>
+ <contents xmi:type="ecore:EPackage" xmi:id="_MZcT4ParEeCMT_0n-PmDbg" name="architecture" nsURI="http://www.eclipse.org/papyrus/design/architecture/1" nsPrefix="architecture">
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_MZcT4farEeCMT_0n-PmDbg" name="Layer">
+ <eAnnotations xmi:id="_MZcT4varEeCMT_0n-PmDbg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_9DuJ0PS3EeCQ4s2W2w_p6A"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_MZcT4_arEeCMT_0n-PmDbg" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_MZcT5farEeCMT_0n-PmDbg" name="parentFolder" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_MZcT5_arEeCMT_0n-PmDbg" name="base_Package" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Package"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_MZcT6farEeCMT_0n-PmDbg" name="isDeprecated" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_MZcT6_arEeCMT_0n-PmDbg" name="deprecatedComment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_MZcT7farEeCMT_0n-PmDbg" name="referent" ordered="false" lowerBound="1" eType="_MZcT8ParEeCMT_0n-PmDbg"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_MZcT8ParEeCMT_0n-PmDbg" name="Committer">
+ <eAnnotations xmi:id="_MZcT8farEeCMT_0n-PmDbg" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_MZcT8varEeCMT_0n-PmDbg" name="firstName" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_MZcT9ParEeCMT_0n-PmDbg" name="lastName" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_MZcT9varEeCMT_0n-PmDbg" name="email" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_MZcT-ParEeCMT_0n-PmDbg" name="company" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_MZcT-varEeCMT_0n-PmDbg" name="Element" abstract="true">
+ <eAnnotations xmi:id="_MZcT-_arEeCMT_0n-PmDbg" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_MZcT_ParEeCMT_0n-PmDbg" name="documentation" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_MZcT_varEeCMT_0n-PmDbg" name="comment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_MZcUAParEeCMT_0n-PmDbg" name="LayerDependency">
+ <eAnnotations xmi:id="_MZcUAfarEeCMT_0n-PmDbg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_BRgBAPapEeCMT_0n-PmDbg"/>
+ </eClassifiers>
+ </contents>
+ <contents xmi:type="ecore:EPackage" xmi:id="_I8W30PTQEeCDBuWvZAIMYg" name="architecture" nsURI="http://www.eclipse.org/papyrus/design/architecture/1" nsPrefix="architecture">
+ <eAnnotations xmi:id="_I8aiMPTQEeCDBuWvZAIMYg" source="PapyrusVersion">
+ <details xmi:id="_I8aiMfTQEeCDBuWvZAIMYg" key="Version" value="0.0.6"/>
+ <details xmi:id="_I8aiMvTQEeCDBuWvZAIMYg" key="Comment" value=""/>
+ <details xmi:id="_I8aiM_TQEeCDBuWvZAIMYg" key="Copyright" value=""/>
+ <details xmi:id="_I8aiNPTQEeCDBuWvZAIMYg" key="Date" value="2011-10-12"/>
+ <details xmi:id="_I8aiNfTQEeCDBuWvZAIMYg" key="Author" value=""/>
+ </eAnnotations>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_I8W30fTQEeCDBuWvZAIMYg" name="Layer" eSuperTypes="_I8W32vTQEeCDBuWvZAIMYg">
+ <eAnnotations xmi:id="_I8W30vTQEeCDBuWvZAIMYg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_9DuJ0PS3EeCQ4s2W2w_p6A"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_I8W30_TQEeCDBuWvZAIMYg" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_I8W31fTQEeCDBuWvZAIMYg" name="parentFolder" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_I8W31_TQEeCDBuWvZAIMYg" name="base_Package" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Package"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_I8W32vTQEeCDBuWvZAIMYg" name="Element" abstract="true">
+ <eAnnotations xmi:id="_I8W32_TQEeCDBuWvZAIMYg" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_I8W33PTQEeCDBuWvZAIMYg" name="documentation" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_I8W33vTQEeCDBuWvZAIMYg" name="comment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </contents>
+ <contents xmi:type="ecore:EPackage" xmi:id="_ATlEIPTQEeCDBuWvZAIMYg" name="architecture" nsURI="http://www.eclipse.org/papyrus/design/architecture/1" nsPrefix="architecture">
+ <eAnnotations xmi:id="_ATlrMPTQEeCDBuWvZAIMYg" source="PapyrusVersion">
+ <details xmi:id="_ATlrMfTQEeCDBuWvZAIMYg" key="Version" value="0.0.5"/>
+ <details xmi:id="_ATlrMvTQEeCDBuWvZAIMYg" key="Comment" value=""/>
+ <details xmi:id="_ATlrM_TQEeCDBuWvZAIMYg" key="Copyright" value=""/>
+ <details xmi:id="_ATlrNPTQEeCDBuWvZAIMYg" key="Date" value="2011-10-12"/>
+ <details xmi:id="_ATlrNfTQEeCDBuWvZAIMYg" key="Author" value=""/>
+ </eAnnotations>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_ATlEIfTQEeCDBuWvZAIMYg" name="Layer" eSuperTypes="_ATlEKPTQEeCDBuWvZAIMYg">
+ <eAnnotations xmi:id="_ATlEIvTQEeCDBuWvZAIMYg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_9DuJ0PS3EeCQ4s2W2w_p6A"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ATlEI_TQEeCDBuWvZAIMYg" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ATlEJfTQEeCDBuWvZAIMYg" name="parentFolder" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_ATlEKPTQEeCDBuWvZAIMYg" name="Element" abstract="true">
+ <eAnnotations xmi:id="_ATlEKfTQEeCDBuWvZAIMYg" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ATlEKvTQEeCDBuWvZAIMYg" name="documentation" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_ATlELPTQEeCDBuWvZAIMYg" name="comment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </contents>
+ <contents xmi:type="ecore:EPackage" xmi:id="_2doSsPTPEeCDBuWvZAIMYg" name="architecture" nsURI="http://www.eclipse.org/papyrus/design/architecture/1" nsPrefix="architecture">
+ <eAnnotations xmi:id="_2dqH4PTPEeCDBuWvZAIMYg" source="PapyrusVersion">
+ <details xmi:id="_2dqH4fTPEeCDBuWvZAIMYg" key="Version" value="0.0.4"/>
+ <details xmi:id="_2dqH4vTPEeCDBuWvZAIMYg" key="Comment" value=""/>
+ <details xmi:id="_2dqH4_TPEeCDBuWvZAIMYg" key="Copyright" value=""/>
+ <details xmi:id="_2dqH5PTPEeCDBuWvZAIMYg" key="Date" value="2011-10-12"/>
+ <details xmi:id="_2dqH5fTPEeCDBuWvZAIMYg" key="Author" value=""/>
+ </eAnnotations>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_2doSsfTPEeCDBuWvZAIMYg" name="Layer" eSuperTypes="_2doSuvTPEeCDBuWvZAIMYg">
+ <eAnnotations xmi:id="_2doSsvTPEeCDBuWvZAIMYg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_9DuJ0PS3EeCQ4s2W2w_p6A"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_2doSs_TPEeCDBuWvZAIMYg" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_2doStfTPEeCDBuWvZAIMYg" name="parentFolder" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_2doSt_TPEeCDBuWvZAIMYg" name="base_Package" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Package"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_2doSuvTPEeCDBuWvZAIMYg" name="Element" abstract="true">
+ <eAnnotations xmi:id="_2doSu_TPEeCDBuWvZAIMYg" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_2doSvPTPEeCDBuWvZAIMYg" name="documentation" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_2doSvvTPEeCDBuWvZAIMYg" name="comment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </contents>
+ <contents xmi:type="ecore:EPackage" xmi:id="_mK4c8fTPEeCDBuWvZAIMYg" name="architecture" nsURI="http://www.eclipse.org/papyrus/design/architecture/1" nsPrefix="architecture">
+ <eAnnotations xmi:id="_mK8HUPTPEeCDBuWvZAIMYg" source="PapyrusVersion">
+ <details xmi:id="_mK8HUfTPEeCDBuWvZAIMYg" key="Version" value="0.0.3"/>
+ <details xmi:id="_mK8HUvTPEeCDBuWvZAIMYg" key="Comment" value=""/>
+ <details xmi:id="_mK8HU_TPEeCDBuWvZAIMYg" key="Copyright" value=""/>
+ <details xmi:id="_mK8HVPTPEeCDBuWvZAIMYg" key="Date" value="2011-10-12"/>
+ <details xmi:id="_mK8HVfTPEeCDBuWvZAIMYg" key="Author" value=""/>
+ </eAnnotations>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_mK4c8vTPEeCDBuWvZAIMYg" name="Layer" eSuperTypes="_mK5EB_TPEeCDBuWvZAIMYg">
+ <eAnnotations xmi:id="_mK4c8_TPEeCDBuWvZAIMYg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_9DuJ0PS3EeCQ4s2W2w_p6A"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_mK4c9PTPEeCDBuWvZAIMYg" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_mK5EAPTPEeCDBuWvZAIMYg" name="parentFolder" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_mK5EAvTPEeCDBuWvZAIMYg" name="base_Package" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Package"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_mK5EBPTPEeCDBuWvZAIMYg" name="base_Model" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Model"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_mK5EB_TPEeCDBuWvZAIMYg" name="Element" abstract="true">
+ <eAnnotations xmi:id="_mK5ECPTPEeCDBuWvZAIMYg" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_mK5ECfTPEeCDBuWvZAIMYg" name="documentation" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_mK5EC_TPEeCDBuWvZAIMYg" name="comment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </contents>
+ <contents xmi:type="ecore:EPackage" xmi:id="_g8PTAPS9EeCDBuWvZAIMYg" name="architecture" nsURI="http://www.eclipse.org/papyrus/design/architecture/1" nsPrefix="architecture">
+ <eAnnotations xmi:id="_g8SWUPS9EeCDBuWvZAIMYg" source="PapyrusVersion">
+ <details xmi:id="_g8SWUfS9EeCDBuWvZAIMYg" key="Version" value="0.0.2"/>
+ <details xmi:id="_g8SWUvS9EeCDBuWvZAIMYg" key="Comment" value=""/>
+ <details xmi:id="_g8SWU_S9EeCDBuWvZAIMYg" key="Copyright" value=""/>
+ <details xmi:id="_g8SWVPS9EeCDBuWvZAIMYg" key="Date" value="2011-10-12"/>
+ <details xmi:id="_g8SWVfS9EeCDBuWvZAIMYg" key="Author" value=""/>
+ </eAnnotations>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_g8PTAfS9EeCDBuWvZAIMYg" name="Layer" eSuperTypes="_g8PTCPS9EeCDBuWvZAIMYg">
+ <eAnnotations xmi:id="_g8PTAvS9EeCDBuWvZAIMYg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_9DuJ0PS3EeCQ4s2W2w_p6A"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_g8PTA_S9EeCDBuWvZAIMYg" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_g8PTBfS9EeCDBuWvZAIMYg" name="parentFolder" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_g8PTCPS9EeCDBuWvZAIMYg" name="Element" abstract="true">
+ <eAnnotations xmi:id="_g8PTCfS9EeCDBuWvZAIMYg" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_g8PTCvS9EeCDBuWvZAIMYg" name="documentation" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_g8PTDPS9EeCDBuWvZAIMYg" name="comment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </contents>
+ <contents xmi:type="ecore:EPackage" xmi:id="_tWgYIfS5EeCQ4s2W2w_p6A" name="Profile" nsURI="http:///schemas/Profile/_tWdU0PS5EeCQ4s2W2w_p6A/0" nsPrefix="Profile">
+ <eAnnotations xmi:id="_tWjbcPS5EeCQ4s2W2w_p6A" source="PapyrusVersion">
+ <details xmi:id="_tWjbcfS5EeCQ4s2W2w_p6A" key="Version" value="0.0.1"/>
+ <details xmi:id="_tWjbcvS5EeCQ4s2W2w_p6A" key="Comment" value=""/>
+ <details xmi:id="_tWjbc_S5EeCQ4s2W2w_p6A" key="Copyright" value="Cedric Dumoulin"/>
+ <details xmi:id="_tWjbdPS5EeCQ4s2W2w_p6A" key="Date" value="2011-10-12"/>
+ <details xmi:id="_tWjbdfS5EeCQ4s2W2w_p6A" key="Author" value=""/>
+ </eAnnotations>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_tWgYIvS5EeCQ4s2W2w_p6A" name="layer" eSuperTypes="_tWgYKfS5EeCQ4s2W2w_p6A">
+ <eAnnotations xmi:id="_tWgYI_S5EeCQ4s2W2w_p6A" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_9DuJ0PS3EeCQ4s2W2w_p6A"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_tWgYJPS5EeCQ4s2W2w_p6A" name="name" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_tWgYJvS5EeCQ4s2W2w_p6A" name="parentFolder" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_tWgYKfS5EeCQ4s2W2w_p6A" name="Element" abstract="true">
+ <eAnnotations xmi:id="_tWgYKvS5EeCQ4s2W2w_p6A" source="http://www.eclipse.org/uml2/2.0.0/UML"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_tWgYK_S5EeCQ4s2W2w_p6A" name="documentation" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_tWgYLfS5EeCQ4s2W2w_p6A" name="comment" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </contents>
+ </eAnnotations>
+ <packageImport xmi:id="_4J5UIfS3EeCQ4s2W2w_p6A">
+ <importedPackage xmi:type="uml:Model" href="pathmap://UML_METAMODELS/UML.metamodel.uml#_0"/>
+ </packageImport>
+ <packageImport xmi:id="_4J5UIvS3EeCQ4s2W2w_p6A">
+ <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+ </packageImport>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_9DuJ0PS3EeCQ4s2W2w_p6A" name="Layer">
+ <ownedAttribute xmi:id="_CE8A8PS4EeCQ4s2W2w_p6A" name="name">
+ <ownedComment xmi:id="_VjUFMPS4EeCQ4s2W2w_p6A" annotatedElement="_CE8A8PS4EeCQ4s2W2w_p6A">
+ <body>&lt;p>&#xD;
+ An alternative name to be used in place of the stereotyped element's name.&#xD;
+&lt;/p></body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_U5kvMPS5EeCQ4s2W2w_p6A" name="parentFolder">
+ <ownedComment xmi:id="_U5kvMfS5EeCQ4s2W2w_p6A" annotatedElement="_U5kvMPS5EeCQ4s2W2w_p6A">
+ <body>&lt;p>&#xD;
+ The name of the parent folder that will contain the layer, if any.&#xD;
+&lt;/p>&#xD;
+&lt;p>&#xD;
+ If no parent is specified, the layer is 'virtual' (no corresponding physical folder)&#xD;
+&lt;/p>&#xD;
+&lt;p>&#xD;
+ Ex: plugins&#xD;
+&lt;/p></body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_HAJp0PTQEeCDBuWvZAIMYg" name="base_Package" association="_HAKQ4PTQEeCDBuWvZAIMYg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_L3QCQPaqEeCMT_0n-PmDbg" name="isDeprecated">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_Ykw2sPaqEeCMT_0n-PmDbg" name="deprecatedComment">
+ <ownedComment xmi:id="_Ykw2sfaqEeCMT_0n-PmDbg" annotatedElement="_Ykw2sPaqEeCMT_0n-PmDbg">
+ <body>&lt;p>&#xD;
+ A comment associated to the isDeprecated=true&#xD;
+&lt;/p></body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_z55b0PaqEeCMT_0n-PmDbg" name="referent">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_HAKQ4PTQEeCDBuWvZAIMYg" name="E_Layer_Package0" memberEnd="_HAKQ4fTQEeCDBuWvZAIMYg _HAJp0PTQEeCDBuWvZAIMYg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_HAKQ4fTQEeCDBuWvZAIMYg" name="extension_Layer" type="_9DuJ0PS3EeCQ4s2W2w_p6A" aggregation="composite" association="_HAKQ4PTQEeCDBuWvZAIMYg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_BRgBAPapEeCMT_0n-PmDbg" name="LayerDependency">
+ <ownedComment xmi:id="_D_G2wPapEeCMT_0n-PmDbg" annotatedElement="_BRgBAPapEeCMT_0n-PmDbg">
+ <body>&lt;p>&#xD;
+ A dependency between two layers.&#xD;
+&lt;/p>&#xD;
+&lt;p>&#xD;
+ This dependency is computed from the dependencies of internal layer or packages.&#xD;
+&lt;/p></body>
+ </ownedComment>
+ <ownedAttribute xmi:id="_cg_NcPpUEeCbIZwHSJSkOQ" name="isDeprecated">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_cg_0gPpUEeCbIZwHSJSkOQ" name="deprecatedComment">
+ <ownedComment xmi:id="_cg_0gfpUEeCbIZwHSJSkOQ" annotatedElement="_cg_0gPpUEeCbIZwHSJSkOQ">
+ <body>&lt;p>&#xD;
+ A comment associated to the isDeprecated=true&#xD;
+&lt;/p></body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_Brk0wPpVEeCbIZwHSJSkOQ" name="base_Dependency" association="_Brlb0PpVEeCbIZwHSJSkOQ">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Dependency"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_GbwbsPpUEeCbIZwHSJSkOQ" name="Plugin">
+ <ownedAttribute xmi:id="_Xk8KMfpUEeCbIZwHSJSkOQ" name="name">
+ <ownedComment xmi:id="_Xk8KMvpUEeCbIZwHSJSkOQ" annotatedElement="_Xk8KMfpUEeCbIZwHSJSkOQ">
+ <body>&lt;p>&#xD;
+ An alternative name to be used in place of the stereotyped element's name.&#xD;
+&lt;/p></body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_Xk8xQ_pUEeCbIZwHSJSkOQ" name="parentFolder">
+ <ownedComment xmi:id="_Xk8xRPpUEeCbIZwHSJSkOQ" annotatedElement="_Xk8xQ_pUEeCbIZwHSJSkOQ">
+ <body>&lt;p>&#xD;
+ The name of the parent folder that will contain the layer, if any.&#xD;
+&lt;/p>&#xD;
+&lt;p>&#xD;
+ If no parent is specified, the layer is 'virtual' (no corresponding physical folder)&#xD;
+&lt;/p>&#xD;
+&lt;p>&#xD;
+ Ex: plugins&#xD;
+&lt;/p></body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_jifhUPpUEeCbIZwHSJSkOQ" name="originalParentFolder">
+ <ownedComment xmi:id="_jifhUfpUEeCbIZwHSJSkOQ" annotatedElement="_jifhUPpUEeCbIZwHSJSkOQ">
+ <body>&lt;p>&#xD;
+ The name of the parent folder that was containing the layer before the refactoring, if any.&#xD;
+&lt;/p>&#xD;
+</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_Xk8KMPpUEeCbIZwHSJSkOQ" name="isDeprecated">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_Xk8xQPpUEeCbIZwHSJSkOQ" name="deprecatedComment">
+ <ownedComment xmi:id="_Xk8xQfpUEeCbIZwHSJSkOQ" annotatedElement="_Xk8xQPpUEeCbIZwHSJSkOQ">
+ <body>&lt;p>&#xD;
+ A comment associated to the isDeprecated=true&#xD;
+&lt;/p></body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_Xk8xQvpUEeCbIZwHSJSkOQ" name="referent">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_GPu8cPpVEeCbIZwHSJSkOQ" name="base_Package" association="_GPvjgPpVEeCbIZwHSJSkOQ">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_SoO_oPpUEeCbIZwHSJSkOQ" name="PluginDependency">
+ <ownedAttribute xmi:id="_dN_dYPpUEeCbIZwHSJSkOQ" name="deprecatedComment">
+ <ownedComment xmi:id="_dN_dYfpUEeCbIZwHSJSkOQ" annotatedElement="_dN_dYPpUEeCbIZwHSJSkOQ">
+ <body>&lt;p>&#xD;
+ A comment associated to the isDeprecated=true&#xD;
+&lt;/p></body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_dN_dYvpUEeCbIZwHSJSkOQ" name="isDeprecated">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_BGdVgPpVEeCbIZwHSJSkOQ" name="base_Dependency" association="_BGejoPpVEeCbIZwHSJSkOQ">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Dependency"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_BGejoPpVEeCbIZwHSJSkOQ" name="E_PluginDependency_Dependency0" memberEnd="_BGejofpVEeCbIZwHSJSkOQ _BGdVgPpVEeCbIZwHSJSkOQ">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_BGejofpVEeCbIZwHSJSkOQ" name="extension_PluginDependency" type="_SoO_oPpUEeCbIZwHSJSkOQ" aggregation="composite" association="_BGejoPpVEeCbIZwHSJSkOQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_Brlb0PpVEeCbIZwHSJSkOQ" name="E_LayerDependency_Dependency0" memberEnd="_Brlb0fpVEeCbIZwHSJSkOQ _Brk0wPpVEeCbIZwHSJSkOQ">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_Brlb0fpVEeCbIZwHSJSkOQ" name="extension_LayerDependency" type="_BRgBAPapEeCMT_0n-PmDbg" aggregation="composite" association="_Brlb0PpVEeCbIZwHSJSkOQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_GPvjgPpVEeCbIZwHSJSkOQ" name="E_Plugin_Package0" memberEnd="_GPvjgfpVEeCbIZwHSJSkOQ _GPu8cPpVEeCbIZwHSJSkOQ">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_GPvjgfpVEeCbIZwHSJSkOQ" name="extension_Plugin" type="_GbwbsPpUEeCbIZwHSJSkOQ" aggregation="composite" association="_GPvjgPpVEeCbIZwHSJSkOQ"/>
+ </packagedElement>
+ <profileApplication xmi:id="_s0-i8PS6EeCDBuWvZAIMYg">
+ <eAnnotations xmi:id="_s13TwPS6EeCDBuWvZAIMYg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA"/>
+ </eAnnotations>
+ <appliedProfile href="pathmap://UML_PROFILES/Ecore.profile.uml#_0"/>
+ </profileApplication>
+ </uml:Profile>
+ <Ecore:EPackage xmi:id="_wJJpcPS6EeCDBuWvZAIMYg" base_Package="_4J5UIPS3EeCQ4s2W2w_p6A" nsURI="http://www.eclipse.org/papyrus/design/architecture/1" basePackage="org.eclipse.papyrus.design.profile"/>
+</xmi:XMI>
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/plugin.properties b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/plugin.properties
new file mode 100644
index 00000000000..7f0a5199c46
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/plugin.properties
@@ -0,0 +1,16 @@
+
+#################################################################################
+# Copyright (c) 2011 Cedric Dumoulin.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Cedric Dumoulin Cedric.dumoulin@lifl.fr - Initial API
+#
+#################################################################################
+
+pluginName = Profile for software architecture design
+providerName = Cedric Dumoulin
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/plugin.xml b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/plugin.xml
new file mode 100644
index 00000000000..3257eeef536
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/plugin.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ <copyright>
+ </copyright>
+
+ $Id$
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri="http://www.eclipse.org/papyrus/design/architecture/1"
+ class="org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage"
+ genModel="models/architecture.profile.genmodel"/>
+ </extension>
+ <extension
+ point="org.eclipse.emf.ecore.uri_mapping">
+ <mapping
+ source="pathmap://Papyrus_DESIGN_PROFILES_ARCHITECTURE/"
+ target="platform:/plugin/org.eclipse.papyrus.design.profile.architecture/models/">
+ </mapping>
+ </extension>
+ <extension
+ point="org.eclipse.uml2.uml.generated_package">
+ <profile
+ location="pathmap://Papyrus_DESIGN_PROFILES_ARCHITECTURE/architecture.profile.uml#_4J5UIPS3EeCQ4s2W2w_p6A"
+ uri="http://www.eclipse.org/papyrus/design/architecture/1">
+ </profile>
+ </extension>
+ <extension
+ point="org.eclipse.papyrus.extensionpoints.uml2.UMLProfile">
+ <profile
+ description="Profile for software architecture design"
+ iconpath="icons/architectureprofile.gif"
+ name="Architecture"
+ path="pathmap://Papyrus_DESIGN_PROFILES_ARCHITECTURE/architecture.profile.uml"
+ provider="Cedric Dumoulin">
+ </profile>
+ </extension>
+
+</plugin>
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/ArchitectureFactory.java b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/ArchitectureFactory.java
new file mode 100644
index 00000000000..dbe61fc397b
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/ArchitectureFactory.java
@@ -0,0 +1,73 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.design.profile.architecture;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage
+ * @generated
+ */
+public interface ArchitectureFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ ArchitectureFactory eINSTANCE = org.eclipse.papyrus.design.profile.architecture.impl.ArchitectureFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Layer</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Layer</em>'.
+ * @generated
+ */
+ Layer createLayer();
+
+ /**
+ * Returns a new object of class '<em>Layer Dependency</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Layer Dependency</em>'.
+ * @generated
+ */
+ LayerDependency createLayerDependency();
+
+ /**
+ * Returns a new object of class '<em>Plugin</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Plugin</em>'.
+ * @generated
+ */
+ Plugin createPlugin();
+
+ /**
+ * Returns a new object of class '<em>Plugin Dependency</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Plugin Dependency</em>'.
+ * @generated
+ */
+ PluginDependency createPluginDependency();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ ArchitecturePackage getArchitecturePackage();
+
+} //ArchitectureFactory
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/ArchitecturePackage.java b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/ArchitecturePackage.java
new file mode 100644
index 00000000000..c28e55559a8
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/ArchitecturePackage.java
@@ -0,0 +1,944 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.design.profile.architecture;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.design.profile.architecture.ArchitectureFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface ArchitecturePackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "architecture";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/design/architecture/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "architecture";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ ArchitecturePackage eINSTANCE = org.eclipse.papyrus.design.profile.architecture.impl.ArchitecturePackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.design.profile.architecture.impl.ElementImpl <em>Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.design.profile.architecture.impl.ElementImpl
+ * @see org.eclipse.papyrus.design.profile.architecture.impl.ArchitecturePackageImpl#getElement()
+ * @generated
+ */
+ int ELEMENT = 1;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ELEMENT__DOCUMENTATION = 0;
+
+ /**
+ * The feature id for the '<em><b>Comment</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ELEMENT__COMMENT = 1;
+
+ /**
+ * The number of structural features of the '<em>Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.design.profile.architecture.impl.LayerImpl <em>Layer</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.design.profile.architecture.impl.LayerImpl
+ * @see org.eclipse.papyrus.design.profile.architecture.impl.ArchitecturePackageImpl#getLayer()
+ * @generated
+ */
+ int LAYER = 0;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYER__DOCUMENTATION = ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Comment</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYER__COMMENT = ELEMENT__COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYER__NAME = ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Parent Folder</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYER__PARENT_FOLDER = ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYER__BASE_PACKAGE = ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Is Deprecated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYER__IS_DEPRECATED = ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Deprecated Comment</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYER__DEPRECATED_COMMENT = ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Referent</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYER__REFERENT = ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Layer</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYER_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 6;
+
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.design.profile.architecture.impl.LayerDependencyImpl <em>Layer Dependency</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.design.profile.architecture.impl.LayerDependencyImpl
+ * @see org.eclipse.papyrus.design.profile.architecture.impl.ArchitecturePackageImpl#getLayerDependency()
+ * @generated
+ */
+ int LAYER_DEPENDENCY = 2;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYER_DEPENDENCY__DOCUMENTATION = ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Comment</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYER_DEPENDENCY__COMMENT = ELEMENT__COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Is Deprecated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYER_DEPENDENCY__IS_DEPRECATED = ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Deprecated Comment</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYER_DEPENDENCY__DEPRECATED_COMMENT = ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Dependency</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYER_DEPENDENCY__BASE_DEPENDENCY = ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Layer Dependency</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYER_DEPENDENCY_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 3;
+
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.design.profile.architecture.impl.PluginImpl <em>Plugin</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.design.profile.architecture.impl.PluginImpl
+ * @see org.eclipse.papyrus.design.profile.architecture.impl.ArchitecturePackageImpl#getPlugin()
+ * @generated
+ */
+ int PLUGIN = 3;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PLUGIN__DOCUMENTATION = ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Comment</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PLUGIN__COMMENT = ELEMENT__COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PLUGIN__NAME = ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Parent Folder</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PLUGIN__PARENT_FOLDER = ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Original Parent Folder</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PLUGIN__ORIGINAL_PARENT_FOLDER = ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Is Deprecated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PLUGIN__IS_DEPRECATED = ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Deprecated Comment</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PLUGIN__DEPRECATED_COMMENT = ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Referent</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PLUGIN__REFERENT = ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PLUGIN__BASE_PACKAGE = ELEMENT_FEATURE_COUNT + 6;
+
+ /**
+ * The number of structural features of the '<em>Plugin</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PLUGIN_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.design.profile.architecture.impl.PluginDependencyImpl <em>Plugin Dependency</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.design.profile.architecture.impl.PluginDependencyImpl
+ * @see org.eclipse.papyrus.design.profile.architecture.impl.ArchitecturePackageImpl#getPluginDependency()
+ * @generated
+ */
+ int PLUGIN_DEPENDENCY = 4;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PLUGIN_DEPENDENCY__DOCUMENTATION = ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Comment</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PLUGIN_DEPENDENCY__COMMENT = ELEMENT__COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Deprecated Comment</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PLUGIN_DEPENDENCY__DEPRECATED_COMMENT = ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Is Deprecated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PLUGIN_DEPENDENCY__IS_DEPRECATED = ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Dependency</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PLUGIN_DEPENDENCY__BASE_DEPENDENCY = ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Plugin Dependency</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PLUGIN_DEPENDENCY_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 3;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.design.profile.architecture.Layer <em>Layer</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Layer</em>'.
+ * @see org.eclipse.papyrus.design.profile.architecture.Layer
+ * @generated
+ */
+ EClass getLayer();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.design.profile.architecture.Layer#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.papyrus.design.profile.architecture.Layer#getName()
+ * @see #getLayer()
+ * @generated
+ */
+ EAttribute getLayer_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.design.profile.architecture.Layer#getParentFolder <em>Parent Folder</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Parent Folder</em>'.
+ * @see org.eclipse.papyrus.design.profile.architecture.Layer#getParentFolder()
+ * @see #getLayer()
+ * @generated
+ */
+ EAttribute getLayer_ParentFolder();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.design.profile.architecture.Layer#getBase_Package <em>Base Package</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Package</em>'.
+ * @see org.eclipse.papyrus.design.profile.architecture.Layer#getBase_Package()
+ * @see #getLayer()
+ * @generated
+ */
+ EReference getLayer_Base_Package();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.design.profile.architecture.Layer#isDeprecated <em>Is Deprecated</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Deprecated</em>'.
+ * @see org.eclipse.papyrus.design.profile.architecture.Layer#isDeprecated()
+ * @see #getLayer()
+ * @generated
+ */
+ EAttribute getLayer_IsDeprecated();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.design.profile.architecture.Layer#getDeprecatedComment <em>Deprecated Comment</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Deprecated Comment</em>'.
+ * @see org.eclipse.papyrus.design.profile.architecture.Layer#getDeprecatedComment()
+ * @see #getLayer()
+ * @generated
+ */
+ EAttribute getLayer_DeprecatedComment();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.design.profile.architecture.Layer#getReferent <em>Referent</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Referent</em>'.
+ * @see org.eclipse.papyrus.design.profile.architecture.Layer#getReferent()
+ * @see #getLayer()
+ * @generated
+ */
+ EAttribute getLayer_Referent();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.design.profile.architecture.Element <em>Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Element</em>'.
+ * @see org.eclipse.papyrus.design.profile.architecture.Element
+ * @generated
+ */
+ EClass getElement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.design.profile.architecture.Element#getDocumentation <em>Documentation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Documentation</em>'.
+ * @see org.eclipse.papyrus.design.profile.architecture.Element#getDocumentation()
+ * @see #getElement()
+ * @generated
+ */
+ EAttribute getElement_Documentation();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.design.profile.architecture.Element#getComment <em>Comment</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Comment</em>'.
+ * @see org.eclipse.papyrus.design.profile.architecture.Element#getComment()
+ * @see #getElement()
+ * @generated
+ */
+ EAttribute getElement_Comment();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.design.profile.architecture.LayerDependency <em>Layer Dependency</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Layer Dependency</em>'.
+ * @see org.eclipse.papyrus.design.profile.architecture.LayerDependency
+ * @generated
+ */
+ EClass getLayerDependency();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.design.profile.architecture.LayerDependency#isDeprecated <em>Is Deprecated</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Deprecated</em>'.
+ * @see org.eclipse.papyrus.design.profile.architecture.LayerDependency#isDeprecated()
+ * @see #getLayerDependency()
+ * @generated
+ */
+ EAttribute getLayerDependency_IsDeprecated();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.design.profile.architecture.LayerDependency#getDeprecatedComment <em>Deprecated Comment</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Deprecated Comment</em>'.
+ * @see org.eclipse.papyrus.design.profile.architecture.LayerDependency#getDeprecatedComment()
+ * @see #getLayerDependency()
+ * @generated
+ */
+ EAttribute getLayerDependency_DeprecatedComment();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.design.profile.architecture.LayerDependency#getBase_Dependency <em>Base Dependency</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Dependency</em>'.
+ * @see org.eclipse.papyrus.design.profile.architecture.LayerDependency#getBase_Dependency()
+ * @see #getLayerDependency()
+ * @generated
+ */
+ EReference getLayerDependency_Base_Dependency();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.design.profile.architecture.Plugin <em>Plugin</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Plugin</em>'.
+ * @see org.eclipse.papyrus.design.profile.architecture.Plugin
+ * @generated
+ */
+ EClass getPlugin();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.design.profile.architecture.Plugin#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.papyrus.design.profile.architecture.Plugin#getName()
+ * @see #getPlugin()
+ * @generated
+ */
+ EAttribute getPlugin_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.design.profile.architecture.Plugin#getParentFolder <em>Parent Folder</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Parent Folder</em>'.
+ * @see org.eclipse.papyrus.design.profile.architecture.Plugin#getParentFolder()
+ * @see #getPlugin()
+ * @generated
+ */
+ EAttribute getPlugin_ParentFolder();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.design.profile.architecture.Plugin#getOriginalParentFolder <em>Original Parent Folder</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Original Parent Folder</em>'.
+ * @see org.eclipse.papyrus.design.profile.architecture.Plugin#getOriginalParentFolder()
+ * @see #getPlugin()
+ * @generated
+ */
+ EAttribute getPlugin_OriginalParentFolder();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.design.profile.architecture.Plugin#isDeprecated <em>Is Deprecated</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Deprecated</em>'.
+ * @see org.eclipse.papyrus.design.profile.architecture.Plugin#isDeprecated()
+ * @see #getPlugin()
+ * @generated
+ */
+ EAttribute getPlugin_IsDeprecated();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.design.profile.architecture.Plugin#getDeprecatedComment <em>Deprecated Comment</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Deprecated Comment</em>'.
+ * @see org.eclipse.papyrus.design.profile.architecture.Plugin#getDeprecatedComment()
+ * @see #getPlugin()
+ * @generated
+ */
+ EAttribute getPlugin_DeprecatedComment();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.design.profile.architecture.Plugin#getReferent <em>Referent</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Referent</em>'.
+ * @see org.eclipse.papyrus.design.profile.architecture.Plugin#getReferent()
+ * @see #getPlugin()
+ * @generated
+ */
+ EAttribute getPlugin_Referent();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.design.profile.architecture.Plugin#getBase_Package <em>Base Package</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Package</em>'.
+ * @see org.eclipse.papyrus.design.profile.architecture.Plugin#getBase_Package()
+ * @see #getPlugin()
+ * @generated
+ */
+ EReference getPlugin_Base_Package();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.design.profile.architecture.PluginDependency <em>Plugin Dependency</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Plugin Dependency</em>'.
+ * @see org.eclipse.papyrus.design.profile.architecture.PluginDependency
+ * @generated
+ */
+ EClass getPluginDependency();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.design.profile.architecture.PluginDependency#getDeprecatedComment <em>Deprecated Comment</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Deprecated Comment</em>'.
+ * @see org.eclipse.papyrus.design.profile.architecture.PluginDependency#getDeprecatedComment()
+ * @see #getPluginDependency()
+ * @generated
+ */
+ EAttribute getPluginDependency_DeprecatedComment();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.design.profile.architecture.PluginDependency#isDeprecated <em>Is Deprecated</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Deprecated</em>'.
+ * @see org.eclipse.papyrus.design.profile.architecture.PluginDependency#isDeprecated()
+ * @see #getPluginDependency()
+ * @generated
+ */
+ EAttribute getPluginDependency_IsDeprecated();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.design.profile.architecture.PluginDependency#getBase_Dependency <em>Base Dependency</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Dependency</em>'.
+ * @see org.eclipse.papyrus.design.profile.architecture.PluginDependency#getBase_Dependency()
+ * @see #getPluginDependency()
+ * @generated
+ */
+ EReference getPluginDependency_Base_Dependency();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ ArchitectureFactory getArchitectureFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.design.profile.architecture.impl.LayerImpl <em>Layer</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.design.profile.architecture.impl.LayerImpl
+ * @see org.eclipse.papyrus.design.profile.architecture.impl.ArchitecturePackageImpl#getLayer()
+ * @generated
+ */
+ EClass LAYER = eINSTANCE.getLayer();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LAYER__NAME = eINSTANCE.getLayer_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Parent Folder</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LAYER__PARENT_FOLDER = eINSTANCE.getLayer_ParentFolder();
+
+ /**
+ * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference LAYER__BASE_PACKAGE = eINSTANCE.getLayer_Base_Package();
+
+ /**
+ * The meta object literal for the '<em><b>Is Deprecated</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LAYER__IS_DEPRECATED = eINSTANCE.getLayer_IsDeprecated();
+
+ /**
+ * The meta object literal for the '<em><b>Deprecated Comment</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LAYER__DEPRECATED_COMMENT = eINSTANCE.getLayer_DeprecatedComment();
+
+ /**
+ * The meta object literal for the '<em><b>Referent</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LAYER__REFERENT = eINSTANCE.getLayer_Referent();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.design.profile.architecture.impl.ElementImpl <em>Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.design.profile.architecture.impl.ElementImpl
+ * @see org.eclipse.papyrus.design.profile.architecture.impl.ArchitecturePackageImpl#getElement()
+ * @generated
+ */
+ EClass ELEMENT = eINSTANCE.getElement();
+
+ /**
+ * The meta object literal for the '<em><b>Documentation</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ELEMENT__DOCUMENTATION = eINSTANCE.getElement_Documentation();
+
+ /**
+ * The meta object literal for the '<em><b>Comment</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ELEMENT__COMMENT = eINSTANCE.getElement_Comment();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.design.profile.architecture.impl.LayerDependencyImpl <em>Layer Dependency</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.design.profile.architecture.impl.LayerDependencyImpl
+ * @see org.eclipse.papyrus.design.profile.architecture.impl.ArchitecturePackageImpl#getLayerDependency()
+ * @generated
+ */
+ EClass LAYER_DEPENDENCY = eINSTANCE.getLayerDependency();
+
+ /**
+ * The meta object literal for the '<em><b>Is Deprecated</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LAYER_DEPENDENCY__IS_DEPRECATED = eINSTANCE.getLayerDependency_IsDeprecated();
+
+ /**
+ * The meta object literal for the '<em><b>Deprecated Comment</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LAYER_DEPENDENCY__DEPRECATED_COMMENT = eINSTANCE.getLayerDependency_DeprecatedComment();
+
+ /**
+ * The meta object literal for the '<em><b>Base Dependency</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference LAYER_DEPENDENCY__BASE_DEPENDENCY = eINSTANCE.getLayerDependency_Base_Dependency();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.design.profile.architecture.impl.PluginImpl <em>Plugin</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.design.profile.architecture.impl.PluginImpl
+ * @see org.eclipse.papyrus.design.profile.architecture.impl.ArchitecturePackageImpl#getPlugin()
+ * @generated
+ */
+ EClass PLUGIN = eINSTANCE.getPlugin();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PLUGIN__NAME = eINSTANCE.getPlugin_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Parent Folder</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PLUGIN__PARENT_FOLDER = eINSTANCE.getPlugin_ParentFolder();
+
+ /**
+ * The meta object literal for the '<em><b>Original Parent Folder</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PLUGIN__ORIGINAL_PARENT_FOLDER = eINSTANCE.getPlugin_OriginalParentFolder();
+
+ /**
+ * The meta object literal for the '<em><b>Is Deprecated</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PLUGIN__IS_DEPRECATED = eINSTANCE.getPlugin_IsDeprecated();
+
+ /**
+ * The meta object literal for the '<em><b>Deprecated Comment</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PLUGIN__DEPRECATED_COMMENT = eINSTANCE.getPlugin_DeprecatedComment();
+
+ /**
+ * The meta object literal for the '<em><b>Referent</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PLUGIN__REFERENT = eINSTANCE.getPlugin_Referent();
+
+ /**
+ * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PLUGIN__BASE_PACKAGE = eINSTANCE.getPlugin_Base_Package();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.design.profile.architecture.impl.PluginDependencyImpl <em>Plugin Dependency</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.design.profile.architecture.impl.PluginDependencyImpl
+ * @see org.eclipse.papyrus.design.profile.architecture.impl.ArchitecturePackageImpl#getPluginDependency()
+ * @generated
+ */
+ EClass PLUGIN_DEPENDENCY = eINSTANCE.getPluginDependency();
+
+ /**
+ * The meta object literal for the '<em><b>Deprecated Comment</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PLUGIN_DEPENDENCY__DEPRECATED_COMMENT = eINSTANCE.getPluginDependency_DeprecatedComment();
+
+ /**
+ * The meta object literal for the '<em><b>Is Deprecated</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PLUGIN_DEPENDENCY__IS_DEPRECATED = eINSTANCE.getPluginDependency_IsDeprecated();
+
+ /**
+ * The meta object literal for the '<em><b>Base Dependency</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PLUGIN_DEPENDENCY__BASE_DEPENDENCY = eINSTANCE.getPluginDependency_Base_Dependency();
+
+ }
+
+} //ArchitecturePackage
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/Element.java b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/Element.java
new file mode 100644
index 00000000000..31f12a8305b
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/Element.java
@@ -0,0 +1,79 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.design.profile.architecture;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.Element#getDocumentation <em>Documentation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.Element#getComment <em>Comment</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage#getElement()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Element extends EObject {
+ /**
+ * Returns the value of the '<em><b>Documentation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The documentation associated to the element.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Documentation</em>' attribute.
+ * @see #setDocumentation(String)
+ * @see org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage#getElement_Documentation()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ String getDocumentation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.design.profile.architecture.Element#getDocumentation <em>Documentation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Documentation</em>' attribute.
+ * @see #getDocumentation()
+ * @generated
+ */
+ void setDocumentation(String value);
+
+ /**
+ * Returns the value of the '<em><b>Comment</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A comment added to the element. This can be used to discuss about an element.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Comment</em>' attribute.
+ * @see #setComment(String)
+ * @see org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage#getElement_Comment()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ String getComment();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.design.profile.architecture.Element#getComment <em>Comment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Comment</em>' attribute.
+ * @see #getComment()
+ * @generated
+ */
+ void setComment(String value);
+
+} // Element
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/Layer.java b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/Layer.java
new file mode 100644
index 00000000000..cb3de12ec57
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/Layer.java
@@ -0,0 +1,197 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.design.profile.architecture;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Layer</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.Layer#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.Layer#getParentFolder <em>Parent Folder</em>}</li>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.Layer#getBase_Package <em>Base Package</em>}</li>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.Layer#isDeprecated <em>Is Deprecated</em>}</li>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.Layer#getDeprecatedComment <em>Deprecated Comment</em>}</li>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.Layer#getReferent <em>Referent</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage#getLayer()
+ * @model
+ * @generated
+ */
+public interface Layer extends Element {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <p>
+ * An alternative name to be used in place of the stereotyped element's name.
+ * </p>
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage#getLayer_Name()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.design.profile.architecture.Layer#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Parent Folder</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <p>
+ * The name of the parent folder that will contain the layer, if any.
+ * </p>
+ * <p>
+ * If no parent is specified, the layer is 'virtual' (no corresponding physical folder)
+ * </p>
+ * <p>
+ * Ex: plugins
+ * </p>
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Parent Folder</em>' attribute.
+ * @see #setParentFolder(String)
+ * @see org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage#getLayer_ParentFolder()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ String getParentFolder();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.design.profile.architecture.Layer#getParentFolder <em>Parent Folder</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Parent Folder</em>' attribute.
+ * @see #getParentFolder()
+ * @generated
+ */
+ void setParentFolder(String value);
+
+ /**
+ * Returns the value of the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Package</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Package</em>' reference.
+ * @see #setBase_Package(org.eclipse.uml2.uml.Package)
+ * @see org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage#getLayer_Base_Package()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Package getBase_Package();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.design.profile.architecture.Layer#getBase_Package <em>Base Package</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Package</em>' reference.
+ * @see #getBase_Package()
+ * @generated
+ */
+ void setBase_Package(org.eclipse.uml2.uml.Package value);
+
+ /**
+ * Returns the value of the '<em><b>Is Deprecated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Deprecated</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Is Deprecated</em>' attribute.
+ * @see #setIsDeprecated(boolean)
+ * @see org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage#getLayer_IsDeprecated()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ boolean isDeprecated();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.design.profile.architecture.Layer#isDeprecated <em>Is Deprecated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Deprecated</em>' attribute.
+ * @see #isDeprecated()
+ * @generated
+ */
+ void setIsDeprecated(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Deprecated Comment</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <p>
+ * A comment associated to the isDeprecated=true
+ * </p>
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Deprecated Comment</em>' attribute.
+ * @see #setDeprecatedComment(String)
+ * @see org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage#getLayer_DeprecatedComment()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ String getDeprecatedComment();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.design.profile.architecture.Layer#getDeprecatedComment <em>Deprecated Comment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Deprecated Comment</em>' attribute.
+ * @see #getDeprecatedComment()
+ * @generated
+ */
+ void setDeprecatedComment(String value);
+
+ /**
+ * Returns the value of the '<em><b>Referent</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Referent</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Referent</em>' attribute.
+ * @see #setReferent(String)
+ * @see org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage#getLayer_Referent()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ String getReferent();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.design.profile.architecture.Layer#getReferent <em>Referent</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Referent</em>' attribute.
+ * @see #getReferent()
+ * @generated
+ */
+ void setReferent(String value);
+
+} // Layer
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/LayerDependency.java b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/LayerDependency.java
new file mode 100644
index 00000000000..1e089f9dab6
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/LayerDependency.java
@@ -0,0 +1,119 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.design.profile.architecture;
+
+import org.eclipse.uml2.uml.Dependency;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Layer Dependency</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * <p>
+ * A dependency between two layers.
+ * </p>
+ * <p>
+ * This dependency is computed from the dependencies of internal layer or packages.
+ * </p>
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.LayerDependency#isDeprecated <em>Is Deprecated</em>}</li>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.LayerDependency#getDeprecatedComment <em>Deprecated Comment</em>}</li>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.LayerDependency#getBase_Dependency <em>Base Dependency</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage#getLayerDependency()
+ * @model
+ * @generated
+ */
+public interface LayerDependency extends Element {
+
+ /**
+ * Returns the value of the '<em><b>Is Deprecated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Deprecated</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Is Deprecated</em>' attribute.
+ * @see #setIsDeprecated(boolean)
+ * @see org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage#getLayerDependency_IsDeprecated()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ boolean isDeprecated();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.design.profile.architecture.LayerDependency#isDeprecated <em>Is Deprecated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Deprecated</em>' attribute.
+ * @see #isDeprecated()
+ * @generated
+ */
+ void setIsDeprecated(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Deprecated Comment</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <p>
+ * A comment associated to the isDeprecated=true
+ * </p>
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Deprecated Comment</em>' attribute.
+ * @see #setDeprecatedComment(String)
+ * @see org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage#getLayerDependency_DeprecatedComment()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ String getDeprecatedComment();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.design.profile.architecture.LayerDependency#getDeprecatedComment <em>Deprecated Comment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Deprecated Comment</em>' attribute.
+ * @see #getDeprecatedComment()
+ * @generated
+ */
+ void setDeprecatedComment(String value);
+
+ /**
+ * Returns the value of the '<em><b>Base Dependency</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Dependency</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Dependency</em>' reference.
+ * @see #setBase_Dependency(Dependency)
+ * @see org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage#getLayerDependency_Base_Dependency()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Dependency getBase_Dependency();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.design.profile.architecture.LayerDependency#getBase_Dependency <em>Base Dependency</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Dependency</em>' reference.
+ * @see #getBase_Dependency()
+ * @generated
+ */
+ void setBase_Dependency(Dependency value);
+} // LayerDependency
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/Plugin.java b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/Plugin.java
new file mode 100644
index 00000000000..fb5f0305e9f
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/Plugin.java
@@ -0,0 +1,226 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.design.profile.architecture;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Plugin</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.Plugin#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.Plugin#getParentFolder <em>Parent Folder</em>}</li>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.Plugin#getOriginalParentFolder <em>Original Parent Folder</em>}</li>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.Plugin#isDeprecated <em>Is Deprecated</em>}</li>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.Plugin#getDeprecatedComment <em>Deprecated Comment</em>}</li>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.Plugin#getReferent <em>Referent</em>}</li>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.Plugin#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage#getPlugin()
+ * @model
+ * @generated
+ */
+public interface Plugin extends Element {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <p>
+ * An alternative name to be used in place of the stereotyped element's name.
+ * </p>
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage#getPlugin_Name()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.design.profile.architecture.Plugin#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Parent Folder</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <p>
+ * The name of the parent folder that will contain the layer, if any.
+ * </p>
+ * <p>
+ * If no parent is specified, the layer is 'virtual' (no corresponding physical folder)
+ * </p>
+ * <p>
+ * Ex: plugins
+ * </p>
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Parent Folder</em>' attribute.
+ * @see #setParentFolder(String)
+ * @see org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage#getPlugin_ParentFolder()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ String getParentFolder();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.design.profile.architecture.Plugin#getParentFolder <em>Parent Folder</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Parent Folder</em>' attribute.
+ * @see #getParentFolder()
+ * @generated
+ */
+ void setParentFolder(String value);
+
+ /**
+ * Returns the value of the '<em><b>Original Parent Folder</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <p>
+ * The name of the parent folder that was containing the layer before the refactoring, if any.
+ * </p>
+ *
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Original Parent Folder</em>' attribute.
+ * @see #setOriginalParentFolder(String)
+ * @see org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage#getPlugin_OriginalParentFolder()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ String getOriginalParentFolder();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.design.profile.architecture.Plugin#getOriginalParentFolder <em>Original Parent Folder</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Original Parent Folder</em>' attribute.
+ * @see #getOriginalParentFolder()
+ * @generated
+ */
+ void setOriginalParentFolder(String value);
+
+ /**
+ * Returns the value of the '<em><b>Is Deprecated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Deprecated</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Is Deprecated</em>' attribute.
+ * @see #setIsDeprecated(boolean)
+ * @see org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage#getPlugin_IsDeprecated()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ boolean isDeprecated();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.design.profile.architecture.Plugin#isDeprecated <em>Is Deprecated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Deprecated</em>' attribute.
+ * @see #isDeprecated()
+ * @generated
+ */
+ void setIsDeprecated(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Deprecated Comment</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <p>
+ * A comment associated to the isDeprecated=true
+ * </p>
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Deprecated Comment</em>' attribute.
+ * @see #setDeprecatedComment(String)
+ * @see org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage#getPlugin_DeprecatedComment()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ String getDeprecatedComment();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.design.profile.architecture.Plugin#getDeprecatedComment <em>Deprecated Comment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Deprecated Comment</em>' attribute.
+ * @see #getDeprecatedComment()
+ * @generated
+ */
+ void setDeprecatedComment(String value);
+
+ /**
+ * Returns the value of the '<em><b>Referent</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Referent</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Referent</em>' attribute.
+ * @see #setReferent(String)
+ * @see org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage#getPlugin_Referent()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ String getReferent();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.design.profile.architecture.Plugin#getReferent <em>Referent</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Referent</em>' attribute.
+ * @see #getReferent()
+ * @generated
+ */
+ void setReferent(String value);
+
+ /**
+ * Returns the value of the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Package</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Package</em>' reference.
+ * @see #setBase_Package(org.eclipse.uml2.uml.Package)
+ * @see org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage#getPlugin_Base_Package()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Package getBase_Package();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.design.profile.architecture.Plugin#getBase_Package <em>Base Package</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Package</em>' reference.
+ * @see #getBase_Package()
+ * @generated
+ */
+ void setBase_Package(org.eclipse.uml2.uml.Package value);
+
+} // Plugin
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/PluginDependency.java b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/PluginDependency.java
new file mode 100644
index 00000000000..28c1b159b11
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/PluginDependency.java
@@ -0,0 +1,109 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.design.profile.architecture;
+
+import org.eclipse.uml2.uml.Dependency;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Plugin Dependency</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.PluginDependency#getDeprecatedComment <em>Deprecated Comment</em>}</li>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.PluginDependency#isDeprecated <em>Is Deprecated</em>}</li>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.PluginDependency#getBase_Dependency <em>Base Dependency</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage#getPluginDependency()
+ * @model
+ * @generated
+ */
+public interface PluginDependency extends Element {
+ /**
+ * Returns the value of the '<em><b>Deprecated Comment</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * <p>
+ * A comment associated to the isDeprecated=true
+ * </p>
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Deprecated Comment</em>' attribute.
+ * @see #setDeprecatedComment(String)
+ * @see org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage#getPluginDependency_DeprecatedComment()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ String getDeprecatedComment();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.design.profile.architecture.PluginDependency#getDeprecatedComment <em>Deprecated Comment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Deprecated Comment</em>' attribute.
+ * @see #getDeprecatedComment()
+ * @generated
+ */
+ void setDeprecatedComment(String value);
+
+ /**
+ * Returns the value of the '<em><b>Is Deprecated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Deprecated</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Is Deprecated</em>' attribute.
+ * @see #setIsDeprecated(boolean)
+ * @see org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage#getPluginDependency_IsDeprecated()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ boolean isDeprecated();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.design.profile.architecture.PluginDependency#isDeprecated <em>Is Deprecated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Deprecated</em>' attribute.
+ * @see #isDeprecated()
+ * @generated
+ */
+ void setIsDeprecated(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Base Dependency</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Dependency</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Dependency</em>' reference.
+ * @see #setBase_Dependency(Dependency)
+ * @see org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage#getPluginDependency_Base_Dependency()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Dependency getBase_Dependency();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.design.profile.architecture.PluginDependency#getBase_Dependency <em>Base Dependency</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Dependency</em>' reference.
+ * @see #getBase_Dependency()
+ * @generated
+ */
+ void setBase_Dependency(Dependency value);
+
+} // PluginDependency
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/impl/ArchitectureFactoryImpl.java b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/impl/ArchitectureFactoryImpl.java
new file mode 100644
index 00000000000..6a3b6318359
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/impl/ArchitectureFactoryImpl.java
@@ -0,0 +1,132 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.design.profile.architecture.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.papyrus.design.profile.architecture.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ArchitectureFactoryImpl extends EFactoryImpl implements ArchitectureFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ArchitectureFactory init() {
+ try {
+ ArchitectureFactory theArchitectureFactory = (ArchitectureFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/papyrus/design/architecture/1");
+ if (theArchitectureFactory != null) {
+ return theArchitectureFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new ArchitectureFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ArchitectureFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case ArchitecturePackage.LAYER: return createLayer();
+ case ArchitecturePackage.LAYER_DEPENDENCY: return createLayerDependency();
+ case ArchitecturePackage.PLUGIN: return createPlugin();
+ case ArchitecturePackage.PLUGIN_DEPENDENCY: return createPluginDependency();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Layer createLayer() {
+ LayerImpl layer = new LayerImpl();
+ return layer;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LayerDependency createLayerDependency() {
+ LayerDependencyImpl layerDependency = new LayerDependencyImpl();
+ return layerDependency;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Plugin createPlugin() {
+ PluginImpl plugin = new PluginImpl();
+ return plugin;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PluginDependency createPluginDependency() {
+ PluginDependencyImpl pluginDependency = new PluginDependencyImpl();
+ return pluginDependency;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ArchitecturePackage getArchitecturePackage() {
+ return (ArchitecturePackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static ArchitecturePackage getPackage() {
+ return ArchitecturePackage.eINSTANCE;
+ }
+
+} //ArchitectureFactoryImpl
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/impl/ArchitecturePackageImpl.java b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/impl/ArchitecturePackageImpl.java
new file mode 100644
index 00000000000..98578dcda52
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/impl/ArchitecturePackageImpl.java
@@ -0,0 +1,497 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.design.profile.architecture.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.design.profile.architecture.ArchitectureFactory;
+import org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage;
+import org.eclipse.papyrus.design.profile.architecture.Element;
+import org.eclipse.papyrus.design.profile.architecture.Layer;
+import org.eclipse.papyrus.design.profile.architecture.LayerDependency;
+import org.eclipse.papyrus.design.profile.architecture.Plugin;
+import org.eclipse.papyrus.design.profile.architecture.PluginDependency;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ArchitecturePackageImpl extends EPackageImpl implements ArchitecturePackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass layerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass elementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass layerDependencyEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass pluginEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass pluginDependencyEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private ArchitecturePackageImpl() {
+ super(eNS_URI, ArchitectureFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link ArchitecturePackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static ArchitecturePackage init() {
+ if (isInited) return (ArchitecturePackage)EPackage.Registry.INSTANCE.getEPackage(ArchitecturePackage.eNS_URI);
+
+ // Obtain or create and register package
+ ArchitecturePackageImpl theArchitecturePackage = (ArchitecturePackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof ArchitecturePackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new ArchitecturePackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ UMLPackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ theArchitecturePackage.createPackageContents();
+
+ // Initialize created meta-data
+ theArchitecturePackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theArchitecturePackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(ArchitecturePackage.eNS_URI, theArchitecturePackage);
+ return theArchitecturePackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLayer() {
+ return layerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLayer_Name() {
+ return (EAttribute)layerEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLayer_ParentFolder() {
+ return (EAttribute)layerEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLayer_Base_Package() {
+ return (EReference)layerEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLayer_IsDeprecated() {
+ return (EAttribute)layerEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLayer_DeprecatedComment() {
+ return (EAttribute)layerEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLayer_Referent() {
+ return (EAttribute)layerEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getElement() {
+ return elementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getElement_Documentation() {
+ return (EAttribute)elementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getElement_Comment() {
+ return (EAttribute)elementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLayerDependency() {
+ return layerDependencyEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLayerDependency_IsDeprecated() {
+ return (EAttribute)layerDependencyEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLayerDependency_DeprecatedComment() {
+ return (EAttribute)layerDependencyEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLayerDependency_Base_Dependency() {
+ return (EReference)layerDependencyEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPlugin() {
+ return pluginEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPlugin_Name() {
+ return (EAttribute)pluginEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPlugin_ParentFolder() {
+ return (EAttribute)pluginEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPlugin_OriginalParentFolder() {
+ return (EAttribute)pluginEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPlugin_IsDeprecated() {
+ return (EAttribute)pluginEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPlugin_DeprecatedComment() {
+ return (EAttribute)pluginEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPlugin_Referent() {
+ return (EAttribute)pluginEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPlugin_Base_Package() {
+ return (EReference)pluginEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPluginDependency() {
+ return pluginDependencyEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPluginDependency_DeprecatedComment() {
+ return (EAttribute)pluginDependencyEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPluginDependency_IsDeprecated() {
+ return (EAttribute)pluginDependencyEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPluginDependency_Base_Dependency() {
+ return (EReference)pluginDependencyEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ArchitectureFactory getArchitectureFactory() {
+ return (ArchitectureFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ layerEClass = createEClass(LAYER);
+ createEAttribute(layerEClass, LAYER__NAME);
+ createEAttribute(layerEClass, LAYER__PARENT_FOLDER);
+ createEReference(layerEClass, LAYER__BASE_PACKAGE);
+ createEAttribute(layerEClass, LAYER__IS_DEPRECATED);
+ createEAttribute(layerEClass, LAYER__DEPRECATED_COMMENT);
+ createEAttribute(layerEClass, LAYER__REFERENT);
+
+ elementEClass = createEClass(ELEMENT);
+ createEAttribute(elementEClass, ELEMENT__DOCUMENTATION);
+ createEAttribute(elementEClass, ELEMENT__COMMENT);
+
+ layerDependencyEClass = createEClass(LAYER_DEPENDENCY);
+ createEAttribute(layerDependencyEClass, LAYER_DEPENDENCY__IS_DEPRECATED);
+ createEAttribute(layerDependencyEClass, LAYER_DEPENDENCY__DEPRECATED_COMMENT);
+ createEReference(layerDependencyEClass, LAYER_DEPENDENCY__BASE_DEPENDENCY);
+
+ pluginEClass = createEClass(PLUGIN);
+ createEAttribute(pluginEClass, PLUGIN__NAME);
+ createEAttribute(pluginEClass, PLUGIN__PARENT_FOLDER);
+ createEAttribute(pluginEClass, PLUGIN__ORIGINAL_PARENT_FOLDER);
+ createEAttribute(pluginEClass, PLUGIN__IS_DEPRECATED);
+ createEAttribute(pluginEClass, PLUGIN__DEPRECATED_COMMENT);
+ createEAttribute(pluginEClass, PLUGIN__REFERENT);
+ createEReference(pluginEClass, PLUGIN__BASE_PACKAGE);
+
+ pluginDependencyEClass = createEClass(PLUGIN_DEPENDENCY);
+ createEAttribute(pluginDependencyEClass, PLUGIN_DEPENDENCY__DEPRECATED_COMMENT);
+ createEAttribute(pluginDependencyEClass, PLUGIN_DEPENDENCY__IS_DEPRECATED);
+ createEReference(pluginDependencyEClass, PLUGIN_DEPENDENCY__BASE_DEPENDENCY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ layerEClass.getESuperTypes().add(this.getElement());
+ layerDependencyEClass.getESuperTypes().add(this.getElement());
+ pluginEClass.getESuperTypes().add(this.getElement());
+ pluginDependencyEClass.getESuperTypes().add(this.getElement());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(layerEClass, Layer.class, "Layer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getLayer_Name(), ecorePackage.getEString(), "name", null, 1, 1, Layer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getLayer_ParentFolder(), ecorePackage.getEString(), "parentFolder", null, 1, 1, Layer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getLayer_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 1, 1, Layer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getLayer_IsDeprecated(), ecorePackage.getEBoolean(), "isDeprecated", null, 1, 1, Layer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getLayer_DeprecatedComment(), ecorePackage.getEString(), "deprecatedComment", null, 1, 1, Layer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getLayer_Referent(), ecorePackage.getEString(), "referent", null, 1, 1, Layer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(elementEClass, Element.class, "Element", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getElement_Documentation(), ecorePackage.getEString(), "documentation", null, 1, 1, Element.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getElement_Comment(), ecorePackage.getEString(), "comment", null, 1, 1, Element.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(layerDependencyEClass, LayerDependency.class, "LayerDependency", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getLayerDependency_IsDeprecated(), ecorePackage.getEBoolean(), "isDeprecated", null, 1, 1, LayerDependency.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getLayerDependency_DeprecatedComment(), ecorePackage.getEString(), "deprecatedComment", null, 1, 1, LayerDependency.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getLayerDependency_Base_Dependency(), theUMLPackage.getDependency(), null, "base_Dependency", null, 1, 1, LayerDependency.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(pluginEClass, Plugin.class, "Plugin", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getPlugin_Name(), ecorePackage.getEString(), "name", null, 1, 1, Plugin.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getPlugin_ParentFolder(), ecorePackage.getEString(), "parentFolder", null, 1, 1, Plugin.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getPlugin_OriginalParentFolder(), ecorePackage.getEString(), "originalParentFolder", null, 1, 1, Plugin.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getPlugin_IsDeprecated(), ecorePackage.getEBoolean(), "isDeprecated", null, 1, 1, Plugin.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getPlugin_DeprecatedComment(), ecorePackage.getEString(), "deprecatedComment", null, 1, 1, Plugin.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getPlugin_Referent(), ecorePackage.getEString(), "referent", null, 1, 1, Plugin.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getPlugin_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 1, 1, Plugin.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(pluginDependencyEClass, PluginDependency.class, "PluginDependency", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getPluginDependency_DeprecatedComment(), ecorePackage.getEString(), "deprecatedComment", null, 1, 1, PluginDependency.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getPluginDependency_IsDeprecated(), ecorePackage.getEBoolean(), "isDeprecated", null, 1, 1, PluginDependency.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getPluginDependency_Base_Dependency(), theUMLPackage.getDependency(), null, "base_Dependency", null, 1, 1, PluginDependency.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //ArchitecturePackageImpl
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/impl/ElementImpl.java b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/impl/ElementImpl.java
new file mode 100644
index 00000000000..6a0f88e33a6
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/impl/ElementImpl.java
@@ -0,0 +1,221 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.design.profile.architecture.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage;
+import org.eclipse.papyrus.design.profile.architecture.Element;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.impl.ElementImpl#getDocumentation <em>Documentation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.impl.ElementImpl#getComment <em>Comment</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class ElementImpl extends EObjectImpl implements Element {
+ /**
+ * The default value of the '{@link #getDocumentation() <em>Documentation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDocumentation()
+ * @generated
+ * @ordered
+ */
+ protected static final String DOCUMENTATION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDocumentation() <em>Documentation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDocumentation()
+ * @generated
+ * @ordered
+ */
+ protected String documentation = DOCUMENTATION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getComment() <em>Comment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getComment()
+ * @generated
+ * @ordered
+ */
+ protected static final String COMMENT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getComment() <em>Comment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getComment()
+ * @generated
+ * @ordered
+ */
+ protected String comment = COMMENT_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ArchitecturePackage.Literals.ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDocumentation() {
+ return documentation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDocumentation(String newDocumentation) {
+ String oldDocumentation = documentation;
+ documentation = newDocumentation;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ArchitecturePackage.ELEMENT__DOCUMENTATION, oldDocumentation, documentation));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getComment() {
+ return comment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setComment(String newComment) {
+ String oldComment = comment;
+ comment = newComment;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ArchitecturePackage.ELEMENT__COMMENT, oldComment, comment));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ArchitecturePackage.ELEMENT__DOCUMENTATION:
+ return getDocumentation();
+ case ArchitecturePackage.ELEMENT__COMMENT:
+ return getComment();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ArchitecturePackage.ELEMENT__DOCUMENTATION:
+ setDocumentation((String)newValue);
+ return;
+ case ArchitecturePackage.ELEMENT__COMMENT:
+ setComment((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ArchitecturePackage.ELEMENT__DOCUMENTATION:
+ setDocumentation(DOCUMENTATION_EDEFAULT);
+ return;
+ case ArchitecturePackage.ELEMENT__COMMENT:
+ setComment(COMMENT_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ArchitecturePackage.ELEMENT__DOCUMENTATION:
+ return DOCUMENTATION_EDEFAULT == null ? documentation != null : !DOCUMENTATION_EDEFAULT.equals(documentation);
+ case ArchitecturePackage.ELEMENT__COMMENT:
+ return COMMENT_EDEFAULT == null ? comment != null : !COMMENT_EDEFAULT.equals(comment);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (documentation: ");
+ result.append(documentation);
+ result.append(", comment: ");
+ result.append(comment);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ElementImpl
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/impl/LayerDependencyImpl.java b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/impl/LayerDependencyImpl.java
new file mode 100644
index 00000000000..fe71614b31e
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/impl/LayerDependencyImpl.java
@@ -0,0 +1,276 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.design.profile.architecture.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage;
+import org.eclipse.papyrus.design.profile.architecture.LayerDependency;
+import org.eclipse.uml2.uml.Dependency;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Layer Dependency</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.impl.LayerDependencyImpl#isDeprecated <em>Is Deprecated</em>}</li>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.impl.LayerDependencyImpl#getDeprecatedComment <em>Deprecated Comment</em>}</li>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.impl.LayerDependencyImpl#getBase_Dependency <em>Base Dependency</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class LayerDependencyImpl extends ElementImpl implements LayerDependency {
+ /**
+ * The default value of the '{@link #isDeprecated() <em>Is Deprecated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isDeprecated()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_DEPRECATED_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isDeprecated() <em>Is Deprecated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isDeprecated()
+ * @generated
+ * @ordered
+ */
+ protected boolean isDeprecated = IS_DEPRECATED_EDEFAULT;
+ /**
+ * The default value of the '{@link #getDeprecatedComment() <em>Deprecated Comment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDeprecatedComment()
+ * @generated
+ * @ordered
+ */
+ protected static final String DEPRECATED_COMMENT_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getDeprecatedComment() <em>Deprecated Comment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDeprecatedComment()
+ * @generated
+ * @ordered
+ */
+ protected String deprecatedComment = DEPRECATED_COMMENT_EDEFAULT;
+ /**
+ * The cached value of the '{@link #getBase_Dependency() <em>Base Dependency</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Dependency()
+ * @generated
+ * @ordered
+ */
+ protected Dependency base_Dependency;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LayerDependencyImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ArchitecturePackage.Literals.LAYER_DEPENDENCY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isDeprecated() {
+ return isDeprecated;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsDeprecated(boolean newIsDeprecated) {
+ boolean oldIsDeprecated = isDeprecated;
+ isDeprecated = newIsDeprecated;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ArchitecturePackage.LAYER_DEPENDENCY__IS_DEPRECATED, oldIsDeprecated, isDeprecated));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDeprecatedComment() {
+ return deprecatedComment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDeprecatedComment(String newDeprecatedComment) {
+ String oldDeprecatedComment = deprecatedComment;
+ deprecatedComment = newDeprecatedComment;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ArchitecturePackage.LAYER_DEPENDENCY__DEPRECATED_COMMENT, oldDeprecatedComment, deprecatedComment));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Dependency getBase_Dependency() {
+ if (base_Dependency != null && base_Dependency.eIsProxy()) {
+ InternalEObject oldBase_Dependency = (InternalEObject)base_Dependency;
+ base_Dependency = (Dependency)eResolveProxy(oldBase_Dependency);
+ if (base_Dependency != oldBase_Dependency) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ArchitecturePackage.LAYER_DEPENDENCY__BASE_DEPENDENCY, oldBase_Dependency, base_Dependency));
+ }
+ }
+ return base_Dependency;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Dependency basicGetBase_Dependency() {
+ return base_Dependency;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Dependency(Dependency newBase_Dependency) {
+ Dependency oldBase_Dependency = base_Dependency;
+ base_Dependency = newBase_Dependency;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ArchitecturePackage.LAYER_DEPENDENCY__BASE_DEPENDENCY, oldBase_Dependency, base_Dependency));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ArchitecturePackage.LAYER_DEPENDENCY__IS_DEPRECATED:
+ return isDeprecated();
+ case ArchitecturePackage.LAYER_DEPENDENCY__DEPRECATED_COMMENT:
+ return getDeprecatedComment();
+ case ArchitecturePackage.LAYER_DEPENDENCY__BASE_DEPENDENCY:
+ if (resolve) return getBase_Dependency();
+ return basicGetBase_Dependency();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ArchitecturePackage.LAYER_DEPENDENCY__IS_DEPRECATED:
+ setIsDeprecated((Boolean)newValue);
+ return;
+ case ArchitecturePackage.LAYER_DEPENDENCY__DEPRECATED_COMMENT:
+ setDeprecatedComment((String)newValue);
+ return;
+ case ArchitecturePackage.LAYER_DEPENDENCY__BASE_DEPENDENCY:
+ setBase_Dependency((Dependency)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ArchitecturePackage.LAYER_DEPENDENCY__IS_DEPRECATED:
+ setIsDeprecated(IS_DEPRECATED_EDEFAULT);
+ return;
+ case ArchitecturePackage.LAYER_DEPENDENCY__DEPRECATED_COMMENT:
+ setDeprecatedComment(DEPRECATED_COMMENT_EDEFAULT);
+ return;
+ case ArchitecturePackage.LAYER_DEPENDENCY__BASE_DEPENDENCY:
+ setBase_Dependency((Dependency)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ArchitecturePackage.LAYER_DEPENDENCY__IS_DEPRECATED:
+ return isDeprecated != IS_DEPRECATED_EDEFAULT;
+ case ArchitecturePackage.LAYER_DEPENDENCY__DEPRECATED_COMMENT:
+ return DEPRECATED_COMMENT_EDEFAULT == null ? deprecatedComment != null : !DEPRECATED_COMMENT_EDEFAULT.equals(deprecatedComment);
+ case ArchitecturePackage.LAYER_DEPENDENCY__BASE_DEPENDENCY:
+ return base_Dependency != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (isDeprecated: ");
+ result.append(isDeprecated);
+ result.append(", deprecatedComment: ");
+ result.append(deprecatedComment);
+ result.append(')');
+ return result.toString();
+ }
+
+} //LayerDependencyImpl
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/impl/LayerImpl.java b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/impl/LayerImpl.java
new file mode 100644
index 00000000000..53104409b9e
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/impl/LayerImpl.java
@@ -0,0 +1,443 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.design.profile.architecture.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage;
+import org.eclipse.papyrus.design.profile.architecture.Layer;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Layer</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.impl.LayerImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.impl.LayerImpl#getParentFolder <em>Parent Folder</em>}</li>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.impl.LayerImpl#getBase_Package <em>Base Package</em>}</li>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.impl.LayerImpl#isDeprecated <em>Is Deprecated</em>}</li>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.impl.LayerImpl#getDeprecatedComment <em>Deprecated Comment</em>}</li>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.impl.LayerImpl#getReferent <em>Referent</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class LayerImpl extends ElementImpl implements Layer {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getParentFolder() <em>Parent Folder</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getParentFolder()
+ * @generated
+ * @ordered
+ */
+ protected static final String PARENT_FOLDER_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getParentFolder() <em>Parent Folder</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getParentFolder()
+ * @generated
+ * @ordered
+ */
+ protected String parentFolder = PARENT_FOLDER_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBase_Package() <em>Base Package</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Package()
+ * @generated
+ * @ordered
+ */
+ protected org.eclipse.uml2.uml.Package base_Package;
+
+ /**
+ * The default value of the '{@link #isDeprecated() <em>Is Deprecated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isDeprecated()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_DEPRECATED_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isDeprecated() <em>Is Deprecated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isDeprecated()
+ * @generated
+ * @ordered
+ */
+ protected boolean isDeprecated = IS_DEPRECATED_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDeprecatedComment() <em>Deprecated Comment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDeprecatedComment()
+ * @generated
+ * @ordered
+ */
+ protected static final String DEPRECATED_COMMENT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDeprecatedComment() <em>Deprecated Comment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDeprecatedComment()
+ * @generated
+ * @ordered
+ */
+ protected String deprecatedComment = DEPRECATED_COMMENT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getReferent() <em>Referent</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getReferent()
+ * @generated
+ * @ordered
+ */
+ protected static final String REFERENT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getReferent() <em>Referent</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getReferent()
+ * @generated
+ * @ordered
+ */
+ protected String referent = REFERENT_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LayerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ArchitecturePackage.Literals.LAYER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ArchitecturePackage.LAYER__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getParentFolder() {
+ return parentFolder;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParentFolder(String newParentFolder) {
+ String oldParentFolder = parentFolder;
+ parentFolder = newParentFolder;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ArchitecturePackage.LAYER__PARENT_FOLDER, oldParentFolder, parentFolder));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Package getBase_Package() {
+ if (base_Package != null && base_Package.eIsProxy()) {
+ InternalEObject oldBase_Package = (InternalEObject)base_Package;
+ base_Package = (org.eclipse.uml2.uml.Package)eResolveProxy(oldBase_Package);
+ if (base_Package != oldBase_Package) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ArchitecturePackage.LAYER__BASE_PACKAGE, oldBase_Package, base_Package));
+ }
+ }
+ return base_Package;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Package basicGetBase_Package() {
+ return base_Package;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Package(org.eclipse.uml2.uml.Package newBase_Package) {
+ org.eclipse.uml2.uml.Package oldBase_Package = base_Package;
+ base_Package = newBase_Package;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ArchitecturePackage.LAYER__BASE_PACKAGE, oldBase_Package, base_Package));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isDeprecated() {
+ return isDeprecated;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsDeprecated(boolean newIsDeprecated) {
+ boolean oldIsDeprecated = isDeprecated;
+ isDeprecated = newIsDeprecated;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ArchitecturePackage.LAYER__IS_DEPRECATED, oldIsDeprecated, isDeprecated));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDeprecatedComment() {
+ return deprecatedComment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDeprecatedComment(String newDeprecatedComment) {
+ String oldDeprecatedComment = deprecatedComment;
+ deprecatedComment = newDeprecatedComment;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ArchitecturePackage.LAYER__DEPRECATED_COMMENT, oldDeprecatedComment, deprecatedComment));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getReferent() {
+ return referent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setReferent(String newReferent) {
+ String oldReferent = referent;
+ referent = newReferent;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ArchitecturePackage.LAYER__REFERENT, oldReferent, referent));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ArchitecturePackage.LAYER__NAME:
+ return getName();
+ case ArchitecturePackage.LAYER__PARENT_FOLDER:
+ return getParentFolder();
+ case ArchitecturePackage.LAYER__BASE_PACKAGE:
+ if (resolve) return getBase_Package();
+ return basicGetBase_Package();
+ case ArchitecturePackage.LAYER__IS_DEPRECATED:
+ return isDeprecated();
+ case ArchitecturePackage.LAYER__DEPRECATED_COMMENT:
+ return getDeprecatedComment();
+ case ArchitecturePackage.LAYER__REFERENT:
+ return getReferent();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ArchitecturePackage.LAYER__NAME:
+ setName((String)newValue);
+ return;
+ case ArchitecturePackage.LAYER__PARENT_FOLDER:
+ setParentFolder((String)newValue);
+ return;
+ case ArchitecturePackage.LAYER__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)newValue);
+ return;
+ case ArchitecturePackage.LAYER__IS_DEPRECATED:
+ setIsDeprecated((Boolean)newValue);
+ return;
+ case ArchitecturePackage.LAYER__DEPRECATED_COMMENT:
+ setDeprecatedComment((String)newValue);
+ return;
+ case ArchitecturePackage.LAYER__REFERENT:
+ setReferent((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ArchitecturePackage.LAYER__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case ArchitecturePackage.LAYER__PARENT_FOLDER:
+ setParentFolder(PARENT_FOLDER_EDEFAULT);
+ return;
+ case ArchitecturePackage.LAYER__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)null);
+ return;
+ case ArchitecturePackage.LAYER__IS_DEPRECATED:
+ setIsDeprecated(IS_DEPRECATED_EDEFAULT);
+ return;
+ case ArchitecturePackage.LAYER__DEPRECATED_COMMENT:
+ setDeprecatedComment(DEPRECATED_COMMENT_EDEFAULT);
+ return;
+ case ArchitecturePackage.LAYER__REFERENT:
+ setReferent(REFERENT_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ArchitecturePackage.LAYER__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case ArchitecturePackage.LAYER__PARENT_FOLDER:
+ return PARENT_FOLDER_EDEFAULT == null ? parentFolder != null : !PARENT_FOLDER_EDEFAULT.equals(parentFolder);
+ case ArchitecturePackage.LAYER__BASE_PACKAGE:
+ return base_Package != null;
+ case ArchitecturePackage.LAYER__IS_DEPRECATED:
+ return isDeprecated != IS_DEPRECATED_EDEFAULT;
+ case ArchitecturePackage.LAYER__DEPRECATED_COMMENT:
+ return DEPRECATED_COMMENT_EDEFAULT == null ? deprecatedComment != null : !DEPRECATED_COMMENT_EDEFAULT.equals(deprecatedComment);
+ case ArchitecturePackage.LAYER__REFERENT:
+ return REFERENT_EDEFAULT == null ? referent != null : !REFERENT_EDEFAULT.equals(referent);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(", parentFolder: ");
+ result.append(parentFolder);
+ result.append(", isDeprecated: ");
+ result.append(isDeprecated);
+ result.append(", deprecatedComment: ");
+ result.append(deprecatedComment);
+ result.append(", referent: ");
+ result.append(referent);
+ result.append(')');
+ return result.toString();
+ }
+
+} //LayerImpl
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/impl/PluginDependencyImpl.java b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/impl/PluginDependencyImpl.java
new file mode 100644
index 00000000000..aa863676d1d
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/impl/PluginDependencyImpl.java
@@ -0,0 +1,283 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.design.profile.architecture.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage;
+import org.eclipse.papyrus.design.profile.architecture.PluginDependency;
+
+import org.eclipse.uml2.uml.Dependency;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Plugin Dependency</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.impl.PluginDependencyImpl#getDeprecatedComment <em>Deprecated Comment</em>}</li>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.impl.PluginDependencyImpl#isDeprecated <em>Is Deprecated</em>}</li>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.impl.PluginDependencyImpl#getBase_Dependency <em>Base Dependency</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PluginDependencyImpl extends ElementImpl implements PluginDependency {
+ /**
+ * The default value of the '{@link #getDeprecatedComment() <em>Deprecated Comment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDeprecatedComment()
+ * @generated
+ * @ordered
+ */
+ protected static final String DEPRECATED_COMMENT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDeprecatedComment() <em>Deprecated Comment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDeprecatedComment()
+ * @generated
+ * @ordered
+ */
+ protected String deprecatedComment = DEPRECATED_COMMENT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isDeprecated() <em>Is Deprecated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isDeprecated()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_DEPRECATED_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isDeprecated() <em>Is Deprecated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isDeprecated()
+ * @generated
+ * @ordered
+ */
+ protected boolean isDeprecated = IS_DEPRECATED_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBase_Dependency() <em>Base Dependency</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Dependency()
+ * @generated
+ * @ordered
+ */
+ protected Dependency base_Dependency;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PluginDependencyImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ArchitecturePackage.Literals.PLUGIN_DEPENDENCY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDeprecatedComment() {
+ return deprecatedComment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDeprecatedComment(String newDeprecatedComment) {
+ String oldDeprecatedComment = deprecatedComment;
+ deprecatedComment = newDeprecatedComment;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ArchitecturePackage.PLUGIN_DEPENDENCY__DEPRECATED_COMMENT, oldDeprecatedComment, deprecatedComment));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isDeprecated() {
+ return isDeprecated;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsDeprecated(boolean newIsDeprecated) {
+ boolean oldIsDeprecated = isDeprecated;
+ isDeprecated = newIsDeprecated;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ArchitecturePackage.PLUGIN_DEPENDENCY__IS_DEPRECATED, oldIsDeprecated, isDeprecated));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Dependency getBase_Dependency() {
+ if (base_Dependency != null && base_Dependency.eIsProxy()) {
+ InternalEObject oldBase_Dependency = (InternalEObject)base_Dependency;
+ base_Dependency = (Dependency)eResolveProxy(oldBase_Dependency);
+ if (base_Dependency != oldBase_Dependency) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ArchitecturePackage.PLUGIN_DEPENDENCY__BASE_DEPENDENCY, oldBase_Dependency, base_Dependency));
+ }
+ }
+ return base_Dependency;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Dependency basicGetBase_Dependency() {
+ return base_Dependency;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Dependency(Dependency newBase_Dependency) {
+ Dependency oldBase_Dependency = base_Dependency;
+ base_Dependency = newBase_Dependency;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ArchitecturePackage.PLUGIN_DEPENDENCY__BASE_DEPENDENCY, oldBase_Dependency, base_Dependency));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ArchitecturePackage.PLUGIN_DEPENDENCY__DEPRECATED_COMMENT:
+ return getDeprecatedComment();
+ case ArchitecturePackage.PLUGIN_DEPENDENCY__IS_DEPRECATED:
+ return isDeprecated();
+ case ArchitecturePackage.PLUGIN_DEPENDENCY__BASE_DEPENDENCY:
+ if (resolve) return getBase_Dependency();
+ return basicGetBase_Dependency();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ArchitecturePackage.PLUGIN_DEPENDENCY__DEPRECATED_COMMENT:
+ setDeprecatedComment((String)newValue);
+ return;
+ case ArchitecturePackage.PLUGIN_DEPENDENCY__IS_DEPRECATED:
+ setIsDeprecated((Boolean)newValue);
+ return;
+ case ArchitecturePackage.PLUGIN_DEPENDENCY__BASE_DEPENDENCY:
+ setBase_Dependency((Dependency)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ArchitecturePackage.PLUGIN_DEPENDENCY__DEPRECATED_COMMENT:
+ setDeprecatedComment(DEPRECATED_COMMENT_EDEFAULT);
+ return;
+ case ArchitecturePackage.PLUGIN_DEPENDENCY__IS_DEPRECATED:
+ setIsDeprecated(IS_DEPRECATED_EDEFAULT);
+ return;
+ case ArchitecturePackage.PLUGIN_DEPENDENCY__BASE_DEPENDENCY:
+ setBase_Dependency((Dependency)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ArchitecturePackage.PLUGIN_DEPENDENCY__DEPRECATED_COMMENT:
+ return DEPRECATED_COMMENT_EDEFAULT == null ? deprecatedComment != null : !DEPRECATED_COMMENT_EDEFAULT.equals(deprecatedComment);
+ case ArchitecturePackage.PLUGIN_DEPENDENCY__IS_DEPRECATED:
+ return isDeprecated != IS_DEPRECATED_EDEFAULT;
+ case ArchitecturePackage.PLUGIN_DEPENDENCY__BASE_DEPENDENCY:
+ return base_Dependency != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (deprecatedComment: ");
+ result.append(deprecatedComment);
+ result.append(", isDeprecated: ");
+ result.append(isDeprecated);
+ result.append(')');
+ return result.toString();
+ }
+
+} //PluginDependencyImpl
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/impl/PluginImpl.java b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/impl/PluginImpl.java
new file mode 100644
index 00000000000..477c5d36373
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/impl/PluginImpl.java
@@ -0,0 +1,497 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.design.profile.architecture.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage;
+import org.eclipse.papyrus.design.profile.architecture.Plugin;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Plugin</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.impl.PluginImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.impl.PluginImpl#getParentFolder <em>Parent Folder</em>}</li>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.impl.PluginImpl#getOriginalParentFolder <em>Original Parent Folder</em>}</li>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.impl.PluginImpl#isDeprecated <em>Is Deprecated</em>}</li>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.impl.PluginImpl#getDeprecatedComment <em>Deprecated Comment</em>}</li>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.impl.PluginImpl#getReferent <em>Referent</em>}</li>
+ * <li>{@link org.eclipse.papyrus.design.profile.architecture.impl.PluginImpl#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PluginImpl extends ElementImpl implements Plugin {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getParentFolder() <em>Parent Folder</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getParentFolder()
+ * @generated
+ * @ordered
+ */
+ protected static final String PARENT_FOLDER_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getParentFolder() <em>Parent Folder</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getParentFolder()
+ * @generated
+ * @ordered
+ */
+ protected String parentFolder = PARENT_FOLDER_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getOriginalParentFolder() <em>Original Parent Folder</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOriginalParentFolder()
+ * @generated
+ * @ordered
+ */
+ protected static final String ORIGINAL_PARENT_FOLDER_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getOriginalParentFolder() <em>Original Parent Folder</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOriginalParentFolder()
+ * @generated
+ * @ordered
+ */
+ protected String originalParentFolder = ORIGINAL_PARENT_FOLDER_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isDeprecated() <em>Is Deprecated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isDeprecated()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_DEPRECATED_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isDeprecated() <em>Is Deprecated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isDeprecated()
+ * @generated
+ * @ordered
+ */
+ protected boolean isDeprecated = IS_DEPRECATED_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDeprecatedComment() <em>Deprecated Comment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDeprecatedComment()
+ * @generated
+ * @ordered
+ */
+ protected static final String DEPRECATED_COMMENT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDeprecatedComment() <em>Deprecated Comment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDeprecatedComment()
+ * @generated
+ * @ordered
+ */
+ protected String deprecatedComment = DEPRECATED_COMMENT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getReferent() <em>Referent</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getReferent()
+ * @generated
+ * @ordered
+ */
+ protected static final String REFERENT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getReferent() <em>Referent</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getReferent()
+ * @generated
+ * @ordered
+ */
+ protected String referent = REFERENT_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBase_Package() <em>Base Package</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Package()
+ * @generated
+ * @ordered
+ */
+ protected org.eclipse.uml2.uml.Package base_Package;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PluginImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ArchitecturePackage.Literals.PLUGIN;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ArchitecturePackage.PLUGIN__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getParentFolder() {
+ return parentFolder;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParentFolder(String newParentFolder) {
+ String oldParentFolder = parentFolder;
+ parentFolder = newParentFolder;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ArchitecturePackage.PLUGIN__PARENT_FOLDER, oldParentFolder, parentFolder));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getOriginalParentFolder() {
+ return originalParentFolder;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOriginalParentFolder(String newOriginalParentFolder) {
+ String oldOriginalParentFolder = originalParentFolder;
+ originalParentFolder = newOriginalParentFolder;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ArchitecturePackage.PLUGIN__ORIGINAL_PARENT_FOLDER, oldOriginalParentFolder, originalParentFolder));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isDeprecated() {
+ return isDeprecated;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsDeprecated(boolean newIsDeprecated) {
+ boolean oldIsDeprecated = isDeprecated;
+ isDeprecated = newIsDeprecated;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ArchitecturePackage.PLUGIN__IS_DEPRECATED, oldIsDeprecated, isDeprecated));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDeprecatedComment() {
+ return deprecatedComment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDeprecatedComment(String newDeprecatedComment) {
+ String oldDeprecatedComment = deprecatedComment;
+ deprecatedComment = newDeprecatedComment;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ArchitecturePackage.PLUGIN__DEPRECATED_COMMENT, oldDeprecatedComment, deprecatedComment));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getReferent() {
+ return referent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setReferent(String newReferent) {
+ String oldReferent = referent;
+ referent = newReferent;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ArchitecturePackage.PLUGIN__REFERENT, oldReferent, referent));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Package getBase_Package() {
+ if (base_Package != null && base_Package.eIsProxy()) {
+ InternalEObject oldBase_Package = (InternalEObject)base_Package;
+ base_Package = (org.eclipse.uml2.uml.Package)eResolveProxy(oldBase_Package);
+ if (base_Package != oldBase_Package) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ArchitecturePackage.PLUGIN__BASE_PACKAGE, oldBase_Package, base_Package));
+ }
+ }
+ return base_Package;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Package basicGetBase_Package() {
+ return base_Package;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Package(org.eclipse.uml2.uml.Package newBase_Package) {
+ org.eclipse.uml2.uml.Package oldBase_Package = base_Package;
+ base_Package = newBase_Package;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ArchitecturePackage.PLUGIN__BASE_PACKAGE, oldBase_Package, base_Package));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ArchitecturePackage.PLUGIN__NAME:
+ return getName();
+ case ArchitecturePackage.PLUGIN__PARENT_FOLDER:
+ return getParentFolder();
+ case ArchitecturePackage.PLUGIN__ORIGINAL_PARENT_FOLDER:
+ return getOriginalParentFolder();
+ case ArchitecturePackage.PLUGIN__IS_DEPRECATED:
+ return isDeprecated();
+ case ArchitecturePackage.PLUGIN__DEPRECATED_COMMENT:
+ return getDeprecatedComment();
+ case ArchitecturePackage.PLUGIN__REFERENT:
+ return getReferent();
+ case ArchitecturePackage.PLUGIN__BASE_PACKAGE:
+ if (resolve) return getBase_Package();
+ return basicGetBase_Package();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ArchitecturePackage.PLUGIN__NAME:
+ setName((String)newValue);
+ return;
+ case ArchitecturePackage.PLUGIN__PARENT_FOLDER:
+ setParentFolder((String)newValue);
+ return;
+ case ArchitecturePackage.PLUGIN__ORIGINAL_PARENT_FOLDER:
+ setOriginalParentFolder((String)newValue);
+ return;
+ case ArchitecturePackage.PLUGIN__IS_DEPRECATED:
+ setIsDeprecated((Boolean)newValue);
+ return;
+ case ArchitecturePackage.PLUGIN__DEPRECATED_COMMENT:
+ setDeprecatedComment((String)newValue);
+ return;
+ case ArchitecturePackage.PLUGIN__REFERENT:
+ setReferent((String)newValue);
+ return;
+ case ArchitecturePackage.PLUGIN__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ArchitecturePackage.PLUGIN__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case ArchitecturePackage.PLUGIN__PARENT_FOLDER:
+ setParentFolder(PARENT_FOLDER_EDEFAULT);
+ return;
+ case ArchitecturePackage.PLUGIN__ORIGINAL_PARENT_FOLDER:
+ setOriginalParentFolder(ORIGINAL_PARENT_FOLDER_EDEFAULT);
+ return;
+ case ArchitecturePackage.PLUGIN__IS_DEPRECATED:
+ setIsDeprecated(IS_DEPRECATED_EDEFAULT);
+ return;
+ case ArchitecturePackage.PLUGIN__DEPRECATED_COMMENT:
+ setDeprecatedComment(DEPRECATED_COMMENT_EDEFAULT);
+ return;
+ case ArchitecturePackage.PLUGIN__REFERENT:
+ setReferent(REFERENT_EDEFAULT);
+ return;
+ case ArchitecturePackage.PLUGIN__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ArchitecturePackage.PLUGIN__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case ArchitecturePackage.PLUGIN__PARENT_FOLDER:
+ return PARENT_FOLDER_EDEFAULT == null ? parentFolder != null : !PARENT_FOLDER_EDEFAULT.equals(parentFolder);
+ case ArchitecturePackage.PLUGIN__ORIGINAL_PARENT_FOLDER:
+ return ORIGINAL_PARENT_FOLDER_EDEFAULT == null ? originalParentFolder != null : !ORIGINAL_PARENT_FOLDER_EDEFAULT.equals(originalParentFolder);
+ case ArchitecturePackage.PLUGIN__IS_DEPRECATED:
+ return isDeprecated != IS_DEPRECATED_EDEFAULT;
+ case ArchitecturePackage.PLUGIN__DEPRECATED_COMMENT:
+ return DEPRECATED_COMMENT_EDEFAULT == null ? deprecatedComment != null : !DEPRECATED_COMMENT_EDEFAULT.equals(deprecatedComment);
+ case ArchitecturePackage.PLUGIN__REFERENT:
+ return REFERENT_EDEFAULT == null ? referent != null : !REFERENT_EDEFAULT.equals(referent);
+ case ArchitecturePackage.PLUGIN__BASE_PACKAGE:
+ return base_Package != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(", parentFolder: ");
+ result.append(parentFolder);
+ result.append(", originalParentFolder: ");
+ result.append(originalParentFolder);
+ result.append(", isDeprecated: ");
+ result.append(isDeprecated);
+ result.append(", deprecatedComment: ");
+ result.append(deprecatedComment);
+ result.append(", referent: ");
+ result.append(referent);
+ result.append(')');
+ return result.toString();
+ }
+
+} //PluginImpl
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/util/ArchitectureAdapterFactory.java b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/util/ArchitectureAdapterFactory.java
new file mode 100644
index 00000000000..03b4716a6de
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/util/ArchitectureAdapterFactory.java
@@ -0,0 +1,196 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.design.profile.architecture.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.design.profile.architecture.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage
+ * @generated
+ */
+public class ArchitectureAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static ArchitecturePackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ArchitectureAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = ArchitecturePackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ArchitectureSwitch<Adapter> modelSwitch =
+ new ArchitectureSwitch<Adapter>() {
+ @Override
+ public Adapter caseLayer(Layer object) {
+ return createLayerAdapter();
+ }
+ @Override
+ public Adapter caseElement(Element object) {
+ return createElementAdapter();
+ }
+ @Override
+ public Adapter caseLayerDependency(LayerDependency object) {
+ return createLayerDependencyAdapter();
+ }
+ @Override
+ public Adapter casePlugin(Plugin object) {
+ return createPluginAdapter();
+ }
+ @Override
+ public Adapter casePluginDependency(PluginDependency object) {
+ return createPluginDependencyAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.design.profile.architecture.Layer <em>Layer</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.design.profile.architecture.Layer
+ * @generated
+ */
+ public Adapter createLayerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.design.profile.architecture.Element <em>Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.design.profile.architecture.Element
+ * @generated
+ */
+ public Adapter createElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.design.profile.architecture.LayerDependency <em>Layer Dependency</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.design.profile.architecture.LayerDependency
+ * @generated
+ */
+ public Adapter createLayerDependencyAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.design.profile.architecture.Plugin <em>Plugin</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.design.profile.architecture.Plugin
+ * @generated
+ */
+ public Adapter createPluginAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.design.profile.architecture.PluginDependency <em>Plugin Dependency</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.design.profile.architecture.PluginDependency
+ * @generated
+ */
+ public Adapter createPluginDependencyAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //ArchitectureAdapterFactory
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/util/ArchitectureSwitch.java b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/util/ArchitectureSwitch.java
new file mode 100644
index 00000000000..f29cc3fac4b
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.architecture/src/org/eclipse/papyrus/design/profile/architecture/util/ArchitectureSwitch.java
@@ -0,0 +1,202 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.design.profile.architecture.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.papyrus.design.profile.architecture.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.design.profile.architecture.ArchitecturePackage
+ * @generated
+ */
+public class ArchitectureSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static ArchitecturePackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ArchitectureSwitch() {
+ if (modelPackage == null) {
+ modelPackage = ArchitecturePackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case ArchitecturePackage.LAYER: {
+ Layer layer = (Layer)theEObject;
+ T result = caseLayer(layer);
+ if (result == null) result = caseElement(layer);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ArchitecturePackage.ELEMENT: {
+ Element element = (Element)theEObject;
+ T result = caseElement(element);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ArchitecturePackage.LAYER_DEPENDENCY: {
+ LayerDependency layerDependency = (LayerDependency)theEObject;
+ T result = caseLayerDependency(layerDependency);
+ if (result == null) result = caseElement(layerDependency);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ArchitecturePackage.PLUGIN: {
+ Plugin plugin = (Plugin)theEObject;
+ T result = casePlugin(plugin);
+ if (result == null) result = caseElement(plugin);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ArchitecturePackage.PLUGIN_DEPENDENCY: {
+ PluginDependency pluginDependency = (PluginDependency)theEObject;
+ T result = casePluginDependency(pluginDependency);
+ if (result == null) result = caseElement(pluginDependency);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Layer</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Layer</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLayer(Layer object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseElement(Element object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Layer Dependency</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Layer Dependency</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLayerDependency(LayerDependency object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Plugin</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Plugin</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePlugin(Plugin object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Plugin Dependency</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Plugin Dependency</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePluginDependency(PluginDependency object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //ArchitectureSwitch
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.feature/.project b/extraplugins/design/org.eclipse.papyrus.design.profile.feature/.project
new file mode 100644
index 00000000000..e6771d4bf13
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.feature/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.design.profile.feature</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.pde.FeatureBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.FeatureNature</nature>
+ </natures>
+</projectDescription>
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.feature/build.properties b/extraplugins/design/org.eclipse.papyrus.design.profile.feature/build.properties
new file mode 100644
index 00000000000..8498fcee559
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.feature/build.properties
@@ -0,0 +1,2 @@
+bin.includes = feature.xml,\
+ plugin.properties
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.feature/feature.xml b/extraplugins/design/org.eclipse.papyrus.design.profile.feature/feature.xml
new file mode 100644
index 00000000000..ce8ba4cfa06
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.feature/feature.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+ id="org.eclipse.papyrus.design.profile.feature"
+ label="Profile for software architecture design"
+ version="0.9.0.qualifier"
+ provider-name="%providerName">
+
+ <description url="http://www.example.com/description">
+ This feature provide utility to design software applications.
+ </description>
+
+ <copyright url="http://www.example.com/copyright">
+ /*****************************************************************************
+ * Copyright (c) 2011 Cedric Dumoulin.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Cedric Dumoulin Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+ </copyright>
+
+ <license url="http://www.example.com/license">
+ [Enter License Description here.]
+ </license>
+
+ <requires>
+ <import plugin="org.eclipse.core.runtime"/>
+ <import plugin="org.eclipse.emf.ecore"/>
+ <import plugin="org.eclipse.uml2.uml" version="3.2.0" match="greaterOrEqual"/>
+ <import plugin="org.eclipse.emf.edit"/>
+ <import plugin="org.eclipse.uml2.common.edit"/>
+ <import plugin="org.eclipse.ocl.uml.edit" version="3.1.0" match="greaterOrEqual"/>
+ <import plugin="org.eclipse.core.resources"/>
+ <import plugin="org.eclipse.emf.ecore.xmi"/>
+ <import plugin="org.eclipse.emf.edit.ui"/>
+ <import plugin="org.eclipse.ui.ide"/>
+ </requires>
+
+ <plugin
+ id="org.eclipse.papyrus.design.profile.architecture"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.papyrus.design.profile.architecture.edit"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.papyrus.design.profile.architecture.editor"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+</feature>
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.feature/plugin.properties b/extraplugins/design/org.eclipse.papyrus.design.profile.feature/plugin.properties
new file mode 100644
index 00000000000..7f0a5199c46
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.feature/plugin.properties
@@ -0,0 +1,16 @@
+
+#################################################################################
+# Copyright (c) 2011 Cedric Dumoulin.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Cedric Dumoulin Cedric.dumoulin@lifl.fr - Initial API
+#
+#################################################################################
+
+pluginName = Profile for software architecture design
+providerName = Cedric Dumoulin
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.updatesite/.project b/extraplugins/design/org.eclipse.papyrus.design.profile.updatesite/.project
new file mode 100644
index 00000000000..3f7db39b9ad
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.updatesite/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.design.profile.updatesite</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.pde.UpdateSiteBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.UpdateSiteNature</nature>
+ </natures>
+</projectDescription>
diff --git a/extraplugins/design/org.eclipse.papyrus.design.profile.updatesite/site.xml b/extraplugins/design/org.eclipse.papyrus.design.profile.updatesite/site.xml
new file mode 100644
index 00000000000..e0f4aad9e64
--- /dev/null
+++ b/extraplugins/design/org.eclipse.papyrus.design.profile.updatesite/site.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<site>
+ <feature url="features/org.eclipse.papyrus.design.profile.feature_0.9.0.201110191532.jar" id="org.eclipse.papyrus.design.profile.feature" version="0.9.0.201110191532">
+ <category name="org.eclipse.papyrus.design"/>
+ </feature>
+ <category-def name="org.eclipse.papyrus.design" label="Papyrus Design">
+ <description>
+ Plugins related to architecture design.
+ </description>
+ </category-def>
+</site>

Back to the top