diff --git a/org.fortiss.tooling.base.ui/trunk/META-INF/MANIFEST.MF b/org.fortiss.tooling.base.ui/trunk/META-INF/MANIFEST.MF
index 0ef04857a392849cbbcbbdb0feb95bd85f3419e5..339fec8410e14439feaf712988d6cf383bdfe534 100644
--- a/org.fortiss.tooling.base.ui/trunk/META-INF/MANIFEST.MF
+++ b/org.fortiss.tooling.base.ui/trunk/META-INF/MANIFEST.MF
@@ -16,4 +16,6 @@ Export-Package: org.fortiss.tooling.kernel.base.ui,
  org.fortiss.tooling.kernel.base.ui.editpart,
  org.fortiss.tooling.kernel.base.ui.editpart.anchor,
  org.fortiss.tooling.kernel.base.ui.editpart.policy,
+ org.fortiss.tooling.kernel.base.ui.layout,
+ org.fortiss.tooling.kernel.base.ui.layout.constants,
  org.fortiss.tooling.kernel.base.ui.layout.util
diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/editpart/GraphicalConnectionEditPartBase.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/editpart/GraphicalConnectionEditPartBase.java
index 24e18f74385f09a3b1076d3fc104ee0afc2b71a5..8f33ace0310033971722291ae8e4915ebf3c540d 100644
--- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/editpart/GraphicalConnectionEditPartBase.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/editpart/GraphicalConnectionEditPartBase.java
@@ -23,8 +23,8 @@ import org.eclipse.emf.common.notify.impl.AdapterImpl;
 import org.eclipse.gef.editparts.AbstractConnectionEditPart;
 import org.fortiss.tooling.base.model.element.IConnection;
 import org.fortiss.tooling.base.model.layout.ILayoutedModelElement;
-import org.fortiss.tooling.kernel.interfaces.IModelElementHandler;
-import org.fortiss.tooling.kernel.services.IModelElementService;
+import org.fortiss.tooling.kernel.ui.interfaces.IModelElementHandler;
+import org.fortiss.tooling.kernel.ui.services.IModelElementService;
 
 /**
  * Base class for graphical connection edit parts.
diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/editpart/GraphicalEditPartBase.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/editpart/GraphicalEditPartBase.java
index 0328e855ddc2f67a14956e01b65aacda9e11fe36..f1b5e296e2aea4433a4323a4e3f94ef561de98b0 100644
--- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/editpart/GraphicalEditPartBase.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/editpart/GraphicalEditPartBase.java
@@ -22,8 +22,8 @@ import org.eclipse.emf.common.notify.Notification;
 import org.eclipse.emf.common.notify.impl.AdapterImpl;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.gef.editparts.AbstractGraphicalEditPart;
-import org.fortiss.tooling.kernel.interfaces.IModelElementHandler;
-import org.fortiss.tooling.kernel.services.IModelElementService;
+import org.fortiss.tooling.kernel.ui.interfaces.IModelElementHandler;
+import org.fortiss.tooling.kernel.ui.services.IModelElementService;
 
 /**
  * The base class for all graphical edit parts.
diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/editpart/NodeEditPartBase.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/editpart/NodeEditPartBase.java
index e880b3d79fc9ea4bcddaa89e3c3609d6ac93d498..da102ddda7c586ed27ef83c476283f07a72edb71 100644
--- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/editpart/NodeEditPartBase.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/editpart/NodeEditPartBase.java
@@ -28,11 +28,11 @@ import org.eclipse.draw2d.geometry.Rectangle;
 import org.eclipse.gef.Request;
 import org.eclipse.gef.RequestConstants;
 import org.eclipse.swt.graphics.Color;
-import org.fortiss.tooling.base.layout.constants.RecommendedLayoutConstants;
-import org.fortiss.tooling.base.layout.util.LayoutDataUtils;
 import org.fortiss.tooling.base.model.layout.ILayoutedModelElement;
+import org.fortiss.tooling.kernel.base.ui.layout.constants.RecommendedLayoutConstants;
+import org.fortiss.tooling.kernel.base.ui.layout.util.LayoutDataUtils;
 import org.fortiss.tooling.kernel.model.INamedCommentedElement;
-import org.fortiss.tooling.kernel.services.IModelElementService;
+import org.fortiss.tooling.kernel.ui.services.IModelElementService;
 
 /**
  * The base class for graphical edit parts which encapsulate nodes (i.e. the
diff --git a/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/internal/command/EMF2GEFCommand.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/internal/command/EMF2GEFCommand.java
similarity index 97%
rename from org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/internal/command/EMF2GEFCommand.java
rename to org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/internal/command/EMF2GEFCommand.java
index 3840ce633dfdeaad14eb0774094a297597b7364e..2cc2bc8aa015e4fa4fd36fda5fac3c4f65766710 100644
--- a/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/internal/command/EMF2GEFCommand.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/internal/command/EMF2GEFCommand.java
@@ -15,7 +15,7 @@ $Id$
 | See the License for the specific language governing permissions and      |
 | limitations under the License.                                           |
 +--------------------------------------------------------------------------*/
-package org.fortiss.tooling.base.internal.command;
+package org.fortiss.tooling.kernel.base.ui.internal.command;
 
 import org.eclipse.gef.commands.Command;
 
diff --git a/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/internal/command/GEF2EMFCommand.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/internal/command/GEF2EMFCommand.java
similarity index 98%
rename from org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/internal/command/GEF2EMFCommand.java
rename to org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/internal/command/GEF2EMFCommand.java
index 967bf7263a63e3abcfe85dc63d5a113973e2f168..c367a47d26a478fda8d3a5ddf030f0a248ee6b01 100644
--- a/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/internal/command/GEF2EMFCommand.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/internal/command/GEF2EMFCommand.java
@@ -15,7 +15,7 @@ $Id$
 | See the License for the specific language governing permissions and      |
 | limitations under the License.                                           |
 +--------------------------------------------------------------------------*/
-package org.fortiss.tooling.base.internal.command;
+package org.fortiss.tooling.kernel.base.ui.internal.command;
 
 import java.util.Collection;
 import java.util.Collections;
diff --git a/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/internal/command/GEF2EMFCommandStack.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/internal/command/GEF2EMFCommandStack.java
similarity index 98%
rename from org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/internal/command/GEF2EMFCommandStack.java
rename to org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/internal/command/GEF2EMFCommandStack.java
index ae54acc8e5309407a20f4aa8634085235202b767..8b457d4e01f2539a9bae588fba3102fc550abb36 100644
--- a/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/internal/command/GEF2EMFCommandStack.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/internal/command/GEF2EMFCommandStack.java
@@ -15,7 +15,7 @@ $Id$
 | See the License for the specific language governing permissions and      |
 | limitations under the License.                                           |
 +--------------------------------------------------------------------------*/
-package org.fortiss.tooling.base.internal.command;
+package org.fortiss.tooling.kernel.base.ui.internal.command;
 
 import java.util.EventObject;
 
diff --git a/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/layout/IPointLayouter.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/layout/IPointLayouter.java
similarity index 97%
rename from org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/layout/IPointLayouter.java
rename to org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/layout/IPointLayouter.java
index 96ee10e5997baa572fd77045857fd25a3781bb55..d5863b1284b6ef24d995507599faad4096098e83 100644
--- a/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/layout/IPointLayouter.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/layout/IPointLayouter.java
@@ -15,7 +15,7 @@ $Id$
 | See the License for the specific language governing permissions and      |
 | limitations under the License.                                           |
 +--------------------------------------------------------------------------*/
