Index: /ModelTranslator/src/de/uni_hildesheim/sse/trans/in/rsf/RSFCondition.java
===================================================================
--- /ModelTranslator/src/de/uni_hildesheim/sse/trans/in/rsf/RSFCondition.java	(revision 413)
+++ /ModelTranslator/src/de/uni_hildesheim/sse/trans/in/rsf/RSFCondition.java	(revision 414)
@@ -9,5 +9,4 @@
 import de.uni_hildesheim.sse.model.cst.VariablePool;
 import de.uni_hildesheim.sse.model.varModel.DecisionVariableDeclaration;
-import de.uni_hildesheim.sse.model.varModel.datatypes.Enum;
 import de.uni_hildesheim.sse.model.varModel.datatypes.OclKeyWords;
 import de.uni_hildesheim.sse.trans.in.AbstractReader;
@@ -293,8 +292,7 @@
      * @param variable The variable that depends on the condition (used to handle 'm').
      * @return A {@link ConstraintSyntaxTree} representing the condition. <code>null</code> if always true.
-     * @throws ParserException If the conditions contains an operation, that is not supported by the parser.
      */
     protected ConstraintSyntaxTree getNotBooleanConstraintSyntaxTree(AbstractReader reader, String condition,
-            String variable) throws ParserException {
+            String variable) {
         // TODO implement
         return null;
Index: /ModelTranslator/src/de/uni_hildesheim/sse/trans/in/rsf/RSFDependsCondition.java
===================================================================
--- /ModelTranslator/src/de/uni_hildesheim/sse/trans/in/rsf/RSFDependsCondition.java	(revision 413)
+++ /ModelTranslator/src/de/uni_hildesheim/sse/trans/in/rsf/RSFDependsCondition.java	(revision 414)
@@ -4,6 +4,8 @@
 import java.util.List;
 
+import de.uni_hildesheim.sse.model.cst.ConstantValue;
 import de.uni_hildesheim.sse.model.cst.ConstraintSyntaxTree;
 import de.uni_hildesheim.sse.model.cst.OCLFeatureCall;
+import de.uni_hildesheim.sse.model.cst.Variable;
 import de.uni_hildesheim.sse.model.varModel.DecisionVariableDeclaration;
 import de.uni_hildesheim.sse.model.varModel.datatypes.OclKeyWords;
@@ -106,6 +108,42 @@
     @Override
     List<ConstraintSyntaxTree> toNotBooleanConstraintSyntaxTree(AbstractReader reader) {
-        // TODO implement
-        return null;
+        List<ConstraintSyntaxTree> trees = new ArrayList<ConstraintSyntaxTree>();
+        
+        List<ConstraintSyntaxTree> conditionTrees = new ArrayList<ConstraintSyntaxTree>();
+        
+        for (String condition :  conditions) {
+            ConstraintSyntaxTree conditionTree = getNotBooleanConstraintSyntaxTree(reader, condition,
+                    variable.getName());
+            if (conditionTree != null) {
+                conditionTrees.add(conditionTree);
+            }
+        }
+        
+        ConstraintSyntaxTree notVar = null;
+        Variable var = varPool.obtainVariable(reader.getVariable(variable.getName()));
+        switch (variable.getDatatype()) {
+        case BOOLEAN:
+            notVar = new OCLFeatureCall(var, OclKeyWords.NOT);
+            break;
+        case TRISTATE:
+            notVar = new OCLFeatureCall(var, OclKeyWords.EQUALS, new ConstantValue(RSFReader.TRI_UNDEFINED));
+            break;
+        case STRING:
+        case HEX:
+        case INTEGER:
+            notVar = new OCLFeatureCall(var, OclKeyWords.IS_EMPTY); // TODO
+            break;
+            
+        default:
+            // can't happen
+            break;
+        }
+        
+        for (ConstraintSyntaxTree conditionTree : conditionTrees) {
+            ConstraintSyntaxTree notCondition = new OCLFeatureCall(conditionTree, OclKeyWords.NOT);
+            trees.add(new OCLFeatureCall(notCondition, OclKeyWords.IMPLIES, notVar));
+        }
+        
+        return trees;
     }
     
Index: /ModelTranslator/src/de/uni_hildesheim/sse/trans/in/rsf/RSFReader.java
===================================================================
--- /ModelTranslator/src/de/uni_hildesheim/sse/trans/in/rsf/RSFReader.java	(revision 413)
+++ /ModelTranslator/src/de/uni_hildesheim/sse/trans/in/rsf/RSFReader.java	(revision 414)
@@ -22,4 +22,7 @@
 import de.uni_hildesheim.sse.model.varModel.datatypes.RealType;
 import de.uni_hildesheim.sse.model.varModel.datatypes.StringType;
+import de.uni_hildesheim.sse.model.varModel.values.Value;
+import de.uni_hildesheim.sse.model.varModel.values.ValueDoesNotMatchTypeException;
+import de.uni_hildesheim.sse.model.varModel.values.ValueFactory;
 import de.uni_hildesheim.sse.trans.in.AbstractReader;
 import de.uni_hildesheim.sse.trans.in.ParserException;
@@ -36,4 +39,35 @@
  */
 public class RSFReader extends AbstractReader {
+    static final Enum TRISTATE = new Enum("Tristate", null, "Undefined", "Defined", "Module");
+    static final Value TRI_UNDEFINED;
+    static final Value TRI_DEFINED;
+    static final Value TRI_MODULE;
+    
+    static {
+        Value val = null;
+        try {
+            val = ValueFactory.createValue(RSFReader.TRISTATE, TRISTATE.get("Undefined"));
+        } catch (ValueDoesNotMatchTypeException e) {
+            e.printStackTrace();
+        }
+        TRI_UNDEFINED = val;
+        
+        val = null;
+        try {
+            val = ValueFactory.createValue(RSFReader.TRISTATE, TRISTATE.get("Defined"));
+        } catch (ValueDoesNotMatchTypeException e) {
+            e.printStackTrace();
+        }
+        TRI_DEFINED = val;
+        
+        val = null;
+        try {
+            val = ValueFactory.createValue(RSFReader.TRISTATE, TRISTATE.get("Module"));
+        } catch (ValueDoesNotMatchTypeException e) {
+            e.printStackTrace();
+        }
+        TRI_MODULE = val;
+    }
+    
     private static final EASyLogger LOGGER = EASyLoggerFactory.INSTANCE.getLogger(RSFReader.class, "RSFReader");
     
@@ -188,7 +222,7 @@
      */
     private void createNotBooleanModel(Project model) throws ParserException {
-        // 1. Create Tristate type
-        Enum tristate = new Enum("Tristate", model, "Undefined", "Defined", "Module");
-        model.add(tristate);
+        // 1. Add Tristate type
+        TRISTATE.setParent(model);
+        model.add(TRISTATE);
         
         // 2. Add all Variables with correct datatype
@@ -200,5 +234,5 @@
                 break;
             case TRISTATE:
-                type = tristate;
+                type = TRISTATE;
                 break;
             case INTEGER:
