Index: /branches/TerminationCriteria/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/OffspringSelectionGeneticAlgorithm.cs
===================================================================
--- /branches/TerminationCriteria/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/OffspringSelectionGeneticAlgorithm.cs	(revision 12401)
+++ /branches/TerminationCriteria/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/OffspringSelectionGeneticAlgorithm.cs	(revision 12402)
@@ -116,6 +116,6 @@
       get { return (IFixedValueParameter<BoolValue>)Parameters["FillPopulationWithParents"]; }
     }
-    private IValueParameter<MultiTerminationCriterion> TerminationCriteriaParameter {
-      get { return (IValueParameter<MultiTerminationCriterion>)Parameters["TerminationCriteria"]; }
+    private IValueParameter<MultiTerminator> TerminatorsParameter {
+      get { return (IValueParameter<MultiTerminator>)Parameters["Terminators"]; }
     }
     #endregion
@@ -203,6 +203,6 @@
       set { FillPopulationWithParentsParameter.Value.Value = value; }
     }
-    private MultiTerminationCriterion TerminationCriteria {
-      get { return TerminationCriteriaParameter.Value; }
+    private MultiTerminator Terminators {
+      get { return TerminatorsParameter.Value; }
     }
     private RandomCreator RandomCreator {
@@ -222,13 +222,13 @@
     private SuccessfulOffspringAnalyzer successfulOffspringAnalyzer;
     [Storable]
-    private ComparisonTerminationCriterion<IntValue> maximumGenerationsTerminationCriterion;
-    [Storable]
-    private ComparisonTerminationCriterion<IntValue> maximumEvaluatedSolutionsTerminationCriterion;
-    [Storable]
-    private ComparisonTerminationCriterion<DoubleValue> maximumSelectionPressureTerminationCriterion;
-    [Storable]
-    private ComparisonTerminationCriterion<DoubleValue> qualityTerminationCriterion;
-    [Storable]
-    private ExecutionTimeTerminationCriterion executionTimeTerminationCriterion;
+    private ComparisonTerminator<IntValue> generationsTerminator;
+    [Storable]
+    private ComparisonTerminator<IntValue> evaluatedSolutionsTerminator;
+    [Storable]
+    private ComparisonTerminator<DoubleValue> selectionPressureTerminator;
+    [Storable]
+    private ComparisonTerminator<DoubleValue> qualityTerminator;
+    [Storable]
+    private ExecutionTimeTerminator executionTimeTerminator;
     #endregion
 
@@ -255,9 +255,9 @@
       selectionPressureAnalyzer = cloner.Clone(original.selectionPressureAnalyzer);
       successfulOffspringAnalyzer = cloner.Clone(original.successfulOffspringAnalyzer);
-      maximumGenerationsTerminationCriterion = cloner.Clone(original.maximumGenerationsTerminationCriterion);
-      maximumEvaluatedSolutionsTerminationCriterion = cloner.Clone(original.maximumEvaluatedSolutionsTerminationCriterion);
-      maximumSelectionPressureTerminationCriterion = cloner.Clone(original.maximumSelectionPressureTerminationCriterion);
-      qualityTerminationCriterion = cloner.Clone(original.qualityTerminationCriterion);
-      executionTimeTerminationCriterion = cloner.Clone(original.executionTimeTerminationCriterion);
+      generationsTerminator = cloner.Clone(original.generationsTerminator);
+      evaluatedSolutionsTerminator = cloner.Clone(original.evaluatedSolutionsTerminator);
+      selectionPressureTerminator = cloner.Clone(original.selectionPressureTerminator);
+      qualityTerminator = cloner.Clone(original.qualityTerminator);
+      executionTimeTerminator = cloner.Clone(original.executionTimeTerminator);
       Initialize();
     }
@@ -287,5 +287,5 @@
       Parameters.Add(new ValueParameter<IntValue>("MaximumEvaluatedSolutions", "The maximum number of evaluated solutions (approximately).", new IntValue(int.MaxValue)));
       Parameters.Add(new FixedValueParameter<BoolValue>("FillPopulationWithParents", "True if the population should be filled with parent individual or false if worse children should be used when the maximum selection pressure is exceeded.", new BoolValue(false)) { Hidden = true });
-      Parameters.Add(new ValueParameter<MultiTerminationCriterion>("TerminationCriteria", "The termination criteria which sould be checked.", new MultiTerminationCriterion()));
+      Parameters.Add(new ValueParameter<MultiTerminator>("Terminators", "The termination criteria which sould be checked.", new MultiTerminator()));
 
       RandomCreator randomCreator = new RandomCreator();
@@ -351,11 +351,11 @@
       UpdateAnalyzers();
 
-      maximumGenerationsTerminationCriterion = new ComparisonTerminationCriterion<IntValue>("Generations", new IntValue(50), ComparisonType.GreaterOrEqual) { Name = "Maximum Generations" };
-      maximumEvaluatedSolutionsTerminationCriterion = new ComparisonTerminationCriterion<IntValue>("EvaluatedSolutions", "MaximumEvaluatedSolutions", ComparisonType.GreaterOrEqual) { Name = "Maximum Evaluations" };
-      maximumSelectionPressureTerminationCriterion = new ComparisonTerminationCriterion<DoubleValue>("SelectionPressure", "MaximumSelectionPressure", ComparisonType.GreaterOrEqual) { Name = "Maximum Selection Pressure" };
-      qualityTerminationCriterion = new ComparisonTerminationCriterion<DoubleValue>() { Name = "Maximum/Minimum Quality" };
-      executionTimeTerminationCriterion = new ExecutionTimeTerminationCriterion(this, TimeSpan.FromMinutes(5)) { Name = "Maximum Execution Time" };
-      ParameterizeTerminationCriteria();
-      UpdateTerminationCriteria();
+      generationsTerminator = new ComparisonTerminator<IntValue>("Generations", new IntValue(50), ComparisonType.GreaterOrEqual) { Name = "Generations" };
+      evaluatedSolutionsTerminator = new ComparisonTerminator<IntValue>("EvaluatedSolutions", "MaximumEvaluatedSolutions", ComparisonType.GreaterOrEqual) { Name = "Evaluations" };
+      selectionPressureTerminator = new ComparisonTerminator<DoubleValue>("SelectionPressure", "MaximumSelectionPressure", ComparisonType.GreaterOrEqual) { Name = "Selection Pressure" };
+      qualityTerminator = new ComparisonTerminator<DoubleValue>() { Name = "Quality" };
+      executionTimeTerminator = new ExecutionTimeTerminator(this, TimeSpan.FromMinutes(5)) { Name = "Execution Time" };
+      ParameterizeTerminators();
+      UpdateTerminators();
 
       Initialize();
@@ -377,10 +377,10 @@
       ParameterizeSelectors();
       ParameterizeAnalyzers();
-      ParameterizeTerminationCriteria();
+      ParameterizeTerminators();
       ParameterizeIterationBasedOperators();
       UpdateCrossovers();
       UpdateMutators();
       UpdateAnalyzers();
-      UpdateTerminationCriteria();
+      UpdateTerminators();
       Problem.Evaluator.QualityParameter.ActualNameChanged += new EventHandler(Evaluator_QualityParameter_ActualNameChanged);
       base.OnProblemChanged();
@@ -407,5 +407,5 @@
       UpdateMutators();
       UpdateAnalyzers();
-      UpdateTerminationCriteria();
+      UpdateTerminators();
       base.Problem_OperatorsChanged(sender, e);
     }
