diff --git a/org.fortiss.tooling.kernel/trunk/model/kernel.ecore b/org.fortiss.tooling.kernel/trunk/model/kernel.ecore
index 288895c2188125fcceaf1d8c4f4dbdda56a7ac5e..35beac5afae1c7633344e9b20dd13abe78e703b8 100644
--- a/org.fortiss.tooling.kernel/trunk/model/kernel.ecore
+++ b/org.fortiss.tooling.kernel/trunk/model/kernel.ecore
@@ -126,9 +126,9 @@
         <details key="documentation" value="Element which can be constrained. Keeps track of all the constraints which apply to it."/>
       </eAnnotations>
       <eStructuralFeatures xsi:type="ecore:EReference" name="constraints" upperBound="-1"
-          eType="#//constraints/IConstraint"/>
+          eType="#//constraints/Constraint"/>
     </eClassifiers>
-    <eClassifiers xsi:type="ecore:EClass" name="IConstraint" abstract="true" interface="true">
+    <eClassifiers xsi:type="ecore:EClass" name="Constraint">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="Constraint. Can be anything as long as there is a corresponding ConstraintVerifier."/>
       </eAnnotations>
@@ -136,13 +136,14 @@
           upperBound="-1" eType="#//constraints/ConstrainedWithChecksum" containment="true"/>
       <eStructuralFeatures xsi:type="ecore:EReference" name="verificationStatus" eType="#//constraints/IConstraintVerificationStatus"
           containment="true"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="constraintTypeID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
     </eClassifiers>
     <eClassifiers xsi:type="ecore:EClass" name="IConstraintVerificationStatus" abstract="true"
         interface="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="Status of verification of a constraint. Typically, should denote &quot;Success&quot;, &quot;Fail&quot;, &quot;Outdated&quot; or &quot;Error&quot; with possible specializations depending on the particular constraints."/>
       </eAnnotations>
-      <eStructuralFeatures xsi:type="ecore:EReference" name="constraint" eType="#//constraints/IConstraint"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="constraint" eType="#//constraints/Constraint"/>
     </eClassifiers>
     <eClassifiers xsi:type="ecore:EClass" name="ConstrainedWithChecksum">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -158,7 +159,7 @@
     <eClassifiers xsi:type="ecore:EClass" name="IConstraintContainer" abstract="true"
         interface="true">
       <eStructuralFeatures xsi:type="ecore:EReference" name="constraints" upperBound="-1"
-          eType="#//constraints/IConstraint" containment="true"/>
+          eType="#//constraints/Constraint" containment="true"/>
     </eClassifiers>
   </eSubpackages>
 </ecore:EPackage>
diff --git a/org.fortiss.tooling.kernel/trunk/model/kernel.genmodel b/org.fortiss.tooling.kernel/trunk/model/kernel.genmodel
index 3c2f4e969dd3798c83a70ee8f260392b303797a0..4b13539f5e662c0a24dcbbdfda7d294bae4817bf 100644
--- a/org.fortiss.tooling.kernel/trunk/model/kernel.genmodel
+++ b/org.fortiss.tooling.kernel/trunk/model/kernel.genmodel
@@ -58,11 +58,10 @@
       <genClasses image="false" ecoreClass="kernel.ecore#//constraints/IConstrained">
         <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference kernel.ecore#//constraints/IConstrained/constraints"/>
       </genClasses>
-      <genClasses image="false" ecoreClass="kernel.ecore#//constraints/IConstraint">
-        <genFeatures notify="false" createChild="false" propertySortChoices="true"
-            ecoreFeature="ecore:EReference kernel.ecore#//constraints/IConstraint/constrainedsWithChecksum"/>
-        <genFeatures notify="false" createChild="false" propertySortChoices="true"
-            ecoreFeature="ecore:EReference kernel.ecore#//constraints/IConstraint/verificationStatus"/>
+      <genClasses image="false" ecoreClass="kernel.ecore#//constraints/Constraint">
+        <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference kernel.ecore#//constraints/Constraint/constrainedsWithChecksum"/>
+        <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference kernel.ecore#//constraints/Constraint/verificationStatus"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute kernel.ecore#//constraints/Constraint/constraintTypeID"/>
       </genClasses>
       <genClasses ecoreClass="kernel.ecore#//constraints/IConstraintVerificationStatus">
         <genFeatures notify="false" createChild="false" propertySortChoices="true"