diff --git a/org.fortiss.tooling.base/trunk/model/base.ecore b/org.fortiss.tooling.base/trunk/model/base.ecore
index cfb18073af5740937f40363ed70e74100bd61280..27135c83ccaa94218bdeae3e2feb7487c66a6eb2 100644
--- a/org.fortiss.tooling.base/trunk/model/base.ecore
+++ b/org.fortiss.tooling.base/trunk/model/base.ecore
@@ -4,36 +4,37 @@
     xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="model"
     nsURI="http://www.fortiss.org/tooling/base" nsPrefix="org-fortiss-tooling-base">
   <eClassifiers xsi:type="ecore:EClass" name="INamedElement" abstract="true" interface="true"
-      eSuperTypes="platform:/plugin/org.unicase.metamodel/model/metamodel.ecore#//ModelElementId">
+      eSuperTypes="../../org.unicase.metamodel/model/metamodel.ecore#//ModelElementId">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="INamedCommentedElement" abstract="true"
       interface="true" eSuperTypes="#//INamedElement">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="comment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="IEntity" abstract="true" interface="true"
-      eSuperTypes="#//IEntityContainer">
+  <eClassifiers xsi:type="ecore:EClass" name="IHierarchicElement" abstract="true"
+      interface="true" eSuperTypes="#//IHierarchicElementContainer">
     <eStructuralFeatures xsi:type="ecore:EReference" name="connections" upperBound="-1"
         eType="#//IConnection" containment="true"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="connectors" upperBound="-1"
         eType="#//IConnector" containment="true"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="specifications" upperBound="-1"
-        eType="#//IEntitySpecification" containment="true"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="referenceBy" upperBound="-1"
-        eType="#//IEntityReference" eOpposite="#//IEntityReference/reference"/>
+        eType="#//IHierarchicElementSpecification" containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="referencedBy" upperBound="-1"
+        eType="#//IHierarchicElementReference" eOpposite="#//IHierarchicElementReference/reference"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="IEntityContainer" abstract="true" interface="true">
-    <eStructuralFeatures xsi:type="ecore:EReference" name="entities" upperBound="-1"
-        eType="#//IEntity" containment="true"/>
+  <eClassifiers xsi:type="ecore:EClass" name="IHierarchicElementContainer" abstract="true"
+      interface="true">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="containedElements" upperBound="-1"
+        eType="#//IHierarchicElement" containment="true"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="IEntityReference" abstract="true" interface="true">
-    <eStructuralFeatures xsi:type="ecore:EReference" name="reference" eType="#//IEntity"
-        eOpposite="#//IEntity/referenceBy"/>
+  <eClassifiers xsi:type="ecore:EClass" name="IHierarchicElementReference" abstract="true"
+      interface="true">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="reference" eType="#//IHierarchicElement"
+        eOpposite="#//IHierarchicElement/referencedBy"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="IEntitySpecification" abstract="true"
+  <eClassifiers xsi:type="ecore:EClass" name="IHierarchicElementSpecification" abstract="true"
       interface="true"/>
-  <eClassifiers xsi:type="ecore:EClass" name="IConnector" abstract="true" interface="true"
-      eSuperTypes="#//INamedCommentedElement">
+  <eClassifiers xsi:type="ecore:EClass" name="IConnector" abstract="true" interface="true">
     <eStructuralFeatures xsi:type="ecore:EReference" name="specifications" upperBound="-1"
         eType="#//IConnectorSpecification" containment="true"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="incoming" upperBound="-1"
@@ -50,8 +51,7 @@
     <eStructuralFeatures xsi:type="ecore:EReference" name="reference" eType="#//IConnector"
         eOpposite="#//IConnector/referencedBy"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="IConnection" abstract="true" interface="true"
-      eSuperTypes="#//INamedCommentedElement">
+  <eClassifiers xsi:type="ecore:EClass" name="IConnection" abstract="true" interface="true">
     <eStructuralFeatures xsi:type="ecore:EReference" name="source" eType="#//IConnector"
         eOpposite="#//IConnector/outgoing"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//IConnector"
diff --git a/org.fortiss.tooling.base/trunk/model/base.genmodel b/org.fortiss.tooling.base/trunk/model/base.genmodel
index a177ccd785dd526c35f255c8a7d80fcc5867831c..5bb37512d1ac3dcfa08596fc65b21620292f70e4 100644
--- a/org.fortiss.tooling.base/trunk/model/base.genmodel
+++ b/org.fortiss.tooling.base/trunk/model/base.genmodel
@@ -3,7 +3,8 @@
     xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
     xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.fortiss.tooling.base/generated-src"
     modelPluginID="org.fortiss.tooling.base" modelName="Base" importerID="org.eclipse.emf.importer.ecore"
-    containmentProxies="true" complianceLevel="6.0" copyrightFields="false" usedGenPackages="platform:/plugin/org.unicase.metamodel/model/metamodel.genmodel#//metamodel">
+    containmentProxies="true" arrayAccessors="true" complianceLevel="6.0" copyrightFields="false"
+    usedGenPackages="platform:/plugin/org.unicase.metamodel/model/metamodel.genmodel#//metamodel">
   <foreignModel>base.ecore</foreignModel>
   <genPackages prefix="Base" basePackage="org.fortiss.tooling.base" disposableProviderFactory="true"
       ecorePackage="base.ecore#/">
@@ -13,5 +14,38 @@
     <genClasses image="false" ecoreClass="base.ecore#//INamedCommentedElement">
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute base.ecore#//INamedCommentedElement/comment"/>
     </genClasses>
+    <genClasses image="false" ecoreClass="base.ecore#//IHierarchicElement">
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference base.ecore#//IHierarchicElement/connections"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference base.ecore#//IHierarchicElement/connectors"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference base.ecore#//IHierarchicElement/specifications"/>
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference base.ecore#//IHierarchicElement/referencedBy"/>
+    </genClasses>
+    <genClasses image="false" ecoreClass="base.ecore#//IHierarchicElementContainer">
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference base.ecore#//IHierarchicElementContainer/containedElements"/>
+    </genClasses>
+    <genClasses image="false" ecoreClass="base.ecore#//IHierarchicElementReference">
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference base.ecore#//IHierarchicElementReference/reference"/>
+    </genClasses>
+    <genClasses image="false" ecoreClass="base.ecore#//IHierarchicElementSpecification"/>
+    <genClasses image="false" ecoreClass="base.ecore#//IConnector">
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference base.ecore#//IConnector/specifications"/>
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference base.ecore#//IConnector/incoming"/>
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference base.ecore#//IConnector/outgoing"/>
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference base.ecore#//IConnector/referencedBy"/>
+    </genClasses>
+    <genClasses image="false" ecoreClass="base.ecore#//IConnectorSpecification"/>
+    <genClasses image="false" ecoreClass="base.ecore#//IConnectorReference">
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference base.ecore#//IConnectorReference/reference"/>
+    </genClasses>
+    <genClasses image="false" ecoreClass="base.ecore#//IConnection">
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference base.ecore#//IConnection/source"/>
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference base.ecore#//IConnection/target"/>
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference base.ecore#//IConnection/referencedBy"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference base.ecore#//IConnection/specifications"/>
+    </genClasses>
+    <genClasses image="false" ecoreClass="base.ecore#//IConnectionReference">
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference base.ecore#//IConnectionReference/reference"/>
+    </genClasses>
+    <genClasses image="false" ecoreClass="base.ecore#//IConnectionSpecification"/>
   </genPackages>
 </genmodel:GenModel>