-package org.fortiss.tooling.base.layout;
+package org.fortiss.tooling.kernel.base.ui.layout;
 
 import org.fortiss.tooling.base.model.layout.Point;
 
diff --git a/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/layout/constants/LayoutKeyConstants.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/layout/constants/LayoutKeyConstants.java
similarity index 97%
rename from org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/layout/constants/LayoutKeyConstants.java
rename to org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/layout/constants/LayoutKeyConstants.java
index ddc147ef7c3bb51c7883dab80c31b68bf643cb15..a10ffded1a1a6cbc4a80f0aba3acb568b6136558 100644
--- a/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/layout/constants/LayoutKeyConstants.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/layout/constants/LayoutKeyConstants.java
@@ -15,7 +15,7 @@ $Id$
 | See the License for the specific language governing permissions and      |
 | limitations under the License.                                           |
 +--------------------------------------------------------------------------*/
-package org.fortiss.tooling.base.layout.constants;
+package org.fortiss.tooling.kernel.base.ui.layout.constants;
 
 /**
  * Layout constants defining keys for the commonly used layout objects, like
diff --git a/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/layout/constants/RecommendedLayoutConstants.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/layout/constants/RecommendedLayoutConstants.java
similarity index 98%
rename from org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/layout/constants/RecommendedLayoutConstants.java
rename to org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/layout/constants/RecommendedLayoutConstants.java
index effee91465fa6863a24d45d1ce2e8cd4e8c5ee14..bb4bae830357f6e64885ad62fc9daa7f437fc26f 100644
--- a/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/layout/constants/RecommendedLayoutConstants.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/layout/constants/RecommendedLayoutConstants.java
@@ -15,7 +15,7 @@ $Id$
 | See the License for the specific language governing permissions and      |
 | limitations under the License.                                           |
 +--------------------------------------------------------------------------*/
-package org.fortiss.tooling.base.layout.constants;
+package org.fortiss.tooling.kernel.base.ui.layout.constants;
 
 import org.conqat.ide.commons.ui.swt.FontUtils;
 import org.eclipse.draw2d.geometry.Dimension;
diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/layout/util/EditPartLayoutUtils.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/layout/util/EditPartLayoutUtils.java
index 0c340b9cd919a1a2c028100ae326f0b7f122b319..85ae1fcae2065ecc40671b92a3e4ddc89d4665d9 100644
--- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/layout/util/EditPartLayoutUtils.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/layout/util/EditPartLayoutUtils.java
@@ -23,14 +23,12 @@ import org.eclipse.draw2d.PositionConstants;
 import org.eclipse.draw2d.geometry.Dimension;
 import org.eclipse.draw2d.geometry.Point;
 import org.eclipse.draw2d.geometry.Rectangle;
-import org.fortiss.tooling.base.layout.constants.LayoutKeyConstants;
-import org.fortiss.tooling.base.layout.constants.RecommendedLayoutConstants;
-import org.fortiss.tooling.base.layout.util.LayoutDataUtils;
-import org.fortiss.tooling.base.layout.util.OrientationUtils;
 import org.fortiss.tooling.base.model.layout.EOrientation;
 import org.fortiss.tooling.base.model.layout.ILayoutedModelElement;
 import org.fortiss.tooling.base.model.layout.OffsetOrientation;
 import org.fortiss.tooling.kernel.base.ui.dnd.DropContext;
+import org.fortiss.tooling.kernel.base.ui.layout.constants.LayoutKeyConstants;
+import org.fortiss.tooling.kernel.base.ui.layout.constants.RecommendedLayoutConstants;
 
 /**
  * Utility class collecting EditPart layout methods.
diff --git a/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/layout/util/LayoutDataUtils.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/layout/util/LayoutDataUtils.java
similarity index 98%
rename from org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/layout/util/LayoutDataUtils.java
rename to org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/layout/util/LayoutDataUtils.java
index c9c26922727f2c6c25a289f597aec8cf660c14cf..226dc27930244e93c2df9087c713e1e0311648b2 100644
--- a/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/layout/util/LayoutDataUtils.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/layout/util/LayoutDataUtils.java
@@ -15,12 +15,10 @@ $Id$
 | See the License for the specific language governing permissions and      |
 | limitations under the License.                                           |
 +--------------------------------------------------------------------------*/
-package org.fortiss.tooling.base.layout.util;
+package org.fortiss.tooling.kernel.base.ui.layout.util;
 
 import org.eclipse.draw2d.geometry.Rectangle;
 import org.eclipse.emf.ecore.EObject;
-import org.fortiss.tooling.base.layout.constants.LayoutKeyConstants;
-import org.fortiss.tooling.base.layout.constants.RecommendedLayoutConstants;
 import org.fortiss.tooling.base.model.layout.Angle;
 import org.fortiss.tooling.base.model.layout.Dimension;
 import org.fortiss.tooling.base.model.layout.EOrientation;
@@ -31,6 +29,8 @@ import org.fortiss.tooling.base.model.layout.Offset;
 import org.fortiss.tooling.base.model.layout.Orientation;
 import org.fortiss.tooling.base.model.layout.Point;
 import org.fortiss.tooling.base.model.layout.Points;
+import org.fortiss.tooling.kernel.base.ui.layout.constants.LayoutKeyConstants;
+import org.fortiss.tooling.kernel.base.ui.layout.constants.RecommendedLayoutConstants;
 
 /**
  * Utility methods for {@link ILayoutedModelElement} and {@link ILayoutData}.
diff --git a/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/layout/util/OrientationUtils.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/layout/util/OrientationUtils.java
similarity index 96%
rename from org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/layout/util/OrientationUtils.java
rename to org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/layout/util/OrientationUtils.java
index f3f695910b2810448ca8648d537113e73f8c11d0..3c6115fe715f745a655e9118c29c4ada1f7b6cd0 100644
--- a/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/layout/util/OrientationUtils.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/layout/util/OrientationUtils.java
@@ -15,16 +15,16 @@ $Id$
 | See the License for the specific language governing permissions and      |
 | limitations under the License.                                           |
 +--------------------------------------------------------------------------*/
-package org.fortiss.tooling.base.layout.util;
+package org.fortiss.tooling.kernel.base.ui.layout.util;
 
 import org.eclipse.draw2d.geometry.Dimension;
 import org.eclipse.draw2d.geometry.Point;
-import org.fortiss.tooling.base.layout.constants.RecommendedLayoutConstants;
 import org.fortiss.tooling.base.model.layout.EOrientation;
 import org.fortiss.tooling.base.model.layout.LayoutFactory;
 import org.fortiss.tooling.base.model.layout.Offset;
 import org.fortiss.tooling.base.model.layout.OffsetOrientation;
 import org.fortiss.tooling.base.model.layout.Orientation;
+import org.fortiss.tooling.kernel.base.ui.layout.constants.RecommendedLayoutConstants;
 
 /**
  * Class for handling orientation relative coordinates.
diff --git a/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/layout/util/ZoomUtils.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/layout/util/ZoomUtils.java
similarity index 97%
rename from org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/layout/util/ZoomUtils.java
rename to org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/layout/util/ZoomUtils.java
index d58c707dcc63f6d55126e8738209f39d50db7184..5111f47e94613d39fd544e9ca9c1104113eebc98 100644
--- a/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/layout/util/ZoomUtils.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/kernel/base/ui/layout/util/ZoomUtils.java
@@ -15,7 +15,7 @@ $Id$
 | See the License for the specific language governing permissions and      |
 | limitations under the License.                                           |
 +--------------------------------------------------------------------------*/
