diff --git a/org.framed.iorm.ui/core/attributeAndOperation/AttributeAndOperation.ecl b/org.framed.iorm.ui/core/attributeAndOperation/AttributeAndOperation.ecl
new file mode 100644
index 0000000000000000000000000000000000000000..d2dfac9ad3698335912bef306dbb8ec88b4dbabb
--- /dev/null
+++ b/org.framed.iorm.ui/core/attributeAndOperation/AttributeAndOperation.ecl
@@ -0,0 +1,11 @@
+//NaturalType 
+Create_Attribute NaturalType (true) when true;  
+Create_Operation NaturalType (true) when true;  
+Create_Property NaturalType (true) when true;  
+Add_Property NaturalType (true) when true;  
+
+//NaturalType
+Create_Attribute DataType (true) when true;  
+Create_Operation DataType (true) when true;  
+Create_Property DataType (true) when true;  
+Add_Property DataType (true) when true;  
diff --git a/org.framed.iorm.ui/core/attributeAndOperation/AttributeOperationCommonPattern.java b/org.framed.iorm.ui/core/attributeAndOperation/AttributeOperationCommonPattern.java
index 6ac9325457be9bc364b5a3de483fe04a8d6fd881..ed7b73144a77defe3a1b23270caadbdf265bda21 100644
--- a/org.framed.iorm.ui/core/attributeAndOperation/AttributeOperationCommonPattern.java
+++ b/org.framed.iorm.ui/core/attributeAndOperation/AttributeOperationCommonPattern.java
@@ -67,7 +67,6 @@ public abstract class AttributeOperationCommonPattern extends FRaMEDShapePattern
 	protected final FeaturePaletteDescriptor spec_FPD = new FeaturePaletteDescriptor(
 		PaletteCategory.PROPERTIES_CATEGORY,
 		ViewVisibility.ALL_VIEWS) {
-		/*
 			@Override
 			public boolean featureExpression(List<String> framedFeatureNames, PaletteView paletteView) {
 				switch(paletteView) {
@@ -76,10 +75,9 @@ public abstract class AttributeOperationCommonPattern extends FRaMEDShapePattern
 					return (framedFeatureNames.contains("Role_Properties") ||
 							framedFeatureNames.contains("Compartment_Properties"));
 				default: return false;
-		}
+				}
 		}	
-				*/
-		};
+	};
 	
 	/**
 	 * class constructor
diff --git a/org.framed.iorm.ui/core/baseRules.ecl b/org.framed.iorm.ui/core/baseRules.ecl
index 1552f9e95b37e749af21dc23a1130db90adb5ba5..80f11499d55dddca51254e115af1d90e154ad4d5 100644
--- a/org.framed.iorm.ui/core/baseRules.ecl
+++ b/org.framed.iorm.ui/core/baseRules.ecl
@@ -1,22 +1,18 @@
 //https://github.com/leondart/FRaMED/wiki/EditPolicy-Rules
- 
-//base rules 
-Add RoleType (true) when InCompartment(); 
-Create RoleType (true) when InCompartment(); 
+//base rules  
+Add RoleType (true) when InType(CompartmentType);  
+Create RoleType (true) when InType(CompartmentType); 
 
 Add NaturalType (true) when true;
 Add Group (true) when true;
 Create NaturalType (true) when true;
 Create Group (true) when true;
 
-Create RelationshipExclusion (true) when true;
-Create RelationshipImplication (true) when true;
 Create Inheritance (true) when true;
-Create Fulfillment (true) when true;
 Create Relationship (true) when true;
 
 //enable all context menues
-Execute CompartmentType (true) when true;
+//Execute CompartmentType (true) when true;
 Execute Relationship (true) when true;
-Execute Fulfillment (true) when true;
-Execute Inheritance (true) when true;
+//Execute Fulfillment (true) when true;
+//Execute Inheritance (true) when true;
diff --git a/org.framed.iorm.ui/core/baseRules.editpolicy b/org.framed.iorm.ui/core/baseRules.editpolicy
index a25e6b5c5b11254bfa05a13f86eefb055bb07536..a8989f82497a5e216396a60a54ac8b9c64a9a934 100644
--- a/org.framed.iorm.ui/core/baseRules.editpolicy
+++ b/org.framed.iorm.ui/core/baseRules.editpolicy
@@ -24,40 +24,16 @@
     <featureRule xsi:type="editpolicymodel:TrueFeatureRule"/>
     <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/>
   </policies>
-  <policies actionType="RelationshipExclusion">
-    <featureRule xsi:type="editpolicymodel:TrueFeatureRule"/>
-    <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/>
-  </policies>
-  <policies actionType="RelationshipImplication">
-    <featureRule xsi:type="editpolicymodel:TrueFeatureRule"/>
-    <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/>
-  </policies>
   <policies actionType="Inheritance">
     <featureRule xsi:type="editpolicymodel:TrueFeatureRule"/>
     <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/>
   </policies>
-  <policies actionType="Fulfillment">
-    <featureRule xsi:type="editpolicymodel:TrueFeatureRule"/>
-    <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/>
-  </policies>
   <policies actionType="Relationship">
     <featureRule xsi:type="editpolicymodel:TrueFeatureRule"/>
     <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/>
   </policies>
-  <policies action="Execute" actionType="CompartmentType">
-    <featureRule xsi:type="editpolicymodel:TrueFeatureRule"/>
-    <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/>
-  </policies>
   <policies action="Execute" actionType="Relationship">
     <featureRule xsi:type="editpolicymodel:TrueFeatureRule"/>
     <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/>
   </policies>
-  <policies action="Execute" actionType="Fulfillment">
-    <featureRule xsi:type="editpolicymodel:TrueFeatureRule"/>
-    <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/>
-  </policies>
-  <policies action="Execute" actionType="Inheritance">
-    <featureRule xsi:type="editpolicymodel:TrueFeatureRule"/>
-    <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/>
-  </policies>
 </editpolicymodel:Model>
diff --git a/org.framed.iorm.ui/core/customFeatures/ChangeConfigurationFeature.java b/org.framed.iorm.ui/core/customFeatures/ChangeConfigurationFeature.java
index 428e7e2b00a3615ed6378e58745e21211413c2c1..6594bace9b0ed2bdbe0f176f814c95d538fac2a3 100644
--- a/org.framed.iorm.ui/core/customFeatures/ChangeConfigurationFeature.java
+++ b/org.framed.iorm.ui/core/customFeatures/ChangeConfigurationFeature.java
@@ -23,7 +23,6 @@ import de.ovgu.featureide.fm.core.configuration.Configuration;
 import org.framed.iorm.ui.palette.FeaturePaletteDescriptor; //*import for javadoc link
 import org.framed.iorm.ui.providers.FeatureProvider;
 import org.framed.iorm.ui.configuration.ChangeConfigurationContext; //*import for javadoc link
-import org.framed.iorm.ui.editPolicy.EditPolicyService;
 import org.framed.iorm.ui.configuration.ChangeConfigurationCommand; //*import for javadoc link
 
 
diff --git a/org.framed.iorm.ui/core/fulfillment/Fulfillment.ecl b/org.framed.iorm.ui/core/fulfillment/Fulfillment.ecl
index 008551c99723cd5c1604b8a2ea6dd687b7a414bc..16067a7eb7eef7ecef96937010578212cf570719 100644
--- a/org.framed.iorm.ui/core/fulfillment/Fulfillment.ecl
+++ b/org.framed.iorm.ui/core/fulfillment/Fulfillment.ecl
@@ -1,16 +1,20 @@
 //Fullfillment or Players?? 
-Start Fulfillment (Naturals) when IsSourceType(NaturalType); 
+Start Fulfillment (Naturals) when IsSourceType(NaturalType);  
 Add Fulfillment (Naturals) when IsSourceType(NaturalType) and IsTargetType(CompartmentType);
+Create Fulfillment (Naturals) when IsSourceType(NaturalType) and IsTargetType(CompartmentType);
 Reconnect Fulfillment (Naturals) when IsSourceType(NaturalType) and IsTargetType(CompartmentType);
 
 Start Fulfillment (Roles) when IsSourceType(RoleType);
 Add Fulfillment (Roles) when IsSourceType(RoleType) and IsTargetType(CompartmentType);
+Create Fulfillment (Roles) when IsSourceType(RoleType) and IsTargetType(CompartmentType);
 Reconnect Fulfillment (Roles) when IsSourceType(RoleType) and IsTargetType(CompartmentType);
 
 Start Fulfillment (Compartments) when IsSourceType(CompartmentType);
 Add Fulfillment (Compartments) when IsSourceType(CompartmentType) and IsTargetType(CompartmentType) and !SourceEqualsTarget();
+Create Fulfillment (Compartments) when IsSourceType(CompartmentType) and IsTargetType(CompartmentType) and !SourceEqualsTarget();
 Reconnect Fulfillment (Compartments) when IsSourceType(CompartmentType) and IsTargetType(CompartmentType) and !SourceEqualsTarget();
 
 Start Fulfillment (Dates) when IsSourceType(DataType);
 Add Fulfillment (Dates) when IsSourceType(DataType);
+Create Fulfillment (Dates) when IsSourceType(DataType);
 Reconnect Fulfillment (Dates) when IsSourceType(DataType);
\ No newline at end of file
diff --git a/org.framed.iorm.ui/core/fulfillment/Fulfillment.editpolicy b/org.framed.iorm.ui/core/fulfillment/Fulfillment.editpolicy
index c513e6b05f94b8017ac93042258f47eeb799efad..51b84d2dffb8e1f701020d7e63fa4a73f01f83d9 100644
--- a/org.framed.iorm.ui/core/fulfillment/Fulfillment.editpolicy
+++ b/org.framed.iorm.ui/core/fulfillment/Fulfillment.editpolicy
@@ -11,6 +11,13 @@
       <rules xsi:type="editpolicymodel:IsTargetType" type="CompartmentType"/>
     </constraintRule>
   </policies>
+  <policies actionType="Fulfillment">
+    <featureRule xsi:type="editpolicymodel:IsFeature" featureName="Naturals"/>
+    <constraintRule xsi:type="editpolicymodel:AndConstraintRule">
+      <rules xsi:type="editpolicymodel:IsSourceType" type="NaturalType"/>
+      <rules xsi:type="editpolicymodel:IsTargetType" type="CompartmentType"/>
+    </constraintRule>
+  </policies>
   <policies action="Reconnect" actionType="Fulfillment">
     <featureRule xsi:type="editpolicymodel:IsFeature" featureName="Naturals"/>
     <constraintRule xsi:type="editpolicymodel:AndConstraintRule">
@@ -29,6 +36,13 @@
       <rules xsi:type="editpolicymodel:IsTargetType" type="CompartmentType"/>
     </constraintRule>
   </policies>
+  <policies actionType="Fulfillment">
+    <featureRule xsi:type="editpolicymodel:IsFeature"/>
+    <constraintRule xsi:type="editpolicymodel:AndConstraintRule">
+      <rules xsi:type="editpolicymodel:IsSourceType" type="RoleType"/>
+      <rules xsi:type="editpolicymodel:IsTargetType" type="CompartmentType"/>
+    </constraintRule>
+  </policies>
   <policies action="Reconnect" actionType="Fulfillment">
     <featureRule xsi:type="editpolicymodel:IsFeature"/>
     <constraintRule xsi:type="editpolicymodel:AndConstraintRule">
@@ -52,6 +66,18 @@
       </rules>
     </constraintRule>
   </policies>
+  <policies actionType="Fulfillment">
+    <featureRule xsi:type="editpolicymodel:IsFeature" featureName="Compartments"/>
+    <constraintRule xsi:type="editpolicymodel:AndConstraintRule">
+      <rules xsi:type="editpolicymodel:AndConstraintRule">
+        <rules xsi:type="editpolicymodel:IsSourceType" type="CompartmentType"/>
+        <rules xsi:type="editpolicymodel:IsTargetType" type="CompartmentType"/>
+      </rules>
+      <rules xsi:type="editpolicymodel:NotConstraintRule">
+        <rule xsi:type="editpolicymodel:SourceEqualsTarget"/>
+      </rules>
+    </constraintRule>
+  </policies>
   <policies action="Reconnect" actionType="Fulfillment">
     <featureRule xsi:type="editpolicymodel:IsFeature" featureName="Compartments"/>
     <constraintRule xsi:type="editpolicymodel:AndConstraintRule">
@@ -72,6 +98,10 @@
     <featureRule xsi:type="editpolicymodel:IsFeature" featureName="Dates"/>
     <constraintRule xsi:type="editpolicymodel:IsSourceType" type="DataType"/>
   </policies>
+  <policies actionType="Fulfillment">
+    <featureRule xsi:type="editpolicymodel:IsFeature" featureName="Dates"/>
+    <constraintRule xsi:type="editpolicymodel:IsSourceType" type="DataType"/>
+  </policies>
   <policies action="Reconnect" actionType="Fulfillment">
     <featureRule xsi:type="editpolicymodel:IsFeature" featureName="Dates"/>
     <constraintRule xsi:type="editpolicymodel:IsSourceType" type="DataType"/>
diff --git a/org.framed.iorm.ui/core/fulfillment/FulfillmentPattern.java b/org.framed.iorm.ui/core/fulfillment/FulfillmentPattern.java
index 0d8d86ab6592cb7f873bbdfe38453d539f3872d3..a9f020d7adc96fdb8a5c509c49074467cff0c87b 100644
--- a/org.framed.iorm.ui/core/fulfillment/FulfillmentPattern.java
+++ b/org.framed.iorm.ui/core/fulfillment/FulfillmentPattern.java
@@ -1,8 +1,5 @@
 package fulfillment;
 
-import java.util.Arrays;
-import java.util.List;
-
 import org.eclipse.graphiti.features.IFeature;
 import org.eclipse.graphiti.features.context.IAddConnectionContext;
 import org.eclipse.graphiti.features.context.IAddContext;
diff --git a/org.framed.iorm.ui/core/inheritance/Inheritance.ecl b/org.framed.iorm.ui/core/inheritance/Inheritance.ecl
index b8562dd24b11cbe2362c733b8e2efb60438c653a..aa787a7f5fb5e629a88c8891dfb29a97b4a4ab3e 100644
--- a/org.framed.iorm.ui/core/inheritance/Inheritance.ecl
+++ b/org.framed.iorm.ui/core/inheritance/Inheritance.ecl
@@ -1,4 +1,4 @@
-//Inheritance
+//Inheritance 
 Start Inheritance (Naturals) when IsSourceType(NaturalType); 
 Add Inheritance (Naturals) when IsSourceType(NaturalType) and SourceEqualsTargetType();
 Reconnect Inheritance (Naturals) when IsSourceType(NaturalType) and SourceEqualsTargetType();
\ No newline at end of file
diff --git a/org.framed.iorm.ui/core/inheritance/InheritancePattern.java b/org.framed.iorm.ui/core/inheritance/InheritancePattern.java
index b3268ec1b8d479e5e061f0171ec150237d07e787..0c4a08899532b68d6410d6ec08e36381cadb39eb 100644
--- a/org.framed.iorm.ui/core/inheritance/InheritancePattern.java
+++ b/org.framed.iorm.ui/core/inheritance/InheritancePattern.java
@@ -1,6 +1,5 @@
 package inheritance;
 
-import java.util.Arrays;
 import java.util.List;
 
 import org.eclipse.graphiti.features.context.IAddConnectionContext;
@@ -49,7 +48,6 @@ public class InheritancePattern extends FRaMEDConnectionPattern {
 	private final FeaturePaletteDescriptor spec_FPD = new FeaturePaletteDescriptor(
 		PaletteCategory.RELATIONS_CATEGORY,
 		ViewVisibility.ALL_VIEWS) {
-		/*
 			@Override
 			public boolean featureExpression(List<String> framedFeatureNames, PaletteView paletteView) {
 				switch(paletteView) {
@@ -59,9 +57,9 @@ public class InheritancePattern extends FRaMEDConnectionPattern {
 							    (framedFeatureNames.contains("Compartment_Inheritance") &&
 							     framedFeatureNames.contains("Contains_Compartments")));
 					default: return false;
-			}	}
-			*/
-				};
+			}	
+		}
+	};
 	
 	/**
 	 * class constructor		
@@ -178,7 +176,7 @@ public class InheritancePattern extends FRaMEDConnectionPattern {
 			org.framed.iorm.model.Shape targetShape = (org.framed.iorm.model.Shape) target;
 			if(sourceShape != null && targetShape != null && sM == tM) {
 				return EditPolicyService.getHandler(this.getDiagram()).canCreate(createContext, Type.INHERITANCE);
-				}
+			}
 		}
 	    return false;
 	}
@@ -239,7 +237,7 @@ public class InheritancePattern extends FRaMEDConnectionPattern {
 	/**
 	 * searches for the main or group model the inheritance should be added to
 	 */
