Index: /Code/ModelTranslator/resources/testdata/input/ConditionalPromptAndDefaultTest.rsf
===================================================================
--- /Code/ModelTranslator/resources/testdata/input/ConditionalPromptAndDefaultTest.rsf	(revision 387)
+++ /Code/ModelTranslator/resources/testdata/input/ConditionalPromptAndDefaultTest.rsf	(revision 387)
@@ -0,0 +1,6 @@
+Item	VAR1	boolean
+HasPrompts	VAR1	1
+Item	VAR2	boolean
+Prompt	VAR2	VAR1
+HasPrompts	VAR2	1
+Default	VAR2	!VAR1	!VAR1
Index: /Code/ModelTranslator/resources/testdata/input/MultipleDependsTest.rsf
===================================================================
--- /Code/ModelTranslator/resources/testdata/input/MultipleDependsTest.rsf	(revision 387)
+++ /Code/ModelTranslator/resources/testdata/input/MultipleDependsTest.rsf	(revision 387)
@@ -0,0 +1,9 @@
+Item	X86_64	boolean
+HasPrompts	X86_64	1
+Item	X86_32	boolean
+Depends	X86_32	!X86_64
+HasPrompts	X86_32	1
+Item	X86_EXTENDED_PLATFORM	boolean
+Depends	X86_EXTENDED_PLATFORM	X86_32
+Depends	X86_EXTENDED_PLATFORM	X86_64
+HasPrompts	X86_EXTENDED_PLATFORM	1
Index: /Code/ModelTranslator/resources/testdata/input/PromptAndDefaultTest.rsf
===================================================================
--- /Code/ModelTranslator/resources/testdata/input/PromptAndDefaultTest.rsf	(revision 387)
+++ /Code/ModelTranslator/resources/testdata/input/PromptAndDefaultTest.rsf	(revision 387)
@@ -0,0 +1,4 @@
+Item	VAR	boolean
+Prompt	VAR	y
+HasPrompts	VAR	1
+Default	VAR	'y'	y
Index: /Code/ModelTranslator/resources/testdata/input/testModel_emptyString.rsf
===================================================================
--- /Code/ModelTranslator/resources/testdata/input/testModel_emptyString.rsf	(revision 386)
+++ /Code/ModelTranslator/resources/testdata/input/testModel_emptyString.rsf	(revision 387)
@@ -1,6 +1,9 @@
 # A small test-model for testing Strings
 Item	FW_LOADER	tristate
+HasPrompts	FW_LOADER	1	
 Item	EXTRA_FIRMWARE	string
 Depends	EXTRA_FIRMWARE	FW_LOADER
+HasPrompts	EXTRA_FIRMWARE	1
 Item	EXTRA_FIRMWARE_DIR	string
 Depends	EXTRA_FIRMWARE_DIR	EXTRA_FIRMWARE!=''
+HasPrompts	EXTRA_FIRMWARE_DIR	1
Index: /Code/ModelTranslator/test/de/uni_hildesheim/sse/trans/DimacsTestUtils.java
===================================================================
--- /Code/ModelTranslator/test/de/uni_hildesheim/sse/trans/DimacsTestUtils.java	(revision 386)
+++ /Code/ModelTranslator/test/de/uni_hildesheim/sse/trans/DimacsTestUtils.java	(revision 387)
@@ -60,4 +60,14 @@
             result = removePreamble(result);
         }
+
+        /*
+         * Test found bugs:
+         */
+        // Test correct translation of negative values (-- must not occur)
+        int beginningOfConstraints = result.indexOf("p cnf");
+        int minusMinus = result.indexOf("--", beginningOfConstraints);
+        if (-1 != minusMinus) {
+            Assert.fail("Error: \"--\" found in a constraint at " + minusMinus + ", but must not occur.");
+        }
         
         return result;
Index: /Code/ModelTranslator/test/de/uni_hildesheim/sse/trans/scenario/RsfToDimacsTranslationTest.java
===================================================================
--- /Code/ModelTranslator/test/de/uni_hildesheim/sse/trans/scenario/RsfToDimacsTranslationTest.java	(revision 386)
+++ /Code/ModelTranslator/test/de/uni_hildesheim/sse/trans/scenario/RsfToDimacsTranslationTest.java	(revision 387)
@@ -20,4 +20,7 @@
     /**
      * Tests whether Strings are translated correctly.
+     * This tests also includes the validation of the correct
+     * translation of depends constrains.
+     * A depends relation "A depends B" will be translated to "Not(B) implies Not(A)". 
      */
     @Test
@@ -31,13 +34,21 @@
         // Translation
         String result = DimacsTestUtils.loadModel(input, noOptimization, true);
+        int fwLoader = DimacsTestUtils.getNumberOfVariable(result, "FW_LOADER");
         int extraFirmware = DimacsTestUtils.getNumberOfVariable(result, "EXTRA_FIRMWARE");
         int extraFirmwareDir = DimacsTestUtils.getNumberOfVariable(result, "EXTRA_FIRMWARE_DIR");
         
         /*
-         * Test whether following constraint is included:
-         * NOT(EXTRA_FIRMWARE_DIR) OR EXTRA_FIRMWARE
+         * Test whether following constraints are included:
+         * - Depends constraints:
+         *  ° EXTRA_FIRMWARE depends FW_LOADER
+         *  ° EXTRA_FIRMWARE_DIR depends EXTRA_FIRMWARE!=''
+         * - Translated DIMACS constraints
+         *  ° FW_LOADER OR NOT(EXTRA_FIRMWARE)
+         *  ° EXTRA_FIRMWARE OR NOT(EXTRA_FIRMWARE_DIRs)
          */
         Assert.assertTrue("Error: Expected Constraint not included.",
-                DimacsTestUtils.containsConstraint(result, extraFirmware, -1 * extraFirmwareDir));
+            DimacsTestUtils.containsConstraint(result, fwLoader, -1 * extraFirmware));
+        Assert.assertTrue("Error: Expected Constraint not included.",
+            DimacsTestUtils.containsConstraint(result, extraFirmware, -1 * extraFirmwareDir));
     }
     