@@ -485,11 +485,10 @@
       }
     }
-    private void ParameterizeTerminationCriteria() {
+    private void ParameterizeTerminators() {
       if (Problem != null) {
         bool maximization = ((BoolValue)Problem.MaximizationParameter.ActualValue).Value;
-        qualityTerminationCriterion.Name = maximization ? "Maximum Quality" : "Minimum Quality";
-        qualityTerminationCriterion.Comparison = new Comparison(maximization ? ComparisonType.GreaterOrEqual : ComparisonType.LessOrEqual);
-        qualityTerminationCriterion.ValueParameter.ActualName = qualityAnalyzer.CurrentBestQualityParameter.Name;
-        qualityTerminationCriterion.ThresholdParameter.Value = new DoubleValue(maximization ? double.MaxValue : double.MinValue);
+        qualityTerminator.Comparison = new Comparison(maximization ? ComparisonType.GreaterOrEqual : ComparisonType.LessOrEqual);
+        qualityTerminator.ValueParameter.ActualName = qualityAnalyzer.CurrentBestQualityParameter.Name;
+        qualityTerminator.ThresholdParameter.Value = new DoubleValue(maximization ? double.MaxValue : double.MinValue);
       }
     }
@@ -551,15 +550,15 @@
       Analyzer.Operators.Add(successfulOffspringAnalyzer, successfulOffspringAnalyzer.EnabledByDefault);
     }