-	public Model getModelToCreateIn(org.framed.iorm.model.ModelElement sourceShape) {
+	public Model getModelToCreateIn(org.framed.iorm.model.ModelElement sourceShape) { //FIXME
 		while(sourceShape.getContainer() != null) {
 			if(sourceShape.getContainer().getParent() == null ||
 			   (sourceShape.getContainer().getParent() != null &&
diff --git a/org.framed.iorm.ui/core/model/ModelPattern.java b/org.framed.iorm.ui/core/model/ModelPattern.java
index 5ed94d6a49fee7d836eb9093427edbc30b04b0b9..84658a165ff382f5d392b7e1eb25cd47c038fd6f 100644
--- a/org.framed.iorm.ui/core/model/ModelPattern.java
+++ b/org.framed.iorm.ui/core/model/ModelPattern.java
@@ -2,7 +2,6 @@ package model;
 
 import java.io.IOException;
 import java.net.URISyntaxException;
-import java.net.URL;
 
 import org.eclipse.core.runtime.FileLocator;
 import org.eclipse.emf.common.util.URI;
@@ -15,11 +14,9 @@ import org.eclipse.graphiti.mm.pictograms.PictogramElement;
 import org.eclipse.graphiti.pattern.IPattern;
 import org.framed.iorm.model.Model;
 import org.framed.iorm.model.OrmFactory;
-import org.framed.iorm.model.Type;
 import org.framed.iorm.ui.FRaMEDShapePattern;
 import org.framed.iorm.ui.UILiterals;
 import org.framed.iorm.ui.UIUtil;
-import org.framed.iorm.ui.editPolicy.EditPolicyService;
 import org.framed.iorm.ui.palette.FeaturePaletteDescriptor;
 import org.framed.iorm.ui.palette.PaletteCategory;
 import org.framed.iorm.ui.palette.ViewVisibility;
diff --git a/org.framed.iorm.ui/core/naturaltype/NaturalTypePattern.java b/org.framed.iorm.ui/core/naturaltype/NaturalTypePattern.java
index c26730c30857c177939c22c7e3390b9e83bf3732..5a38263bec3204cf93847cd026b89ef5a54286c2 100644
--- a/org.framed.iorm.ui/core/naturaltype/NaturalTypePattern.java
+++ b/org.framed.iorm.ui/core/naturaltype/NaturalTypePattern.java
@@ -80,9 +80,6 @@ public class NaturalTypePattern extends FRaMEDShapePattern implements IPattern {
 	/**
 	 * the feature palette descriptor manages the palette visibility, see {@link FeaturePaletteDescriptor}
 	 */
-//	private final FeaturePaletteDescriptor spec_FPD = new FeaturePaletteDescriptor(
-//			PaletteCategory.ENTITIES_CATEGORY,
-//			ViewVisibility.TOPLEVEL_VIEW);
 	private final FeaturePaletteDescriptor spec_FPD = new FeaturePaletteDescriptor(
 			PaletteCategory.ENTITIES_CATEGORY,
 			ViewVisibility.TOPLEVEL_VIEW);
diff --git a/org.framed.iorm.ui/core/rolemodel/RoleModelPattern.java b/org.framed.iorm.ui/core/rolemodel/RoleModelPattern.java
index 0a95f89f000d1a348a860720a5b2b5a75d08248f..6b86a48fed60de19b8ddcf72c94b4c8fd6a63ac4 100644
--- a/org.framed.iorm.ui/core/rolemodel/RoleModelPattern.java
+++ b/org.framed.iorm.ui/core/rolemodel/RoleModelPattern.java
@@ -106,18 +106,13 @@ public class RoleModelPattern extends FRaMEDShapePattern implements IPattern {
 	/**
 	 * the feature palette descriptor manages the palette visibility, see {@link FeaturePaletteDescriptor}
 	 */	
-	/*
 	private final FeaturePaletteDescriptor spec_FPD = new FeaturePaletteDescriptor(
 		PaletteCategory.ENTITIES_CATEGORY,
 		ViewVisibility.TOPLEVEL_VIEW) {
 			@Override
 			public boolean featureExpression(List<String> framedFeatureNames, PaletteView paletteView) {
 				return !(framedFeatureNames.contains("Compartment_Types"));
-		}	};*/
-		private final FeaturePaletteDescriptor spec_FPD = new FeaturePaletteDescriptor(
-				PaletteCategory.ENTITIES_CATEGORY,
-				ViewVisibility.ALL_VIEWS) {
-				};
+		}	};
 		
 	/**
 	 * class constructor		
diff --git a/org.framed.iorm.ui/core/roletype/RoleTypePattern.java b/org.framed.iorm.ui/core/roletype/RoleTypePattern.java
index 3988495c103dae15ef055470e21d281c860f4d4a..c80d897b37123c10db7a0a5494312d9f8cf35846 100644
--- a/org.framed.iorm.ui/core/roletype/RoleTypePattern.java
+++ b/org.framed.iorm.ui/core/roletype/RoleTypePattern.java
@@ -88,12 +88,9 @@ public class RoleTypePattern extends FRaMEDShapePattern implements IPattern {
 	/**
 	 * the feature palette descriptor manages the palette visibility, see {@link FeaturePaletteDescriptor}
 	 */
-//	private final FeaturePaletteDescriptor spec_FPD = new FeaturePaletteDescriptor(
-//			PaletteCategory.ENTITIES_CATEGORY,
-//			ViewVisibility.COMPARTMENT_VIEW);
 	private final FeaturePaletteDescriptor spec_FPD = new FeaturePaletteDescriptor(
 			PaletteCategory.ENTITIES_CATEGORY,
-			ViewVisibility.ALL_VIEWS);
+			ViewVisibility.COMPARTMENT_VIEW);
 	
 	/**
 	 * class constructor		
diff --git a/org.framed.iorm.ui/modules/compartment/CompartmentTypePattern.java b/org.framed.iorm.ui/modules/compartment/CompartmentTypePattern.java
index 5597515253c40ae59f5c7c9a14ef398b5a79a59f..b8cb1e6b0a66649288988e65bcd57d8a65860f90 100644
--- a/org.framed.iorm.ui/modules/compartment/CompartmentTypePattern.java
+++ b/org.framed.iorm.ui/modules/compartment/CompartmentTypePattern.java
@@ -108,7 +108,6 @@ public class CompartmentTypePattern extends FRaMEDShapePattern implements IPatte
 	private final FeaturePaletteDescriptor spec_FPD = new FeaturePaletteDescriptor(
 		PaletteCategory.ENTITIES_CATEGORY,
 		ViewVisibility.ALL_VIEWS) {
-		/*
 			@Override
 			public boolean featureExpression(List<String> framedFeatureNames, PaletteView paletteView) {
 				switch(paletteView) {
@@ -116,8 +115,7 @@ public class CompartmentTypePattern extends FRaMEDShapePattern implements IPatte
 					case COMPARTMENT_VIEW: return framedFeatureNames.contains("Contains_Compartments");
 					default: return false;
 		}	}
-		*/
-			};
+	};
 	
 	/**
 	 * class constructor		
diff --git a/org.framed.iorm.ui/modules/compartment/CompartmentTypes.ecl b/org.framed.iorm.ui/modules/compartment/CompartmentTypes.ecl
index f80f120a4722dcc385e6f44f2bf824fd45b6c0ba..da2dbcd21ccd6334bd18c4be8b6b851f4fac9f78 100644
--- a/org.framed.iorm.ui/modules/compartment/CompartmentTypes.ecl
+++ b/org.framed.iorm.ui/modules/compartment/CompartmentTypes.ecl
@@ -1,8 +1,8 @@
 //compartmentTypes
 //If Compartment_Types is not set, then only one CompartmentType can be
-//added in the top-level view (This will be named RoleModel).
-Add CompartmentType (!Compartment_Types) when !InCompartment() and !ContainsCompartment();
-Create CompartmentType (!Compartment_Types) when !InCompartment() and !ContainsCompartment();
-Add CompartmentType (Compartment_Types) when !InCompartment();
-Create CompartmentType (Compartment_Types) when !InCompartment();
+//added in the top-level view (This will be named RoleModel).  
+Add CompartmentType (!Compartment_Types) when !InType(CompartmentType) and !ContainsCompartment();
+Create CompartmentType (!Compartment_Types) when !InType(CompartmentType) and !ContainsCompartment();
+Add CompartmentType (Compartment_Types) when !InType(CompartmentType);
+Create CompartmentType (Compartment_Types) when !InType(CompartmentType);
  
\ No newline at end of file
diff --git a/org.framed.iorm.ui/modules/compartment/containts_compartments/ContainsCompartments.ecl b/org.framed.iorm.ui/modules/compartment/containts_compartments/ContainsCompartments.ecl
index 1c374da4dbfafa8ec611a4acbb305a2d3d114630..9aed47a53c0d4bab31ce69fc84a875c3d0dc6a4e 100644
--- a/org.framed.iorm.ui/modules/compartment/containts_compartments/ContainsCompartments.ecl
+++ b/org.framed.iorm.ui/modules/compartment/containts_compartments/ContainsCompartments.ecl
@@ -1,3 +1,3 @@
 //ContainsCompartments
-Add CompartmentType (Contains_Compartments) when InCompartment();
-Create CompartmentType (Contains_Compartments) when InCompartment(); 
\ No newline at end of file
+Add CompartmentType (Contains_Compartments) when InType(CompartmentType);
+Create CompartmentType (Contains_Compartments) when InType(CompartmentType); 
\ No newline at end of file
diff --git a/org.framed.iorm.ui/modules/compartment/inheritance/CompartmentInheritance.ecl b/org.framed.iorm.ui/modules/compartment/inheritance/CompartmentInheritance.ecl
index 35e295cc665591566f96c722aa674fe91080e6d0..b51053058ae768ce2ed353f08f4de10e95a91e1b 100644
--- a/org.framed.iorm.ui/modules/compartment/inheritance/CompartmentInheritance.ecl
+++ b/org.framed.iorm.ui/modules/compartment/inheritance/CompartmentInheritance.ecl
@@ -1,4 +1,4 @@
 //Inheritance or Role_Inheritance/Data_Type_Inheritance/Compartment_Inheritance     
 Start Inheritance (Compartment_Inheritance) when IsSourceType(CompartmentType); 
 Add Inheritance (Compartment_Inheritance) when IsSourceType(CompartmentType) and !SourceEqualsTarget() and SourceEqualsTargetType(); //acyclic
- 
\ No newline at end of file
+  
\ No newline at end of file
diff --git a/org.framed.iorm.ui/modules/compartment/playing_own_roles/PlayingOwnRoles.ecl b/org.framed.iorm.ui/modules/compartment/playing_own_roles/PlayingOwnRoles.ecl
index a8e6ca779c3a2e209969e4992be236be0e8d9a9c..ba0ff5fb9237861c145642a141c6c9d5decdd2ea 100644
--- a/org.framed.iorm.ui/modules/compartment/playing_own_roles/PlayingOwnRoles.ecl
+++ b/org.framed.iorm.ui/modules/compartment/playing_own_roles/PlayingOwnRoles.ecl
@@ -1,4 +1,5 @@
 //Playing_own_roles
-Start Fulfillment (Playable_by_Defining_Compartment) when IsSourceType(CompartmentType);
+Start Fulfillment (Playable_by_Defining_Compartment) when IsSourceType(CompartmentType); 
 Add Fulfillment (Playable_by_Defining_Compartment) when IsSourceType(CompartmentType) and SourceEqualsTargetType();
+Create Fulfillment (Playable_by_Defining_Compartment) when IsSourceType(CompartmentType) and SourceEqualsTargetType();
 Reconnect Fulfillment (Playable_by_Defining_Compartment) when IsSourceType(CompartmentType) and SourceEqualsTargetType();
\ No newline at end of file
diff --git a/org.framed.iorm.ui/modules/compartment/properties/CompartmentTypeAttsAndOps.ecl b/org.framed.iorm.ui/modules/compartment/properties/CompartmentTypeAttsAndOps.ecl
index b223b457ae50c185f1650be21668396cb1333c00..8e1fb921ba078e59c2819fdf5f49810b48785b06 100644
--- a/org.framed.iorm.ui/modules/compartment/properties/CompartmentTypeAttsAndOps.ecl
+++ b/org.framed.iorm.ui/modules/compartment/properties/CompartmentTypeAttsAndOps.ecl
@@ -2,5 +2,5 @@
 Create_Property CompartmentType (Compartment_Properties) when true;
 Create_Attribute CompartmentType (Compartment_Properties) when true;
 Create_Operation CompartmentType (Compartment_Behavior) when true;
-Add_Property CompartmentType (true) when true;
+Add_Property CompartmentType (true) when true; 
  
\ No newline at end of file
diff --git a/org.framed.iorm.ui/modules/datatype/DataTypePattern.java b/org.framed.iorm.ui/modules/datatype/DataTypePattern.java
index 0bad837de0e3cf61cc0953702003e56c51e77500..3072bc091bd7b0b990c97611553ed1a6807f3ab2 100644
--- a/org.framed.iorm.ui/modules/datatype/DataTypePattern.java
+++ b/org.framed.iorm.ui/modules/datatype/DataTypePattern.java
@@ -39,8 +39,8 @@ import org.framed.iorm.ui.UIUtil;
 import org.framed.iorm.ui.editPolicy.EditPolicyService;
 import org.framed.iorm.ui.palette.FeaturePaletteDescriptor;
 import org.framed.iorm.ui.palette.PaletteCategory;
-import org.framed.iorm.ui.palette.PaletteView;
 import org.framed.iorm.ui.palette.ViewVisibility;
+import org.framed.iorm.ui.palette.PaletteView;
 import org.framed.iorm.ui.references.AbstractAttributeAndOperationReference;
 
 /**
@@ -82,20 +82,14 @@ public class DataTypePattern extends FRaMEDShapePattern implements IPattern {
 	/**
 	 * the feature palette descriptor manages the palette visibility, see {@link FeaturePaletteDescriptor}
 	 */
-	/*
 	private final FeaturePaletteDescriptor spec_FPD = new FeaturePaletteDescriptor(
 			PaletteCategory.ENTITIES_CATEGORY,
 			ViewVisibility.TOPLEVEL_VIEW) {
 				@Override
 				public boolean featureExpression(List<String> featureNames, PaletteView paletteView) {
 					return featureNames.contains("Data_Types");		
-			}	};
-			
-			*/
-			private final FeaturePaletteDescriptor spec_FPD = new FeaturePaletteDescriptor(
-					PaletteCategory.ENTITIES_CATEGORY,
-					ViewVisibility.ALL_VIEWS) {
-						};
+			}	
+		};
 			
 	/**
 	 * class constructor		
diff --git a/org.framed.iorm.ui/modules/datatype/DataTypes.ecl b/org.framed.iorm.ui/modules/datatype/DataTypes.ecl
index 10794ec2761904af770392c1e42499c952fb0efb..1230f976047329517fa8b530f2bff648311a2122 100644
--- a/org.framed.iorm.ui/modules/datatype/DataTypes.ecl
+++ b/org.framed.iorm.ui/modules/datatype/DataTypes.ecl
@@ -1,3 +1,3 @@
 //DataTypes
-Add DataType (Data_Types) when true;  
+Add DataType (Data_Types) when true;   
 Create DataType (Data_Types) when true;
\ No newline at end of file
diff --git a/org.framed.iorm.ui/modules/datatype/inheritance/DataTypeInheritance.ecl b/org.framed.iorm.ui/modules/datatype/inheritance/DataTypeInheritance.ecl
index 2d883b001a226dc20b33ecba556fda3045b4c77e..972f81df12e1c6fe15ccc1457a8e454d61f1a3e2 100644
--- a/org.framed.iorm.ui/modules/datatype/inheritance/DataTypeInheritance.ecl
+++ b/org.framed.iorm.ui/modules/datatype/inheritance/DataTypeInheritance.ecl
@@ -1,4 +1,4 @@
 //Inheritance or Role_Inheritance/Data_Type_Inheritance/Compartment_Inheritance
-Start Inheritance (Data_Type_Inheritance) when IsSourceType(DataType);
+Start Inheritance (Data_Type_Inheritance) when IsSourceType(DataType); 
 Add Inheritance (Data_Type_Inheritance) when IsSourceType(DataType) and !SourceEqualsTarget() and SourceEqualsTargetType(); // check acyclic
 Reconnect Inheritance (Data_Type_Inheritance) when IsSourceType(DataType) and !SourceEqualsTarget() and SourceEqualsTargetType(); // check acyclic
\ No newline at end of file
diff --git a/org.framed.iorm.ui/modules/relationship/Relationship.ecl b/org.framed.iorm.ui/modules/relationship/Relationship.ecl
index e7ce2db40232303cb6aa839fb4e42338a0b4e44c..e05da9fec013ed141da183208b8b99921793a0ec 100644
--- a/org.framed.iorm.ui/modules/relationship/Relationship.ecl
+++ b/org.framed.iorm.ui/modules/relationship/Relationship.ecl
@@ -1,6 +1,6 @@
 //Relationships 
 Start Relationship (Relationships) when true;
-Add Relationship (Relationships) when true;
+Add Relationship (Relationships) when true; 
 Reconnect Relationship (Relationships) when true;
  
 Start Relationship (true) when IsSourceType(RoleType);//For Relationship-Relation Source and Target must be Role-Type	
diff --git a/org.framed.iorm.ui/modules/relationship/RelationshipPattern.java b/org.framed.iorm.ui/modules/relationship/RelationshipPattern.java
index 7a292c185d189d49567ee2cb2fb096c58237bebf..3ccacd49ccd1754416a9f4adbb6ff4e7950e477f 100644
--- a/org.framed.iorm.ui/modules/relationship/RelationshipPattern.java
+++ b/org.framed.iorm.ui/modules/relationship/RelationshipPattern.java
@@ -1,7 +1,6 @@
 package relationship;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
 
 import org.eclipse.graphiti.features.IFeature;
@@ -59,7 +58,6 @@ public class RelationshipPattern extends FRaMEDConnectionPattern {
 	/**
 	 * the feature palette descriptor manages the palette visibility, see {@link FeaturePaletteDescriptor}
 	 */