-package org.fortiss.tooling.base.layout.util;
+package org.fortiss.tooling.kernel.base.ui.layout.util;
 
 import org.eclipse.gef.RootEditPart;
 import org.eclipse.gef.editparts.ScalableFreeformRootEditPart;
diff --git a/org.fortiss.tooling.base/trunk/META-INF/MANIFEST.MF b/org.fortiss.tooling.base/trunk/META-INF/MANIFEST.MF
index 252afa7ca578cd0bc9d6a6d7a3b7544647c87959..cc9f271778727ab39a83f3b57d27837c5a11ffec 100644
--- a/org.fortiss.tooling.base/trunk/META-INF/MANIFEST.MF
+++ b/org.fortiss.tooling.base/trunk/META-INF/MANIFEST.MF
@@ -10,9 +10,6 @@ Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Require-Bundle: org.fortiss.tooling.kernel;bundle-version="0.0.1";visibility:=reexport
 Bundle-ActivationPolicy: lazy
 Export-Package: org.fortiss.tooling.base,
- org.fortiss.tooling.base.layout,
- org.fortiss.tooling.base.layout.constants,
- org.fortiss.tooling.base.layout.util,
  org.fortiss.tooling.base.model.element,
  org.fortiss.tooling.base.model.element.impl,
  org.fortiss.tooling.base.model.element.util,
diff --git a/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/ToolingBaseActivator.java b/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/ToolingBaseActivator.java
index 62d4df8dd84f5258aa29a5f04eeb4974388cbc23..af05f0673a3f2eae0a21c9d742eb32460920fb2a 100644
--- a/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/ToolingBaseActivator.java
+++ b/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/ToolingBaseActivator.java
@@ -17,7 +17,7 @@ $Id$
 +--------------------------------------------------------------------------*/
 package org.fortiss.tooling.base;
 
-import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.eclipse.core.runtime.Plugin;
 import org.osgi.framework.BundleContext;
 
 /**
@@ -28,7 +28,7 @@ import org.osgi.framework.BundleContext;
  * @version $Rev$
  * @ConQAT.Rating RED Hash: D6B33EFB704B0CA151E1C945B5BC48C6
  */