@@ -140,12 +151,89 @@
          */
         Assert.assertTrue("Error: Missing choice constraint",
-                DimacsTestUtils.containsConstraint(result, -1 * choice12, -1 * hz100, -1 * hz250));
-        Assert.assertTrue("Error: Missing choice constraint",
-                DimacsTestUtils.containsConstraint(result, -1 * choice12, -1 * hz100, -1 * hz300));
-        Assert.assertTrue("Error: Missing choice constraint",
-                DimacsTestUtils.containsConstraint(result, -1 * choice12, -1 * hz100, -1 * hz1000));
-        Assert.assertTrue("Error: Missing choice constraint",
-                DimacsTestUtils.containsConstraint(result, -1 * choice12, hz100, hz250, hz300, hz1000));
-    }
-
+            DimacsTestUtils.containsConstraint(result, -1 * choice12, -1 * hz100, -1 * hz250));
+        Assert.assertTrue("Error: Missing choice constraint",
+            DimacsTestUtils.containsConstraint(result, -1 * choice12, -1 * hz100, -1 * hz300));
+        Assert.assertTrue("Error: Missing choice constraint",
+            DimacsTestUtils.containsConstraint(result, -1 * choice12, -1 * hz100, -1 * hz1000));
+        Assert.assertTrue("Error: Missing choice constraint",
+            DimacsTestUtils.containsConstraint(result, -1 * choice12, hz100, hz250, hz300, hz1000));
+    }
+    
+    /**
+     * Tests whether a variable can have more than one depends statement.
+     * All depends statements must be combined using an OR expression, e.g.:
+     * <pre><code>
+     * A depends B
+     * A depends C
+     * </code></pre>
+     * must be translated to
+     * <pre><code>
+     * A depends B OR C
+     * </code></pre>
+     */
+    @Ignore()
+    @Test
+    public void testMultipleDepends() {
+        File input = new File(AllTests.INPUT_FOLDER, "MultipleDependsTest.rsf");
+        OptimizationParameter noOptimization = new OptimizationParameter();
+        
+        // Test precondition
+        Assert.assertFalse(noOptimization.hasAtLeastOneOption());
+        
+        // Translation
+        String result = DimacsTestUtils.loadModel(input, noOptimization, true);
+        int x32 = DimacsTestUtils.getNumberOfVariable(result, "X86_32");
+        int x64 = DimacsTestUtils.getNumberOfVariable(result, "X86_64");
+        int extendend = DimacsTestUtils.getNumberOfVariable(result, "X86_EXTENDED_PLATFORM");
+        
+        /*
+         * Test whether the following constraints are included:
+         * - NOT(X86_32) OR NOT(X86_64)
+         * - X86_EXTENDED_PLATFORM implies X86_32 OR X86_64
+         *  -> NOT(X86_EXTENDED_PLATFORM) OR X86_32 OR X86_64
+         */
+        Assert.assertTrue("Error, missing: NOT(X86_32) OR NOT(X86_64)",
+            DimacsTestUtils.containsConstraint(result, -1 * x32, -1 * x64));
+        Assert.assertFalse("Error, disallowed constraitn found: NOT(X86_EXTENDED_PLATFORM) OR X86_32",
+            DimacsTestUtils.containsConstraint(result, -1 * extendend, x32));
+        Assert.assertFalse("Error, disallowed constraitn found: NOT(X86_EXTENDED_PLATFORM) OR X86_64",
+            DimacsTestUtils.containsConstraint(result, -1 * extendend, x64));
+        Assert.assertTrue("Error, missing: NOT(X86_EXTENDED_PLATFORM) OR X86_32 OR X86_64",
+            DimacsTestUtils.containsConstraint(result, -1 * extendend, x32, x64));
+    }
+
+    /**
+     * Tests whether prompt and default will not lead to a constraint.
+     */
+    @Test
+    public void testPromptAndDefault() {
+        File input = new File(AllTests.INPUT_FOLDER, "PromptAndDefaultTest.rsf");
+        OptimizationParameter noOptimization = new OptimizationParameter();
+        
+        // Test precondition
+        Assert.assertFalse(noOptimization.hasAtLeastOneOption());
+        
+        // Translation
+        String result = DimacsTestUtils.loadModel(input, noOptimization, true);
+        
+        // Model has one variable with prompt and default -> Thus, model must not contain a constraint
+        Assert.assertTrue("Error; Model must not contain any constraints!", result.contains("p CNF 1 0"));
+    }
+    
+    /**
+     * Tests whether a default value becomes true when a prompt disappears.
+     */
+    @Ignore("Not finished")
+    @Test
+    public void testConditionalPromptAndDefault() {
+        File input = new File(AllTests.INPUT_FOLDER, "ConditionalPromptAndDefaultTest.rsf");
+        OptimizationParameter noOptimization = new OptimizationParameter();
+        
+        // Test precondition
+        Assert.assertFalse(noOptimization.hasAtLeastOneOption());
+        
+        // Translation
+        String result = DimacsTestUtils.loadModel(input, noOptimization, true);
+        System.out.println(result);
+    }
 }