-	/*
 	private final FeaturePaletteDescriptor spec_FPD = new FeaturePaletteDescriptor(
 			PaletteCategory.RELATIONS_CATEGORY,
 			ViewVisibility.COMPARTMENT_VIEW) {
@@ -67,11 +65,7 @@ public class RelationshipPattern extends FRaMEDConnectionPattern {
 				public boolean featureExpression(List<String> framedFeatureNames, PaletteView paletteView) {
 					return framedFeatureNames.contains("Relationships");
 			}	};
-			*/
-			private final FeaturePaletteDescriptor spec_FPD = new FeaturePaletteDescriptor(
-					PaletteCategory.RELATIONS_CATEGORY,
-					ViewVisibility.ALL_VIEWS) {
-			};	
+
 	/**
 	 * class constructor		
 	 */
diff --git a/org.framed.iorm.ui/modules/relationship/inter_relationship_constraints/AbstractInterRelationshipConstraintPattern.java b/org.framed.iorm.ui/modules/relationship/inter_relationship_constraints/AbstractInterRelationshipConstraintPattern.java
index a310af19a5d5d2a7a20d13bdf7dd377aec42f462..4b7bc607e2cd82116ebc00688ba5fc4acc03712f 100644
--- a/org.framed.iorm.ui/modules/relationship/inter_relationship_constraints/AbstractInterRelationshipConstraintPattern.java
+++ b/org.framed.iorm.ui/modules/relationship/inter_relationship_constraints/AbstractInterRelationshipConstraintPattern.java
@@ -44,7 +44,6 @@ public abstract class AbstractInterRelationshipConstraintPattern extends FRaMEDC
 	/**
 	 * the feature palette descriptor manages the palette visibility, see {@link FeaturePaletteDescriptor}
 	 */