-public class ToolingBaseActivator extends AbstractUIPlugin {
+public class ToolingBaseActivator extends Plugin {
 
 	/** The plug-in ID. */
 	public static final String PLUGIN_ID = "org.fortiss.tooling.base"; //$NON-NLS-1$
diff --git a/org.fortiss.tooling.kernel.ui/trunk/META-INF/MANIFEST.MF b/org.fortiss.tooling.kernel.ui/trunk/META-INF/MANIFEST.MF
index b83dfc2650ccff24c6deb5dd452066e8555d00b2..cdae75d96b998a506a85a0a1423da6fa2bf7f178 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/META-INF/MANIFEST.MF
+++ b/org.fortiss.tooling.kernel.ui/trunk/META-INF/MANIFEST.MF
@@ -7,12 +7,18 @@ Bundle-Activator: org.fortiss.tooling.kernel.ui.ToolingKernelUIActivator
 Require-Bundle: org.eclipse.ui;visibility:=reexport,
  org.eclipse.core.runtime;visibility:=reexport,
  org.fortiss.tooling.kernel;bundle-version="0.0.1";visibility:=reexport,
- org.eclipse.core.resources;bundle-version="3.6.1"
+ org.eclipse.core.resources;bundle-version="3.6.1";visibility:=reexport,
+ org.eclipse.gef;bundle-version="3.6.2";visibility:=reexport,
+ org.conqat.ide.commons.gef;bundle-version="2.7.0";visibility:=reexport,
+ org.conqat.ide.commons.ui;bundle-version="2.7.0";visibility:=reexport,
+ org.eclipse.ui.views.properties.tabbed;bundle-version="3.5.100";visibility:=reexport,
+ org.eclipse.jface.databinding;bundle-version="1.4.0";visibility:=reexport
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Bundle-Vendor: fortiss
 Export-Package: org.fortiss.tooling.kernel.ui,
  org.fortiss.tooling.kernel.ui.base,
+ org.fortiss.tooling.kernel.ui.databinding,
  org.fortiss.tooling.kernel.ui.interfaces,
  org.fortiss.tooling.kernel.ui.services,
  org.fortiss.tooling.kernel.ui.util
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/base/EditorBase.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/base/EditorBase.java
index badfc042b0af5cc661277de09d0b76f1c96c7f16..c5484805a47a20b65a9bd7eb89db132cb2b42900 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/base/EditorBase.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/base/EditorBase.java
@@ -24,9 +24,9 @@ import org.eclipse.ui.IEditorInput;
 import org.eclipse.ui.IEditorSite;
 import org.eclipse.ui.PartInitException;
 import org.eclipse.ui.part.EditorPart;
-import org.fortiss.tooling.kernel.interfaces.IModelElementHandler;
 import org.fortiss.tooling.kernel.services.ICommandStackService;
 import org.fortiss.tooling.kernel.ui.interfaces.IEditorBinding;
+import org.fortiss.tooling.kernel.ui.interfaces.IModelElementHandler;
 import org.fortiss.tooling.kernel.ui.internal.editor.ModelElementEditorInput;
 
 /**
diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/base/ModelElementHandlerBase.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/base/ModelElementHandlerBase.java
similarity index 96%
rename from org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/base/ModelElementHandlerBase.java
rename to org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/base/ModelElementHandlerBase.java
index bd396144fac3f85131cdb1bf5d5bef75dee91fee..59ad1fdfb252dbf4b02bc663d9f57c1f816a85a1 100644
--- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/base/ModelElementHandlerBase.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/base/ModelElementHandlerBase.java
@@ -15,7 +15,7 @@ $Id$
 | See the License for the specific language governing permissions and      |
 | limitations under the License.                                           |
 +--------------------------------------------------------------------------*/
-package org.fortiss.tooling.kernel.base;
+package org.fortiss.tooling.kernel.ui.base;
 
 import java.util.Collections;
 import java.util.List;
@@ -23,7 +23,7 @@ import java.util.List;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.swt.graphics.Image;
-import org.fortiss.tooling.kernel.interfaces.IModelElementHandler;
+import org.fortiss.tooling.kernel.ui.interfaces.IModelElementHandler;
 
 /**
  * Base implementation for {@link IModelElementHandler}s.
diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/base/NamedCommentedModelElementHandlerBase.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/base/NamedCommentedModelElementHandlerBase.java
similarity index 94%
rename from org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/base/NamedCommentedModelElementHandlerBase.java
rename to org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/base/NamedCommentedModelElementHandlerBase.java
index c334c45595b51b8d4fd0b3fb820fc2580ed2477b..34cbca88b914f0a951851bdd889ec659c96ed367 100644
--- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/base/NamedCommentedModelElementHandlerBase.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/base/NamedCommentedModelElementHandlerBase.java
@@ -15,10 +15,10 @@ $Id$
 | See the License for the specific language governing permissions and      |
 | limitations under the License.                                           |
 +--------------------------------------------------------------------------*/
-package org.fortiss.tooling.kernel.base;
+package org.fortiss.tooling.kernel.ui.base;
 
-import org.fortiss.tooling.kernel.interfaces.IModelElementHandler;
 import org.fortiss.tooling.kernel.model.INamedCommentedElement;
+import org.fortiss.tooling.kernel.ui.interfaces.IModelElementHandler;
 
 /**
  * {@link IModelElementHandler} base implementation for
diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/databinding/EObjectObservableValue.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/databinding/EObjectObservableValue.java
similarity index 97%
rename from org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/databinding/EObjectObservableValue.java
rename to org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/databinding/EObjectObservableValue.java
index b1a2c6c2b749da4f2f9809730bb332dcc5ec2c09..026942f430d469ddb54a0823f6786224f95615e7 100644
--- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/databinding/EObjectObservableValue.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/databinding/EObjectObservableValue.java
@@ -15,7 +15,7 @@ $Id$
 | See the License for the specific language governing permissions and      |
 | limitations under the License.                                           |
 +--------------------------------------------------------------------------*/
-package org.fortiss.tooling.kernel.databinding;
+package org.fortiss.tooling.kernel.ui.databinding;
 
 import org.eclipse.core.databinding.observable.Diffs;
 import org.eclipse.core.databinding.observable.Realm;
@@ -35,12 +35,11 @@ import org.fortiss.tooling.kernel.services.ICommandStackService;
 /**
  * Implementation of {@link IObservableValue} for {@link EObject}s.
  * 
- * @author hummelb
+ * @author hummel
  * @author $Author$
  * @version $Rev$
  * @ConQAT.Rating RED Hash: 15CFC8E0F8C76EB39F1E306637EC6436
  */
-// TODO (FH): move UI parts, e.g. Display
 public class EObjectObservableValue extends AbstractObservableValue {
 
 	/** The wrapped object. */
diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/databinding/Observables.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/databinding/Observables.java
similarity index 97%
rename from org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/databinding/Observables.java
rename to org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/databinding/Observables.java
index 326090d11700b151ff3ac53084e32bfa8bb55c5c..80c2da76bd4bad9d5032e323c08e95d442ff543a 100644
--- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/databinding/Observables.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/databinding/Observables.java
@@ -15,7 +15,7 @@ $Id$
 | See the License for the specific language governing permissions and      |
 | limitations under the License.                                           |
 +--------------------------------------------------------------------------*/
-package org.fortiss.tooling.kernel.databinding;
+package org.fortiss.tooling.kernel.ui.databinding;
 
 import org.conqat.lib.commons.assertion.CCSMPre;
 import org.eclipse.core.databinding.observable.Realm;
@@ -26,7 +26,7 @@ import org.eclipse.emf.ecore.EStructuralFeature;
 /**
  * Observerables for EObject models.
  * 
- * @author hummelb
+ * @author hummel
  * @author $Author$
  * @version $Rev$
  * @ConQAT.Rating RED Hash: D2469271EB80E5AA630EB34902E89A52
diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IModelElementHandler.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/interfaces/IModelElementHandler.java
similarity index 98%
rename from org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IModelElementHandler.java
rename to org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/interfaces/IModelElementHandler.java
index d68376758636389d2cf4c41d4e60a8868392e8ec..d962ffb4128bae19d4dd5c715479d66e6182fe24 100644
--- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IModelElementHandler.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/interfaces/IModelElementHandler.java
@@ -15,7 +15,7 @@ $Id$
 | See the License for the specific language governing permissions and      |
 | limitations under the License.                                           |
 +--------------------------------------------------------------------------*/
-package org.fortiss.tooling.kernel.interfaces;
+package org.fortiss.tooling.kernel.ui.interfaces;
 
 import java.util.List;
 
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/EditorService.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/EditorService.java
index b72dc9b69c93069a8b25f21dd509fe33b2b9093f..d787d9bcddc02df615d670791d75636aa5d97036 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/EditorService.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/EditorService.java
@@ -21,7 +21,6 @@ import java.util.Collections;
 import java.util.Comparator;
 import java.util.List;
 
-import org.conqat.ide.commons.ui.logging.LoggingUtils;
 import org.conqat.lib.commons.collections.CollectionUtils;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.ui.PartInitException;
@@ -32,6 +31,7 @@ import org.fortiss.tooling.kernel.ui.interfaces.IEditorBinding;
 import org.fortiss.tooling.kernel.ui.internal.editor.BindingEditor;
 import org.fortiss.tooling.kernel.ui.internal.editor.ModelElementEditorInput;
 import org.fortiss.tooling.kernel.ui.services.IEditorService;
+import org.fortiss.tooling.kernel.util.LoggingUtils;
 
 /**
  * This class implements the {@link IEditorService} interface.
@@ -41,7 +41,6 @@ import org.fortiss.tooling.kernel.ui.services.IEditorService;
  * @version $Rev$
  * @ConQAT.Rating RED Hash: 251E6B64F0C35EAE01484E4CFED5EBD5
  */
-// TODO (FH): move to UI
 public class EditorService extends
 		EObjectAwareServiceBase<IEditorBinding<EObject>> implements
 		IEditorService {
@@ -122,4 +121,19 @@ public class EditorService extends
 			return eb1.getPriority() - eb0.getPriority();
 		}
 	}
+
+	/** {@inheritDoc} */
+	@Override
+	public void closeEditors(EObject rootElement) {
+		// TODO (FH): implement
+
+		// for (final IEditorPart editor : editors) {
+		// editor.getSite().getShell().getDisplay().asyncExec(new Runnable() {
+		// @Override
+		// public void run() {
+		// editor.getSite().getPage().closeEditor(editor, false);
+		// }
+		// });
+		// }
+	}
 }
diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/ModelElementService.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/ModelElementService.java
similarity index 95%
rename from org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/ModelElementService.java
rename to org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/ModelElementService.java
index 5fb4a374e5b9428170ec6ffa149ed9a4ec7f3721..7567176de57827f6f5aa7bb17a400c517f97af25 100644
--- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/ModelElementService.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/ModelElementService.java
@@ -15,7 +15,7 @@ $Id$
 | See the License for the specific language governing permissions and      |
 | limitations under the License.                                           |
 +--------------------------------------------------------------------------*/
-package org.fortiss.tooling.kernel.internal;
+package org.fortiss.tooling.kernel.ui.internal;
 
 import java.util.HashMap;
 import java.util.Map;
@@ -26,8 +26,8 @@ import org.conqat.lib.commons.reflect.ReflectionUtils;
 import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.emf.ecore.EObject;
 import org.fortiss.tooling.kernel.ToolingKernelActivator;
-import org.fortiss.tooling.kernel.interfaces.IModelElementHandler;
-import org.fortiss.tooling.kernel.services.IModelElementService;
+import org.fortiss.tooling.kernel.ui.interfaces.IModelElementHandler;
+import org.fortiss.tooling.kernel.ui.services.IModelElementService;
 import org.osgi.framework.Bundle;
 
 /**
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/editor/BindingEditor.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/editor/BindingEditor.java
index 87d5e011c639410aa472de0666355db61c01d7ad..7a73db432a7940b1f90644f490a9166b2d66a26e 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/editor/BindingEditor.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/editor/BindingEditor.java
@@ -36,9 +36,9 @@ import org.eclipse.ui.views.properties.IPropertySheetPage;
 import org.eclipse.ui.views.properties.tabbed.ITabbedPropertySheetPageContributor;
 import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
 import org.fortiss.tooling.kernel.ToolingKernelActivator;
-import org.fortiss.tooling.kernel.interfaces.IModelElementHandler;
 import org.fortiss.tooling.kernel.ui.interfaces.IBindingEditorPageChangeListener;
 import org.fortiss.tooling.kernel.ui.interfaces.IEditorBinding;
+import org.fortiss.tooling.kernel.ui.interfaces.IModelElementHandler;
 import org.fortiss.tooling.kernel.ui.services.IEditorService;
 import org.fortiss.tooling.kernel.ui.services.IPropertiesService;
 
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/editor/ModelElementEditorInput.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/editor/ModelElementEditorInput.java
index 5d6a893dc557b1c0af428e2a6476c6083f64e7e7..81c8f8846c97604feb628319d322156fcbf5a828 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/editor/ModelElementEditorInput.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/editor/ModelElementEditorInput.java
@@ -21,8 +21,8 @@ import org.eclipse.emf.ecore.EObject;
 import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.ui.IEditorInput;
 import org.eclipse.ui.IPersistableElement;
-import org.fortiss.tooling.kernel.interfaces.IModelElementHandler;
-import org.fortiss.tooling.kernel.services.IModelElementService;
+import org.fortiss.tooling.kernel.ui.interfaces.IModelElementHandler;
+import org.fortiss.tooling.kernel.ui.services.IModelElementService;
 
 /**
  * {@link IEditorInput} used when opening a {@link BindingEditor}.
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/properties/IdLabeledPropertySection.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/properties/IdLabeledPropertySection.java
index 3debc89e48614ba4463a96262bfe2d0ce2494be8..a077c79e465aeaac1f4085d1d29c90514236badf 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/properties/IdLabeledPropertySection.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/properties/IdLabeledPropertySection.java
@@ -23,10 +23,10 @@ import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Text;
 import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-import org.fortiss.tooling.kernel.databinding.Observables;
 import org.fortiss.tooling.kernel.model.FortissToolingKernelPackage;
 import org.fortiss.tooling.kernel.model.IIdLabeled;
 import org.fortiss.tooling.kernel.ui.base.PropertySectionBase;
+import org.fortiss.tooling.kernel.ui.databinding.Observables;
 
 /**
  * Property section for {@link IIdLabeled} objects.
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/properties/NamedCommentedPropertySection.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/properties/NamedCommentedPropertySection.java
index ceaa595473c18581be887da635ac0ceda6701d41..9f168198b9c89f8a3dee1b936bd3fd765cb6e2cc 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/properties/NamedCommentedPropertySection.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/properties/NamedCommentedPropertySection.java
@@ -23,10 +23,10 @@ import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Text;
 import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-import org.fortiss.tooling.kernel.databinding.Observables;
 import org.fortiss.tooling.kernel.model.FortissToolingKernelPackage;
 import org.fortiss.tooling.kernel.model.INamedCommentedElement;
 import org.fortiss.tooling.kernel.ui.base.PropertySectionBase;
+import org.fortiss.tooling.kernel.ui.databinding.Observables;
 
 /**
  * Property section for {@link INamedCommentedElement} objects.
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/views/LibraryView.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/views/LibraryView.java
index 79c0118b51ef2a38a95adf86591ffb30efc71a64..a69bb235f7e0d47fa7e450a15638b4272b07ed8d 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/views/LibraryView.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/views/LibraryView.java
@@ -39,13 +39,13 @@ import org.eclipse.ui.IWorkbenchPart;
 import org.eclipse.ui.dialogs.FilteredTree;
 import org.eclipse.ui.dialogs.PatternFilter;
 import org.eclipse.ui.part.ViewPart;
-import org.fortiss.tooling.kernel.interfaces.IModelElementHandler;
-import org.fortiss.tooling.kernel.services.IModelElementService;
 import org.fortiss.tooling.kernel.services.IPrototypeService;
 import org.fortiss.tooling.kernel.services.IPrototypeService.Prototype;
 import org.fortiss.tooling.kernel.ui.base.EditorBase;
 import org.fortiss.tooling.kernel.ui.interfaces.IBindingEditorPageChangeListener;
+import org.fortiss.tooling.kernel.ui.interfaces.IModelElementHandler;
 import org.fortiss.tooling.kernel.ui.internal.editor.BindingEditor;
+import org.fortiss.tooling.kernel.ui.services.IModelElementService;
 
 /**
  * {@link ViewPart} for the model element library view.
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/views/NavigatorTreeContentProvider.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/views/NavigatorTreeContentProvider.java
index dcde4838acd89ed5caa14fe1a6d76331340d97d0..de93fb02946f46f0935bf31098ad5de1e625dd62 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/views/NavigatorTreeContentProvider.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/views/NavigatorTreeContentProvider.java
@@ -23,10 +23,10 @@ import java.util.List;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.jface.viewers.ITreeContentProvider;
 import org.eclipse.jface.viewers.Viewer;
-import org.fortiss.tooling.kernel.interfaces.IModelElementHandler;
 import org.fortiss.tooling.kernel.interfaces.ITopLevelElementContext;
-import org.fortiss.tooling.kernel.services.IModelElementService;
 import org.fortiss.tooling.kernel.services.IPersistencyService;
+import org.fortiss.tooling.kernel.ui.interfaces.IModelElementHandler;
+import org.fortiss.tooling.kernel.ui.services.IModelElementService;
 
 /**
  * Content provider for the model navigator tree viewer.
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/views/NavigatorTreeLabelProvider.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/views/NavigatorTreeLabelProvider.java
index c1d986aea082c176a92c8819d804a5d3164666b2..5ebab775944cbb26d95cb80aa40375a6519443e2 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/views/NavigatorTreeLabelProvider.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/views/NavigatorTreeLabelProvider.java
@@ -21,8 +21,8 @@ import org.eclipse.emf.ecore.EObject;
 import org.eclipse.jface.viewers.BaseLabelProvider;
 import org.eclipse.jface.viewers.ILabelProvider;
 import org.eclipse.swt.graphics.Image;
-import org.fortiss.tooling.kernel.interfaces.IModelElementHandler;
-import org.fortiss.tooling.kernel.services.IModelElementService;
+import org.fortiss.tooling.kernel.ui.interfaces.IModelElementHandler;
+import org.fortiss.tooling.kernel.ui.services.IModelElementService;
 
 /**
  * {@link ILabelProvider} for the model navigator tree.
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/views/NewMenu.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/views/NewMenu.java
index 6abfcce699f26fe649b2d537bb5a3caf70035c3a..0cae44aca1fa61f688e781fc207d6c585a3a5832 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/views/NewMenu.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/views/NewMenu.java
@@ -25,10 +25,10 @@ import org.eclipse.ui.actions.CompoundContributionItem;
 import org.fortiss.tooling.kernel.interfaces.IPrototypeProvider;
 import org.fortiss.tooling.kernel.services.ICommandStackService;
 import org.fortiss.tooling.kernel.services.ICompositorService;
-import org.fortiss.tooling.kernel.services.IModelElementService;
 import org.fortiss.tooling.kernel.services.IPrototypeService;
 import org.fortiss.tooling.kernel.services.IPrototypeService.Prototype;
 import org.fortiss.tooling.kernel.ui.services.IEditorService;
+import org.fortiss.tooling.kernel.ui.services.IModelElementService;
 import org.fortiss.tooling.kernel.ui.services.INavigatorService;
 import org.fortiss.tooling.kernel.ui.util.EObjectSelectionUtils;
 
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/services/IEditorService.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/services/IEditorService.java
index cf68e7c520103b01ba41a80ff99e36463093671f..968aec710f22918f0251eb55f0949fe53bcacf01 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/services/IEditorService.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/services/IEditorService.java
@@ -39,6 +39,9 @@ public interface IEditorService {
 	/** Opens an editor for the given element. */
 	void openInEditor(EObject element);
 
+	/** Closes editors which depend on the given element or a sub-element. */
+	void closeEditors(EObject rootElement);
+
 	/** Returns registered editor bindings for the given {@link EObject}. */
 	List<IEditorBinding<EObject>> getBindings(EObject element);
 }
diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/services/IModelElementService.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/services/IModelElementService.java
similarity index 90%
rename from org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/services/IModelElementService.java
rename to org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/services/IModelElementService.java
index 08810886fdbb1acbf200dfbdef7ac4a1032d4ced..d4a06451ffb572ad9379cd18e1abb635126f74a2 100644
--- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/services/IModelElementService.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/services/IModelElementService.java
@@ -15,11 +15,11 @@ $Id$
 | See the License for the specific language governing permissions and      |
 | limitations under the License.                                           |
 +--------------------------------------------------------------------------*/
-package org.fortiss.tooling.kernel.services;
+package org.fortiss.tooling.kernel.ui.services;
 
 import org.eclipse.emf.ecore.EObject;
-import org.fortiss.tooling.kernel.interfaces.IModelElementHandler;
-import org.fortiss.tooling.kernel.internal.ModelElementService;
+import org.fortiss.tooling.kernel.ui.interfaces.IModelElementHandler;
+import org.fortiss.tooling.kernel.ui.internal.ModelElementService;
 
 /**
  * The model context service provides information about registered model
diff --git a/org.fortiss.tooling.kernel/trunk/META-INF/MANIFEST.MF b/org.fortiss.tooling.kernel/trunk/META-INF/MANIFEST.MF
index a360d8e6ed27aef0b466d1b5765acbee7bc1204b..617d86ba62c17c4e23ac5a0cd4cafe05f5611f7c 100644
--- a/org.fortiss.tooling.kernel/trunk/META-INF/MANIFEST.MF
+++ b/org.fortiss.tooling.kernel/trunk/META-INF/MANIFEST.MF
@@ -7,21 +7,14 @@ Bundle-Activator: org.fortiss.tooling.kernel.ToolingKernelActivator
 Bundle-Vendor: fortiss
 Require-Bundle: org.eclipse.core.runtime;visibility:=reexport,
  org.eclipse.core.databinding;visibility:=reexport,
- org.eclipse.jface.databinding;bundle-version="1.4.0";visibility:=reexport,
- org.eclipse.ui;visibility:=reexport,
- org.eclipse.ui.views.properties.tabbed;bundle-version="3.5.100";visibility:=reexport,
  org.eclipse.emf.ecore;bundle-version="2.6.1";visibility:=reexport,
- org.eclipse.gef;visibility:=reexport,
  org.conqat.ide.commons;bundle-version="2.7.0";visibility:=reexport,
- org.conqat.ide.commons.ui;bundle-version="2.7.0";visibility:=reexport,
- org.conqat.ide.commons.gef;bundle-version="2.7.0";visibility:=reexport,
  org.eclipse.emf.ecore.xmi;bundle-version="2.5.0",
  org.eclipse.emf.transaction;bundle-version="1.4.0"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Bundle-ActivationPolicy: lazy
 Export-Package: org.fortiss.tooling.kernel;uses:="org.eclipse.core.runtime,org.osgi.framework",
  org.fortiss.tooling.kernel.base;uses:="org.eclipse.emf.ecore,org.eclipse.swt.graphics,org.fortiss.tooling.kernel.interfaces",
- org.fortiss.tooling.kernel.databinding;uses:="org.eclipse.core.databinding.observable,org.eclipse.emf.ecore,org.eclipse.core.databinding.observable.value",
  org.fortiss.tooling.kernel.interfaces;
   uses:="org.eclipse.core.runtime,
    org.eclipse.emf.ecore,
diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/base/EObjectAware2ServiceBase.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/base/EObjectAware2ServiceBase.java
index 7217c43d99014cd7890c292c67cb45c316b35949..759bc7ceb66607715518803a8fd5c9aaff1517e0 100644
--- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/base/EObjectAware2ServiceBase.java
+++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/base/EObjectAware2ServiceBase.java
@@ -22,14 +22,14 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.conqat.ide.commons.ui.extension.ExtensionPointUtils;
-import org.conqat.ide.commons.ui.logging.LoggingUtils;
 import org.conqat.lib.commons.reflect.ReflectionUtils;
 import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.emf.ecore.EObject;
 import org.fortiss.tooling.kernel.ToolingKernelActivator;
 import org.fortiss.tooling.kernel.interfaces.IEObjectAware2;
+import org.fortiss.tooling.kernel.util.ExtensionPointUtils;
+import org.fortiss.tooling.kernel.util.LoggingUtils;
 import org.osgi.framework.Bundle;
 
 /**
diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/base/EObjectAwareServiceBase.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/base/EObjectAwareServiceBase.java
index 45877fd3c1c9edd6a80e0e9e0e0a96becae08007..b0bad78a3f8a80b0dfca42100de483fc250723f8 100644
--- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/base/EObjectAwareServiceBase.java
+++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/base/EObjectAwareServiceBase.java
@@ -22,14 +22,14 @@ import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 
-import org.conqat.ide.commons.ui.extension.ExtensionPointUtils;
-import org.conqat.ide.commons.ui.logging.LoggingUtils;
 import org.conqat.lib.commons.reflect.ReflectionUtils;
 import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.emf.ecore.EObject;
 import org.fortiss.tooling.kernel.ToolingKernelActivator;
 import org.fortiss.tooling.kernel.interfaces.IEObjectAware;
+import org.fortiss.tooling.kernel.util.ExtensionPointUtils;
+import org.fortiss.tooling.kernel.util.LoggingUtils;
 import org.osgi.framework.Bundle;
 
 /**
diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/CommandStackService.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/CommandStackService.java
index 08967ffaa01df0812c32e3ce7ddd6684f5a6856f..ee60e0103d1fd5be43657154dee37a3171336d87 100644
--- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/CommandStackService.java
+++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/CommandStackService.java
@@ -17,13 +17,13 @@ $Id$
 +--------------------------------------------------------------------------*/
 package org.fortiss.tooling.kernel.internal;
 
