From eb9f6347805839a745e61fdb48e65a42ffd75ef8 Mon Sep 17 00:00:00 2001
From: Kevin Kassin <kevinkassin@gmx.de>
Date: Tue, 19 Sep 2017 22:26:25 +0200
Subject: [PATCH] Commit 19.9 22:25

migrated some more transformation testcases
---
 .../compartmentType_test_1.xmi                |  98 +++++++-------
 .../compartmentType_test_2.xmi                |  76 +++++++++++
 .../compartmentType_test_3.xmi                |  69 ++++++++++
 .../compartmentType_test_4.xmi                |  88 +++++++++++++
 .../compartmentType_test_5.xmi                |  78 +++++++++++
 .../Fulfillment/fulfillment_test_1.xmi        |  93 +++++++++++++
 .../testcases/Group/group_test_1.xmi          |  66 ++++++++++
 .../Inheritance/inheritance_test_1.xmi        |  79 +++++++++++
 .../Inheritance/inheritance_test_2.xmi        |  98 ++++++++++++++
 .../Inheritance/inheritance_test_3.xmi        |  96 ++++++++++++++
 .../NaturalType/naturalType_test_1.xmi        |  68 ++++++++++
 .../NaturalType/naturalType_test_2.xmi        |  80 ++++++++++++
 .../NaturalType/naturalType_test_3.xmi        |  72 ++++++++++
 .../NaturalType/naturalType_test_4.xmi        |  96 ++++++++++++++
 .../NaturalType/naturalType_test_5.xmi        |  96 ++++++++++++++
 .../Relationship/relationship_test_1.xmi      |  94 +++++++++++++
 .../Relationship/relationship_test_2.xmi      | 112 ++++++++++++++++
 .../Relationship/relationship_test_3.xmi      | 112 ++++++++++++++++
 .../Relationship/relationship_test_4.xmi      | 120 +++++++++++++++++
 .../Relationship/relationship_test_5.xmi      | 115 ++++++++++++++++
 .../Relationship/relationship_test_6.xmi      | 115 ++++++++++++++++
 .../Relationship/relationship_test_7.xmi      | 123 ++++++++++++++++++
 .../Relationship/relationship_test_8.xmi      | 123 ++++++++++++++++++
 .../epsilon/CompartmentType.etl               |   3 +-
 24 files changed, 2117 insertions(+), 53 deletions(-)
 create mode 100644 org.framed.orm.transformation.test/testcases/CompartmentType/compartmentType_test_2.xmi
 create mode 100644 org.framed.orm.transformation.test/testcases/CompartmentType/compartmentType_test_3.xmi
 create mode 100644 org.framed.orm.transformation.test/testcases/CompartmentType/compartmentType_test_4.xmi
 create mode 100644 org.framed.orm.transformation.test/testcases/CompartmentType/compartmentType_test_5.xmi
 create mode 100644 org.framed.orm.transformation.test/testcases/Fulfillment/fulfillment_test_1.xmi
 create mode 100644 org.framed.orm.transformation.test/testcases/Group/group_test_1.xmi
 create mode 100644 org.framed.orm.transformation.test/testcases/Inheritance/inheritance_test_1.xmi
 create mode 100644 org.framed.orm.transformation.test/testcases/Inheritance/inheritance_test_2.xmi
 create mode 100644 org.framed.orm.transformation.test/testcases/Inheritance/inheritance_test_3.xmi
 create mode 100644 org.framed.orm.transformation.test/testcases/NaturalType/naturalType_test_1.xmi
 create mode 100644 org.framed.orm.transformation.test/testcases/NaturalType/naturalType_test_2.xmi
 create mode 100644 org.framed.orm.transformation.test/testcases/NaturalType/naturalType_test_3.xmi
 create mode 100644 org.framed.orm.transformation.test/testcases/NaturalType/naturalType_test_4.xmi
 create mode 100644 org.framed.orm.transformation.test/testcases/NaturalType/naturalType_test_5.xmi
 create mode 100644 org.framed.orm.transformation.test/testcases/Relationship/relationship_test_1.xmi
 create mode 100644 org.framed.orm.transformation.test/testcases/Relationship/relationship_test_2.xmi
 create mode 100644 org.framed.orm.transformation.test/testcases/Relationship/relationship_test_3.xmi
 create mode 100644 org.framed.orm.transformation.test/testcases/Relationship/relationship_test_4.xmi
 create mode 100644 org.framed.orm.transformation.test/testcases/Relationship/relationship_test_5.xmi
 create mode 100644 org.framed.orm.transformation.test/testcases/Relationship/relationship_test_6.xmi
 create mode 100644 org.framed.orm.transformation.test/testcases/Relationship/relationship_test_7.xmi
 create mode 100644 org.framed.orm.transformation.test/testcases/Relationship/relationship_test_8.xmi

diff --git a/org.framed.orm.transformation.test/testcases/CompartmentType/compartmentType_test_1.xmi b/org.framed.orm.transformation.test/testcases/CompartmentType/compartmentType_test_1.xmi
index 12ec824c..05c8c1be 100644
--- a/org.framed.orm.transformation.test/testcases/CompartmentType/compartmentType_test_1.xmi
+++ b/org.framed.orm.transformation.test/testcases/CompartmentType/compartmentType_test_1.xmi
@@ -11,58 +11,54 @@
 		converted to CompartmentTypes and still have the same name
 	</description>
 	<framedModel>
-		<elements xsi:type="org.framed.iorm.model:Shape" name="compartmentType">
-      		<firstSegment/>
-      		<secondSegment/>
-     		 <model/>
-    	</elements>
-    	<elements xsi:type="org.framed.iorm.model:Shape" name="compartmentType1">
-      		<firstSegment/>
-      		<secondSegment/>
-      		<model/>
-    	</elements>
-    	<framedConfiguration>
-     		<features/>
-    		<features name="Role_Types"/>
-      		<features name="Role_Structure"/>
-      		<features name="Role_Properties"/>
-      		<features name="Role_Behavior"/>
-      		<features name="Role_Inheritance"/>
-      		<features name="Playable"/>
-      		<features name="Players"/>
-      		<features name="Naturals"/>
-      		<features name="Roles"/>
-      		<features name="Compartments"/>
-      		<features name="Dates"/>
-      		<features name="Dependent"/>
-      		<features name="On_Compartments"/>
-      		<features name="On_Relationships"/>
-      		<features name="Role_Constraints"/>
-      		<features name="Role_Implication"/>
-      		<features name="Role_Prohibition"/>
-      		<features name="Role_Equivalence"/>
-      		<features name="Group_Constraints"/>
-      		<features name="Occurrence_Constraints"/>
-      		<features name="Relationships"/>
-      		<features name="Relationship_Constraints"/>
-      		<features name="Relationship_Cardinality"/>
-      		<features name="Intra_Relationship_Constraints"/>
-      		<features name="Parthood_Constraints"/>
-      		<features name="Inter_Relationship_Constraints"/>
-      		<features name="Compartment_Types"/>
-      		<features name="Compartment_Structure"/>
-      		<features name="Compartment_Properties"/>
-      		<features name="Compartment_Behavior"/>
-      		<features name="Compartment_Inheritance"/>
-      		<features name="Participants"/>
-     		<features name="Contains_Compartments"/>
-      		<features name="Playable_by_Defining_Compartment"/>
-      		<features name="Data_Types"/>
-      		<features name="Data_Type_Inheritance"/>
-        </framedConfiguration>
+		<elements xsi:type="org.framed.iorm.model:Shape" name="CompType1"
+			type="CompartmentType">
+		</elements>
+		<elements xsi:type="org.framed.iorm.model:Shape" name="CompType2"
+			type="CompartmentType" />
+		<framedConfiguration>
+    		<features/>
+   			<features name="Role_Types"/>
+    		<features name="Role_Structure"/>
+    		<features name="Role_Properties" manuallySelected="true"/>
+			<features name="Role_Behavior"/>
+			<features name="Role_Inheritance" manuallySelected="true"/>
+		    <features name="Playable"/>
+			<features name="Players"/>
+			<features name="Naturals"/>
+			<features name="Roles"/>
+			<features name="Compartments" manuallySelected="true"/>
+			<features name="Dates" manuallySelected="true"/>
+		    <features name="Dependent"/>
+		    <features name="On_Compartments"/>
+		    <features name="On_Relationships"/>
+		    <features name="Role_Constraints"/>
+		    <features name="Role_Implication" manuallySelected="true"/>
+		    <features name="Role_Prohibition" manuallySelected="true"/>
+		    <features name="Role_Equivalence"/>
+		    <features name="Group_Constraints" manuallySelected="true"/>
+		    <features name="Occurrence_Constraints" manuallySelected="true"/>
+		    <features name="Relationships"/>
+		    <features name="Relationship_Constraints"/>
+		    <features name="Relationship_Cardinality" manuallySelected="true"/>
+		    <features name="Intra_Relationship_Constraints"/>
+		    <features name="Parthood_Constraints" manuallySelected="true"/>
+		    <features name="Inter_Relationship_Constraints" manuallySelected="true"/>
+		    <features name="Compartment_Types"/>
+		    <features name="Compartment_Structure"/>
+		    <features name="Compartment_Properties" manuallySelected="true"/>
+		    <features name="Compartment_Behavior"/>
+		    <features name="Compartment_Inheritance" manuallySelected="true"/>
+		    <features name="Participants"/>
+		    <features name="Contains_Compartments" manuallySelected="true"/>
+		    <features name="Playable_by_Defining_Compartment" manuallySelected="true"/>
+		    <features name="Data_Types"/>
+		    <features name="Data_Type_Inheritance" manuallySelected="true"/>
+  		</framedConfiguration>	
 	</framedModel>
 	<cromModel>
-		<elements xsi:type="crom_l1_composed:CompartmentType" name="compartmentType"/>
-  		<elements xsi:type="crom_l1_composed:CompartmentType" name="compartmentType1"/>
+		<elements xsi:type="crom_l1_composed:CompartmentType" name="CompType1">
+		</elements>
+		<elements xsi:type="crom_l1_composed:CompartmentType" name="CompType2" />
 	</cromModel>
 </ts:TestCase>