-	/*
 	private final FeaturePaletteDescriptor spec_FPD = new FeaturePaletteDescriptor(
 			PaletteCategory.CONSTRAINTS_CATEGORY,
 			ViewVisibility.COMPARTMENT_VIEW) {
@@ -52,12 +51,7 @@ public abstract class AbstractInterRelationshipConstraintPattern extends FRaMEDC
 				public boolean featureExpression(List<String> framedFeatureNames, PaletteView paletteView) {
 					return framedFeatureNames.contains("Inter_Relationship_Constraints");
 			}	};
-			
-			*/
-			private final FeaturePaletteDescriptor spec_FPD = new FeaturePaletteDescriptor(
-					PaletteCategory.CONSTRAINTS_CATEGORY,
-					ViewVisibility.ALL_VIEWS) {
-					};
+	
 	
 	/**
 	 * Class constructor
diff --git a/org.framed.iorm.ui/modules/relationship/inter_relationship_constraints/InterRelationship.ecl b/org.framed.iorm.ui/modules/relationship/inter_relationship_constraints/InterRelationship.ecl
index 4eafbaffe1ee1330b7afd97495e990dc182ac961..c656680d974e646f94d4e74509be9b8d448bd40b 100644
--- a/org.framed.iorm.ui/modules/relationship/inter_relationship_constraints/InterRelationship.ecl
+++ b/org.framed.iorm.ui/modules/relationship/inter_relationship_constraints/InterRelationship.ecl
@@ -1,8 +1,10 @@
 //InterRelationship 
 Start RelationshipExclusion (Inter_Relationship_Constraints) when true;
-Add RelationshipExclusion (Inter_Relationship_Constraints) when true;
+Add RelationshipExclusion (Inter_Relationship_Constraints) when true; 
 Reconnect RelationshipExclusion (Inter_Relationship_Constraints) when true;
+Create RelationshipExclusion (Inter_Relationship_Constraints) when true;
 
 Start RelationshipImplication (Inter_Relationship_Constraints) when true;
 Add RelationshipImplication (Inter_Relationship_Constraints) when true;
 Reconnect RelationshipImplication (Inter_Relationship_Constraints) when true;
+Create RelationshipImplication (Inter_Relationship_Constraints) when true;
diff --git a/org.framed.iorm.ui/modules/relationship/intra_relationship_constraints/AbstractIntraRelationshipConstraintPattern.java b/org.framed.iorm.ui/modules/relationship/intra_relationship_constraints/AbstractIntraRelationshipConstraintPattern.java
index e4f86d4d3bcb3e847bc534058f67a12af8807b37..e38b375d209eaefc3a3fa6fb4b5c8ba2f8297a6d 100644
--- a/org.framed.iorm.ui/modules/relationship/intra_relationship_constraints/AbstractIntraRelationshipConstraintPattern.java
+++ b/org.framed.iorm.ui/modules/relationship/intra_relationship_constraints/AbstractIntraRelationshipConstraintPattern.java
@@ -48,7 +48,6 @@ public abstract class AbstractIntraRelationshipConstraintPattern extends FRaMEDS
 	/**
 	 * the feature palette descriptor manages the palette visibility, see {@link FeaturePaletteDescriptor}
 	 */