-import org.conqat.ide.commons.ui.logging.LoggingUtils;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.emf.ecore.EObject;
 import org.fortiss.tooling.kernel.ToolingKernelActivator;
 import org.fortiss.tooling.kernel.interfaces.ITopLevelElementContext;
 import org.fortiss.tooling.kernel.services.ICommandStackService;
 import org.fortiss.tooling.kernel.services.IPersistencyService;
+import org.fortiss.tooling.kernel.util.LoggingUtils;
 
 /**
  * This class implements the {@link ICommandStackService} interface. This class
diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/PrototypeService.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/PrototypeService.java
index 9b2aa11f5006f0d06a6688a62b45189dab3faa6a..d4ccf6db6c9b725f3c008a53abbb7028f8d8ddac 100644
--- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/PrototypeService.java
+++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/PrototypeService.java
@@ -21,8 +21,6 @@ import java.util.ArrayList;
 import java.util.LinkedList;
 import java.util.List;
 
-import org.conqat.ide.commons.ui.extension.ExtensionPointUtils;
-import org.conqat.ide.commons.ui.logging.LoggingUtils;
 import org.conqat.lib.commons.collections.CollectionUtils;
 import org.conqat.lib.commons.collections.UnmodifiableList;
 import org.eclipse.core.runtime.IConfigurationElement;
@@ -31,6 +29,8 @@ import org.fortiss.tooling.kernel.ToolingKernelActivator;
 import org.fortiss.tooling.kernel.interfaces.IPrototypeProvider;
 import org.fortiss.tooling.kernel.services.ICompositorService;
 import org.fortiss.tooling.kernel.services.IPrototypeService;
+import org.fortiss.tooling.kernel.util.ExtensionPointUtils;
+import org.fortiss.tooling.kernel.util.LoggingUtils;
 import org.osgi.framework.Bundle;
 
 /**
diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/storage/eclipse/EMFTransactionalCommand.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/storage/eclipse/EMFTransactionalCommand.java
index 9e2266c81e5a3052cd434ab599acb788ac9bc5a6..0fbb72ac61f51d18f7f992bd0f463427e0465965 100644
--- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/storage/eclipse/EMFTransactionalCommand.java
+++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/storage/eclipse/EMFTransactionalCommand.java
@@ -19,7 +19,6 @@ package org.fortiss.tooling.kernel.internal.storage.eclipse;
 
 import java.util.Collection;
 
-import org.conqat.ide.commons.ui.logging.LoggingUtils;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.emf.common.command.Command;
 import org.eclipse.emf.common.command.CompoundCommand;
@@ -29,6 +28,7 @@ import org.eclipse.emf.transaction.Transaction;
 import org.eclipse.emf.transaction.TransactionalEditingDomain;
 import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
 import org.fortiss.tooling.kernel.ToolingKernelActivator;
+import org.fortiss.tooling.kernel.util.LoggingUtils;
 
 /**
  * This class wraps another EMF command and makes sure that all execute methods
diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/storage/eclipse/EclipseResourceStorageProvider.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/storage/eclipse/EclipseResourceStorageProvider.java
index f17422b107d9007615d899a3f8f2930cef01be80..11bbd93d55c5a0d183c8347ea8ebd55074f542eb 100644
--- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/storage/eclipse/EclipseResourceStorageProvider.java
+++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/storage/eclipse/EclipseResourceStorageProvider.java
@@ -24,8 +24,6 @@ import java.util.IdentityHashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.conqat.ide.commons.ui.dialog.MessageUtils;
-import org.conqat.ide.commons.ui.logging.LoggingUtils;
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
@@ -36,11 +34,11 @@ import org.eclipse.core.resources.IResourceDeltaVisitor;
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.emf.ecore.EObject;
-import org.eclipse.swt.widgets.Display;
 import org.fortiss.tooling.kernel.ToolingKernelActivator;
 import org.fortiss.tooling.kernel.interfaces.IStorageProvider;
 import org.fortiss.tooling.kernel.interfaces.ITopLevelElementContext;
 import org.fortiss.tooling.kernel.services.IPersistencyService;
+import org.fortiss.tooling.kernel.util.LoggingUtils;
 
 /**
  * This class implements the persistency service behavior for Eclipse file
@@ -138,39 +136,41 @@ public class EclipseResourceStorageProvider implements IResourceChangeListener,
 	private void handleChange(final IFile file) {
 		final ModelContext context = loadedContexts.get(file);
 		if (!context.getLastChangeWasIntended()) {
-			Display.getDefault().asyncExec(new Runnable() {
-				@Override
-				public void run() {
-					final boolean reload = MessageUtils.askQuestion(
-							"Reload changed file?",
-							"The file "
-									+ file.getName()
-									+ " changed on disk. "
-									+ "Load these changes? "
-									+ "Note that loading the changes will discard all editors, "
-									+ "so all unsaved changes and the undo history will be lost. "
-									+ "However if you do not reload now, "
-									+ "the contents of the file will be overwritten "
-									+ "the next time you perform a save.");
-
-					if (reload) {
-						unloadContext(file);
-						try {
-							loadContext(file).setLastChangeWasIntended();
-
-							// perform touch to make sure the viewer does a
-							// refresh
-							file.touch(null);
-						} catch (final Exception e) {
-							LoggingUtils.error(
-									ToolingKernelActivator.getDefault(),
-									"Had an error during reloading the file!",
-									e);
-						}
-					}
+			// TODO (FH): find a solution for this ui code
+			// Display.getDefault().asyncExec(new Runnable() {
+			// @Override
+			// public void run() {
+			// final boolean reload = true;
+			// // MessageUtils.askQuestion(
+			// // "Reload changed file?",
+			// // "The file "
+			// // + file.getName()
+			// // + " changed on disk. "
+			// // + "Load these changes? "
+			// // +
+			// // "Note that loading the changes will discard all editors, "
+			// // +
+			// // "so all unsaved changes and the undo history will be lost. "
+			// // + "However if you do not reload now, "
+			// // + "the contents of the file will be overwritten "
+			// // + "the next time you perform a save.");
+			//
+			// if (reload) {
+			// }
+			//
+			// }
+			// });
+			unloadContext(file);
+			try {
+				loadContext(file).setLastChangeWasIntended();
 
-				}
-			});
+				// perform touch to make sure the viewer does a
+				// refresh
+				file.touch(null);
+			} catch (final Exception e) {
+				LoggingUtils.error(ToolingKernelActivator.getDefault(),
+						"Had an error during reloading the file!", e);
+			}
 		}
 	}
 
diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/storage/eclipse/ModelContext.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/storage/eclipse/ModelContext.java
index 580295108a2c50728d4c1c48ea638b5557fc5b8e..fecedefb8f0f5260d7709bf7ccef7b1318f1510e 100644
--- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/storage/eclipse/ModelContext.java
+++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/storage/eclipse/ModelContext.java
@@ -21,15 +21,12 @@ import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.lang.reflect.Method;
-import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Set;
 
-import org.conqat.ide.commons.ui.logging.LoggingUtils;
-import org.conqat.lib.commons.collections.IdentityHashSet;
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.WorkspaceJob;
 import org.eclipse.core.runtime.CoreException;
@@ -46,12 +43,12 @@ import org.eclipse.emf.ecore.resource.Resource;
 import org.eclipse.emf.ecore.resource.ResourceSet;
 import org.eclipse.emf.transaction.TransactionalCommandStack;
 import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.ui.IEditorPart;
 import org.fortiss.tooling.kernel.ToolingKernelActivator;
 import org.fortiss.tooling.kernel.interfaces.ITopLevelElementContext;
 import org.fortiss.tooling.kernel.model.IIdLabeled;
-import org.fortiss.tooling.kernel.services.IModelElementService;
+import org.fortiss.tooling.kernel.model.INamedElement;
 import org.fortiss.tooling.kernel.util.EMFResourceUtils;
+import org.fortiss.tooling.kernel.util.LoggingUtils;
 
 /**
  * The model context provides additional commands and hooks for a model.
@@ -79,12 +76,6 @@ class ModelContext implements ITopLevelElementContext {
 	/** The transactional command stack. */
 	private final AutoUndoCommandStack transactionalCommandStack;
 