-    private void UpdateTerminationCriteria() {
-      TerminationCriteria.Operators.Clear();
-      if (Problem != null) {
-        foreach (var terminationCriterion in Problem.Operators.OfType<ITerminationCriterion>())
-          TerminationCriteria.Operators.Add(terminationCriterion);
-      }
-      TerminationCriteria.Operators.Add(maximumGenerationsTerminationCriterion);
-      TerminationCriteria.Operators.Add(maximumEvaluatedSolutionsTerminationCriterion);
-      TerminationCriteria.Operators.Add(maximumSelectionPressureTerminationCriterion);
-      TerminationCriteria.Operators.Add(qualityTerminationCriterion, checkedState: false);
-      TerminationCriteria.Operators.Add(executionTimeTerminationCriterion, checkedState: false);
+    private void UpdateTerminators() {
+      Terminators.Operators.Clear();
+      if (Problem != null) {
+        foreach (var terminator in Problem.Operators.OfType<ITerminator>())
+          Terminators.Operators.Add(terminator);
+      }
+      Terminators.Operators.Add(generationsTerminator);
+      Terminators.Operators.Add(evaluatedSolutionsTerminator);
+      Terminators.Operators.Add(selectionPressureTerminator);
+      Terminators.Operators.Add(qualityTerminator, checkedState: false);
+      Terminators.Operators.Add(executionTimeTerminator, checkedState: false);
     }
     private OffspringSelectionGeneticAlgorithmMainLoop FindMainLoop(IOperator start) {
Index: anches/TerminationCriteria/HeuristicLab.Termination/3.3/ComparisonTerminationCriterion.cs
===================================================================
--- /branches/TerminationCriteria/HeuristicLab.Termination/3.3/ComparisonTerminationCriterion.cs	(revision 12401)
+++ 	(revision )
@@ -1,96 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using HeuristicLab.Common;
-using HeuristicLab.Core;
-using HeuristicLab.Data;
-using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
-
-namespace HeuristicLab.Termination {
-  [Item("ComparisonTerminationCriterion", "An termination criterion which compares two values.")]
-  [StorableClass]
-  public class ComparisonTerminationCriterion<T> : ThresholdTerminationCriterion<T> where T : class, IItem, IComparable {
-    public ILookupParameter<T> ValueParameter {
-      get { return (ILookupParameter<T>)Parameters["Value"]; }
-    }
-
-    private ValueParameter<Comparison> ComparisonParameter {
-      get { return (ValueParameter<Comparison>)Parameters["Comparison"]; }
-    }
-
-    public Comparison Comparison {
-      get { return ComparisonParameter.Value; }
-      set { ComparisonParameter.Value = value; }
-    }
-
-    [StorableConstructor]
-    protected ComparisonTerminationCriterion(bool deserializing) : base(deserializing) { }
-    protected ComparisonTerminationCriterion(ComparisonTerminationCriterion<T> original, Cloner cloner)
-      : base(original, cloner) { }
-    public override IDeepCloneable Clone(Cloner cloner) {
-      return new ComparisonTerminationCriterion<T>(this, cloner);
-    }
-    public ComparisonTerminationCriterion()
-      : base() {
-      Parameters.Add(new LookupParameter<T>("Value", "The left side value of the comparison."));
-      Parameters.Add(new ValueParameter<Comparison>("Comparison", "The type of comparison.", new Comparison(ComparisonType.GreaterOrEqual)) { Hidden = true });
-    }
-    public ComparisonTerminationCriterion(string leftSideActualName, string rightSideActualName, ComparisonType comparison = ComparisonType.GreaterOrEqual)
-      : this() {
-      ValueParameter.ActualName = leftSideActualName;
-      ThresholdParameter.ActualName = rightSideActualName;
-      Comparison.Value = comparison;
-    }
-    public ComparisonTerminationCriterion(string leftSideActualName, T rightSideValue, ComparisonType comparison = ComparisonType.GreaterOrEqual)
-      : this() {
-      ValueParameter.ActualName = leftSideActualName;
-      ThresholdParameter.Value = rightSideValue;
-      Comparison.Value = comparison;
-    }
-
-    protected override bool CheckTermination() {
-      IComparable lhs = ValueParameter.ActualValue;
-      IComparable rhs = ThresholdParameter.ActualValue;
-
-      int i = lhs.CompareTo(rhs);
-      switch (Comparison.Value) {
-        case ComparisonType.Less:
-          return i < 0;
-        case ComparisonType.LessOrEqual:
-          return i <= 0;
-        case ComparisonType.Equal:
-          return i == 0;
-        case ComparisonType.GreaterOrEqual:
-          return i >= 0;
-        case ComparisonType.Greater:
-          return i > 0;
-        case ComparisonType.NotEqual:
-          return i != 0;
-        default:
-          throw new InvalidOperationException(Name + ": " + Comparison.Value + " is not supported.");
-      }
-    }
-
-
-  }
-}
Index: /branches/TerminationCriteria/HeuristicLab.Termination/3.3/ComparisonTerminator.cs
===================================================================
--- /branches/TerminationCriteria/HeuristicLab.Termination/3.3/ComparisonTerminator.cs	(revision 12402)
+++ /branches/TerminationCriteria/HeuristicLab.Termination/3.3/ComparisonTerminator.cs	(revision 12402)
@@ -0,0 +1,94 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using HeuristicLab.Common;
+using HeuristicLab.Core;
+using HeuristicLab.Data;
+using HeuristicLab.Parameters;
+using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+
+namespace HeuristicLab.Termination {
+  [Item("ComparisonTerminator", "An termination criterion which compares two values.")]
+  [StorableClass]
+  public class ComparisonTerminator<T> : ThresholdTerminator<T> where T : class, IItem, IComparable {
+    public ILookupParameter<T> ValueParameter {
+      get { return (ILookupParameter<T>)Parameters["Value"]; }
+    }
+
+    private ValueParameter<Comparison> ComparisonParameter {
+      get { return (ValueParameter<Comparison>)Parameters["Comparison"]; }
+    }
+
+    public Comparison Comparison {
+      get { return ComparisonParameter.Value; }
+      set { ComparisonParameter.Value = value; }
+    }
+
+    [StorableConstructor]
+    protected ComparisonTerminator(bool deserializing) : base(deserializing) { }
+    protected ComparisonTerminator(ComparisonTerminator<T> original, Cloner cloner)
+      : base(original, cloner) { }
+    public override IDeepCloneable Clone(Cloner cloner) {
+      return new ComparisonTerminator<T>(this, cloner);
+    }
+    public ComparisonTerminator()
+      : base() {
+      Parameters.Add(new LookupParameter<T>("Value", "The left side value of the comparison."));
+      Parameters.Add(new ValueParameter<Comparison>("Comparison", "The type of comparison.", new Comparison(ComparisonType.GreaterOrEqual)) { Hidden = true });
+    }
+    public ComparisonTerminator(string leftSideActualName, string rightSideActualName, ComparisonType comparison = ComparisonType.GreaterOrEqual)
+      : this() {
+      ValueParameter.ActualName = leftSideActualName;
+      ThresholdParameter.ActualName = rightSideActualName;
+      Comparison.Value = comparison;
+    }
+    public ComparisonTerminator(string leftSideActualName, T rightSideValue, ComparisonType comparison = ComparisonType.GreaterOrEqual)
+      : this() {
+      ValueParameter.ActualName = leftSideActualName;
+      ThresholdParameter.Value = rightSideValue;
+      Comparison.Value = comparison;
+    }
+
+    protected override bool CheckTermination() {
+      IComparable lhs = ValueParameter.ActualValue;
+      IComparable rhs = ThresholdParameter.ActualValue;
+
+      int i = lhs.CompareTo(rhs);
+      switch (Comparison.Value) {
+        case ComparisonType.Less:
+          return i < 0;
+        case ComparisonType.LessOrEqual:
+          return i <= 0;
+        case ComparisonType.Equal:
+          return i == 0;
+        case ComparisonType.GreaterOrEqual:
+          return i >= 0;
+        case ComparisonType.Greater:
+          return i > 0;
+        case ComparisonType.NotEqual:
+          return i != 0;
+        default:
+          throw new InvalidOperationException(Name + ": " + Comparison.Value + " is not supported.");
+      }
+    }
+  }
+}
Index: anches/TerminationCriteria/HeuristicLab.Termination/3.3/ExecutionTimeTerminationCriterion.cs
===================================================================
--- /branches/TerminationCriteria/HeuristicLab.Termination/3.3/ExecutionTimeTerminationCriterion.cs	(revision 12401)
+++ 	(revision )
@@ -1,60 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using HeuristicLab.Common;
-using HeuristicLab.Core;
-using HeuristicLab.Data;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
-
-namespace HeuristicLab.Termination {
-  [Item("ExecutionTimeTerminationCriterion", "A termination criterion based on execution time of an algorithm.")]
-  [StorableClass]
-  public class ExecutionTimeTerminationCriterion : ThresholdTerminationCriterion<TimeSpanValue> {
-
-    [Storable]
-    private readonly IExecutable executable;
-
-    [StorableConstructor]
-    protected ExecutionTimeTerminationCriterion(bool deserializing) : base(deserializing) { }
-    protected ExecutionTimeTerminationCriterion(ExecutionTimeTerminationCriterion original, Cloner cloner)
-      : base(original, cloner) {
-      executable = cloner.Clone(executable);
-    }
-    public override IDeepCloneable Clone(Cloner cloner) {
-      return new ExecutionTimeTerminationCriterion(this, cloner);
-    }
-    public ExecutionTimeTerminationCriterion(IExecutable executable)
-      : this(executable, new TimeSpan(0, 10, 0)) { }
-    public ExecutionTimeTerminationCriterion(IExecutable executable, TimeSpan maximumExecutionTime) {
-      this.executable = executable;
-      ThresholdParameter.Value = new TimeSpanValue(maximumExecutionTime);
-
-      Name = "Maximum Execution Time";
-    }
-
-    protected override bool CheckTermination() {
-      var max = ThresholdParameter.Value.Value;
-
-      return executable.ExecutionTime > max;
-    }
-  }
-}
Index: /branches/TerminationCriteria/HeuristicLab.Termination/3.3/ExecutionTimeTerminator.cs
===================================================================
--- /branches/TerminationCriteria/HeuristicLab.Termination/3.3/ExecutionTimeTerminator.cs	(revision 12402)
+++ /branches/TerminationCriteria/HeuristicLab.Termination/3.3/ExecutionTimeTerminator.cs	(revision 12402)
@@ -0,0 +1,60 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using HeuristicLab.Common;
+using HeuristicLab.Core;
+using HeuristicLab.Data;
+using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+
+namespace HeuristicLab.Termination {
+  [Item("ExecutionTimeTerminator", "A termination criterion based on execution time of an algorithm.")]
+  [StorableClass]
+  public class ExecutionTimeTerminator : ThresholdTerminator<TimeSpanValue> {
+
+    [Storable]
+    private readonly IExecutable executable;
+
+    [StorableConstructor]
+    protected ExecutionTimeTerminator(bool deserializing) : base(deserializing) { }
+    protected ExecutionTimeTerminator(ExecutionTimeTerminator original, Cloner cloner)
+      : base(original, cloner) {
+      executable = cloner.Clone(executable);
+    }
+    public override IDeepCloneable Clone(Cloner cloner) {
+      return new ExecutionTimeTerminator(this, cloner);
+    }
+    public ExecutionTimeTerminator(IExecutable executable)
+      : this(executable, new TimeSpan(0, 10, 0)) { }
+    public ExecutionTimeTerminator(IExecutable executable, TimeSpan maximumExecutionTime) {
+      this.executable = executable;
+      ThresholdParameter.Value = new TimeSpanValue(maximumExecutionTime);
+
+      Name = "Execution Time";
+    }
+
+    protected override bool CheckTermination() {
+      var max = ThresholdParameter.Value.Value;
+
+      return executable.ExecutionTime > max;
+    }
+  }
+}
Index: /branches/TerminationCriteria/HeuristicLab.Termination/3.3/HeuristicLab.Termination-3.3.csproj
===================================================================
--- /branches/TerminationCriteria/HeuristicLab.Termination/3.3/HeuristicLab.Termination-3.3.csproj	(revision 12401)
+++ /branches/TerminationCriteria/HeuristicLab.Termination/3.3/HeuristicLab.Termination-3.3.csproj	(revision 12402)
@@ -141,16 +141,16 @@
   </ItemGroup>
   <ItemGroup>
-    <Compile Include="ThresholdTerminationCriterion.cs" />
-    <Compile Include="Views\ThresholdTerminationCriterionView.cs">
+    <Compile Include="ThresholdTerminator.cs" />
+    <Compile Include="Views\ThresholdTerminatorView.cs">
       <SubType>UserControl</SubType>
     </Compile>
-    <Compile Include="Views\ThresholdTerminationCriterionView.Designer.cs">
-      <DependentUpon>ThresholdTerminationCriterionView.cs</DependentUpon>
+    <Compile Include="Views\ThresholdTerminatorView.Designer.cs">
+      <DependentUpon>ThresholdTerminatorView.cs</DependentUpon>
     </Compile>
-    <Compile Include="ITerminationCriterion.cs" />
-    <Compile Include="ComparisonTerminationCriterion.cs" />
-    <Compile Include="MultiTerminationCriterion.cs" />
-    <Compile Include="ExecutionTimeTerminationCriterion.cs" />
-    <Compile Include="TerminationCriterion.cs" />
+    <Compile Include="ITerminator.cs" />
+    <Compile Include="ComparisonTerminator.cs" />
+    <Compile Include="MultiTerminator.cs" />
+    <Compile Include="ExecutionTimeTerminator.cs" />
+    <Compile Include="Terminator.cs" />
     <Compile Include="TerminationOperator.cs" />
     <None Include="HeuristicLab.snk" />
Index: anches/TerminationCriteria/HeuristicLab.Termination/3.3/ITerminationCriterion.cs
===================================================================
--- /branches/TerminationCriteria/HeuristicLab.Termination/3.3/ITerminationCriterion.cs	(revision 12401)
+++ 	(revision )
@@ -1,30 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using HeuristicLab.Core;
-
-namespace HeuristicLab.Termination {
-  /// <summary>
-  /// An interface which represents an operator for checking a termination criterion.
-  /// </summary>
-  public interface ITerminationCriterion : IOperator {
-  }
-}
Index: /branches/TerminationCriteria/HeuristicLab.Termination/3.3/ITerminator.cs
===================================================================
--- /branches/TerminationCriteria/HeuristicLab.Termination/3.3/ITerminator.cs	(revision 12402)
+++ /branches/TerminationCriteria/HeuristicLab.Termination/3.3/ITerminator.cs	(revision 12402)
@@ -0,0 +1,30 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using HeuristicLab.Core;
+
+namespace HeuristicLab.Termination {
+  /// <summary>
+  /// An interface which represents an operator for checking a termination criterion.
+  /// </summary>
+  public interface ITerminator : IOperator {
+  }
+}
Index: anches/TerminationCriteria/HeuristicLab.Termination/3.3/MultiTerminationCriterion.cs
===================================================================
--- /branches/TerminationCriteria/HeuristicLab.Termination/3.3/MultiTerminationCriterion.cs	(revision 12401)
+++ 	(revision )
@@ -1,69 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Drawing;
-using System.Linq;
-using HeuristicLab.Common;
-using HeuristicLab.Core;
-using HeuristicLab.Data;
-using HeuristicLab.Operators;
-using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
-
-namespace HeuristicLab.Termination {
-  [Item("MultiTerminationCriterion", "A multi operator, containing termination criteria.")]
-  [StorableClass]
-  public sealed class MultiTerminationCriterion : CheckedMultiOperator<ITerminationCriterion>, ITerminationCriterion {
-    public static new Image StaticItemImage {
-      get { return HeuristicLab.Common.Resources.VSImageLibrary.Object; }
-    }
-    public override Image ItemImage {
-      get {
-        if (Breakpoint) return HeuristicLab.Common.Resources.VSImageLibrary.BreakpointActive;
-        else return base.ItemImage;
-      }
-    }
-
-    public ILookupParameter<BoolValue> TerminateParameter {
-      get { return (ILookupParameter<BoolValue>)Parameters["Terminate"]; }
-    }
-
-    [StorableConstructor]
-    private MultiTerminationCriterion(bool deserializing) : base(deserializing) { }
-    private MultiTerminationCriterion(MultiTerminationCriterion original, Cloner cloner) : base(original, cloner) { }
-    public override IDeepCloneable Clone(Cloner cloner) { return new MultiTerminationCriterion(this, cloner); }
-
-    public MultiTerminationCriterion()
-      : base() {
-      Parameters.Add(new LookupParameter<BoolValue>("Terminate", "The parameter which will be set to determine if execution should be terminated or should continue."));
-    }
-
-    public override IOperation InstrumentedApply() {
-      if (!Operators.CheckedItems.Any()) throw new InvalidOperationException(Name + ": Please add at least one termination criterion.");
-
-      var next = new OperationCollection(base.InstrumentedApply());
-      foreach (var item in Operators.CheckedItems)
-        next.Add(ExecutionContext.CreateOperation(item.Value));
-      return next;
-    }
-  }
-}
Index: /branches/TerminationCriteria/HeuristicLab.Termination/3.3/MultiTerminator.cs
===================================================================
--- /branches/TerminationCriteria/HeuristicLab.Termination/3.3/MultiTerminator.cs	(revision 12402)
+++ /branches/TerminationCriteria/HeuristicLab.Termination/3.3/MultiTerminator.cs	(revision 12402)
@@ -0,0 +1,69 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Drawing;
+using System.Linq;
+using HeuristicLab.Common;
+using HeuristicLab.Core;
+using HeuristicLab.Data;
+using HeuristicLab.Operators;
+using HeuristicLab.Parameters;
+using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+
+namespace HeuristicLab.Termination {
+  [Item("MultiTerminator", "A multi operator, containing termination criteria.")]
+  [StorableClass]
+  public sealed class MultiTerminator : CheckedMultiOperator<ITerminator>, ITerminator {
+    public static new Image StaticItemImage {
+      get { return HeuristicLab.Common.Resources.VSImageLibrary.Object; }
+    }
+    public override Image ItemImage {
+      get {
+        if (Breakpoint) return HeuristicLab.Common.Resources.VSImageLibrary.BreakpointActive;
+        else return base.ItemImage;
+      }
+    }
+
+    public ILookupParameter<BoolValue> TerminateParameter {
+      get { return (ILookupParameter<BoolValue>)Parameters["Terminate"]; }
+    }
+
+    [StorableConstructor]
+    private MultiTerminator(bool deserializing) : base(deserializing) { }
+    private MultiTerminator(MultiTerminator original, Cloner cloner) : base(original, cloner) { }
+    public override IDeepCloneable Clone(Cloner cloner) { return new MultiTerminator(this, cloner); }
+
+    public MultiTerminator()
+      : base() {
+      Parameters.Add(new LookupParameter<BoolValue>("Terminate", "The parameter which will be set to determine if execution should be terminated or should continue."));
+    }
+
+    public override IOperation InstrumentedApply() {
+      if (!Operators.CheckedItems.Any()) throw new InvalidOperationException(Name + ": Please add at least one termination criterion.");
+
+      var next = new OperationCollection(base.InstrumentedApply());
+      foreach (var item in Operators.CheckedItems)
+        next.Add(ExecutionContext.CreateOperation(item.Value));
+      return next;
+    }
+  }
+}
Index: /branches/TerminationCriteria/HeuristicLab.Termination/3.3/Plugin.cs.frame
===================================================================
--- /branches/TerminationCriteria/HeuristicLab.Termination/3.3/Plugin.cs.frame	(revision 12401)
+++ /branches/TerminationCriteria/HeuristicLab.Termination/3.3/Plugin.cs.frame	(revision 12402)
@@ -26,5 +26,5 @@
   /// Plugin class for HeuristicLab.Termination plugin.
   /// </summary>
-  [Plugin("HeuristicLab.Termination", "Provides a generic TerminationOperator as well as different generic TerminationCriteria.", "3.3.11.$WCREV$")]
+  [Plugin("HeuristicLab.Termination", "Provides the TerminationOperator as well as different generic Terminators.", "3.3.11.$WCREV$")]
   [PluginFile("HeuristicLab.Termination-3.3.dll", PluginFileType.Assembly)]
   [PluginDependency("HeuristicLab.Collections", "3.3")]
Index: /branches/TerminationCriteria/HeuristicLab.Termination/3.3/Properties/AssemblyInfo.cs.frame
===================================================================
--- /branches/TerminationCriteria/HeuristicLab.Termination/3.3/Properties/AssemblyInfo.cs.frame	(revision 12401)
+++ /branches/TerminationCriteria/HeuristicLab.Termination/3.3/Properties/AssemblyInfo.cs.frame	(revision 12402)
@@ -27,5 +27,5 @@
 // associated with an assembly.
 [assembly: AssemblyTitle("HeuristicLab.Termination")]
-[assembly: AssemblyDescription("HeuristicLab Termination criteria")]
+[assembly: AssemblyDescription("HeuristicLab Termination")]
 [assembly: AssemblyConfiguration("")]
 [assembly: AssemblyCompany("")]
Index: anches/TerminationCriteria/HeuristicLab.Termination/3.3/TerminationCriterion.cs
===================================================================
--- /branches/TerminationCriteria/HeuristicLab.Termination/3.3/TerminationCriterion.cs	(revision 12401)
+++ 	(revision )
@@ -1,56 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using HeuristicLab.Common;
-using HeuristicLab.Core;
-using HeuristicLab.Data;
-using HeuristicLab.Operators;
-using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
-
-namespace HeuristicLab.Termination {
-  [Item("TerminationCriterion", "A base class for all termination criteria.")]
-  [StorableClass]
-  public abstract class TerminationCriterion : InstrumentedOperator, ITerminationCriterion {
-    public ILookupParameter<BoolValue> TerminateParameter {
-      get { return (ILookupParameter<BoolValue>)Parameters["Terminate"]; }
-    }
-
-    [StorableConstructor]
-    protected TerminationCriterion(bool deserializing) : base(deserializing) { }
-    protected TerminationCriterion(TerminationCriterion original, Cloner cloner) : base(original, cloner) { }
-
-    protected TerminationCriterion()
-      : base() {
-      Parameters.Add(new LookupParameter<BoolValue>("Terminate", "The parameter which will be set to determine if execution should be terminated or should continue."));
-    }
-
-    public sealed override IOperation InstrumentedApply() {
-      if (!TerminateParameter.ActualValue.Value) { // If terminate flag is already set, no need to check further termination criteria.
-        bool terminate = CheckTermination();
-        TerminateParameter.ActualValue = new BoolValue(terminate);
-      }
-      return base.InstrumentedApply();
-    }
-
-    protected abstract bool CheckTermination();
-  }
-}
Index: /branches/TerminationCriteria/HeuristicLab.Termination/3.3/TerminationOperator.cs
===================================================================
--- /branches/TerminationCriteria/HeuristicLab.Termination/3.3/TerminationOperator.cs	(revision 12401)
+++ /branches/TerminationCriteria/HeuristicLab.Termination/3.3/TerminationOperator.cs	(revision 12402)
@@ -31,6 +31,6 @@
   [StorableClass]
   public sealed class TerminationOperator : InstrumentedOperator {
-    public ILookupParameter<ITerminationCriterion> TerminationCriteriaParameter {
-      get { return (ILookupParameter<ITerminationCriterion>)Parameters["TerminationCriteria"]; }
+    public ILookupParameter<ITerminator> TerminatorParameter {
+      get { return (ILookupParameter<ITerminator>)Parameters["Terminator"]; }
     }
     public ILookupParameter<BoolValue> TerminateParameter {
@@ -64,5 +64,5 @@
     public TerminationOperator()
       : base() {
-      Parameters.Add(new LookupParameter<ITerminationCriterion>("TerminationCriteria", "The termination criteria which sould be checked."));
+      Parameters.Add(new LookupParameter<ITerminator>("Terminator", "The termination criteria which sould be checked.", "Terminators"));
       Parameters.Add(new LookupParameter<BoolValue>("Terminate", "The parameter which will be set to determine if execution should be terminated or schould continue."));
       Parameters.Add(new OperatorParameter("ContinueBranch", "The operator which is executed if no termination criteria has met."));
@@ -74,5 +74,5 @@
 
       var placeholder = new Placeholder() { Name = "Check termination criteria (Placeholder)" };
-      placeholder.OperatorParameter.ActualName = TerminationCriteriaParameter.Name;
+      placeholder.OperatorParameter.ActualName = TerminatorParameter.Name;
 
       BeforeExecutionOperators.Add(assigner);
Index: /branches/TerminationCriteria/HeuristicLab.Termination/3.3/Terminator.cs
===================================================================
--- /branches/TerminationCriteria/HeuristicLab.Termination/3.3/Terminator.cs	(revision 12402)
+++ /branches/TerminationCriteria/HeuristicLab.Termination/3.3/Terminator.cs	(revision 12402)
@@ -0,0 +1,56 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using HeuristicLab.Common;
+using HeuristicLab.Core;
+using HeuristicLab.Data;
+using HeuristicLab.Operators;
+using HeuristicLab.Parameters;
+using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+
+namespace HeuristicLab.Termination {
+  [Item("Terminator", "A base class for all termination criteria.")]
+  [StorableClass]
+  public abstract class Terminator : InstrumentedOperator, ITerminator {
+    public ILookupParameter<BoolValue> TerminateParameter {
+      get { return (ILookupParameter<BoolValue>)Parameters["Terminate"]; }
+    }
+
+    [StorableConstructor]
+    protected Terminator(bool deserializing) : base(deserializing) { }
+    protected Terminator(Terminator original, Cloner cloner) : base(original, cloner) { }
+
+    protected Terminator()
+      : base() {
+      Parameters.Add(new LookupParameter<BoolValue>("Terminate", "The parameter which will be set to determine if execution should be terminated or should continue."));
+    }
+
+    public sealed override IOperation InstrumentedApply() {
+      if (!TerminateParameter.ActualValue.Value) { // If terminate flag is already set, no need to check further termination criteria.
+        bool terminate = CheckTermination();
+        TerminateParameter.ActualValue = new BoolValue(terminate);
+      }
+      return base.InstrumentedApply();
+    }
+
+    protected abstract bool CheckTermination();
+  }
+}
Index: anches/TerminationCriteria/HeuristicLab.Termination/3.3/ThresholdTerminationCriterion.cs
===================================================================
--- /branches/TerminationCriteria/HeuristicLab.Termination/3.3/ThresholdTerminationCriterion.cs	(revision 12401)
+++ 	(revision )
@@ -1,62 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using HeuristicLab.Common;
-using HeuristicLab.Core;
-using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
-
-
-namespace HeuristicLab.Termination {
-  [Item("ThresholdTerminationCriterion", "Base class for all termination criteria which specifies some threshold.")]
-  [StorableClass]
-  public abstract class ThresholdTerminationCriterion<T> : TerminationCriterion where T : class, IItem {
-    public IValueLookupParameter<T> ThresholdParameter {
-      get { return (IValueLookupParameter<T>)Parameters["Threshold"]; }
-    }
-
-    [StorableConstructor]
-    protected ThresholdTerminationCriterion(bool deserializing) : base(deserializing) { }
-    [StorableHook(HookType.AfterDeserialization)]
-    private void AfterDeserialization() {
-      Initialize();
-    }
-    protected ThresholdTerminationCriterion(ThresholdTerminationCriterion<T> original, Cloner cloner)
-      : base(original, cloner) {
-      Initialize();
-    }
-    protected ThresholdTerminationCriterion()
-      : base() {
-      Parameters.Add(new ValueLookupParameter<T>("Threshold", "The limit of the termiation criterion."));
-
-      Initialize();
-    }
-
-    private void Initialize() {
-      ThresholdParameter.ToStringChanged += (s, a) => OnToStringChanged();
-    }
-
-    public override string ToString() {
-      if (ThresholdParameter.Value == null) return Name;
-      else return Name + ": " + ThresholdParameter.Value;
-    }
-  }
-}
Index: /branches/TerminationCriteria/HeuristicLab.Termination/3.3/ThresholdTerminator.cs
===================================================================
--- /branches/TerminationCriteria/HeuristicLab.Termination/3.3/ThresholdTerminator.cs	(revision 12402)
+++ /branches/TerminationCriteria/HeuristicLab.Termination/3.3/ThresholdTerminator.cs	(revision 12402)
@@ -0,0 +1,62 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using HeuristicLab.Common;
+using HeuristicLab.Core;
+using HeuristicLab.Parameters;
+using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+
+
+namespace HeuristicLab.Termination {
+  [Item("ThresholdTerminator", "Base class for all termination criteria which specifies some threshold.")]
+  [StorableClass]
+  public abstract class ThresholdTerminator<T> : Terminator where T : class, IItem {
+    public IValueLookupParameter<T> ThresholdParameter {
+      get { return (IValueLookupParameter<T>)Parameters["Threshold"]; }
+    }
+
+    [StorableConstructor]
+    protected ThresholdTerminator(bool deserializing) : base(deserializing) { }
+    [StorableHook(HookType.AfterDeserialization)]
+    private void AfterDeserialization() {
+      Initialize();
+    }
+    protected ThresholdTerminator(ThresholdTerminator<T> original, Cloner cloner)
+      : base(original, cloner) {
+      Initialize();
+    }
+    protected ThresholdTerminator()
+      : base() {
+      Parameters.Add(new ValueLookupParameter<T>("Threshold", "The limit of the termiation criterion."));
+
+      Initialize();
+    }
+
+    private void Initialize() {
+      ThresholdParameter.ToStringChanged += (s, a) => OnToStringChanged();
+    }
+
+    public override string ToString() {
+      if (ThresholdParameter.Value == null) return Name;
+      else return Name + ": " + ThresholdParameter.Value;
+    }
+  }
+}
Index: anches/TerminationCriteria/HeuristicLab.Termination/3.3/Views/ThresholdTerminationCriterionView.Designer.cs
===================================================================
--- /branches/TerminationCriteria/HeuristicLab.Termination/3.3/Views/ThresholdTerminationCriterionView.Designer.cs	(revision 12401)
+++ 	(revision )
@@ -1,78 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-namespace HeuristicLab.Termination.Views {
-  partial class ThresholdTerminationCriterionView<T> {
-    /// <summary> 
-    /// Required designer variable.
-    /// </summary>
-    private System.ComponentModel.IContainer components = null;
-
-    /// <summary> 
-    /// Clean up any resources being used.
-    /// </summary>
-    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
-    protected override void Dispose(bool disposing) {
-      if (disposing && (components != null)) {
-        components.Dispose();
-      }
-      base.Dispose(disposing);
-    }
-
-    #region Component Designer generated code
-
-    /// <summary> 
-    /// Required method for Designer support - do not modify 
-    /// the contents of this method with the code editor.
-    /// </summary>
-    private void InitializeComponent() {
-      this.viewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
-      this.SuspendLayout();
-      // 
-      // viewHost
-      // 
-      this.viewHost.Caption = "View";
-      this.viewHost.Content = null;
-      this.viewHost.Dock = System.Windows.Forms.DockStyle.Fill;
-      this.viewHost.Enabled = false;
-      this.viewHost.Location = new System.Drawing.Point(0, 0);
-      this.viewHost.Name = "viewHost";
-      this.viewHost.ReadOnly = false;
-      this.viewHost.Size = new System.Drawing.Size(150, 150);
-      this.viewHost.TabIndex = 0;
-      this.viewHost.ViewsLabelVisible = true;
-      this.viewHost.ViewType = null;
-      // 
-      // ThresholdTerminationCriterionView
-      // 
-      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
-      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-      this.Controls.Add(this.viewHost);
-      this.Name = "ThresholdTerminationCriterionView";
-      this.ResumeLayout(false);
-
-    }
-
-    #endregion
-
-    private HeuristicLab.MainForm.WindowsForms.ViewHost viewHost;
-  }
-}
Index: anches/TerminationCriteria/HeuristicLab.Termination/3.3/Views/ThresholdTerminationCriterionView.cs
===================================================================
--- /branches/TerminationCriteria/HeuristicLab.Termination/3.3/Views/ThresholdTerminationCriterionView.cs	(revision 12401)
+++ 	(revision )
@@ -1,53 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using HeuristicLab.Core;
-using HeuristicLab.Core.Views;
-using HeuristicLab.MainForm;
-
-namespace HeuristicLab.Termination.Views {
-
-  [View("ThresholdTerminationCriterion View")]
-  [Content(typeof(ThresholdTerminationCriterion<>), true)]
-  public partial class ThresholdTerminationCriterionView<T> : ItemView where T : class, IItem, IComparable {
-
-    public new ThresholdTerminationCriterion<T> Content {
-      get { return (ThresholdTerminationCriterion<T>)base.Content; }
-      set { base.Content = value; }
-    }
-
-    public ThresholdTerminationCriterionView() {
-      InitializeComponent();
-    }
-
-    protected override void OnContentChanged() {
-      base.OnContentChanged();
-      viewHost.Content = null;
-      if (Content != null) {
-        if (Content.ThresholdParameter.Value != null)
-          viewHost.Content = Content.ThresholdParameter.Value;
-        else
-          viewHost.Content = Content.ThresholdParameter;
-      }
-    }
-  }
-}
Index: /branches/TerminationCriteria/HeuristicLab.Termination/3.3/Views/ThresholdTerminatorView.Designer.cs
===================================================================
--- /branches/TerminationCriteria/HeuristicLab.Termination/3.3/Views/ThresholdTerminatorView.Designer.cs	(revision 12402)
+++ /branches/TerminationCriteria/HeuristicLab.Termination/3.3/Views/ThresholdTerminatorView.Designer.cs	(revision 12402)
@@ -0,0 +1,78 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+namespace HeuristicLab.Termination.Views {
+  partial class ThresholdTerminatorView<T> {
+    /// <summary> 
+    /// Required designer variable.
+    /// </summary>
+    private System.ComponentModel.IContainer components = null;
+
+    /// <summary> 
+    /// Clean up any resources being used.
+    /// </summary>
+    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+    protected override void Dispose(bool disposing) {
+      if (disposing && (components != null)) {
+        components.Dispose();
+      }
+      base.Dispose(disposing);
+    }
+
+    #region Component Designer generated code
+
+    /// <summary> 
+    /// Required method for Designer support - do not modify 
+    /// the contents of this method with the code editor.
+    /// </summary>
+    private void InitializeComponent() {
+      this.viewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
+      this.SuspendLayout();
+      // 
+      // viewHost
+      // 
+      this.viewHost.Caption = "View";
+      this.viewHost.Content = null;
+      this.viewHost.Dock = System.Windows.Forms.DockStyle.Fill;
+      this.viewHost.Enabled = false;
+      this.viewHost.Location = new System.Drawing.Point(0, 0);
+      this.viewHost.Name = "viewHost";
+      this.viewHost.ReadOnly = false;
+      this.viewHost.Size = new System.Drawing.Size(150, 150);
+      this.viewHost.TabIndex = 0;
+      this.viewHost.ViewsLabelVisible = true;
+      this.viewHost.ViewType = null;
+      // 
+      // ThresholdTerminatorView
+      // 
+      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+      this.Controls.Add(this.viewHost);
+      this.Name = "ThresholdTerminatorView";
+      this.ResumeLayout(false);
+
+    }
+
+    #endregion
+
+    private HeuristicLab.MainForm.WindowsForms.ViewHost viewHost;
+  }
+}
Index: /branches/TerminationCriteria/HeuristicLab.Termination/3.3/Views/ThresholdTerminatorView.cs
===================================================================
--- /branches/TerminationCriteria/HeuristicLab.Termination/3.3/Views/ThresholdTerminatorView.cs	(revision 12402)
+++ /branches/TerminationCriteria/HeuristicLab.Termination/3.3/Views/ThresholdTerminatorView.cs	(revision 12402)
@@ -0,0 +1,53 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using HeuristicLab.Core;
+using HeuristicLab.Core.Views;
+using HeuristicLab.MainForm;
+
+namespace HeuristicLab.Termination.Views {
+
+  [View("ThresholdTerminator View")]
+  [Content(typeof(ThresholdTerminator<>), true)]
+  public partial class ThresholdTerminatorView<T> : ItemView where T : class, IItem, IComparable {
+
+    public new ThresholdTerminator<T> Content {
+      get { return (ThresholdTerminator<T>)base.Content; }
+      set { base.Content = value; }
+    }
+
+    public ThresholdTerminatorView() {
+      InitializeComponent();
+    }
+
+    protected override void OnContentChanged() {
+      base.OnContentChanged();
+      viewHost.Content = null;
+      if (Content != null) {
+        if (Content.ThresholdParameter.Value != null)
+          viewHost.Content = Content.ThresholdParameter.Value;
+        else
+          viewHost.Content = Content.ThresholdParameter;
+      }
+    }
+  }
+}