-	/*
 	private final FeaturePaletteDescriptor spec_FPD = new FeaturePaletteDescriptor(
 			PaletteCategory.CONSTRAINTS_CATEGORY,
 			ViewVisibility.COMPARTMENT_VIEW) {
@@ -56,11 +55,6 @@ public abstract class AbstractIntraRelationshipConstraintPattern extends FRaMEDS
 				public boolean featureExpression(List<String> framedFeatureNames, PaletteView paletteView) {
 					return framedFeatureNames.contains("Intra_Relationship_Constraints");
 			}	};
-			*/
-			private final FeaturePaletteDescriptor spec_FPD = new FeaturePaletteDescriptor(
-					PaletteCategory.CONSTRAINTS_CATEGORY,
-					ViewVisibility.ALL_VIEWS) {
-					};
 			
 	/**
 	 * Class constructor
@@ -192,7 +186,9 @@ public abstract class AbstractIntraRelationshipConstraintPattern extends FRaMEDS
 		AddContext addContext = new AddContext();
 	    addContext.setNewObject(newIntraRelCon);
 	    addContext.setTargetConnection(targetConnection);
-	    if(aircp.canAdd(addContext)) aircp.add(addContext);
+	    if(aircp.canAdd(addContext)) {
+	    	aircp.add(addContext); //FIXME: ?
+	    }
 		return new Object[] { newIntraRelCon }; 
 	}
 	
diff --git a/org.framed.iorm.ui/modules/relationship/intra_relationship_constraints/IntraRelationship.ecl b/org.framed.iorm.ui/modules/relationship/intra_relationship_constraints/IntraRelationship.ecl
index 092c74b111c2671b37a0ee696b45f78ade42a107..d75f2d7903f210e24b772c1d5c8c5ccaae16d3dd 100644
--- a/org.framed.iorm.ui/modules/relationship/intra_relationship_constraints/IntraRelationship.ecl
+++ b/org.framed.iorm.ui/modules/relationship/intra_relationship_constraints/IntraRelationship.ecl
@@ -1,11 +1,20 @@
 //IntraRelationshipConstraint
-Add Irreflexive (Intra_Relationship_Constraints) when true;
+Add Irreflexive (Intra_Relationship_Constraints) when true; 
 Start Irreflexive (Intra_Relationship_Constraints) when true;
+Create Irreflexive (Intra_Relationship_Constraints) when true;
+
 Add Acyclic (Intra_Relationship_Constraints) when true;
 Start Acyclic (Intra_Relationship_Constraints) when true;
+Create Acyclic (Intra_Relationship_Constraints) when true;
+
 Add Cyclic (Intra_Relationship_Constraints) when true;
 Start Cyclic (Intra_Relationship_Constraints) when true;
+Create Cyclic (Intra_Relationship_Constraints) when true;
+
 Add Reflexive (Intra_Relationship_Constraints) when true;
 Start Reflexive (Intra_Relationship_Constraints) when true;
+Create Reflexive (Intra_Relationship_Constraints) when true;
+
 Add Total (Intra_Relationship_Constraints) when true;
 Start Total (Intra_Relationship_Constraints) when true;
+Create Total (Intra_Relationship_Constraints) when true;
diff --git a/org.framed.iorm.ui/modules/relationship/intra_relationship_constraints/IntraRelationship.editpolicy b/org.framed.iorm.ui/modules/relationship/intra_relationship_constraints/IntraRelationship.editpolicy
index 8a701fa18ac0e6f56e54e67014e3c3f191d7cf24..45510f0d68d8e9507f01df30e38dc5deca3cd317 100644
--- a/org.framed.iorm.ui/modules/relationship/intra_relationship_constraints/IntraRelationship.editpolicy
+++ b/org.framed.iorm.ui/modules/relationship/intra_relationship_constraints/IntraRelationship.editpolicy
@@ -8,6 +8,10 @@
     <featureRule xsi:type="editpolicymodel:IsFeature" featureName="Intra_Relationship_Constraints"/>
     <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/>
   </policies>
+  <policies actionType="Irreflexive">
+    <featureRule xsi:type="editpolicymodel:IsFeature" featureName="Intra_Relationship_Constraints"/>
+    <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/>
+  </policies>
   <policies action="Add">
     <featureRule xsi:type="editpolicymodel:IsFeature" featureName="Intra_Relationship_Constraints"/>
     <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/>
@@ -16,6 +20,10 @@
     <featureRule xsi:type="editpolicymodel:IsFeature" featureName="Intra_Relationship_Constraints"/>
     <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/>
   </policies>
+  <policies>
+    <featureRule xsi:type="editpolicymodel:IsFeature" featureName="Intra_Relationship_Constraints"/>
+    <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/>
+  </policies>
   <policies action="Add" actionType="Cyclic">
     <featureRule xsi:type="editpolicymodel:IsFeature" featureName="Intra_Relationship_Constraints"/>
     <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/>
@@ -24,6 +32,10 @@
     <featureRule xsi:type="editpolicymodel:IsFeature" featureName="Intra_Relationship_Constraints"/>
     <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/>
   </policies>
+  <policies actionType="Cyclic">
+    <featureRule xsi:type="editpolicymodel:IsFeature" featureName="Intra_Relationship_Constraints"/>
+    <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/>
+  </policies>
   <policies action="Add" actionType="Reflexive">
     <featureRule xsi:type="editpolicymodel:IsFeature" featureName="Intra_Relationship_Constraints"/>
     <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/>
@@ -32,6 +44,10 @@
     <featureRule xsi:type="editpolicymodel:IsFeature" featureName="Intra_Relationship_Constraints"/>
     <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/>
   </policies>
+  <policies actionType="Reflexive">
+    <featureRule xsi:type="editpolicymodel:IsFeature" featureName="Intra_Relationship_Constraints"/>
+    <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/>
+  </policies>
   <policies action="Add" actionType="Total">
     <featureRule xsi:type="editpolicymodel:IsFeature" featureName="Intra_Relationship_Constraints"/>
     <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/>
@@ -40,4 +56,8 @@
     <featureRule xsi:type="editpolicymodel:IsFeature" featureName="Intra_Relationship_Constraints"/>
     <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/>
   </policies>
+  <policies actionType="Total">
+    <featureRule xsi:type="editpolicymodel:IsFeature" featureName="Intra_Relationship_Constraints"/>
+    <constraintRule xsi:type="editpolicymodel:TrueConstraintRule"/>
+  </policies>
 </editpolicymodel:Model>
diff --git a/org.framed.iorm.ui/modules/roletype/group_constraints/RoleGroup.ecl b/org.framed.iorm.ui/modules/roletype/group_constraints/RoleGroup.ecl
index 5063e0e98d356973df078281a9477c65f007438b..19d581b0055b457ecabcfad0f9ae1da9c08dfa66 100644
--- a/org.framed.iorm.ui/modules/roletype/group_constraints/RoleGroup.ecl
+++ b/org.framed.iorm.ui/modules/roletype/group_constraints/RoleGroup.ecl
@@ -1,3 +1,3 @@
 //groupConstraints/RoleGroup 
-Add RoleGroup (Group_Constraints) when InCompartment();  
-Create RoleGroup (Group_Constraints) when InCompartment();
+Add RoleGroup (Group_Constraints) when InType(CompartmentType);  
+Create RoleGroup (Group_Constraints) when InType(CompartmentType); 
\ No newline at end of file
diff --git a/org.framed.iorm.ui/modules/roletype/group_constraints/RoleGroupPattern.java b/org.framed.iorm.ui/modules/roletype/group_constraints/RoleGroupPattern.java
index 2c7e3678c96296f13044c98bf6d4344bddb8bf97..91bbaefa2c0c90cc036f275f3fd07b63b4579baa 100644
--- a/org.framed.iorm.ui/modules/roletype/group_constraints/RoleGroupPattern.java
+++ b/org.framed.iorm.ui/modules/roletype/group_constraints/RoleGroupPattern.java
@@ -82,7 +82,6 @@ public class RoleGroupPattern extends FRaMEDShapePattern implements IPattern {
 	/**
 	 * the feature palette descriptor manages the palette visibility, see {@link FeaturePaletteDescriptor}
 	 */	