-	/**
-	 * Set of editors which depend on this context. These editors are closed
-	 * when the underlying file is deleted or changed.
-	 */
-	private final Set<IEditorPart> dependentEditors = new IdentityHashSet<IEditorPart>();
-
 	/** Flag for remembering whether the last change of the file was intended. */
 	private boolean lastChangeWasIntended = false;
 
@@ -204,35 +195,11 @@ class ModelContext implements ITopLevelElementContext {
 		}
 	}
 
-	/**
-	 * Add a dependent editor part which will be closed when this context
-	 * becomes invalid.
-	 */
-	/* package */void addDependentEditor(IEditorPart editor) {
-		dependentEditors.add(editor);
-	}
-
-	/** Removes an editor added via {@link #addDependentEditor(IEditorPart)}. */
-	/* package */void removeDependentEditor(IEditorPart editor) {
-		dependentEditors.remove(editor);
-	}
-
 	/** Destroys this context and closes all dependent editors. */
 	public void destroy() {
 		// discard changes
 		((BasicCommandStack) editingDomain.getCommandStack()).saveIsDone();
 
-		List<IEditorPart> editors = new ArrayList<IEditorPart>(dependentEditors);
-		dependentEditors.clear();
-
-		for (final IEditorPart editor : editors) {
-			editor.getSite().getShell().getDisplay().asyncExec(new Runnable() {
-				@Override
-				public void run() {
-					editor.getSite().getPage().closeEditor(editor, false);
-				}
-			});
-		}
 	}
 
 	/** Returns the file associated with this model. */