diff --git a/org.framed.orm.transformation.test/testcases/CompartmentType/compartmentType_test_2.xmi b/org.framed.orm.transformation.test/testcases/CompartmentType/compartmentType_test_2.xmi
new file mode 100644
index 00000000..203c753b
--- /dev/null
+++ b/org.framed.orm.transformation.test/testcases/CompartmentType/compartmentType_test_2.xmi
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="ASCII"?>
+<ts:TestCase xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xmlns:crom_l1_composed="platform:/resource/org.rosi.crom.metamodel/"
+	xmlns:org.framed.iorm.model="http://iorm/1.0" xmlns:ts="http://org.framed/testmodel">
+	<title>
+		Simple TestCase for CompartmentTypes
+	</title>
+	<description>
+		This test verifies that Shapes of type CompartmentType are
+		converted to CompartmentTypes and still have the same name and their attributes
+	</description>
+	<framedModel>
+		<elements xsi:type="org.framed.iorm.model:Shape" name="CompType1"
+			type="CompartmentType">
+			<firstSegment>
+				<elements name="NamedElement0 : CompType2" />
+				<elements name="NamedElement1 : CompType2" />
+				<elements name="NamedElement2 : CompType2" />
+				<elements name="NamedElement3 : CompType2" />
+				<elements name="NamedElement4 : CompType2" />
+			</firstSegment>
+		</elements>
+		<elements xsi:type="org.framed.iorm.model:Shape" name="CompType2"
+			type="NaturalType" />
+		<framedConfiguration>
+    		<features/>
+   			<features name="Role_Types"/>
+    		<features name="Role_Structure"/>
+    		<features name="Role_Properties" manuallySelected="true"/>
+			<features name="Role_Behavior"/>
+			<features name="Role_Inheritance" manuallySelected="true"/>
+		    <features name="Playable"/>
+			<features name="Players"/>
+			<features name="Naturals"/>
+			<features name="Roles"/>
+			<features name="Compartments" manuallySelected="true"/>
+			<features name="Dates" manuallySelected="true"/>
+		    <features name="Dependent"/>
+		    <features name="On_Compartments"/>
+		    <features name="On_Relationships"/>
+		    <features name="Role_Constraints"/>
+		    <features name="Role_Implication" manuallySelected="true"/>
+		    <features name="Role_Prohibition" manuallySelected="true"/>
+		    <features name="Role_Equivalence"/>
+		    <features name="Group_Constraints" manuallySelected="true"/>
+		    <features name="Occurrence_Constraints" manuallySelected="true"/>
+		    <features name="Relationships"/>
+		    <features name="Relationship_Constraints"/>
+		    <features name="Relationship_Cardinality" manuallySelected="true"/>
+		    <features name="Intra_Relationship_Constraints"/>
+		    <features name="Parthood_Constraints" manuallySelected="true"/>
+		    <features name="Inter_Relationship_Constraints" manuallySelected="true"/>
+		    <features name="Compartment_Types"/>
+		    <features name="Compartment_Structure"/>
+		    <features name="Compartment_Properties" manuallySelected="true"/>
+		    <features name="Compartment_Behavior"/>
+		    <features name="Compartment_Inheritance" manuallySelected="true"/>
+		    <features name="Participants"/>
+		    <features name="Contains_Compartments" manuallySelected="true"/>
+		    <features name="Playable_by_Defining_Compartment" manuallySelected="true"/>
+		    <features name="Data_Types"/>
+		    <features name="Data_Type_Inheritance" manuallySelected="true"/>
+  		</framedConfiguration>	
+	</framedModel>
+	<cromModel>
+		<elements xsi:type="crom_l1_composed:CompartmentType" name="CompType1">
+			<attributes name="NamedElement0" type="//@cromModel/@elements.1" />
+			<attributes name="NamedElement1" type="//@cromModel/@elements.1"/>
+			<attributes name="NamedElement2" type="//@cromModel/@elements.1"/>
+			<attributes name="NamedElement3" type="//@cromModel/@elements.1"/>
+			<attributes name="NamedElement4" type="//@cromModel/@elements.1"/>
+		</elements>
+		<elements xsi:type="crom_l1_composed:NaturalType" name="CompType2" />
+	</cromModel>
+</ts:TestCase>
diff --git a/org.framed.orm.transformation.test/testcases/CompartmentType/compartmentType_test_3.xmi b/org.framed.orm.transformation.test/testcases/CompartmentType/compartmentType_test_3.xmi
new file mode 100644
index 00000000..46382954
--- /dev/null
+++ b/org.framed.orm.transformation.test/testcases/CompartmentType/compartmentType_test_3.xmi
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="ASCII"?>
+<ts:TestCase xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xmlns:crom_l1_composed="platform:/resource/org.rosi.crom.metamodel/"
+	xmlns:org.framed.iorm.model="http://iorm/1.0" xmlns:ts="http://org.framed/testmodel">
+	<title>
+		Test for CompartmentType with a child model containing one RoleType.
+	</title>
+	<description>
+		This test verifies that Shapes of type CompartmentType are converted correctly, and 
+		that referenced child elements are inserted in the CROM model as expected.
+	</description>
+	<framedModel>
+		<elements xsi:type="org.framed.iorm.model:Shape" type="CompartmentType" name="Bank">
+      		<model>
+        		<elements xsi:type="org.framed.iorm.model:Shape" type="RoleType" name="Consultant">          
+          			<description name="1..*"/>
+        		</elements>
+      		</model>
+    	</elements>
+    	<framedConfiguration>
+    		<features/>
+   			<features name="Role_Types"/>
+    		<features name="Role_Structure"/>
+    		<features name="Role_Properties" manuallySelected="true"/>
+			<features name="Role_Behavior"/>
+			<features name="Role_Inheritance" manuallySelected="true"/>
+		    <features name="Playable"/>
+			<features name="Players"/>
+			<features name="Naturals"/>
+			<features name="Roles"/>
+			<features name="Compartments" manuallySelected="true"/>
+			<features name="Dates" manuallySelected="true"/>
+		    <features name="Dependent"/>
+		    <features name="On_Compartments"/>
+		    <features name="On_Relationships"/>
+		    <features name="Role_Constraints"/>
+		    <features name="Role_Implication" manuallySelected="true"/>
+		    <features name="Role_Prohibition" manuallySelected="true"/>
+		    <features name="Role_Equivalence"/>
+		    <features name="Group_Constraints" manuallySelected="true"/>
+		    <features name="Occurrence_Constraints" manuallySelected="true"/>
+		    <features name="Relationships"/>
+		    <features name="Relationship_Constraints"/>
+		    <features name="Relationship_Cardinality" manuallySelected="true"/>
+		    <features name="Intra_Relationship_Constraints"/>
+		    <features name="Parthood_Constraints" manuallySelected="true"/>
+		    <features name="Inter_Relationship_Constraints" manuallySelected="true"/>
+		    <features name="Compartment_Types"/>
+		    <features name="Compartment_Structure"/>
+		    <features name="Compartment_Properties" manuallySelected="true"/>
+		    <features name="Compartment_Behavior"/>
+		    <features name="Compartment_Inheritance" manuallySelected="true"/>
+		    <features name="Participants"/>
+		    <features name="Contains_Compartments" manuallySelected="true"/>
+		    <features name="Playable_by_Defining_Compartment" manuallySelected="true"/>
+		    <features name="Data_Types"/>
+		    <features name="Data_Type_Inheritance" manuallySelected="true"/>
+  		</framedConfiguration>
+	</framedModel>
+	<cromModel>
+		<elements xsi:type="crom_l1_composed:CompartmentType" name="Bank">      
+      		<parts lower="1">
+        		<role xsi:type="crom_l1_composed:RoleType" name="Consultant">
+        		</role>
+      		</parts>
+      	</elements>
+	</cromModel>
+</ts:TestCase>
diff --git a/org.framed.orm.transformation.test/testcases/CompartmentType/compartmentType_test_4.xmi b/org.framed.orm.transformation.test/testcases/CompartmentType/compartmentType_test_4.xmi
new file mode 100644
index 00000000..60ab62c7
--- /dev/null
+++ b/org.framed.orm.transformation.test/testcases/CompartmentType/compartmentType_test_4.xmi
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="ASCII"?>
+<ts:TestCase xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xmlns:crom_l1_composed="platform:/resource/org.rosi.crom.metamodel/"
+	xmlns:org.framed.iorm.model="http://iorm/1.0" xmlns:ts="http://org.framed/testmodel">
+	<title>
+		Test for CompartmentType with two children of type RoleType, which are in relation.
+	</title>
+	<description>
+		This test verifies that Shapes of type CompartmentType are converted correctly, and 
+		that referenced child elements are inserted in the CROM model as expected. Additionally, relationships
+		between child elements are tested.
+	</description>
+	<framedModel>
+		<elements xsi:type="org.framed.iorm.model:Shape" type="CompartmentType" name="Bank">
+      		<model>
+        		<elements xsi:type="org.framed.iorm.model:Shape" type="RoleType" name="Consultant"
+	        		outgoingRelations="//@framedModel/@elements.0/@model/@elements.2">          
+          			<description name="1..*"/>
+        		</elements>
+        		<elements xsi:type="org.framed.iorm.model:Shape" type="RoleType" name="Customer"
+        			incomingRelations="//@framedModel/@elements.0/@model/@elements.2">
+          			<description name="0..*"/>
+        		</elements>
+        		<elements xsi:type="org.framed.iorm.model:Relation" name="testRelation" type="Relationship"
+            		source="//@framedModel/@elements.0/@model/@elements.0"
+            		target="//@framedModel/@elements.0/@model/@elements.1"/>
+      		</model>
+    	</elements>
+    	<framedConfiguration>
+    		<features/>
+   			<features name="Role_Types"/>
+    		<features name="Role_Structure"/>
+    		<features name="Role_Properties" manuallySelected="true"/>
+			<features name="Role_Behavior"/>
+			<features name="Role_Inheritance" manuallySelected="true"/>
+		    <features name="Playable"/>
+			<features name="Players"/>
+			<features name="Naturals"/>
+			<features name="Roles"/>
+			<features name="Compartments" manuallySelected="true"/>
+			<features name="Dates" manuallySelected="true"/>
+		    <features name="Dependent"/>
+		    <features name="On_Compartments"/>
+		    <features name="On_Relationships"/>
+		    <features name="Role_Constraints"/>
+		    <features name="Role_Implication" manuallySelected="true"/>
+		    <features name="Role_Prohibition" manuallySelected="true"/>
+		    <features name="Role_Equivalence"/>
+		    <features name="Group_Constraints" manuallySelected="true"/>
+		    <features name="Occurrence_Constraints" manuallySelected="true"/>
+		    <features name="Relationships"/>
+		    <features name="Relationship_Constraints"/>
+		    <features name="Relationship_Cardinality" manuallySelected="true"/>
+		    <features name="Intra_Relationship_Constraints"/>
+		    <features name="Parthood_Constraints" manuallySelected="true"/>
+		    <features name="Inter_Relationship_Constraints" manuallySelected="true"/>
+		    <features name="Compartment_Types"/>
+		    <features name="Compartment_Structure"/>
+		    <features name="Compartment_Properties" manuallySelected="true"/>
+		    <features name="Compartment_Behavior"/>
+		    <features name="Compartment_Inheritance" manuallySelected="true"/>
+		    <features name="Participants"/>
+		    <features name="Contains_Compartments" manuallySelected="true"/>
+		    <features name="Playable_by_Defining_Compartment" manuallySelected="true"/>
+		    <features name="Data_Types"/>
+		    <features name="Data_Type_Inheritance" manuallySelected="true"/>
+  		</framedConfiguration>
+	</framedModel>
+	<cromModel>
+		<elements xsi:type="crom_l1_composed:CompartmentType" name="Bank">      
+      		<parts lower="1">
+        		<role xsi:type="crom_l1_composed:RoleType" name="Consultant"
+        			outgoing="//@cromModel/@elements.0/@relationships.0">
+        		</role>
+      		</parts>
+      		<parts lower="0">
+        		<role xsi:type="crom_l1_composed:RoleType" name="Customer"
+        			incoming="//@cromModel/@elements.0/@relationships.0">
+        		</role>
+      		</parts>
+      		<relationships name="testRelation">
+				<first lower="0" holder="//@cromModel/@elements.0/@parts.0/@role"/>
+      			<second lower="0" holder="//@cromModel/@elements.0/@parts.1/@role"/>
+      		</relationships>
+      	</elements>
+	</cromModel>
+</ts:TestCase>
diff --git a/org.framed.orm.transformation.test/testcases/CompartmentType/compartmentType_test_5.xmi b/org.framed.orm.transformation.test/testcases/CompartmentType/compartmentType_test_5.xmi
new file mode 100644
index 00000000..b95e9bf0
--- /dev/null
+++ b/org.framed.orm.transformation.test/testcases/CompartmentType/compartmentType_test_5.xmi
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="ASCII"?>
+<ts:TestCase xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xmlns:crom_l1_composed="platform:/resource/org.rosi.crom.metamodel/"
+	xmlns:org.framed.iorm.model="http://iorm/1.0" xmlns:ts="http://org.framed/testmodel">
+	<title>
+		Test for CompartmentType with a RoleGroup.
+	</title>
+	<description>
+		This test verifies that Shapes of type CompartmentType are converted correctly, and 
+		that a RoleGroup is correctly transformed as child element.
+	</description>
+	<framedModel>
+		<elements xsi:type="org.framed.iorm.model:Shape" type="CompartmentType" name="Bank">
+      		<model>
+      			<elements xsi:type="org.framed.iorm.model:Shape" type="RoleGroup" name="RoleGroup1">
+      				<model>
+      					<elements xsi:type="org.framed.iorm.model:Shape" type="RoleType" name="Consultant">          
+          					<description name="1..*"/>
+        				</elements>
+		        		<elements xsi:type="org.framed.iorm.model:Shape" type="RoleType" name="Customer">
+		          			<description name="0..*"/>
+		        		</elements>	
+      				</model>
+      			</elements>	
+      		</model>
+    	</elements>
+    	<framedConfiguration>
+    		<features/>
+   			<features name="Role_Types"/>
+    		<features name="Role_Structure"/>
+    		<features name="Role_Properties" manuallySelected="true"/>
+			<features name="Role_Behavior"/>
+			<features name="Role_Inheritance" manuallySelected="true"/>
+		    <features name="Playable"/>
+			<features name="Players"/>
+			<features name="Naturals"/>
+			<features name="Roles"/>
+			<features name="Compartments" manuallySelected="true"/>
+			<features name="Dates" manuallySelected="true"/>
+		    <features name="Dependent"/>
+		    <features name="On_Compartments"/>
+		    <features name="On_Relationships"/>
+		    <features name="Role_Constraints"/>
+		    <features name="Role_Implication" manuallySelected="true"/>
+		    <features name="Role_Prohibition" manuallySelected="true"/>
+		    <features name="Role_Equivalence"/>
+		    <features name="Group_Constraints" manuallySelected="true"/>
+		    <features name="Occurrence_Constraints" manuallySelected="true"/>
+		    <features name="Relationships"/>
+		    <features name="Relationship_Constraints"/>
+		    <features name="Relationship_Cardinality" manuallySelected="true"/>
+		    <features name="Intra_Relationship_Constraints"/>
+		    <features name="Parthood_Constraints" manuallySelected="true"/>
+		    <features name="Inter_Relationship_Constraints" manuallySelected="true"/>
+		    <features name="Compartment_Types"/>
+		    <features name="Compartment_Structure"/>
+		    <features name="Compartment_Properties" manuallySelected="true"/>
+		    <features name="Compartment_Behavior"/>
+		    <features name="Compartment_Inheritance" manuallySelected="true"/>
+		    <features name="Participants"/>
+		    <features name="Contains_Compartments" manuallySelected="true"/>
+		    <features name="Playable_by_Defining_Compartment" manuallySelected="true"/>
+		    <features name="Data_Types"/>
+		    <features name="Data_Type_Inheritance" manuallySelected="true"/>
+  		</framedConfiguration>
+	</framedModel>
+	<cromModel>
+		<elements xsi:type="crom_l1_composed:CompartmentType" name="Bank">
+			<parts>
+				<role xsi:type="crom_l1_composed:RoleGroup" name="RoleGroup1">
+					<elements xsi:type="crom_l1_composed:RoleType" name="Consultant"/>
+					<elements xsi:type="crom_l1_composed:RoleType" name="Customer"/>
+				</role>
+			</parts>
+      	</elements>
+	</cromModel>
+</ts:TestCase>
diff --git a/org.framed.orm.transformation.test/testcases/Fulfillment/fulfillment_test_1.xmi b/org.framed.orm.transformation.test/testcases/Fulfillment/fulfillment_test_1.xmi
new file mode 100644
index 00000000..b92c2c5e
--- /dev/null
+++ b/org.framed.orm.transformation.test/testcases/Fulfillment/fulfillment_test_1.xmi
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="ASCII"?>
+<ts:TestCase
+    xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:crom_l1_composed="platform:/resource/org.rosi.crom.metamodel/"
+    xmlns:org.framed.iorm.model="http://iorm/1.0"
+    xmlns:ts="http://org.framed/testmodel"
+    title="Simple TestCase for Fulfillments"
+    description="Simple TestCase for Fulfillments">
+  <framedModel>
+    <elements
+        xsi:type="org.framed.iorm.model:Shape"
+        name="NaturalType1"
+        outgoingRelations="//@framedModel/@elements.1"
+        type="NaturalType"/>
+    <elements
+        xsi:type="org.framed.iorm.model:Relation"
+        name="testFulfillment"
+        type="Fulfillment"
+        target="//@framedModel/@elements.2"
+        source="//@framedModel/@elements.0"
+        referencedRoles="//@framedModel/@elements.2/@model/@elements.0"/>
+    <elements
+        xsi:type="org.framed.iorm.model:Shape"
+        name="compType1"
+        incomingRelations="//@framedModel/@elements.1">
+      <model>
+        <elements
+            xsi:type="org.framed.iorm.model:Shape"
+            name="roleType1"
+            type="RoleType"/>
+      </model>
+    </elements>
+    <framedConfiguration>
+    		<features/>
+   			<features name="Role_Types"/>
+    		<features name="Role_Structure"/>
+    		<features name="Role_Properties" manuallySelected="true"/>
+			<features name="Role_Behavior"/>
+			<features name="Role_Inheritance" manuallySelected="true"/>
+		    <features name="Playable"/>
+			<features name="Players"/>
+			<features name="Naturals"/>
+			<features name="Roles"/>
+			<features name="Compartments" manuallySelected="true"/>
+			<features name="Dates" manuallySelected="true"/>
+		    <features name="Dependent"/>
+		    <features name="On_Compartments"/>
+		    <features name="On_Relationships"/>
+		    <features name="Role_Constraints"/>
+		    <features name="Role_Implication" manuallySelected="true"/>
+		    <features name="Role_Prohibition" manuallySelected="true"/>
+		    <features name="Role_Equivalence"/>
+		    <features name="Group_Constraints" manuallySelected="true"/>
+		    <features name="Occurrence_Constraints" manuallySelected="true"/>
+		    <features name="Relationships"/>
+		    <features name="Relationship_Constraints"/>
+		    <features name="Relationship_Cardinality" manuallySelected="true"/>
+		    <features name="Intra_Relationship_Constraints"/>
+		    <features name="Parthood_Constraints" manuallySelected="true"/>
+		    <features name="Inter_Relationship_Constraints" manuallySelected="true"/>
+		    <features name="Compartment_Types"/>
+		    <features name="Compartment_Structure"/>
+		    <features name="Compartment_Properties" manuallySelected="true"/>
+		    <features name="Compartment_Behavior"/>
+		    <features name="Compartment_Inheritance" manuallySelected="true"/>
+		    <features name="Participants"/>
+		    <features name="Contains_Compartments" manuallySelected="true"/>
+		    <features name="Playable_by_Defining_Compartment" manuallySelected="true"/>
+		    <features name="Data_Types"/>
+		    <features name="Data_Type_Inheritance" manuallySelected="true"/>
+  		</framedConfiguration>
+  </framedModel>
+  <cromModel>
+    <elements
+        xsi:type="crom_l1_composed:NaturalType"
+        name="NaturalType1"/>
+    <elements
+        xsi:type="crom_l1_composed:CompartmentType"
+        name="compType1">
+      <parts>
+        <role
+            xsi:type="crom_l1_composed:RoleType"
+            name="roleType1"/>
+      </parts>
+    </elements>
+    <relations
+        xsi:type="crom_l1_composed:Fulfillment"
+        filled="//@cromModel/@elements.1/@parts.0/@role"
+        filler="//@cromModel/@elements.0"/>
+  </cromModel>
+</ts:TestCase>
diff --git a/org.framed.orm.transformation.test/testcases/Group/group_test_1.xmi b/org.framed.orm.transformation.test/testcases/Group/group_test_1.xmi
new file mode 100644
index 00000000..324def43
--- /dev/null
+++ b/org.framed.orm.transformation.test/testcases/Group/group_test_1.xmi
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="ASCII"?>
+<ts:TestCase xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xmlns:crom_l1_composed="platform:/resource/org.rosi.crom.metamodel/"
+	xmlns:org.framed.iorm.model="http://iorm/1.0" xmlns:ts="http://org.framed/testmodel">
+	<title>
+		Test for a simple Group shape with one contained NaturalType.
+	</title>
+	<description>
+		This test verifies that Groups and contained elements are transformed correctly.
+	</description>
+	<framedModel>
+		<elements xsi:type="org.framed.iorm.model:Shape" name="GroupTest" type="Group">
+		    <model>
+		      <elements xsi:type="org.framed.iorm.model:Shape" name="NaturalType1" type="NaturalType">
+		        <firstSegment/>
+		        <secondSegment/>		        
+		      </elements>
+		    </model>    
+  		</elements>
+  		<framedConfiguration>
+    		<features/>
+   			<features name="Role_Types"/>
+    		<features name="Role_Structure"/>
+    		<features name="Role_Properties" manuallySelected="true"/>
+			<features name="Role_Behavior"/>
+			<features name="Role_Inheritance" manuallySelected="true"/>
+		    <features name="Playable"/>
+			<features name="Players"/>
+			<features name="Naturals"/>
+			<features name="Roles"/>
+			<features name="Compartments" manuallySelected="true"/>
+			<features name="Dates" manuallySelected="true"/>
+		    <features name="Dependent"/>
+		    <features name="On_Compartments"/>
+		    <features name="On_Relationships"/>
+		    <features name="Role_Constraints"/>
+		    <features name="Role_Implication" manuallySelected="true"/>
+		    <features name="Role_Prohibition" manuallySelected="true"/>
+		    <features name="Role_Equivalence"/>
+		    <features name="Group_Constraints" manuallySelected="true"/>
+		    <features name="Occurrence_Constraints" manuallySelected="true"/>
+		    <features name="Relationships"/>
+		    <features name="Relationship_Constraints"/>
+		    <features name="Relationship_Cardinality" manuallySelected="true"/>
+		    <features name="Intra_Relationship_Constraints"/>
+		    <features name="Parthood_Constraints" manuallySelected="true"/>
+		    <features name="Inter_Relationship_Constraints" manuallySelected="true"/>
+		    <features name="Compartment_Types"/>
+		    <features name="Compartment_Structure"/>
+		    <features name="Compartment_Properties" manuallySelected="true"/>
+		    <features name="Compartment_Behavior"/>
+		    <features name="Compartment_Inheritance" manuallySelected="true"/>
+		    <features name="Participants"/>
+		    <features name="Contains_Compartments" manuallySelected="true"/>
+		    <features name="Playable_by_Defining_Compartment" manuallySelected="true"/>
+		    <features name="Data_Types"/>
+		    <features name="Data_Type_Inheritance" manuallySelected="true"/>
+  		</framedConfiguration>
+	</framedModel>
+	<cromModel>
+		<elements xsi:type="crom_l1_composed:Group" name="GroupTest">			
+			<elements xsi:type="crom_l1_composed:NaturalType" name="NaturalType1"/>			
+      	</elements>
+	</cromModel>
+</ts:TestCase>
\ No newline at end of file
diff --git a/org.framed.orm.transformation.test/testcases/Inheritance/inheritance_test_1.xmi b/org.framed.orm.transformation.test/testcases/Inheritance/inheritance_test_1.xmi
new file mode 100644
index 00000000..489b898d
--- /dev/null
+++ b/org.framed.orm.transformation.test/testcases/Inheritance/inheritance_test_1.xmi
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="ASCII"?>
+<ts:TestCase
+    xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:crom_l1_composed="platform:/resource/org.rosi.crom.metamodel/"
+    xmlns:org.framed.iorm.model="http://iorm/1.0"
+    xmlns:ts="http://org.framed/testmodel"
+    title="Simple TestCase for Inheritance Relation"
+    description="Simple TestCase for Inheritance Relation">
+  <framedModel>
+    <elements
+        xsi:type="org.framed.iorm.model:Shape"
+        name="CompType1"
+        outgoingRelations="//@framedModel/@elements.2"/>
+    <elements
+        xsi:type="org.framed.iorm.model:Shape"
+        name="CompType2"
+        incomingRelations="//@framedModel/@elements.2"/>
+    <elements
+        xsi:type="org.framed.iorm.model:Relation"
+        type="Inheritance"
+        target="//@framedModel/@elements.1"
+        source="//@framedModel/@elements.0"/>
+    <framedConfiguration>
+    		<features/>
+   			<features name="Role_Types"/>
+    		<features name="Role_Structure"/>
+    		<features name="Role_Properties" manuallySelected="true"/>
+			<features name="Role_Behavior"/>
+			<features name="Role_Inheritance" manuallySelected="true"/>
+		    <features name="Playable"/>
+			<features name="Players"/>
+			<features name="Naturals"/>
+			<features name="Roles"/>
+			<features name="Compartments" manuallySelected="true"/>
+			<features name="Dates" manuallySelected="true"/>
+		    <features name="Dependent"/>
+		    <features name="On_Compartments"/>
+		    <features name="On_Relationships"/>
+		    <features name="Role_Constraints"/>
+		    <features name="Role_Implication" manuallySelected="true"/>
+		    <features name="Role_Prohibition" manuallySelected="true"/>
+		    <features name="Role_Equivalence"/>
+		    <features name="Group_Constraints" manuallySelected="true"/>
+		    <features name="Occurrence_Constraints" manuallySelected="true"/>
+		    <features name="Relationships"/>
+		    <features name="Relationship_Constraints"/>
+		    <features name="Relationship_Cardinality" manuallySelected="true"/>
+		    <features name="Intra_Relationship_Constraints"/>
+		    <features name="Parthood_Constraints" manuallySelected="true"/>
+		    <features name="Inter_Relationship_Constraints" manuallySelected="true"/>
+		    <features name="Compartment_Types"/>
+		    <features name="Compartment_Structure"/>
+		    <features name="Compartment_Properties" manuallySelected="true"/>
+		    <features name="Compartment_Behavior"/>
+		    <features name="Compartment_Inheritance" manuallySelected="true"/>
+		    <features name="Participants"/>
+		    <features name="Contains_Compartments" manuallySelected="true"/>
+		    <features name="Playable_by_Defining_Compartment" manuallySelected="true"/>
+		    <features name="Data_Types"/>
+		    <features name="Data_Type_Inheritance" manuallySelected="true"/>
+  		</framedConfiguration>   
+  </framedModel>
+  <cromModel>
+    <elements
+        xsi:type="crom_l1_composed:CompartmentType"
+        name="CompType1"
+        outgoing="//@cromModel/@relations.0"/>
+    <elements
+        xsi:type="crom_l1_composed:CompartmentType"
+        name="CompType2"
+        incoming="//@cromModel/@relations.0"/>
+    <relations
+        xsi:type="crom_l1_composed:CompartmentInheritance"
+        super="//@cromModel/@elements.1"
+        sub="//@cromModel/@elements.0"/>
+  </cromModel>
+</ts:TestCase>
diff --git a/org.framed.orm.transformation.test/testcases/Inheritance/inheritance_test_2.xmi b/org.framed.orm.transformation.test/testcases/Inheritance/inheritance_test_2.xmi
new file mode 100644
index 00000000..8e716f60
--- /dev/null
+++ b/org.framed.orm.transformation.test/testcases/Inheritance/inheritance_test_2.xmi
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="ASCII"?>
+<ts:TestCase
+    xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:crom_l1_composed="platform:/resource/org.rosi.crom.metamodel/"
+    xmlns:org.framed.iorm.model="http://iorm/1.0"
+    xmlns:ts="http://org.framed/testmodel"
+    title="Simple TestCase for Inheritance from inherited element"
+    description="TestCase to test inheritance over inheritance ;)">
+  <framedModel>
+    <elements
+        xsi:type="org.framed.iorm.model:Shape"
+        name="CompType1"
+        outgoingRelations="//@framedModel/@elements.2"/>
+    <elements
+        xsi:type="org.framed.iorm.model:Shape"
+        name="CompType2"
+        incomingRelations="//@framedModel/@elements.2"
+        outgoingRelations="//@framedModel/@elements.4"/>
+    <elements
+        xsi:type="org.framed.iorm.model:Relation"
+        type="Inheritance"
+        target="//@framedModel/@elements.1"
+        source="//@framedModel/@elements.0"/>
+    <elements
+        xsi:type="org.framed.iorm.model:Shape"
+        name="CompType3"
+        incomingRelations="//@framedModel/@elements.4"/>
+    <elements
+        xsi:type="org.framed.iorm.model:Relation"
+        type="Inheritance"
+        target="//@framedModel/@elements.3"
+        source="//@framedModel/@elements.1"/>
+    <framedConfiguration>
+    		<features/>
+   			<features name="Role_Types"/>
+    		<features name="Role_Structure"/>
+    		<features name="Role_Properties" manuallySelected="true"/>
+			<features name="Role_Behavior"/>
+			<features name="Role_Inheritance" manuallySelected="true"/>
+		    <features name="Playable"/>
+			<features name="Players"/>
+			<features name="Naturals"/>
+			<features name="Roles"/>
+			<features name="Compartments" manuallySelected="true"/>
+			<features name="Dates" manuallySelected="true"/>
+		    <features name="Dependent"/>
+		    <features name="On_Compartments"/>
+		    <features name="On_Relationships"/>
+		    <features name="Role_Constraints"/>
+		    <features name="Role_Implication" manuallySelected="true"/>
+		    <features name="Role_Prohibition" manuallySelected="true"/>
+		    <features name="Role_Equivalence"/>
+		    <features name="Group_Constraints" manuallySelected="true"/>
+		    <features name="Occurrence_Constraints" manuallySelected="true"/>
+		    <features name="Relationships"/>
+		    <features name="Relationship_Constraints"/>
+		    <features name="Relationship_Cardinality" manuallySelected="true"/>
+		    <features name="Intra_Relationship_Constraints"/>
+		    <features name="Parthood_Constraints" manuallySelected="true"/>
+		    <features name="Inter_Relationship_Constraints" manuallySelected="true"/>
+		    <features name="Compartment_Types"/>
+		    <features name="Compartment_Structure"/>
+		    <features name="Compartment_Properties" manuallySelected="true"/>
+		    <features name="Compartment_Behavior"/>
+		    <features name="Compartment_Inheritance" manuallySelected="true"/>
+		    <features name="Participants"/>
+		    <features name="Contains_Compartments" manuallySelected="true"/>
+		    <features name="Playable_by_Defining_Compartment" manuallySelected="true"/>
+		    <features name="Data_Types"/>
+		    <features name="Data_Type_Inheritance" manuallySelected="true"/>
+  		</framedConfiguration>    
+  </framedModel>
+  <cromModel>
+    <elements
+        xsi:type="crom_l1_composed:CompartmentType"
+        name="CompType1"
+        outgoing="//@cromModel/@relations.0"/>
+    <elements
+        xsi:type="crom_l1_composed:CompartmentType"
+        name="CompType2"
+        incoming="//@cromModel/@relations.0"
+        outgoing="//@cromModel/@relations.1"/>
+    <elements
+        xsi:type="crom_l1_composed:CompartmentType"
+        name="CompType3"
+        incoming="//@cromModel/@relations.1"/>
+    <relations
+        xsi:type="crom_l1_composed:CompartmentInheritance"
+        super="//@cromModel/@elements.1"
+        sub="//@cromModel/@elements.0"/>
+    <relations
+        xsi:type="crom_l1_composed:CompartmentInheritance"
+        super="//@cromModel/@elements.2"
+        sub="//@cromModel/@elements.1"/>
+  </cromModel>
+</ts:TestCase>
diff --git a/org.framed.orm.transformation.test/testcases/Inheritance/inheritance_test_3.xmi b/org.framed.orm.transformation.test/testcases/Inheritance/inheritance_test_3.xmi
new file mode 100644
index 00000000..7e158d8e
--- /dev/null
+++ b/org.framed.orm.transformation.test/testcases/Inheritance/inheritance_test_3.xmi
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="ASCII"?>
+<ts:TestCase
+    xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:crom_l1_composed="platform:/resource/org.rosi.crom.metamodel/"
+    xmlns:org.framed.iorm.model="http://iorm/1.0"
+    xmlns:ts="http://org.framed/testmodel"
+    title="TestCase to test double inheritance"
+    description="TestCase to test double inheritance">
+  <framedModel>
+    <elements
+        xsi:type="org.framed.iorm.model:Shape"
+        name="CompType1"
+        outgoingRelations="//@framedModel/@elements.2 //@framedModel/@elements.4"/>
+    <elements
+        xsi:type="org.framed.iorm.model:Shape"
+        name="CompType2"
+        incomingRelations="//@framedModel/@elements.2"/>
+    <elements
+        xsi:type="org.framed.iorm.model:Relation"
+        type="Inheritance"
+        target="//@framedModel/@elements.1"
+        source="//@framedModel/@elements.0"/>
+    <elements
+        xsi:type="org.framed.iorm.model:Shape"
+        name="CompType3"
+        incomingRelations="//@framedModel/@elements.4"/>
+    <elements
+        xsi:type="org.framed.iorm.model:Relation"
+        type="Inheritance"
+        target="//@framedModel/@elements.3"
+        source="//@framedModel/@elements.0"/>
+    <framedConfiguration>
+    		<features/>
+   			<features name="Role_Types"/>
+    		<features name="Role_Structure"/>
+    		<features name="Role_Properties" manuallySelected="true"/>
+			<features name="Role_Behavior"/>
+			<features name="Role_Inheritance" manuallySelected="true"/>
+		    <features name="Playable"/>
+			<features name="Players"/>
+			<features name="Naturals"/>
+			<features name="Roles"/>
+			<features name="Compartments" manuallySelected="true"/>
+			<features name="Dates" manuallySelected="true"/>
+		    <features name="Dependent"/>
+		    <features name="On_Compartments"/>
+		    <features name="On_Relationships"/>
+		    <features name="Role_Constraints"/>
+		    <features name="Role_Implication" manuallySelected="true"/>
+		    <features name="Role_Prohibition" manuallySelected="true"/>
+		    <features name="Role_Equivalence"/>
+		    <features name="Group_Constraints" manuallySelected="true"/>
+		    <features name="Occurrence_Constraints" manuallySelected="true"/>
+		    <features name="Relationships"/>
+		    <features name="Relationship_Constraints"/>
+		    <features name="Relationship_Cardinality" manuallySelected="true"/>
+		    <features name="Intra_Relationship_Constraints"/>
+		    <features name="Parthood_Constraints" manuallySelected="true"/>
+		    <features name="Inter_Relationship_Constraints" manuallySelected="true"/>
+		    <features name="Compartment_Types"/>
+		    <features name="Compartment_Structure"/>
+		    <features name="Compartment_Properties" manuallySelected="true"/>
+		    <features name="Compartment_Behavior"/>
+		    <features name="Compartment_Inheritance" manuallySelected="true"/>
+		    <features name="Participants"/>
+		    <features name="Contains_Compartments" manuallySelected="true"/>
+		    <features name="Playable_by_Defining_Compartment" manuallySelected="true"/>
+		    <features name="Data_Types"/>
+		    <features name="Data_Type_Inheritance" manuallySelected="true"/>
+  		</framedConfiguration>   
+  </framedModel>
+  <cromModel>
+    <elements
+        xsi:type="crom_l1_composed:CompartmentType"
+        name="CompType1"
+        outgoing="//@cromModel/@relations.0 //@cromModel/@relations.1"/>
+    <elements
+        xsi:type="crom_l1_composed:CompartmentType"
+        name="CompType2"
+        incoming="//@cromModel/@relations.0"/>
+    <elements
+        xsi:type="crom_l1_composed:CompartmentType"
+        name="CompType3"
+        incoming="//@cromModel/@relations.1"/>
+    <relations
+        xsi:type="crom_l1_composed:CompartmentInheritance"
+        super="//@cromModel/@elements.1"
+        sub="//@cromModel/@elements.0"/>
+    <relations
+        xsi:type="crom_l1_composed:CompartmentInheritance"
+        super="//@cromModel/@elements.2"
+        sub="//@cromModel/@elements.0"/>
+  </cromModel>
+</ts:TestCase>
diff --git a/org.framed.orm.transformation.test/testcases/NaturalType/naturalType_test_1.xmi b/org.framed.orm.transformation.test/testcases/NaturalType/naturalType_test_1.xmi
new file mode 100644
index 00000000..ec096a74
--- /dev/null
+++ b/org.framed.orm.transformation.test/testcases/NaturalType/naturalType_test_1.xmi
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="ASCII"?>
+<ts:TestCase
+    xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:crom_l1_composed="platform:/resource/org.rosi.crom.metamodel/"
+    xmlns:org.framed.iorm.model="http://iorm/1.0"
+    xmlns:ts="http://org.framed/testmodel"
+    title="&#xA;&#x9;&#x9;Simple TestCase for Natural Types&#xA;&#x9;"
+    description="&#xA;&#x9;&#x9;This test verifies that Shapes of type NaturalType are&#xA;&#x9;&#x9;converted to NaturalTypes and still have the same name&#xA;&#x9;">
+  <framedModel>
+    <elements
+        xsi:type="org.framed.iorm.model:Shape"
+        name="NaturalType1"
+        type="NaturalType"/>
+    <elements
+        xsi:type="org.framed.iorm.model:Shape"
+        name="NaturalType2"
+        type="NaturalType"/>
+    <framedConfiguration>
+    		<features/>
+   			<features name="Role_Types"/>
+    		<features name="Role_Structure"/>
+    		<features name="Role_Properties" manuallySelected="true"/>
+			<features name="Role_Behavior"/>
+			<features name="Role_Inheritance" manuallySelected="true"/>
+		    <features name="Playable"/>
+			<features name="Players"/>
+			<features name="Naturals"/>
+			<features name="Roles"/>
+			<features name="Compartments" manuallySelected="true"/>
+			<features name="Dates" manuallySelected="true"/>
+		    <features name="Dependent"/>
+		    <features name="On_Compartments"/>
+		    <features name="On_Relationships"/>
+		    <features name="Role_Constraints"/>
+		    <features name="Role_Implication" manuallySelected="true"/>
+		    <features name="Role_Prohibition" manuallySelected="true"/>
+		    <features name="Role_Equivalence"/>
+		    <features name="Group_Constraints" manuallySelected="true"/>
+		    <features name="Occurrence_Constraints" manuallySelected="true"/>
+		    <features name="Relationships"/>
+		    <features name="Relationship_Constraints"/>
+		    <features name="Relationship_Cardinality" manuallySelected="true"/>
+		    <features name="Intra_Relationship_Constraints"/>
+		    <features name="Parthood_Constraints" manuallySelected="true"/>
+		    <features name="Inter_Relationship_Constraints" manuallySelected="true"/>
+		    <features name="Compartment_Types"/>
+		    <features name="Compartment_Structure"/>
+		    <features name="Compartment_Properties" manuallySelected="true"/>
+		    <features name="Compartment_Behavior"/>
+		    <features name="Compartment_Inheritance" manuallySelected="true"/>
+		    <features name="Participants"/>
+		    <features name="Contains_Compartments" manuallySelected="true"/>
+		    <features name="Playable_by_Defining_Compartment" manuallySelected="true"/>
+		    <features name="Data_Types"/>
+		    <features name="Data_Type_Inheritance" manuallySelected="true"/>
+  		</framedConfiguration>     
+  </framedModel>
+  <cromModel>
+    <elements
+        xsi:type="crom_l1_composed:NaturalType"
+        name="NaturalType1"/>
+    <elements
+        xsi:type="crom_l1_composed:NaturalType"
+        name="NaturalType2"/>
+  </cromModel>
+</ts:TestCase>
diff --git a/org.framed.orm.transformation.test/testcases/NaturalType/naturalType_test_2.xmi b/org.framed.orm.transformation.test/testcases/NaturalType/naturalType_test_2.xmi
new file mode 100644
index 00000000..ff503696
--- /dev/null
+++ b/org.framed.orm.transformation.test/testcases/NaturalType/naturalType_test_2.xmi
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="ASCII"?>
+<ts:TestCase
+    xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:crom_l1_composed="platform:/resource/org.rosi.crom.metamodel/"
+    xmlns:org.framed.iorm.model="http://iorm/1.0"
+    xmlns:ts="http://org.framed/testmodel"
+    title="&#xA;&#x9;&#x9;Simple TestCase for Natural Types with attributes&#xA;&#x9;"
+    description="&#xA;&#x9;&#x9;This test verifies that Shapes of type NaturalType are&#xA;&#x9;&#x9;converted to NaturalTypes with their attributes which are contained in&#xA;&#x9;&#x9;the first segment of a shape.&#xA;&#x9;">
+  <framedModel>
+    <elements
+        xsi:type="org.framed.iorm.model:Shape"
+        name="NaturalType1"
+        type="NaturalType">
+      <firstSegment>
+        <elements
+            name="NamedElement0 : NaturalType1"/>
+        <elements
+            name="NamedElement1 : NaturalType2"/>        
+      </firstSegment>
+    </elements>
+    <elements
+        xsi:type="org.framed.iorm.model:Shape"
+        name="NaturalType2"
+        type="NaturalType"/>
+    <framedConfiguration>
+    		<features/>
+   			<features name="Role_Types"/>
+    		<features name="Role_Structure"/>
+    		<features name="Role_Properties" manuallySelected="true"/>
+			<features name="Role_Behavior"/>
+			<features name="Role_Inheritance" manuallySelected="true"/>
+		    <features name="Playable"/>
+			<features name="Players"/>
+			<features name="Naturals"/>
+			<features name="Roles"/>
+			<features name="Compartments" manuallySelected="true"/>
+			<features name="Dates" manuallySelected="true"/>
+		    <features name="Dependent"/>
+		    <features name="On_Compartments"/>
+		    <features name="On_Relationships"/>
+		    <features name="Role_Constraints"/>
+		    <features name="Role_Implication" manuallySelected="true"/>
+		    <features name="Role_Prohibition" manuallySelected="true"/>
+		    <features name="Role_Equivalence"/>
+		    <features name="Group_Constraints" manuallySelected="true"/>
+		    <features name="Occurrence_Constraints" manuallySelected="true"/>
+		    <features name="Relationships"/>
+		    <features name="Relationship_Constraints"/>
+		    <features name="Relationship_Cardinality" manuallySelected="true"/>
+		    <features name="Intra_Relationship_Constraints"/>
+		    <features name="Parthood_Constraints" manuallySelected="true"/>
+		    <features name="Inter_Relationship_Constraints" manuallySelected="true"/>
+		    <features name="Compartment_Types"/>
+		    <features name="Compartment_Structure"/>
+		    <features name="Compartment_Properties" manuallySelected="true"/>
+		    <features name="Compartment_Behavior"/>
+		    <features name="Compartment_Inheritance" manuallySelected="true"/>
+		    <features name="Participants"/>
+		    <features name="Contains_Compartments" manuallySelected="true"/>
+		    <features name="Playable_by_Defining_Compartment" manuallySelected="true"/>
+		    <features name="Data_Types"/>
+		    <features name="Data_Type_Inheritance" manuallySelected="true"/>
+  		</framedConfiguration>     
+  </framedModel>
+  <cromModel>
+    <elements
+        xsi:type="crom_l1_composed:NaturalType"
+        name="NaturalType1">
+      <attributes
+          name="NamedElement0" type="//@cromModel/@elements.0"/>
+      <attributes
+          name="NamedElement1" type="//@cromModel/@elements.1"/>      
+    </elements>
+    <elements
+        xsi:type="crom_l1_composed:NaturalType"
+        name="NaturalType2"/>
+  </cromModel>
+</ts:TestCase>
diff --git a/org.framed.orm.transformation.test/testcases/NaturalType/naturalType_test_3.xmi b/org.framed.orm.transformation.test/testcases/NaturalType/naturalType_test_3.xmi
new file mode 100644
index 00000000..04bf89c5
--- /dev/null
+++ b/org.framed.orm.transformation.test/testcases/NaturalType/naturalType_test_3.xmi
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="ASCII"?>
+<ts:TestCase xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xmlns:crom_l1_composed="platform:/resource/org.rosi.crom.metamodel/"
+	xmlns:org.framed.iorm.model="http://iorm/1.0" xmlns:ts="http://org.framed/testmodel">
+	<title>
+		Test to ensure operations can be transformed.
+	</title>
+	<description>
+		This test checks if two operations without parameters can be converted.
+	</description>
+	<framedModel>
+		<elements xsi:type="org.framed.iorm.model:Shape" name="NaturalType1"
+			type="NaturalType">
+			<firstSegment />
+			<secondSegment>
+				<elements name="operation1() : NaturalType2" />
+				<elements name="operation2() : NaturalType1" />
+			</secondSegment>
+		</elements>
+		<elements xsi:type="org.framed.iorm.model:Shape" name="NaturalType2"
+			type="NaturalType" />
+		<framedConfiguration>
+    		<features/>
+   			<features name="Role_Types"/>
+    		<features name="Role_Structure"/>
+    		<features name="Role_Properties" manuallySelected="true"/>
+			<features name="Role_Behavior"/>
+			<features name="Role_Inheritance" manuallySelected="true"/>
+		    <features name="Playable"/>
+			<features name="Players"/>
+			<features name="Naturals"/>
+			<features name="Roles"/>
+			<features name="Compartments" manuallySelected="true"/>
+			<features name="Dates" manuallySelected="true"/>
+		    <features name="Dependent"/>
+		    <features name="On_Compartments"/>
+		    <features name="On_Relationships"/>
+		    <features name="Role_Constraints"/>
+		    <features name="Role_Implication" manuallySelected="true"/>
+		    <features name="Role_Prohibition" manuallySelected="true"/>
+		    <features name="Role_Equivalence"/>
+		    <features name="Group_Constraints" manuallySelected="true"/>
+		    <features name="Occurrence_Constraints" manuallySelected="true"/>
+		    <features name="Relationships"/>
+		    <features name="Relationship_Constraints"/>
+		    <features name="Relationship_Cardinality" manuallySelected="true"/>
+		    <features name="Intra_Relationship_Constraints"/>
+		    <features name="Parthood_Constraints" manuallySelected="true"/>
+		    <features name="Inter_Relationship_Constraints" manuallySelected="true"/>
+		    <features name="Compartment_Types"/>
+		    <features name="Compartment_Structure"/>
+		    <features name="Compartment_Properties" manuallySelected="true"/>
+		    <features name="Compartment_Behavior"/>
+		    <features name="Compartment_Inheritance" manuallySelected="true"/>
+		    <features name="Participants"/>
+		    <features name="Contains_Compartments" manuallySelected="true"/>
+		    <features name="Playable_by_Defining_Compartment" manuallySelected="true"/>
+		    <features name="Data_Types"/>
+		    <features name="Data_Type_Inheritance" manuallySelected="true"/>
+  		</framedConfiguration> 	
+	</framedModel>
+	<cromModel>
+		<elements xsi:type="crom_l1_composed:NaturalType" name="NaturalType1">
+			<operations name="operation1" type="//@cromModel/@elements.1"
+				operation="" />
+			<operations name="operation2" type="//@cromModel/@elements.0"
+				operation="" />
+		</elements>
+		<elements xsi:type="crom_l1_composed:NaturalType" name="NaturalType2" />
+	</cromModel>
+</ts:TestCase>
diff --git a/org.framed.orm.transformation.test/testcases/NaturalType/naturalType_test_4.xmi b/org.framed.orm.transformation.test/testcases/NaturalType/naturalType_test_4.xmi
new file mode 100644
index 00000000..18df19f2
--- /dev/null
+++ b/org.framed.orm.transformation.test/testcases/NaturalType/naturalType_test_4.xmi
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="ASCII"?>
+<ts:TestCase
+    xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:crom_l1_composed="platform:/resource/org.rosi.crom.metamodel/"
+    xmlns:org.framed.iorm.model="http://iorm/1.0"
+    xmlns:ts="http://org.framed/testmodel"
+    title="&#xA;&#x9;&#x9;Test to ensure operations can be transformed basically&#xA;&#x9;"
+    description="&#xA;&#x9;&#x9;This test checks if two operations with parameters can be converted.&#xA;&#x9;">
+  <framedModel>
+    <elements
+        xsi:type="org.framed.iorm.model:Shape"
+        name="NaturalType1"
+        type="NaturalType">
+      <firstSegment/>
+      <secondSegment>
+        <elements
+            name="operation1(para1 : NaturalType1) : NaturalType2"/>
+        <elements
+            name="operation2(para1 : NaturalType1, para2:NaturalType2) : NaturalType1"/>
+      </secondSegment>
+    </elements>
+    <elements
+        xsi:type="org.framed.iorm.model:Shape"
+        name="NaturalType2"
+        type="NaturalType"/>
+    <framedConfiguration>
+    		<features/>
+   			<features name="Role_Types"/>
+    		<features name="Role_Structure"/>
+    		<features name="Role_Properties" manuallySelected="true"/>
+			<features name="Role_Behavior"/>
+			<features name="Role_Inheritance" manuallySelected="true"/>
+		    <features name="Playable"/>
+			<features name="Players"/>
+			<features name="Naturals"/>
+			<features name="Roles"/>
+			<features name="Compartments" manuallySelected="true"/>
+			<features name="Dates" manuallySelected="true"/>
+		    <features name="Dependent"/>
+		    <features name="On_Compartments"/>
+		    <features name="On_Relationships"/>
+		    <features name="Role_Constraints"/>
+		    <features name="Role_Implication" manuallySelected="true"/>
+		    <features name="Role_Prohibition" manuallySelected="true"/>
+		    <features name="Role_Equivalence"/>
+		    <features name="Group_Constraints" manuallySelected="true"/>
+		    <features name="Occurrence_Constraints" manuallySelected="true"/>
+		    <features name="Relationships"/>
+		    <features name="Relationship_Constraints"/>
+		    <features name="Relationship_Cardinality" manuallySelected="true"/>
+		    <features name="Intra_Relationship_Constraints"/>
+		    <features name="Parthood_Constraints" manuallySelected="true"/>
+		    <features name="Inter_Relationship_Constraints" manuallySelected="true"/>
+		    <features name="Compartment_Types"/>
+		    <features name="Compartment_Structure"/>
+		    <features name="Compartment_Properties" manuallySelected="true"/>
+		    <features name="Compartment_Behavior"/>
+		    <features name="Compartment_Inheritance" manuallySelected="true"/>
+		    <features name="Participants"/>
+		    <features name="Contains_Compartments" manuallySelected="true"/>
+		    <features name="Playable_by_Defining_Compartment" manuallySelected="true"/>
+		    <features name="Data_Types"/>
+		    <features name="Data_Type_Inheritance" manuallySelected="true"/>
+  		</framedConfiguration>     
+  </framedModel>
+  <cromModel>
+    <elements
+        xsi:type="crom_l1_composed:NaturalType"
+        name="NaturalType1">
+      <operations
+          name="operation1"
+          type="//@cromModel/@elements.1"
+          operation="">
+        <params
+            name="para1"
+            type="//@cromModel/@elements.0"/>
+      </operations>
+      <operations
+          name="operation2"
+          type="//@cromModel/@elements.0"
+          operation="">
+        <params
+            name="para1"
+            type="//@cromModel/@elements.0"/>
+        <params
+            name="para2"
+            type="//@cromModel/@elements.1"/>
+      </operations>
+    </elements>
+    <elements
+        xsi:type="crom_l1_composed:NaturalType"
+        name="NaturalType2"/>
+  </cromModel>
+</ts:TestCase>
diff --git a/org.framed.orm.transformation.test/testcases/NaturalType/naturalType_test_5.xmi b/org.framed.orm.transformation.test/testcases/NaturalType/naturalType_test_5.xmi
new file mode 100644
index 00000000..df11709c
--- /dev/null
+++ b/org.framed.orm.transformation.test/testcases/NaturalType/naturalType_test_5.xmi
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="ASCII"?>
+<ts:TestCase
+    xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:crom_l1_composed="platform:/resource/org.rosi.crom.metamodel/"
+    xmlns:org.framed.iorm.model="http://iorm/1.0"
+    xmlns:ts="http://org.framed/testmodel"
+    title="&#xA;&#x9;&#x9;Test to ensure operations can be transformed basically&#xA;&#x9;"
+    description="&#xA;&#x9;&#x9;This test checks if two operations with parameters with some crazy syntax can be converted.&#xA;&#x9;">
+  <framedModel>
+    <elements
+        xsi:type="org.framed.iorm.model:Shape"
+        name="NaturalType1"
+        type="NaturalType">
+      <firstSegment/>
+      <secondSegment>
+        <elements
+            name="operation1(para1:NaturalType1):       NaturalType2"/>
+        <elements
+            name="operation2(para1       : NaturalType1, para2:NaturalType2) :NaturalType1"/>
+      </secondSegment>
+    </elements>
+    <elements
+        xsi:type="org.framed.iorm.model:Shape"
+        name="NaturalType2"
+        type="NaturalType"/>
+    <framedConfiguration>
+    		<features/>
+   			<features name="Role_Types"/>
+    		<features name="Role_Structure"/>
+    		<features name="Role_Properties" manuallySelected="true"/>
+			<features name="Role_Behavior"/>
+			<features name="Role_Inheritance" manuallySelected="true"/>
+		    <features name="Playable"/>
+			<features name="Players"/>
+			<features name="Naturals"/>
+			<features name="Roles"/>
+			<features name="Compartments" manuallySelected="true"/>
+			<features name="Dates" manuallySelected="true"/>
+		    <features name="Dependent"/>
+		    <features name="On_Compartments"/>
+		    <features name="On_Relationships"/>
+		    <features name="Role_Constraints"/>
+		    <features name="Role_Implication" manuallySelected="true"/>
+		    <features name="Role_Prohibition" manuallySelected="true"/>
+		    <features name="Role_Equivalence"/>
+		    <features name="Group_Constraints" manuallySelected="true"/>
+		    <features name="Occurrence_Constraints" manuallySelected="true"/>
+		    <features name="Relationships"/>
+		    <features name="Relationship_Constraints"/>
+		    <features name="Relationship_Cardinality" manuallySelected="true"/>
+		    <features name="Intra_Relationship_Constraints"/>
+		    <features name="Parthood_Constraints" manuallySelected="true"/>
+		    <features name="Inter_Relationship_Constraints" manuallySelected="true"/>
+		    <features name="Compartment_Types"/>
+		    <features name="Compartment_Structure"/>
+		    <features name="Compartment_Properties" manuallySelected="true"/>
+		    <features name="Compartment_Behavior"/>
+		    <features name="Compartment_Inheritance" manuallySelected="true"/>
+		    <features name="Participants"/>
+		    <features name="Contains_Compartments" manuallySelected="true"/>
+		    <features name="Playable_by_Defining_Compartment" manuallySelected="true"/>
+		    <features name="Data_Types"/>
+		    <features name="Data_Type_Inheritance" manuallySelected="true"/>
+  		</framedConfiguration> 
+  </framedModel>
+  <cromModel>
+    <elements
+        xsi:type="crom_l1_composed:NaturalType"
+        name="NaturalType1">
+      <operations
+          name="operation1"
+          type="//@cromModel/@elements.1"
+          operation="">
+        <params
+            name="para1"
+            type="//@cromModel/@elements.0"/>
+      </operations>
+      <operations
+          name="operation2"
+          type="//@cromModel/@elements.0"
+          operation="">
+        <params
+            name="para1"
+            type="//@cromModel/@elements.0"/>
+        <params
+            name="para2"
+            type="//@cromModel/@elements.1"/>
+      </operations>
+    </elements>
+    <elements
+        xsi:type="crom_l1_composed:NaturalType"
+        name="NaturalType2"/>
+  </cromModel>
+</ts:TestCase>
diff --git a/org.framed.orm.transformation.test/testcases/Relationship/relationship_test_1.xmi b/org.framed.orm.transformation.test/testcases/Relationship/relationship_test_1.xmi
new file mode 100644
index 00000000..ecda0876
--- /dev/null
+++ b/org.framed.orm.transformation.test/testcases/Relationship/relationship_test_1.xmi
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="ASCII"?>
+<ts:TestCase
+    xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:crom_l1_composed="platform:/resource/org.rosi.crom.metamodel/"
+    xmlns:org.framed.iorm.model="http://iorm/1.0"
+    xmlns:ts="http://org.framed/testmodel"
+    title="Simple TestCase for Relationships"
+    description="Simple TestCase for Relationships">
+<framedModel>
+		<elements xsi:type="org.framed.iorm.model:Shape" name="CT">
+			<firstSegment />
+			<secondSegment />
+			<model>
+				<elements xsi:type="org.framed.iorm.model:Shape" name="RT1"
+					incomingRelations="//@framedModel/@elements.0/@model/@elements.2"
+					type="RoleType">
+					<firstSegment />
+					<secondSegment />
+					<description name="*" />
+				</elements>
+				<elements xsi:type="org.framed.iorm.model:Shape" name="RT2"
+					outgoingRelations="//@framedModel/@elements.0/@model/@elements.2"
+					type="RoleType">
+					<firstSegment />
+					<secondSegment />
+					<description name="*" />
+				</elements>
+				<elements xsi:type="org.framed.iorm.model:Relation" name="rst"
+					type="Relationship" target="//@framedModel/@elements.0/@model/@elements.0"
+					source="//@framedModel/@elements.0/@model/@elements.1">
+					<sourceLabel name="*" />
+					<targetLabel name="*" />
+				</elements>
+			</model>
+		</elements>
+		<framedConfiguration>
+    		<features/>
+   			<features name="Role_Types"/>
+    		<features name="Role_Structure"/>
+    		<features name="Role_Properties" manuallySelected="true"/>
+			<features name="Role_Behavior"/>
+			<features name="Role_Inheritance" manuallySelected="true"/>
+		    <features name="Playable"/>
+			<features name="Players"/>
+			<features name="Naturals"/>
+			<features name="Roles"/>
+			<features name="Compartments" manuallySelected="true"/>
+			<features name="Dates" manuallySelected="true"/>
+		    <features name="Dependent"/>
+		    <features name="On_Compartments"/>
+		    <features name="On_Relationships"/>
+		    <features name="Role_Constraints"/>
+		    <features name="Role_Implication" manuallySelected="true"/>
+		    <features name="Role_Prohibition" manuallySelected="true"/>
+		    <features name="Role_Equivalence"/>
+		    <features name="Group_Constraints" manuallySelected="true"/>
+		    <features name="Occurrence_Constraints" manuallySelected="true"/>
+		    <features name="Relationships"/>
+		    <features name="Relationship_Constraints"/>
+		    <features name="Relationship_Cardinality" manuallySelected="true"/>
+		    <features name="Intra_Relationship_Constraints"/>
+		    <features name="Parthood_Constraints" manuallySelected="true"/>
+		    <features name="Inter_Relationship_Constraints" manuallySelected="true"/>
+		    <features name="Compartment_Types"/>
+		    <features name="Compartment_Structure"/>
+		    <features name="Compartment_Properties" manuallySelected="true"/>
+		    <features name="Compartment_Behavior"/>
+		    <features name="Compartment_Inheritance" manuallySelected="true"/>
+		    <features name="Participants"/>
+		    <features name="Contains_Compartments" manuallySelected="true"/>
+		    <features name="Playable_by_Defining_Compartment" manuallySelected="true"/>
+		    <features name="Data_Types"/>
+		    <features name="Data_Type_Inheritance" manuallySelected="true"/>
+  		</framedConfiguration> 
+	</framedModel>
+	<cromModel>
+		<elements xsi:type="crom_l1_composed:CompartmentType" name="CT">
+			<parts>
+				<role xsi:type="crom_l1_composed:RoleType" name="RT1"
+					incoming="//@cromModel/@elements.0/@relationships.0" />
+			</parts>
+			<parts>
+				<role xsi:type="crom_l1_composed:RoleType" name="RT2"
+					outgoing="//@cromModel/@elements.0/@relationships.0" />
+			</parts>
+			<relationships name="rst">
+				<first holder="//@cromModel/@elements.0/@parts.1/@role" />
+				<second holder="//@cromModel/@elements.0/@parts.0/@role" />
+			</relationships>
+		</elements>
+	</cromModel>
+</ts:TestCase>
diff --git a/org.framed.orm.transformation.test/testcases/Relationship/relationship_test_2.xmi b/org.framed.orm.transformation.test/testcases/Relationship/relationship_test_2.xmi
new file mode 100644
index 00000000..bef123cc
--- /dev/null
+++ b/org.framed.orm.transformation.test/testcases/Relationship/relationship_test_2.xmi
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="ASCII"?>
+<ts:TestCase xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xmlns:crom_l1_composed="platform:/resource/org.rosi.crom.metamodel/"
+	xmlns:org.framed.iorm.model="http://iorm/1.0" xmlns:ts="http://org.framed/testmodel"
+	title="TestCase for cyclic relationships"
+	description="TestCase for cyclic relationships where one RoleType is referenced by a cyclic relationship to another RoleType">
+	<framedModel>
+		<elements xsi:type="org.framed.iorm.model:Shape" name="NT"
+			outgoingRelations="//@framedModel/@elements.2" type="NaturalType">
+			<firstSegment />
+			<secondSegment />
+		</elements>
+		<elements xsi:type="org.framed.iorm.model:Shape" name="CT"
+			incomingRelations="//@framedModel/@elements.2">
+			<firstSegment />
+			<secondSegment />
+			<model>
+				<elements xsi:type="org.framed.iorm.model:Shape" name="RT1"
+					incomingRelations="//@framedModel/@elements.1/@model/@elements.2"
+					type="RoleType">
+					<firstSegment />
+					<secondSegment />
+					<description name="*" />
+				</elements>
+				<elements xsi:type="org.framed.iorm.model:Shape" name="RT2"
+					outgoingRelations="//@framedModel/@elements.1/@model/@elements.2"
+					type="RoleType">
+					<firstSegment />
+					<secondSegment />
+					<description name="*" />
+				</elements>
+				<elements xsi:type="org.framed.iorm.model:Relation" name="rst"
+					type="Relationship" target="//@framedModel/@elements.1/@model/@elements.0"
+					source="//@framedModel/@elements.1/@model/@elements.1"
+					referencedRelation="//@framedModel/@elements.1/@model/@elements.3">
+					<sourceLabel name="*" />
+					<targetLabel name="*" />
+				</elements>
+				<elements xsi:type="org.framed.iorm.model:Relation" name="Cyclic"
+					type="Cyclic" target="//@elements.1/@model/@elements.0"
+					source="//@framedModel/@elements.1/@model/@elements.1">
+				</elements>
+			</model>
+		</elements>
+		<elements xsi:type="org.framed.iorm.model:Relation" type="Fulfillment"
+			target="//@framedModel/@elements.1" source="//@framedModel/@elements.0"
+			referencedRoles="//@framedModel/@elements.1/@model/@elements.0 //@framedModel/@elements.1/@model/@elements.1" />
+		<framedConfiguration>
+    		<features/>
+   			<features name="Role_Types"/>
+    		<features name="Role_Structure"/>
+    		<features name="Role_Properties" manuallySelected="true"/>
+			<features name="Role_Behavior"/>
+			<features name="Role_Inheritance" manuallySelected="true"/>
+		    <features name="Playable"/>
+			<features name="Players"/>
+			<features name="Naturals"/>
+			<features name="Roles"/>
+			<features name="Compartments" manuallySelected="true"/>
+			<features name="Dates" manuallySelected="true"/>
+		    <features name="Dependent"/>
+		    <features name="On_Compartments"/>
+		    <features name="On_Relationships"/>
+		    <features name="Role_Constraints"/>
+		    <features name="Role_Implication" manuallySelected="true"/>
+		    <features name="Role_Prohibition" manuallySelected="true"/>
+		    <features name="Role_Equivalence"/>
+		    <features name="Group_Constraints" manuallySelected="true"/>
+		    <features name="Occurrence_Constraints" manuallySelected="true"/>
+		    <features name="Relationships"/>
+		    <features name="Relationship_Constraints"/>
+		    <features name="Relationship_Cardinality" manuallySelected="true"/>
+		    <features name="Intra_Relationship_Constraints"/>
+		    <features name="Parthood_Constraints" manuallySelected="true"/>
+		    <features name="Inter_Relationship_Constraints" manuallySelected="true"/>
+		    <features name="Compartment_Types"/>
+		    <features name="Compartment_Structure"/>
+		    <features name="Compartment_Properties" manuallySelected="true"/>
+		    <features name="Compartment_Behavior"/>
+		    <features name="Compartment_Inheritance" manuallySelected="true"/>
+		    <features name="Participants"/>
+		    <features name="Contains_Compartments" manuallySelected="true"/>
+		    <features name="Playable_by_Defining_Compartment" manuallySelected="true"/>
+		    <features name="Data_Types"/>
+		    <features name="Data_Type_Inheritance" manuallySelected="true"/>
+  		</framedConfiguration> 	
+	</framedModel>
+	<cromModel>
+		<elements xsi:type="crom_l1_composed:NaturalType" name="NT" />
+		<elements xsi:type="crom_l1_composed:CompartmentType" name="CT">
+			<parts>
+				<role xsi:type="crom_l1_composed:RoleType" name="RT1"
+					incoming="//@cromModel/@elements.1/@relationships.0" />
+			</parts>
+			<parts>
+				<role xsi:type="crom_l1_composed:RoleType" name="RT2"
+					outgoing="//@cromModel/@elements.1/@relationships.0" />
+			</parts>
+			<relationships name="rst">
+				<first holder="//@cromModel/@elements.1/@parts.1/@role" />
+				<second holder="//@cromModel/@elements.1/@parts.0/@role" />
+			</relationships>
+			<constraints xsi:type="crom_l1_composed:Cyclic"
+				relation="//@cromModel/@elements.1/@relationships.0" />
+		</elements>
+		<relations xsi:type="crom_l1_composed:Fulfillment"
+			filled="//@cromModel/@elements.1/@parts.0/@role" filler="//@cromModel/@elements.0" />
+		<relations xsi:type="crom_l1_composed:Fulfillment"
+			filled="//@cromModel/@elements.1/@parts.1/@role" filler="//@cromModel/@elements.0" />
+	</cromModel>
+</ts:TestCase>
diff --git a/org.framed.orm.transformation.test/testcases/Relationship/relationship_test_3.xmi b/org.framed.orm.transformation.test/testcases/Relationship/relationship_test_3.xmi
new file mode 100644
index 00000000..32b84ed7
--- /dev/null
+++ b/org.framed.orm.transformation.test/testcases/Relationship/relationship_test_3.xmi
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="ASCII"?>
+<ts:TestCase xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xmlns:crom_l1_composed="platform:/resource/org.rosi.crom.metamodel/"
+	xmlns:org.framed.iorm.model="http://iorm/1.0" xmlns:ts="http://org.framed/testmodel"
+	title="TestCase for irreflexive relationships"
+	description="TestCase for irreflexive relationships where one RoleType is referenced by a irreflexive relationship to another RoleType">
+	<framedModel>
+		<elements xsi:type="org.framed.iorm.model:Shape" name="NT"
+			outgoingRelations="//@framedModel/@elements.2" type="NaturalType">
+			<firstSegment />
+			<secondSegment />
+		</elements>
+		<elements xsi:type="org.framed.iorm.model:Shape" name="CT"
+			incomingRelations="//@framedModel/@elements.2">
+			<firstSegment />
+			<secondSegment />
+			<model>
+				<elements xsi:type="org.framed.iorm.model:Shape" name="RT1"
+					incomingRelations="//@framedModel/@elements.1/@model/@elements.2"
+					type="RoleType">
+					<firstSegment />
+					<secondSegment />
+					<description name="*" />
+				</elements>
+				<elements xsi:type="org.framed.iorm.model:Shape" name="RT2"
+					outgoingRelations="//@framedModel/@elements.1/@model/@elements.2"
+					type="RoleType">
+					<firstSegment />
+					<secondSegment />
+					<description name="*" />
+				</elements>
+				<elements xsi:type="org.framed.iorm.model:Relation" name="rst"
+					type="Relationship" target="//@framedModel/@elements.1/@model/@elements.0"
+					source="//@framedModel/@elements.1/@model/@elements.1" 
+					referencedRelation="//@framedModel/@elements.1/@model/@elements.3">
+					<sourceLabel name="*" />
+					<targetLabel name="*" />
+				</elements>
+				<elements xsi:type="org.framed.iorm.model:Relation" name="Irreflexive"
+					type="Irreflexive" target="//@elements.1/@model/@elements.0"
+					source="//@framedModel/@elements.1/@model/@elements.1">
+				</elements>
+			</model>
+		</elements>
+		<elements xsi:type="org.framed.iorm.model:Relation" type="Fulfillment"
+			target="//@framedModel/@elements.1" source="//@framedModel/@elements.0"
+			referencedRoles="//@framedModel/@elements.1/@model/@elements.0 //@framedModel/@elements.1/@model/@elements.1" />
+		<framedConfiguration>
+    		<features/>
+   			<features name="Role_Types"/>
+    		<features name="Role_Structure"/>
+    		<features name="Role_Properties" manuallySelected="true"/>
+			<features name="Role_Behavior"/>
+			<features name="Role_Inheritance" manuallySelected="true"/>
+		    <features name="Playable"/>
+			<features name="Players"/>
+			<features name="Naturals"/>
+			<features name="Roles"/>
+			<features name="Compartments" manuallySelected="true"/>
+			<features name="Dates" manuallySelected="true"/>
+		    <features name="Dependent"/>
+		    <features name="On_Compartments"/>
+		    <features name="On_Relationships"/>
+		    <features name="Role_Constraints"/>
+		    <features name="Role_Implication" manuallySelected="true"/>
+		    <features name="Role_Prohibition" manuallySelected="true"/>
+		    <features name="Role_Equivalence"/>
+		    <features name="Group_Constraints" manuallySelected="true"/>
+		    <features name="Occurrence_Constraints" manuallySelected="true"/>
+		    <features name="Relationships"/>
+		    <features name="Relationship_Constraints"/>
+		    <features name="Relationship_Cardinality" manuallySelected="true"/>
+		    <features name="Intra_Relationship_Constraints"/>
+		    <features name="Parthood_Constraints" manuallySelected="true"/>
+		    <features name="Inter_Relationship_Constraints" manuallySelected="true"/>
+		    <features name="Compartment_Types"/>
+		    <features name="Compartment_Structure"/>
+		    <features name="Compartment_Properties" manuallySelected="true"/>
+		    <features name="Compartment_Behavior"/>
+		    <features name="Compartment_Inheritance" manuallySelected="true"/>
+		    <features name="Participants"/>
+		    <features name="Contains_Compartments" manuallySelected="true"/>
+		    <features name="Playable_by_Defining_Compartment" manuallySelected="true"/>
+		    <features name="Data_Types"/>
+		    <features name="Data_Type_Inheritance" manuallySelected="true"/>
+  		</framedConfiguration> 	
+	</framedModel>
+	<cromModel>
+		<elements xsi:type="crom_l1_composed:NaturalType" name="NT" />
+		<elements xsi:type="crom_l1_composed:CompartmentType" name="CT">
+			<parts>
+				<role xsi:type="crom_l1_composed:RoleType" name="RT1"
+					incoming="//@cromModel/@elements.1/@relationships.0" />
+			</parts>
+			<parts>
+				<role xsi:type="crom_l1_composed:RoleType" name="RT2"
+					outgoing="//@cromModel/@elements.1/@relationships.0" />
+			</parts>
+			<relationships name="rst">
+				<first holder="//@cromModel/@elements.1/@parts.1/@role" />
+				<second holder="//@cromModel/@elements.1/@parts.0/@role" />
+			</relationships>
+			<constraints xsi:type="crom_l1_composed:Irreflexive"
+				relation="//@cromModel/@elements.1/@relationships.0" />
+		</elements>
+		<relations xsi:type="crom_l1_composed:Fulfillment"
+			filled="//@cromModel/@elements.1/@parts.0/@role" filler="//@cromModel/@elements.0" />
+		<relations xsi:type="crom_l1_composed:Fulfillment"
+			filled="//@cromModel/@elements.1/@parts.1/@role" filler="//@cromModel/@elements.0" />
+	</cromModel>
+</ts:TestCase>
diff --git a/org.framed.orm.transformation.test/testcases/Relationship/relationship_test_4.xmi b/org.framed.orm.transformation.test/testcases/Relationship/relationship_test_4.xmi
new file mode 100644
index 00000000..db61f391
--- /dev/null
+++ b/org.framed.orm.transformation.test/testcases/Relationship/relationship_test_4.xmi
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="ASCII"?>
+<ts:TestCase xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xmlns:crom_l1_composed="platform:/resource/org.rosi.crom.metamodel/"
+	xmlns:org.framed.iorm.model="http://iorm/1.0" xmlns:ts="http://org.framed/testmodel"
+	title="TestCase for cyclic,irreflexive relationships"
+	description="TestCase for cyclic,irreflexive relationships where one RoleType is referenced by a cyclic,irreflexive relationship to another RoleType">
+	<framedModel>
+		<elements xsi:type="org.framed.iorm.model:Shape" name="NT"
+			outgoingRelations="//@framedModel/@elements.2" type="NaturalType">
+			<firstSegment />
+			<secondSegment />
+		</elements>
+		<elements xsi:type="org.framed.iorm.model:Shape" name="CT"
+			incomingRelations="//@framedModel/@elements.2">
+			<firstSegment />
+			<secondSegment />
+			<model>
+				<elements xsi:type="org.framed.iorm.model:Shape" name="RT1"
+					incomingRelations="//@framedModel/@elements.1/@model/@elements.2 //@framedModel/@elements.1/@model/@elements.3 //@framedModel/@elements.1/@model/@elements.4"
+					type="RoleType">
+					<firstSegment />
+					<secondSegment />
+					<description name="*" />
+				</elements>
+				<elements xsi:type="org.framed.iorm.model:Shape" name="RT2"
+					outgoingRelations="//@framedModel/@elements.1/@model/@elements.2 //@framedModel/@elements.1/@model/@elements.3 //@framedModel/@elements.1/@model/@elements.4"
+					type="RoleType">
+					<firstSegment />
+					<secondSegment />
+					<description name="*" />
+				</elements>
+				<elements xsi:type="org.framed.iorm.model:Relation" name="rst"
+					type="Relationship" target="//@framedModel/@elements.1/@model/@elements.0"
+					source="//@framedModel/@elements.1/@model/@elements.1"
+					referencedRelation="//@framedModel/@elements.1/@model/@elements.3 //@framedModel/@elements.1/@model/@elements.4">
+					<sourceLabel name="*" />
+					<targetLabel name="*" />
+				</elements>
+				<elements xsi:type="org.framed.iorm.model:Relation" name="Irreflexive"
+					type="Irreflexive" target="//@framedModel/@elements.1/@model/@elements.0"
+					source="//@framedModel/@elements.1/@model/@elements.1"
+					referencedRelation="//@framedModel/@elements.1/@model/@elements.2">
+				</elements>
+				<elements xsi:type="org.framed.iorm.model:Relation" name="Cyclic"
+					type="Cyclic" target="//@framedModel/@elements.1/@model/@elements.0"
+					source="//@framedModel/@elements.1/@model/@elements.1"
+					referencedRelation="//@framedModel/@elements.1/@model/@elements.2">
+				</elements>
+			</model>
+		</elements>
+		<elements xsi:type="org.framed.iorm.model:Relation" type="Fulfillment"
+			target="//@framedModel/@elements.1" source="//@framedModel/@elements.0"
+			referencedRoles="//@framedModel/@elements.1/@model/@elements.0 //@framedModel/@elements.1/@model/@elements.1" />
+		<framedConfiguration>
+    		<features/>
+   			<features name="Role_Types"/>
+    		<features name="Role_Structure"/>
+    		<features name="Role_Properties" manuallySelected="true"/>
+			<features name="Role_Behavior"/>
+			<features name="Role_Inheritance" manuallySelected="true"/>
+		    <features name="Playable"/>
+			<features name="Players"/>
+			<features name="Naturals"/>
+			<features name="Roles"/>
+			<features name="Compartments" manuallySelected="true"/>
+			<features name="Dates" manuallySelected="true"/>
+		    <features name="Dependent"/>
+		    <features name="On_Compartments"/>
+		    <features name="On_Relationships"/>
+		    <features name="Role_Constraints"/>
+		    <features name="Role_Implication" manuallySelected="true"/>
+		    <features name="Role_Prohibition" manuallySelected="true"/>
+		    <features name="Role_Equivalence"/>
+		    <features name="Group_Constraints" manuallySelected="true"/>
+		    <features name="Occurrence_Constraints" manuallySelected="true"/>
+		    <features name="Relationships"/>
+		    <features name="Relationship_Constraints"/>
+		    <features name="Relationship_Cardinality" manuallySelected="true"/>
+		    <features name="Intra_Relationship_Constraints"/>
+		    <features name="Parthood_Constraints" manuallySelected="true"/>
+		    <features name="Inter_Relationship_Constraints" manuallySelected="true"/>
+		    <features name="Compartment_Types"/>
+		    <features name="Compartment_Structure"/>
+		    <features name="Compartment_Properties" manuallySelected="true"/>
+		    <features name="Compartment_Behavior"/>
+		    <features name="Compartment_Inheritance" manuallySelected="true"/>
+		    <features name="Participants"/>
+		    <features name="Contains_Compartments" manuallySelected="true"/>
+		    <features name="Playable_by_Defining_Compartment" manuallySelected="true"/>
+		    <features name="Data_Types"/>
+		    <features name="Data_Type_Inheritance" manuallySelected="true"/>
+  		</framedConfiguration> 	
+	</framedModel>
+	<cromModel>
+		<elements xsi:type="crom_l1_composed:NaturalType" name="NT" />
+		<elements xsi:type="crom_l1_composed:CompartmentType" name="CT">
+			<parts>
+				<role xsi:type="crom_l1_composed:RoleType" name="RT1"
+					incoming="//@cromModel/@elements.1/@relationships.0" />
+			</parts>
+			<parts>
+				<role xsi:type="crom_l1_composed:RoleType" name="RT2"
+					outgoing="//@cromModel/@elements.1/@relationships.0" />
+			</parts>
+			<relationships name="rst">
+				<first holder="//@cromModel/@elements.1/@parts.1/@role" />
+				<second holder="//@cromModel/@elements.1/@parts.0/@role" />
+			</relationships>
+			<constraints xsi:type="crom_l1_composed:Irreflexive"
+				relation="//@cromModel/@elements.1/@relationships.0" />
+			<constraints xsi:type="crom_l1_composed:Cyclic"
+				relation="//@cromModel/@elements.1/@relationships.0" />
+		</elements>
+		<relations xsi:type="crom_l1_composed:Fulfillment"
+			filled="//@cromModel/@elements.1/@parts.0/@role" filler="//@cromModel/@elements.0" />
+		<relations xsi:type="crom_l1_composed:Fulfillment"
+			filled="//@cromModel/@elements.1/@parts.1/@role" filler="//@cromModel/@elements.0" />
+	</cromModel>
+</ts:TestCase>
\ No newline at end of file
diff --git a/org.framed.orm.transformation.test/testcases/Relationship/relationship_test_5.xmi b/org.framed.orm.transformation.test/testcases/Relationship/relationship_test_5.xmi
new file mode 100644
index 00000000..b0b3668e
--- /dev/null
+++ b/org.framed.orm.transformation.test/testcases/Relationship/relationship_test_5.xmi
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="ASCII"?>
+<ts:TestCase
+    xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:crom_l1_composed="platform:/resource/org.rosi.crom.metamodel/"
+    xmlns:org.framed.iorm.model="http://iorm/1.0"
+    xmlns:ts="http://org.framed/testmodel"
+    title="TestCase for acyclic relationships"
+    description="TestCase for Acyclic relationships where one RoleType is referenced by an Acyclic relationship to another RoleType">
+  <framedModel>
+		<elements xsi:type="org.framed.iorm.model:Shape" name="NT"
+			outgoingRelations="//@framedModel/@elements.2" type="NaturalType">
+			<firstSegment />
+			<secondSegment />
+		</elements>
+		<elements xsi:type="org.framed.iorm.model:Shape" name="CT"
+			incomingRelations="//@framedModel/@elements.2">
+			<firstSegment />
+			<secondSegment />
+			<model>
+				<elements xsi:type="org.framed.iorm.model:Shape" name="RT1"
+					incomingRelations="//@framedModel/@elements.1/@model/@elements.2"
+					type="RoleType">
+					<firstSegment />
+					<secondSegment />
+					<description name="*" />
+				</elements>
+				<elements xsi:type="org.framed.iorm.model:Shape" name="RT2"
+					outgoingRelations="//@framedModel/@elements.1/@model/@elements.2"
+					type="RoleType">
+					<firstSegment />
+					<secondSegment />
+					<description name="*" />
+				</elements>
+				<elements xsi:type="org.framed.iorm.model:Relation" name="rst"
+					type="Relationship" target="//@framedModel/@elements.1/@model/@elements.0"
+					source="//@framedModel/@elements.1/@model/@elements.1" 
+					referencedRelation="//@framedModel/@elements.1/@model/@elements.3">
+					<sourceLabel name="*" />
+					<targetLabel name="*" />
+				</elements>
+				<elements xsi:type="org.framed.iorm.model:Relation" name="Acyclic"
+					type="Acyclic" target="//@elements.1/@model/@elements.0"
+					source="//@framedModel/@elements.1/@model/@elements.1">
+				</elements>
+			</model>
+		</elements>
+		<elements xsi:type="org.framed.iorm.model:Relation" type="Fulfillment"
+			target="//@framedModel/@elements.1" source="//@framedModel/@elements.0"
+			referencedRoles="//@framedModel/@elements.1/@model/@elements.0 //@framedModel/@elements.1/@model/@elements.1" />
+		<framedConfiguration>
+    		<features/>
+   			<features name="Role_Types"/>
+    		<features name="Role_Structure"/>
+    		<features name="Role_Properties" manuallySelected="true"/>
+			<features name="Role_Behavior"/>
+			<features name="Role_Inheritance" manuallySelected="true"/>
+		    <features name="Playable"/>
+			<features name="Players"/>
+			<features name="Naturals"/>
+			<features name="Roles"/>
+			<features name="Compartments" manuallySelected="true"/>
+			<features name="Dates" manuallySelected="true"/>
+		    <features name="Dependent"/>
+		    <features name="On_Compartments"/>
+		    <features name="On_Relationships"/>
+		    <features name="Role_Constraints"/>
+		    <features name="Role_Implication" manuallySelected="true"/>
+		    <features name="Role_Prohibition" manuallySelected="true"/>
+		    <features name="Role_Equivalence"/>
+		    <features name="Group_Constraints" manuallySelected="true"/>
+		    <features name="Occurrence_Constraints" manuallySelected="true"/>
+		    <features name="Relationships"/>
+		    <features name="Relationship_Constraints"/>
+		    <features name="Relationship_Cardinality" manuallySelected="true"/>
+		    <features name="Intra_Relationship_Constraints"/>
+		    <features name="Parthood_Constraints" manuallySelected="true"/>
+		    <features name="Inter_Relationship_Constraints" manuallySelected="true"/>
+		    <features name="Compartment_Types"/>
+		    <features name="Compartment_Structure"/>
+		    <features name="Compartment_Properties" manuallySelected="true"/>
+		    <features name="Compartment_Behavior"/>
+		    <features name="Compartment_Inheritance" manuallySelected="true"/>
+		    <features name="Participants"/>
+		    <features name="Contains_Compartments" manuallySelected="true"/>
+		    <features name="Playable_by_Defining_Compartment" manuallySelected="true"/>
+		    <features name="Data_Types"/>
+		    <features name="Data_Type_Inheritance" manuallySelected="true"/>
+  		</framedConfiguration> 	
+	</framedModel>
+	<cromModel>
+		<elements xsi:type="crom_l1_composed:NaturalType" name="NT" />
+		<elements xsi:type="crom_l1_composed:CompartmentType" name="CT">
+			<parts>
+				<role xsi:type="crom_l1_composed:RoleType" name="RT1"
+					incoming="//@cromModel/@elements.1/@relationships.0" />
+			</parts>
+			<parts>
+				<role xsi:type="crom_l1_composed:RoleType" name="RT2"
+					outgoing="//@cromModel/@elements.1/@relationships.0" />
+			</parts>
+			<relationships name="rst">
+				<first holder="//@cromModel/@elements.1/@parts.1/@role" />
+				<second holder="//@cromModel/@elements.1/@parts.0/@role" />
+			</relationships>
+			<constraints xsi:type="crom_l1_composed:Acyclic"
+				relation="//@cromModel/@elements.1/@relationships.0" />
+		</elements>
+		<relations xsi:type="crom_l1_composed:Fulfillment"
+			filled="//@cromModel/@elements.1/@parts.0/@role" filler="//@cromModel/@elements.0" />
+		<relations xsi:type="crom_l1_composed:Fulfillment"
+			filled="//@cromModel/@elements.1/@parts.1/@role" filler="//@cromModel/@elements.0" />
+	</cromModel>
+</ts:TestCase>
diff --git a/org.framed.orm.transformation.test/testcases/Relationship/relationship_test_6.xmi b/org.framed.orm.transformation.test/testcases/Relationship/relationship_test_6.xmi
new file mode 100644
index 00000000..35cceec0
--- /dev/null
+++ b/org.framed.orm.transformation.test/testcases/Relationship/relationship_test_6.xmi
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="ASCII"?>
+<ts:TestCase
+    xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:crom_l1_composed="platform:/resource/org.rosi.crom.metamodel/"
+    xmlns:org.framed.iorm.model="http://iorm/1.0"
+    xmlns:ts="http://org.framed/testmodel"
+    title="TestCase for reflexive relationships"
+    description="TestCase for Reflexive relationships where one RoleType is referenced by a Reflexive relationship to another RoleType">
+<framedModel>
+		<elements xsi:type="org.framed.iorm.model:Shape" name="NT"
+			outgoingRelations="//@framedModel/@elements.2" type="NaturalType">
+			<firstSegment />
+			<secondSegment />
+		</elements>
+		<elements xsi:type="org.framed.iorm.model:Shape" name="CT"
+			incomingRelations="//@framedModel/@elements.2">
+			<firstSegment />
+			<secondSegment />
+			<model>
+				<elements xsi:type="org.framed.iorm.model:Shape" name="RT1"
+					incomingRelations="//@framedModel/@elements.1/@model/@elements.2"
+					type="RoleType">
+					<firstSegment />
+					<secondSegment />
+					<description name="*" />
+				</elements>
+				<elements xsi:type="org.framed.iorm.model:Shape" name="RT2"
+					outgoingRelations="//@framedModel/@elements.1/@model/@elements.2"
+					type="RoleType">
+					<firstSegment />
+					<secondSegment />
+					<description name="*" />
+				</elements>
+				<elements xsi:type="org.framed.iorm.model:Relation" name="rst"
+					type="Relationship" target="//@framedModel/@elements.1/@model/@elements.0"
+					source="//@framedModel/@elements.1/@model/@elements.1" 
+					referencedRelation="//@framedModel/@elements.1/@model/@elements.3">
+					<sourceLabel name="*" />
+					<targetLabel name="*" />
+				</elements>
+				<elements xsi:type="org.framed.iorm.model:Relation" name="Reflexive"
+					type="Reflexive" target="//@elements.1/@model/@elements.0"
+					source="//@framedModel/@elements.1/@model/@elements.1">
+				</elements>
+			</model>
+		</elements>
+		<elements xsi:type="org.framed.iorm.model:Relation" type="Fulfillment"
+			target="//@framedModel/@elements.1" source="//@framedModel/@elements.0"
+			referencedRoles="//@framedModel/@elements.1/@model/@elements.0 //@framedModel/@elements.1/@model/@elements.1" />
+		<framedConfiguration>
+    		<features/>
+   			<features name="Role_Types"/>
+    		<features name="Role_Structure"/>
+    		<features name="Role_Properties" manuallySelected="true"/>
+			<features name="Role_Behavior"/>
+			<features name="Role_Inheritance" manuallySelected="true"/>
+		    <features name="Playable"/>
+			<features name="Players"/>
+			<features name="Naturals"/>
+			<features name="Roles"/>
+			<features name="Compartments" manuallySelected="true"/>
+			<features name="Dates" manuallySelected="true"/>
+		    <features name="Dependent"/>
+		    <features name="On_Compartments"/>
+		    <features name="On_Relationships"/>
+		    <features name="Role_Constraints"/>
+		    <features name="Role_Implication" manuallySelected="true"/>
+		    <features name="Role_Prohibition" manuallySelected="true"/>
+		    <features name="Role_Equivalence"/>
+		    <features name="Group_Constraints" manuallySelected="true"/>
+		    <features name="Occurrence_Constraints" manuallySelected="true"/>
+		    <features name="Relationships"/>
+		    <features name="Relationship_Constraints"/>
+		    <features name="Relationship_Cardinality" manuallySelected="true"/>
+		    <features name="Intra_Relationship_Constraints"/>
+		    <features name="Parthood_Constraints" manuallySelected="true"/>
+		    <features name="Inter_Relationship_Constraints" manuallySelected="true"/>
+		    <features name="Compartment_Types"/>
+		    <features name="Compartment_Structure"/>
+		    <features name="Compartment_Properties" manuallySelected="true"/>
+		    <features name="Compartment_Behavior"/>
+		    <features name="Compartment_Inheritance" manuallySelected="true"/>
+		    <features name="Participants"/>
+		    <features name="Contains_Compartments" manuallySelected="true"/>
+		    <features name="Playable_by_Defining_Compartment" manuallySelected="true"/>
+		    <features name="Data_Types"/>
+		    <features name="Data_Type_Inheritance" manuallySelected="true"/>
+  		</framedConfiguration> 	
+	</framedModel>
+	<cromModel>
+		<elements xsi:type="crom_l1_composed:NaturalType" name="NT" />
+		<elements xsi:type="crom_l1_composed:CompartmentType" name="CT">
+			<parts>
+				<role xsi:type="crom_l1_composed:RoleType" name="RT1"
+					incoming="//@cromModel/@elements.1/@relationships.0" />
+			</parts>
+			<parts>
+				<role xsi:type="crom_l1_composed:RoleType" name="RT2"
+					outgoing="//@cromModel/@elements.1/@relationships.0" />
+			</parts>
+			<relationships name="rst">
+				<first holder="//@cromModel/@elements.1/@parts.1/@role" />
+				<second holder="//@cromModel/@elements.1/@parts.0/@role" />
+			</relationships>
+			<constraints xsi:type="crom_l1_composed:Reflexive"
+				relation="//@cromModel/@elements.1/@relationships.0" />
+		</elements>
+		<relations xsi:type="crom_l1_composed:Fulfillment"
+			filled="//@cromModel/@elements.1/@parts.0/@role" filler="//@cromModel/@elements.0" />
+		<relations xsi:type="crom_l1_composed:Fulfillment"
+			filled="//@cromModel/@elements.1/@parts.1/@role" filler="//@cromModel/@elements.0" />
+	</cromModel>
+</ts:TestCase>
diff --git a/org.framed.orm.transformation.test/testcases/Relationship/relationship_test_7.xmi b/org.framed.orm.transformation.test/testcases/Relationship/relationship_test_7.xmi
new file mode 100644
index 00000000..bea377d1
--- /dev/null
+++ b/org.framed.orm.transformation.test/testcases/Relationship/relationship_test_7.xmi
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="ASCII"?>
+<ts:TestCase
+    xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:crom_l1_composed="platform:/resource/org.rosi.crom.metamodel/"
+    xmlns:org.framed.iorm.model="http://iorm/1.0"
+    xmlns:ts="http://org.framed/testmodel"
+    title="TestCase for cyclic, reflexive relationships"
+    description="TestCase for cyclic, reflexive relationships where one RoleType is referenced by a cyclic, reflexive relationship to another RoleType">
+  	<framedModel>
+		<elements xsi:type="org.framed.iorm.model:Shape" name="NT"
+			outgoingRelations="//@framedModel/@elements.2" type="NaturalType">
+			<firstSegment />
+			<secondSegment />
+		</elements>
+		<elements xsi:type="org.framed.iorm.model:Shape" name="CT"
+			incomingRelations="//@framedModel/@elements.2">
+			<firstSegment />
+			<secondSegment />
+			<model>
+				<elements xsi:type="org.framed.iorm.model:Shape" name="RT1"
+					incomingRelations="//@framedModel/@elements.1/@model/@elements.2 //@framedModel/@elements.1/@model/@elements.3 //@framedModel/@elements.1/@model/@elements.4"
+					type="RoleType">
+					<firstSegment />
+					<secondSegment />
+					<description name="*" />
+				</elements>
+				<elements xsi:type="org.framed.iorm.model:Shape" name="RT2"
+					outgoingRelations="//@framedModel/@elements.1/@model/@elements.2 //@framedModel/@elements.1/@model/@elements.3 //@framedModel/@elements.1/@model/@elements.4"
+					type="RoleType">
+					<firstSegment />
+					<secondSegment />
+					<description name="*" />
+				</elements>
+				<elements xsi:type="org.framed.iorm.model:Relation" name="rst"
+					type="Relationship" target="//@framedModel/@elements.1/@model/@elements.0"
+					source="//@framedModel/@elements.1/@model/@elements.1"
+					referencedRelation="//@framedModel/@elements.1/@model/@elements.3 //@framedModel/@elements.1/@model/@elements.4">
+					<sourceLabel name="*" />
+					<targetLabel name="*" />
+				</elements>
+				<elements xsi:type="org.framed.iorm.model:Relation" name="Reflexive"
+					type="Reflexive" target="//@framedModel/@elements.1/@model/@elements.0"
+					source="//@framedModel/@elements.1/@model/@elements.1"
+					referencedRelation="//@framedModel/@elements.1/@model/@elements.2">
+				</elements>
+				<elements xsi:type="org.framed.iorm.model:Relation" name="Cyclic"
+					type="Cyclic" target="//@framedModel/@elements.1/@model/@elements.0"
+					source="//@framedModel/@elements.1/@model/@elements.1"
+					referencedRelation="//@framedModel/@elements.1/@model/@elements.2">
+				</elements>
+			</model>
+		</elements>
+		<elements xsi:type="org.framed.iorm.model:Relation" type="Fulfillment"
+			target="//@framedModel/@elements.1" source="//@framedModel/@elements.0"
+			referencedRoles="//@framedModel/@elements.1/@model/@elements.0 //@framedModel/@elements.1/@model/@elements.1" />
+		<framedConfiguration>
+    		<features/>
+   			<features name="Role_Types"/>
+    		<features name="Role_Structure"/>
+    		<features name="Role_Properties" manuallySelected="true"/>
+			<features name="Role_Behavior"/>
+			<features name="Role_Inheritance" manuallySelected="true"/>
+		    <features name="Playable"/>
+			<features name="Players"/>
+			<features name="Naturals"/>
+			<features name="Roles"/>
+			<features name="Compartments" manuallySelected="true"/>
+			<features name="Dates" manuallySelected="true"/>
+		    <features name="Dependent"/>
+		    <features name="On_Compartments"/>
+		    <features name="On_Relationships"/>
+		    <features name="Role_Constraints"/>
+		    <features name="Role_Implication" manuallySelected="true"/>
+		    <features name="Role_Prohibition" manuallySelected="true"/>
+		    <features name="Role_Equivalence"/>
+		    <features name="Group_Constraints" manuallySelected="true"/>
+		    <features name="Occurrence_Constraints" manuallySelected="true"/>
+		    <features name="Relationships"/>
+		    <features name="Relationship_Constraints"/>
+		    <features name="Relationship_Cardinality" manuallySelected="true"/>
+		    <features name="Intra_Relationship_Constraints"/>
+		    <features name="Parthood_Constraints" manuallySelected="true"/>
+		    <features name="Inter_Relationship_Constraints" manuallySelected="true"/>
+		    <features name="Compartment_Types"/>
+		    <features name="Compartment_Structure"/>
+		    <features name="Compartment_Properties" manuallySelected="true"/>
+		    <features name="Compartment_Behavior"/>
+		    <features name="Compartment_Inheritance" manuallySelected="true"/>
+		    <features name="Participants"/>
+		    <features name="Contains_Compartments" manuallySelected="true"/>
+		    <features name="Playable_by_Defining_Compartment" manuallySelected="true"/>
+		    <features name="Data_Types"/>
+		    <features name="Data_Type_Inheritance" manuallySelected="true"/>
+  		</framedConfiguration> 	
+	</framedModel>
+	<cromModel>
+		<elements xsi:type="crom_l1_composed:NaturalType" name="NT" />
+		<elements xsi:type="crom_l1_composed:CompartmentType" name="CT">
+			<parts>
+				<role xsi:type="crom_l1_composed:RoleType" name="RT1"
+					incoming="//@cromModel/@elements.1/@relationships.0" />
+			</parts>
+			<parts>
+				<role xsi:type="crom_l1_composed:RoleType" name="RT2"
+					outgoing="//@cromModel/@elements.1/@relationships.0" />
+			</parts>
+			<relationships name="rst">
+				<first holder="//@cromModel/@elements.1/@parts.1/@role" />
+				<second holder="//@cromModel/@elements.1/@parts.0/@role" />
+			</relationships>
+			<constraints xsi:type="crom_l1_composed:Reflexive"
+				relation="//@cromModel/@elements.1/@relationships.0" />
+			<constraints xsi:type="crom_l1_composed:Cyclic"
+				relation="//@cromModel/@elements.1/@relationships.0" />
+		</elements>
+		<relations xsi:type="crom_l1_composed:Fulfillment"
+			filled="//@cromModel/@elements.1/@parts.0/@role" filler="//@cromModel/@elements.0" />
+		<relations xsi:type="crom_l1_composed:Fulfillment"
+			filled="//@cromModel/@elements.1/@parts.1/@role" filler="//@cromModel/@elements.0" />
+	</cromModel>
+</ts:TestCase>
\ No newline at end of file
diff --git a/org.framed.orm.transformation.test/testcases/Relationship/relationship_test_8.xmi b/org.framed.orm.transformation.test/testcases/Relationship/relationship_test_8.xmi
new file mode 100644
index 00000000..3eb57a75
--- /dev/null
+++ b/org.framed.orm.transformation.test/testcases/Relationship/relationship_test_8.xmi
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="ASCII"?>
+<ts:TestCase
+    xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:crom_l1_composed="platform:/resource/org.rosi.crom.metamodel/"
+    xmlns:org.framed.iorm.model="http://iorm/1.0"
+    xmlns:ts="http://org.framed/testmodel"
+    title="TestCase for acyclic, irreflexive relationships"
+    description="TestCase for acyclic, irreflexive relationships where one RoleType is referenced by a acyclic, irreflexive relationship to another RoleType">
+ 	 <framedModel>
+		<elements xsi:type="org.framed.iorm.model:Shape" name="NT"
+			outgoingRelations="//@framedModel/@elements.2" type="NaturalType">
+			<firstSegment />
+			<secondSegment />
+		</elements>
+		<elements xsi:type="org.framed.iorm.model:Shape" name="CT"
+			incomingRelations="//@framedModel/@elements.2">
+			<firstSegment />
+			<secondSegment />
+			<model>
+				<elements xsi:type="org.framed.iorm.model:Shape" name="RT1"
+					incomingRelations="//@framedModel/@elements.1/@model/@elements.2 //@framedModel/@elements.1/@model/@elements.3 //@framedModel/@elements.1/@model/@elements.4"
+					type="RoleType">
+					<firstSegment />
+					<secondSegment />
+					<description name="*" />
+				</elements>
+				<elements xsi:type="org.framed.iorm.model:Shape" name="RT2"
+					outgoingRelations="//@framedModel/@elements.1/@model/@elements.2 //@framedModel/@elements.1/@model/@elements.3 //@framedModel/@elements.1/@model/@elements.4"
+					type="RoleType">
+					<firstSegment />
+					<secondSegment />
+					<description name="*" />
+				</elements>
+				<elements xsi:type="org.framed.iorm.model:Relation" name="rst"
+					type="Relationship" target="//@framedModel/@elements.1/@model/@elements.0"
+					source="//@framedModel/@elements.1/@model/@elements.1"
+					referencedRelation="//@framedModel/@elements.1/@model/@elements.3 //@framedModel/@elements.1/@model/@elements.4">
+					<sourceLabel name="*" />
+					<targetLabel name="*" />
+				</elements>
+				<elements xsi:type="org.framed.iorm.model:Relation" name="Irreflexive"
+					type="Irreflexive" target="//@framedModel/@elements.1/@model/@elements.0"
+					source="//@framedModel/@elements.1/@model/@elements.1"
+					referencedRelation="//@framedModel/@elements.1/@model/@elements.2">
+				</elements>
+				<elements xsi:type="org.framed.iorm.model:Relation" name="Acyclic"
+					type="Acyclic" target="//@framedModel/@elements.1/@model/@elements.0"
+					source="//@framedModel/@elements.1/@model/@elements.1"
+					referencedRelation="//@framedModel/@elements.1/@model/@elements.2">
+				</elements>
+			</model>
+		</elements>
+		<elements xsi:type="org.framed.iorm.model:Relation" type="Fulfillment"
+			target="//@framedModel/@elements.1" source="//@framedModel/@elements.0"
+			referencedRoles="//@framedModel/@elements.1/@model/@elements.0 //@framedModel/@elements.1/@model/@elements.1" />
+		<framedConfiguration>
+    		<features/>
+   			<features name="Role_Types"/>
+    		<features name="Role_Structure"/>
+    		<features name="Role_Properties" manuallySelected="true"/>
+			<features name="Role_Behavior"/>
+			<features name="Role_Inheritance" manuallySelected="true"/>
+		    <features name="Playable"/>
+			<features name="Players"/>
+			<features name="Naturals"/>
+			<features name="Roles"/>
+			<features name="Compartments" manuallySelected="true"/>
+			<features name="Dates" manuallySelected="true"/>
+		    <features name="Dependent"/>
+		    <features name="On_Compartments"/>
+		    <features name="On_Relationships"/>
+		    <features name="Role_Constraints"/>
+		    <features name="Role_Implication" manuallySelected="true"/>
+		    <features name="Role_Prohibition" manuallySelected="true"/>
+		    <features name="Role_Equivalence"/>
+		    <features name="Group_Constraints" manuallySelected="true"/>
+		    <features name="Occurrence_Constraints" manuallySelected="true"/>
+		    <features name="Relationships"/>
+		    <features name="Relationship_Constraints"/>
+		    <features name="Relationship_Cardinality" manuallySelected="true"/>
+		    <features name="Intra_Relationship_Constraints"/>
+		    <features name="Parthood_Constraints" manuallySelected="true"/>
+		    <features name="Inter_Relationship_Constraints" manuallySelected="true"/>
+		    <features name="Compartment_Types"/>
+		    <features name="Compartment_Structure"/>
+		    <features name="Compartment_Properties" manuallySelected="true"/>
+		    <features name="Compartment_Behavior"/>
+		    <features name="Compartment_Inheritance" manuallySelected="true"/>
+		    <features name="Participants"/>
+		    <features name="Contains_Compartments" manuallySelected="true"/>
+		    <features name="Playable_by_Defining_Compartment" manuallySelected="true"/>
+		    <features name="Data_Types"/>
+		    <features name="Data_Type_Inheritance" manuallySelected="true"/>
+  		</framedConfiguration> 	
+	</framedModel>
+	<cromModel>
+		<elements xsi:type="crom_l1_composed:NaturalType" name="NT" />
+		<elements xsi:type="crom_l1_composed:CompartmentType" name="CT">
+			<parts>
+				<role xsi:type="crom_l1_composed:RoleType" name="RT1"
+					incoming="//@cromModel/@elements.1/@relationships.0" />
+			</parts>
+			<parts>
+				<role xsi:type="crom_l1_composed:RoleType" name="RT2"
+					outgoing="//@cromModel/@elements.1/@relationships.0" />
+			</parts>
+			<relationships name="rst">
+				<first holder="//@cromModel/@elements.1/@parts.1/@role" />
+				<second holder="//@cromModel/@elements.1/@parts.0/@role" />
+			</relationships>
+			<constraints xsi:type="crom_l1_composed:Irreflexive"
+				relation="//@cromModel/@elements.1/@relationships.0" />
+			<constraints xsi:type="crom_l1_composed:Acyclic"
+				relation="//@cromModel/@elements.1/@relationships.0" />
+		</elements>
+		<relations xsi:type="crom_l1_composed:Fulfillment"
+			filled="//@cromModel/@elements.1/@parts.0/@role" filler="//@cromModel/@elements.0" />
+		<relations xsi:type="crom_l1_composed:Fulfillment"
+			filled="//@cromModel/@elements.1/@parts.1/@role" filler="//@cromModel/@elements.0" />
+	</cromModel>
+</ts:TestCase>
\ No newline at end of file
diff --git a/org.framed.orm.transformation/epsilon/CompartmentType.etl b/org.framed.orm.transformation/epsilon/CompartmentType.etl
index c1ad43ac..518f4f50 100644
--- a/org.framed.orm.transformation/epsilon/CompartmentType.etl
+++ b/org.framed.orm.transformation/epsilon/CompartmentType.etl
@@ -23,9 +23,8 @@ rule CompartmentType
 	
 		// iterate over all children of the compartment type	
 		for (elem : source!ModelElement in children.elements) {
-			elem.println();
+		
 			var e = elem.equivalent();
-			e.println();
 			
 			if (e == null) { continue; }
 			if (e.instanceOf(target!AbstractRole)) { 			// ROLE
-- 
GitLab