-	/*
 	private final FeaturePaletteDescriptor spec_FPD = new FeaturePaletteDescriptor(
 		PaletteCategory.ENTITIES_CATEGORY,
 		ViewVisibility.ALL_VIEWS) {
@@ -93,12 +92,7 @@ public class RoleGroupPattern extends FRaMEDShapePattern implements IPattern {
 					case COMPARTMENT_VIEW: return framedFeatureNames.contains("Group_Constraints");
 					default: return false;
 		}	}	};
-		*/
-		private final FeaturePaletteDescriptor spec_FPD = new FeaturePaletteDescriptor(
-				PaletteCategory.ENTITIES_CATEGORY,
-				ViewVisibility.ALL_VIEWS) {
-			
-		};
+	
 
 	/**
 	 * class constructor		
diff --git a/org.framed.iorm.ui/modules/roletype/inheritance/RoleInheritance.ecl b/org.framed.iorm.ui/modules/roletype/inheritance/RoleInheritance.ecl
index 1cf156b175c9326a5e9dc53ba13c5afd52aad285..726b2ffa56365575cfab88b5197416e8cc2adea6 100644
--- a/org.framed.iorm.ui/modules/roletype/inheritance/RoleInheritance.ecl
+++ b/org.framed.iorm.ui/modules/roletype/inheritance/RoleInheritance.ecl
@@ -1,4 +1,4 @@
 //Inheritance or Role_Inheritance/Data_Type_Inheritance/Compartment_Inheritance 
-Start Inheritance (Role_Inheritance) when IsSourceType(RoleType); 
+Start Inheritance (Role_Inheritance) when IsSourceType(RoleType);  
 Add Inheritance (Role_Inheritance) when IsSourceType(RoleType) and !SourceEqualsTarget() and SourceEqualsTargetType();  //TODO, check acyclic 
 Reconnect Inheritance (Role_Inheritance) when IsSourceType(RoleType) and !SourceEqualsTarget() and SourceEqualsTargetType();  //TODO, check acyclic 
\ No newline at end of file
diff --git a/org.framed.iorm.ui/modules/roletype/properties/RoleTypeAttsAndOps.ecl b/org.framed.iorm.ui/modules/roletype/properties/RoleTypeAttsAndOps.ecl
index 68c04876c869b3d4410740eb209cc8d8d36c47b4..991964dfae8c5b796817ebd4fb9e4fe494591177 100644
--- a/org.framed.iorm.ui/modules/roletype/properties/RoleTypeAttsAndOps.ecl
+++ b/org.framed.iorm.ui/modules/roletype/properties/RoleTypeAttsAndOps.ecl
@@ -1,5 +1,5 @@
 //Role Structure 
 Create_Property RoleType (Role_Properties) when true;
-Create_Attribute RoleType (Role_Properties) when true;
+Create_Attribute RoleType (Role_Properties) when true; 
 Create_Operation RoleType (Role_Behavior) when true;
 Add_Property RoleType (true) when true;
\ No newline at end of file
diff --git a/org.framed.iorm.ui/modules/roletype/role_constraints/AbstractRoleConstraintPattern.java b/org.framed.iorm.ui/modules/roletype/role_constraints/AbstractRoleConstraintPattern.java
index fd2e3b71600eb86cb82c897a27d3c5f04d782154..2f40db8cc7454913e0a05d7adbc393bca2b5a860 100644
--- a/org.framed.iorm.ui/modules/roletype/role_constraints/AbstractRoleConstraintPattern.java
+++ b/org.framed.iorm.ui/modules/roletype/role_constraints/AbstractRoleConstraintPattern.java
@@ -1,8 +1,5 @@
 package roletype.role_constraints;
 
-import java.util.Arrays;
-import java.util.List;
-
 import org.eclipse.graphiti.features.context.IAddContext;
 import org.eclipse.graphiti.features.context.ICreateConnectionContext;
 import org.eclipse.graphiti.features.context.IReconnectionContext;
diff --git a/org.framed.iorm.ui/modules/roletype/role_constraints/RoleConstraints.ecl b/org.framed.iorm.ui/modules/roletype/role_constraints/RoleConstraints.ecl
index ad20c5f9ad3d4dfa16712a3c17fefe627a97b66f..35506819de79117280cfd8ff14a4a7d7196b8d98 100644
--- a/org.framed.iorm.ui/modules/roletype/role_constraints/RoleConstraints.ecl
+++ b/org.framed.iorm.ui/modules/roletype/role_constraints/RoleConstraints.ecl
@@ -2,11 +2,14 @@
 Start RoleImplication (Role_Implication) when IsSourceType(RoleType); 
 Add RoleImplication (Role_Implication) when IsSourceType(RoleType) and !SourceEqualsTarget() and SourceEqualsTargetType(); 
 Reconnect RoleImplication (Role_Implication) when IsSourceType(RoleType) and !SourceEqualsTarget() and SourceEqualsTargetType(); 
+Create RoleProhibition (true) when true;
  
 Start RoleEquivalence (Role_Equivalence) when IsSourceType(RoleType); 
 Add RoleEquivalence (Role_Equivalence) when IsSourceType(RoleType) and !SourceEqualsTarget() and SourceEqualsTargetType(); 
 Reconnect RoleEquivalence (Role_Equivalence) when IsSourceType(RoleType) and !SourceEqualsTarget() and SourceEqualsTargetType(); 
+Create RoleProhibition (true) when true;
 
 Start RoleProhibition (Role_Prohibition) when IsSourceType(RoleType); 
 Add RoleProhibition (Role_Prohibition) when IsSourceType(RoleType) and !SourceEqualsTarget() and SourceEqualsTargetType(); 
 Reconnect RoleProhibition (Role_Prohibition) when IsSourceType(RoleType) and !SourceEqualsTarget() and SourceEqualsTargetType(); 
+Create RoleProhibition (true) when true;
\ No newline at end of file
diff --git a/org.framed.iorm.ui/modules/roletype/role_constraints/RoleEquivalencePattern.java b/org.framed.iorm.ui/modules/roletype/role_constraints/RoleEquivalencePattern.java
index 1b72dbdfbcf2d6117c0422ee859abf5378644b22..8cd64938b28055f950f0ef0cf3711fa5ab267118 100644
--- a/org.framed.iorm.ui/modules/roletype/role_constraints/RoleEquivalencePattern.java
+++ b/org.framed.iorm.ui/modules/roletype/role_constraints/RoleEquivalencePattern.java
@@ -5,7 +5,6 @@ import java.util.List;
 import org.eclipse.graphiti.features.context.IAddConnectionContext;
 import org.eclipse.graphiti.features.context.IAddContext;
 import org.eclipse.graphiti.features.context.ICreateConnectionContext;
-import org.eclipse.graphiti.features.context.IReconnectionContext;
 import org.eclipse.graphiti.mm.algorithms.Polygon;
 import org.eclipse.graphiti.mm.algorithms.Polyline;
 import org.eclipse.graphiti.mm.algorithms.styles.LineStyle;
@@ -42,19 +41,13 @@ public class RoleEquivalencePattern extends AbstractRoleConstraintPattern {
 	/**
 	 * the feature palette descriptor manages the palette visibility, see {@link FeaturePaletteDescriptor}
 	 */