@@ -377,10 +344,11 @@ class ModelContext implements ITopLevelElementContext {
 				children = result.eContents();
 			}
 			for (final EObject e : children) {
-				if (namePart.equals(IModelElementService.INSTANCE
-						.getModelElementHandler(e).getName(e))) {
-					result = e;
-					continue OUTER;
+				if (e instanceof INamedElement) {
+					if (namePart.equals(((INamedElement) e).getName())) {
+						result = e;
+						continue OUTER;
+					}
 				}
 			}
 			return null;
diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/util/ExtensionPointUtils.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/util/ExtensionPointUtils.java
new file mode 100644
index 0000000000000000000000000000000000000000..8f3c2c633576d9ef6e33b6416d119a57ba3c9928
--- /dev/null
+++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/util/ExtensionPointUtils.java
@@ -0,0 +1,88 @@
+/*--------------------------------------------------------------------------+
+$Id$
+|                                                                          |
+| Copyright 2005-2010 Technische Universitaet Muenchen                     |
+|                                                                          |
+| Licensed under the Apache License, Version 2.0 (the "License");          |
+| you may not use this file except in compliance with the License.         |
+| You may obtain a copy of the License at                                  |
+|                                                                          |
+|    http://www.apache.org/licenses/LICENSE-2.0                            |
+|                                                                          |
+| Unless required by applicable law or agreed to in writing, software      |
+| distributed under the License is distributed on an "AS IS" BASIS,        |
+| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
+| See the License for the specific language governing permissions and      |
+| limitations under the License.                                           |
++--------------------------------------------------------------------------*/
+package org.fortiss.tooling.kernel.util;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IExtension;
+import org.eclipse.core.runtime.IExtensionPoint;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Platform;
+import org.fortiss.tooling.kernel.ToolingKernelActivator;
+import org.osgi.framework.Bundle;
+
+/**
+ * Utility methods for the extension points of plug-ins.
+ * 
+ * Note: This class originates form the org.conqat.ide.commons.ui
+ * implementation. It re-packaged with the kernel to avoid any dependency to
+ * eclipse.ui packages. See http://www.conqat.org for the original version.
+ * 
+ * @author hummelb
+ * @author $Author$
+ * @version $Rev$
+ * @levd.rating GREEN Hash: 3A6C32DF7541A73EFF1BBA7204FFB23D
+ */
+public class ExtensionPointUtils {
+
+	/** Load the given class and throws an exception in case of problems. */
+	public static Class<?> loadClass(String className, Bundle bundle)
+			throws ClassNotFoundException {
+		if (className == null) {
+			throw new ClassNotFoundException("Class name not configured.");
+		}
+		return bundle.loadClass(className);
+	}
+
+	/** Returns the bundle an extension is declared in. */
+	public static Bundle getBundle(IConfigurationElement configElement) {
+		Bundle bundle = Platform.getBundle(configElement
+				.getDeclaringExtension().getNamespaceIdentifier());
+		return bundle;
+	}
+
+	/**
+	 * Returns the {@link IConfigurationElement}s for a given extension point
+	 * and element name.
+	 */
+	@SuppressWarnings("unchecked")
+	public static List<IConfigurationElement> getConfigurationElements(
+			String extensionPointName, String configurationElementName) {
+		IExtensionPoint extensionPoint = Platform.getExtensionRegistry()
+				.getExtensionPoint(extensionPointName);
+		if (extensionPoint == null) {
+			LoggingUtils.log(ToolingKernelActivator.getDefault(),
+					"Could not find extension point " + extensionPointName,
+					IStatus.ERROR);
+			return Collections.EMPTY_LIST;
+		}
+
+		List<IConfigurationElement> configurationElements = new ArrayList<IConfigurationElement>();
+		for (IExtension e : extensionPoint.getExtensions()) {
+			for (IConfigurationElement ce : e.getConfigurationElements()) {
+				if (ce.getName().equals(configurationElementName)) {
+					configurationElements.add(ce);
+				}
+			}
+		}
+		return configurationElements;
+	}
+}
\ No newline at end of file
diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/util/LoggingUtils.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/util/LoggingUtils.java
new file mode 100644
index 0000000000000000000000000000000000000000..72c3b23b5666ecb13c99f34ac8612c555bc11a1e
--- /dev/null
+++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/util/LoggingUtils.java
@@ -0,0 +1,96 @@
+/*--------------------------------------------------------------------------+
+$Id$
+|                                                                          |
+| Copyright 2005-2010 Technische Universitaet Muenchen                     |
+|                                                                          |
+| Licensed under the Apache License, Version 2.0 (the "License");          |
+| you may not use this file except in compliance with the License.         |
+| You may obtain a copy of the License at                                  |
+|                                                                          |
+|    http://www.apache.org/licenses/LICENSE-2.0                            |
+|                                                                          |
+| Unless required by applicable law or agreed to in writing, software      |
+| distributed under the License is distributed on an "AS IS" BASIS,        |
+| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
+| See the License for the specific language governing permissions and      |
+| limitations under the License.                                           |
++--------------------------------------------------------------------------*/
+package org.fortiss.tooling.kernel.util;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Plugin;
+import org.eclipse.core.runtime.Status;
+
+/**
+ * Utility code for performing logging.
+ * 
+ * Note: This class originates form the org.conqat.ide.commons.ui
+ * implementation. It re-packaged with the kernel to avoid any dependency to
+ * eclipse.ui packages. See http://www.conqat.org for the original version.
+ * 
+ * @author hummelb
+ * @author schwitze
+ * @author $Author$
+ * @version $Rev$
+ * @levd.rating GREEN Hash: AA5D7661DFC5CC4BF4D59C1A84E5D471
+ */
+public class LoggingUtils {
+
+	/**
+	 * Logs a message that occurred in the context of the given plug-in with the
+	 * given severity.
+	 * 
+	 * @see IStatus
+	 * 
+	 * @param plugin
+	 *            The plug-in that logs the message in its context.
+	 * @param message
+	 *            The message text to log.
+	 * @param severity
+	 *            The severity of the log message. See {@link IStatus} for valid
+	 *            constants.
+	 * 
+	 */
+	public static void log(Plugin plugin, String message, int severity) {
+		log(plugin, message, severity, null);
+	}
+
+	/**
+	 * Logs a message that occurred in the context of the given plug-in with the
+	 * given severity and a given {@link Throwable} that originally caused this
+	 * log message.
+	 * 
+	 * @see IStatus
+	 * 
+	 * @param plugin
+	 *            The plug-in that logs the message in its context.
+	 * @param message
+	 *            The message text to log.
+	 * @param severity
+	 *            The severity of the log message. See {@link IStatus} for valid
+	 *            constants.
+	 * @param cause
+	 *            The {@link Throwable} that originally caused this log message.
+	 */
+	public static void log(Plugin plugin, String message, int severity,
+			Throwable cause) {
+		String pluginId = plugin.getBundle().getSymbolicName();
+		IStatus status = new Status(severity, pluginId, message, cause);
+		plugin.getLog().log(status);
+	}
+
+	/**
+	 * Logs an exception that occurred in the context of the given plug-in with
+	 * the severity {@link IStatus#ERROR}.
+	 * 
+	 * @param plugin
+	 *            The plug-in that logs the message in its context.
+	 * @param message
+	 *            The message text to log.
+	 * @param cause
+	 *            The {@link Throwable} that originally caused this log message.
+	 */
+	public static void error(Plugin plugin, String message, Throwable cause) {
+		log(plugin, message, IStatus.ERROR, cause);
+	}
+}