-	/*
 	private final FeaturePaletteDescriptor spec_FPD = new FeaturePaletteDescriptor(
 			PaletteCategory.CONSTRAINTS_CATEGORY,
 			ViewVisibility.COMPARTMENT_VIEW) {
 				@Override
 				public boolean featureExpression(List<String> framedFeatureNames, PaletteView paletteView) {
 					return framedFeatureNames.contains("Role_Equivalence");
-			}	};*/
-			
-			private final FeaturePaletteDescriptor spec_FPD = new FeaturePaletteDescriptor(
-					PaletteCategory.CONSTRAINTS_CATEGORY,
-					ViewVisibility.ALL_VIEWS) {};
-			
+			}	};			
 		
 	/**
 	 * Class constructor
diff --git a/org.framed.iorm.ui/modules/roletype/role_constraints/RoleImplicationPattern.java b/org.framed.iorm.ui/modules/roletype/role_constraints/RoleImplicationPattern.java
index 994a8397cc39652ca9b4b02f3dd0ff55236b1ffd..798c52f3b941bfdb2504ca40a4cca646e3e160e3 100644
--- a/org.framed.iorm.ui/modules/roletype/role_constraints/RoleImplicationPattern.java
+++ b/org.framed.iorm.ui/modules/roletype/role_constraints/RoleImplicationPattern.java
@@ -41,7 +41,6 @@ public class RoleImplicationPattern extends AbstractRoleConstraintPattern {
 	/**
 	 * the feature palette descriptor manages the palette visibility, see {@link FeaturePaletteDescriptor}
 	 */
-	/*
 	private final FeaturePaletteDescriptor spec_FPD = new FeaturePaletteDescriptor(
 			PaletteCategory.CONSTRAINTS_CATEGORY,
 			ViewVisibility.COMPARTMENT_VIEW) {
@@ -49,10 +48,6 @@ public class RoleImplicationPattern extends AbstractRoleConstraintPattern {
 				public boolean featureExpression(List<String> framedFeatureNames, PaletteView paletteView) {
 					return framedFeatureNames.contains("Role_Implication");
 			}	};
-			*/
-			private final FeaturePaletteDescriptor spec_FPD = new FeaturePaletteDescriptor(
-					PaletteCategory.CONSTRAINTS_CATEGORY,
-					ViewVisibility.ALL_VIEWS) {};
 	
 	/**
 	 * Class constructor
diff --git a/org.framed.iorm.ui/modules/roletype/role_constraints/RoleProhibitionPattern.java b/org.framed.iorm.ui/modules/roletype/role_constraints/RoleProhibitionPattern.java
index a4405944ebcd992835198c6852becc7088cb4b2f..d76fee04ea36c7dbb6c085d337a4ccf25bf32f2a 100644
--- a/org.framed.iorm.ui/modules/roletype/role_constraints/RoleProhibitionPattern.java
+++ b/org.framed.iorm.ui/modules/roletype/role_constraints/RoleProhibitionPattern.java
@@ -40,7 +40,6 @@ public class RoleProhibitionPattern extends AbstractRoleConstraintPattern {
 	/**
 	 * the feature palette descriptor manages the palette visibility, see {@link FeaturePaletteDescriptor}
 	 */
-	/*
 	private final FeaturePaletteDescriptor spec_FPD = new FeaturePaletteDescriptor(
 			PaletteCategory.CONSTRAINTS_CATEGORY,
 			ViewVisibility.COMPARTMENT_VIEW) {
@@ -48,10 +47,6 @@ public class RoleProhibitionPattern extends AbstractRoleConstraintPattern {
 				public boolean featureExpression(List<String> framedFeatureNames, PaletteView paletteView) {
 					return framedFeatureNames.contains("Role_Prohibition");
 			}	};
-			*/
-			private final FeaturePaletteDescriptor spec_FPD = new FeaturePaletteDescriptor(
-					PaletteCategory.CONSTRAINTS_CATEGORY,
-					ViewVisibility.ALL_VIEWS) {};
 	
 	/**
 	 * Class constructor
diff --git a/org.framed.iorm.ui/src/org/framed/iorm/ui/editPolicy/ConstraintRuleVisitor.java b/org.framed.iorm.ui/src/org/framed/iorm/ui/editPolicy/ConstraintRuleVisitor.java
index 50eb4b43a542bfe1ec3360732a46c80418547fca..ed4a492a37f7f06c959344f8106dd27b87798d0a 100644
--- a/org.framed.iorm.ui/src/org/framed/iorm/ui/editPolicy/ConstraintRuleVisitor.java
+++ b/org.framed.iorm.ui/src/org/framed/iorm/ui/editPolicy/ConstraintRuleVisitor.java
@@ -15,7 +15,6 @@ import org.eclipse.graphiti.mm.pictograms.Shape;
 import org.framed.iorm.model.ModelElement;
 import org.framed.iorm.model.Type;
 import org.framed.iorm.ui.UIUtil;
-import org.framed.iorm.ui.exceptions.InvalidTypeOfEditorInputException;
 import org.framed.iorm.ui.exceptions.NoDiagramFoundException;
 
 import editpolicymodel.AndConstraintRule;
@@ -50,12 +49,9 @@ public class ConstraintRuleVisitor {
 	@SuppressWarnings("unused")
 	private Type type;
 
-	private Diagram diagram;
-
 	public ConstraintRuleVisitor(Object context, Type type, Diagram diagram) {
 		this.context = context;
 		this.type = type;
-		this.diagram = diagram;
 	}
 
 	public Diagram getDiagramWithName(String name, Diagram rootDiagram) {