Index: /trunk/sources/HeuristicLab.Clients.OKB/3.3/HeuristicLab.Clients.OKB-3.3.csproj
===================================================================
--- /trunk/sources/HeuristicLab.Clients.OKB/3.3/HeuristicLab.Clients.OKB-3.3.csproj	(revision 13502)
+++ /trunk/sources/HeuristicLab.Clients.OKB/3.3/HeuristicLab.Clients.OKB-3.3.csproj	(revision 13503)
@@ -158,4 +158,12 @@
     <Compile Include="RunCreation\RunCreationClient.cs" />
     <Compile Include="RunCreation\ServiceClient\Algorithm.cs" />
+    <Compile Include="RunCreation\ServiceClient\BoolValue.cs" />
+    <Compile Include="RunCreation\ServiceClient\TimeSpanValue.cs" />
+    <Compile Include="RunCreation\ServiceClient\StringValue.cs" />
+    <Compile Include="RunCreation\ServiceClient\PercentValue.cs" />
+    <Compile Include="RunCreation\ServiceClient\DoubleValue.cs" />
+    <Compile Include="RunCreation\ServiceClient\FloatValue.cs" />
+    <Compile Include="RunCreation\ServiceClient\LongValue.cs" />
+    <Compile Include="RunCreation\ServiceClient\IntValue.cs" />
     <Compile Include="RunCreation\ServiceClient\Problem.cs" />
     <Compile Include="RunCreation\ServiceClient\RunCreationServiceClient.cs" />
Index: /trunk/sources/HeuristicLab.Clients.OKB/3.3/Query/QueryClient.cs
===================================================================
--- /trunk/sources/HeuristicLab.Clients.OKB/3.3/Query/QueryClient.cs	(revision 13502)
+++ /trunk/sources/HeuristicLab.Clients.OKB/3.3/Query/QueryClient.cs	(revision 13503)
@@ -98,4 +98,10 @@
     #endregion
 
+    #region Characteristic Methods
+    public List<Value> GetCharacteristics(long problemId) {
+      return CallQueryService(s => s.GetCharacteristics(problemId));
+    }
+    #endregion
+
     #region OKB-Item Conversion
     public Optimization.IRun ConvertToOptimizationRun(Run run) {
Index: /trunk/sources/HeuristicLab.Clients.OKB/3.3/Query/ServiceClient/QueryServiceClient.cs
===================================================================
--- /trunk/sources/HeuristicLab.Clients.OKB/3.3/Query/ServiceClient/QueryServiceClient.cs	(revision 13502)
+++ /trunk/sources/HeuristicLab.Clients.OKB/3.3/Query/ServiceClient/QueryServiceClient.cs	(revision 13503)
@@ -19,12 +19,10 @@
         "fer")]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.StringComparisonFilter))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameStringComparisonFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.StringComparisonAvailableValuesFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameStringComparisonAvailableValuesFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameStringComparisonFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonFilter))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonDoubleFilter))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonDoubleFilter))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonPercentFilter))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonPercentFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonFloatFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonFloatFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonDateTimeFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonIntFilter))]
@@ -32,6 +30,8 @@
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonLongFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonLongFilter))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonFloatFilter))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonFloatFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonDoubleFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonDoubleFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonPercentFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonPercentFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonTimeSpanFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonTimeSpanFilter))]
@@ -113,7 +113,7 @@
     [System.Runtime.Serialization.DataContractAttribute(Name="StringComparisonFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
         "fer")]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameStringComparisonFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.StringComparisonAvailableValuesFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameStringComparisonAvailableValuesFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameStringComparisonFilter))]
     public partial class StringComparisonFilter : HeuristicLab.Clients.OKB.Query.Filter
     {
@@ -160,7 +160,35 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="NameStringComparisonFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class NameStringComparisonFilter : HeuristicLab.Clients.OKB.Query.StringComparisonFilter
+    [System.Runtime.Serialization.DataContractAttribute(Name="StringComparisonAvailableValuesFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameStringComparisonAvailableValuesFilter))]
+    public partial class StringComparisonAvailableValuesFilter : HeuristicLab.Clients.OKB.Query.StringComparisonFilter
+    {
+        
+        private System.Collections.Generic.List<string> AvailableValuesField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Collections.Generic.List<string> AvailableValues
+        {
+            get
+            {
+                return this.AvailableValuesField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.AvailableValuesField, value) != true))
+                {
+                    this.AvailableValuesField = value;
+                    this.RaisePropertyChanged("AvailableValues");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="NameStringComparisonAvailableValuesFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class NameStringComparisonAvailableValuesFilter : HeuristicLab.Clients.OKB.Query.StringComparisonAvailableValuesFilter
     {
         
@@ -187,35 +215,7 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="StringComparisonAvailableValuesFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameStringComparisonAvailableValuesFilter))]
-    public partial class StringComparisonAvailableValuesFilter : HeuristicLab.Clients.OKB.Query.StringComparisonFilter
-    {
-        
-        private System.Collections.Generic.List<string> AvailableValuesField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.Collections.Generic.List<string> AvailableValues
-        {
-            get
-            {
-                return this.AvailableValuesField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.AvailableValuesField, value) != true))
-                {
-                    this.AvailableValuesField = value;
-                    this.RaisePropertyChanged("AvailableValues");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="NameStringComparisonAvailableValuesFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class NameStringComparisonAvailableValuesFilter : HeuristicLab.Clients.OKB.Query.StringComparisonAvailableValuesFilter
+    [System.Runtime.Serialization.DataContractAttribute(Name="NameStringComparisonFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class NameStringComparisonFilter : HeuristicLab.Clients.OKB.Query.StringComparisonFilter
     {
         
@@ -244,8 +244,6 @@
     [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
         "fer")]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonDoubleFilter))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonDoubleFilter))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonPercentFilter))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonPercentFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonFloatFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonFloatFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonDateTimeFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonIntFilter))]
@@ -253,6 +251,8 @@
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonLongFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonLongFilter))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonFloatFilter))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonFloatFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonDoubleFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonDoubleFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonPercentFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonPercentFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonTimeSpanFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonTimeSpanFilter))]
@@ -282,4 +282,196 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonFloatFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonFloatFilter))]
+    public partial class OrdinalComparisonFloatFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonFilter
+    {
+        
+        private float ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public float Value
+        {
+            get
+            {
+                return this.ValueField;
+            }
+            set
+            {
+                if ((this.ValueField.Equals(value) != true))
+                {
+                    this.ValueField = value;
+                    this.RaisePropertyChanged("Value");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="NameOrdinalComparisonFloatFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class NameOrdinalComparisonFloatFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonFloatFilter
+    {
+        
+        private string NameField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Name
+        {
+            get
+            {
+                return this.NameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.NameField, value) != true))
+                {
+                    this.NameField = value;
+                    this.RaisePropertyChanged("Name");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonDateTimeFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class OrdinalComparisonDateTimeFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonFilter
+    {
+        
+        private System.DateTime ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.DateTime Value
+        {
+            get
+            {
+                return this.ValueField;
+            }
+            set
+            {
+                if ((this.ValueField.Equals(value) != true))
+                {
+                    this.ValueField = value;
+                    this.RaisePropertyChanged("Value");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonIntFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonIntFilter))]
+    public partial class OrdinalComparisonIntFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonFilter
+    {
+        
+        private int ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public int Value
+        {
+            get
+            {
+                return this.ValueField;
+            }
+            set
+            {
+                if ((this.ValueField.Equals(value) != true))
+                {
+                    this.ValueField = value;
+                    this.RaisePropertyChanged("Value");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="NameOrdinalComparisonIntFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class NameOrdinalComparisonIntFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonIntFilter
+    {
+        
+        private string NameField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Name
+        {
+            get
+            {
+                return this.NameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.NameField, value) != true))
+                {
+                    this.NameField = value;
+                    this.RaisePropertyChanged("Name");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonLongFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonLongFilter))]
+    public partial class OrdinalComparisonLongFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonFilter
+    {
+        
+        private long ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long Value
+        {
+            get
+            {
+                return this.ValueField;
+            }
+            set
+            {
+                if ((this.ValueField.Equals(value) != true))
+                {
+                    this.ValueField = value;
+                    this.RaisePropertyChanged("Value");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="NameOrdinalComparisonLongFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class NameOrdinalComparisonLongFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonLongFilter
+    {
+        
+        private string NameField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Name
+        {
+            get
+            {
+                return this.NameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.NameField, value) != true))
+                {
+                    this.NameField = value;
+                    this.RaisePropertyChanged("Name");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonDoubleFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
         "fer")]
@@ -368,196 +560,4 @@
         "fer")]
     public partial class NameOrdinalComparisonPercentFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonPercentFilter
-    {
-        
-        private string NameField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public string Name
-        {
-            get
-            {
-                return this.NameField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.NameField, value) != true))
-                {
-                    this.NameField = value;
-                    this.RaisePropertyChanged("Name");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonDateTimeFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class OrdinalComparisonDateTimeFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonFilter
-    {
-        
-        private System.DateTime ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.DateTime Value
-        {
-            get
-            {
-                return this.ValueField;
-            }
-            set
-            {
-                if ((this.ValueField.Equals(value) != true))
-                {
-                    this.ValueField = value;
-                    this.RaisePropertyChanged("Value");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonIntFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonIntFilter))]
-    public partial class OrdinalComparisonIntFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonFilter
-    {
-        
-        private int ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public int Value
-        {
-            get
-            {
-                return this.ValueField;
-            }
-            set
-            {
-                if ((this.ValueField.Equals(value) != true))
-                {
-                    this.ValueField = value;
-                    this.RaisePropertyChanged("Value");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="NameOrdinalComparisonIntFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class NameOrdinalComparisonIntFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonIntFilter
-    {
-        
-        private string NameField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public string Name
-        {
-            get
-            {
-                return this.NameField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.NameField, value) != true))
-                {
-                    this.NameField = value;
-                    this.RaisePropertyChanged("Name");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonLongFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonLongFilter))]
-    public partial class OrdinalComparisonLongFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonFilter
-    {
-        
-        private long ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public long Value
-        {
-            get
-            {
-                return this.ValueField;
-            }
-            set
-            {
-                if ((this.ValueField.Equals(value) != true))
-                {
-                    this.ValueField = value;
-                    this.RaisePropertyChanged("Value");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="NameOrdinalComparisonLongFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class NameOrdinalComparisonLongFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonLongFilter
-    {
-        
-        private string NameField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public string Name
-        {
-            get
-            {
-                return this.NameField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.NameField, value) != true))
-                {
-                    this.NameField = value;
-                    this.RaisePropertyChanged("Name");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonFloatFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonFloatFilter))]
-    public partial class OrdinalComparisonFloatFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonFilter
-    {
-        
-        private float ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public float Value
-        {
-            get
-            {
-                return this.ValueField;
-            }
-            set
-            {
-                if ((this.ValueField.Equals(value) != true))
-                {
-                    this.ValueField = value;
-                    this.RaisePropertyChanged("Value");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="NameOrdinalComparisonFloatFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class NameOrdinalComparisonFloatFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonFloatFilter
     {
         
@@ -1364,13 +1364,13 @@
     [System.Runtime.Serialization.DataContractAttribute(Name="Value", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
         "fer")]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.BinaryValue))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.StringValue))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.LongValue))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.FloatValue))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.DoubleValue))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.PercentValue))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.FloatValue))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.BoolValue))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.TimeSpanValue))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.IntValue))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.LongValue))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.PercentValue))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.BoolValue))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.StringValue))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.BinaryValue))]
     public partial class Value : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
     {
@@ -1513,13 +1513,13 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="BinaryValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class BinaryValue : HeuristicLab.Clients.OKB.Query.Value
-    {
-        
-        private byte[] ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public byte[] Value
+    [System.Runtime.Serialization.DataContractAttribute(Name="LongValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class LongValue : HeuristicLab.Clients.OKB.Query.Value
+    {
+        
+        private long ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long Value
         {
             get
@@ -1529,5 +1529,5 @@
             set
             {
-                if ((object.ReferenceEquals(this.ValueField, value) != true))
+                if ((this.ValueField.Equals(value) != true))
                 {
                     this.ValueField = value;
@@ -1540,13 +1540,13 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="StringValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class StringValue : HeuristicLab.Clients.OKB.Query.Value
-    {
-        
-        private string ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public string Value
+    [System.Runtime.Serialization.DataContractAttribute(Name="FloatValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class FloatValue : HeuristicLab.Clients.OKB.Query.Value
+    {
+        
+        private float ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public float Value
         {
             get
@@ -1556,5 +1556,5 @@
             set
             {
-                if ((object.ReferenceEquals(this.ValueField, value) != true))
+                if ((this.ValueField.Equals(value) != true))
                 {
                     this.ValueField = value;
@@ -1594,13 +1594,13 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="PercentValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class PercentValue : HeuristicLab.Clients.OKB.Query.Value
-    {
-        
-        private double ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public double Value
+    [System.Runtime.Serialization.DataContractAttribute(Name="TimeSpanValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class TimeSpanValue : HeuristicLab.Clients.OKB.Query.Value
+    {
+        
+        private long ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long Value
         {
             get
@@ -1621,13 +1621,13 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="FloatValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class FloatValue : HeuristicLab.Clients.OKB.Query.Value
-    {
-        
-        private float ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public float Value
+    [System.Runtime.Serialization.DataContractAttribute(Name="IntValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class IntValue : HeuristicLab.Clients.OKB.Query.Value
+    {
+        
+        private int ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public int Value
         {
             get
@@ -1648,13 +1648,13 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="BoolValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class BoolValue : HeuristicLab.Clients.OKB.Query.Value
-    {
-        
-        private bool ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public bool Value
+    [System.Runtime.Serialization.DataContractAttribute(Name="PercentValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class PercentValue : HeuristicLab.Clients.OKB.Query.Value
+    {
+        
+        private double ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public double Value
         {
             get
@@ -1675,13 +1675,13 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="TimeSpanValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class TimeSpanValue : HeuristicLab.Clients.OKB.Query.Value
-    {
-        
-        private long ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public long Value
+    [System.Runtime.Serialization.DataContractAttribute(Name="BoolValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class BoolValue : HeuristicLab.Clients.OKB.Query.Value
+    {
+        
+        private bool ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public bool Value
         {
             get
@@ -1702,13 +1702,13 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="IntValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class IntValue : HeuristicLab.Clients.OKB.Query.Value
-    {
-        
-        private int ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public int Value
+    [System.Runtime.Serialization.DataContractAttribute(Name="StringValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class StringValue : HeuristicLab.Clients.OKB.Query.Value
+    {
+        
+        private string ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Value
         {
             get
@@ -1718,5 +1718,5 @@
             set
             {
-                if ((this.ValueField.Equals(value) != true))
+                if ((object.ReferenceEquals(this.ValueField, value) != true))
                 {
                     this.ValueField = value;
@@ -1729,13 +1729,13 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="LongValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class LongValue : HeuristicLab.Clients.OKB.Query.Value
-    {
-        
-        private long ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public long Value
+    [System.Runtime.Serialization.DataContractAttribute(Name="BinaryValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class BinaryValue : HeuristicLab.Clients.OKB.Query.Value
+    {
+        
+        private byte[] ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public byte[] Value
         {
             get
@@ -1745,5 +1745,5 @@
             set
             {
-                if ((this.ValueField.Equals(value) != true))
+                if ((object.ReferenceEquals(this.ValueField, value) != true))
                 {
                     this.ValueField = value;
@@ -1896,4 +1896,10 @@
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IQueryService/GetValueNames", ReplyAction="http://tempuri.org/IQueryService/GetValueNamesResponse")]
         System.Threading.Tasks.Task<System.Collections.Generic.List<HeuristicLab.Clients.OKB.Query.ValueName>> GetValueNamesAsync();
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IQueryService/GetCharacteristics", ReplyAction="http://tempuri.org/IQueryService/GetCharacteristicsResponse")]
+        System.Collections.Generic.List<HeuristicLab.Clients.OKB.Query.Value> GetCharacteristics(long problemId);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IQueryService/GetCharacteristics", ReplyAction="http://tempuri.org/IQueryService/GetCharacteristicsResponse")]
+        System.Threading.Tasks.Task<System.Collections.Generic.List<HeuristicLab.Clients.OKB.Query.Value>> GetCharacteristicsAsync(long problemId);
     }
     
@@ -1991,4 +1997,14 @@
             return base.Channel.GetValueNamesAsync();
         }
+        
+        public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Query.Value> GetCharacteristics(long problemId)
+        {
+            return base.Channel.GetCharacteristics(problemId);
+        }
+        
+        public System.Threading.Tasks.Task<System.Collections.Generic.List<HeuristicLab.Clients.OKB.Query.Value>> GetCharacteristicsAsync(long problemId)
+        {
+            return base.Channel.GetCharacteristicsAsync(problemId);
+        }
     }
 }
Index: /trunk/sources/HeuristicLab.Clients.OKB/3.3/RunCreation/RunCreationClient.cs
===================================================================
--- /trunk/sources/HeuristicLab.Clients.OKB/3.3/RunCreation/RunCreationClient.cs	(revision 13502)
+++ /trunk/sources/HeuristicLab.Clients.OKB/3.3/RunCreation/RunCreationClient.cs	(revision 13503)
@@ -61,6 +61,5 @@
         algorithms.AddRange(CallRunCreationService<List<Algorithm>>(s => s.GetAlgorithms("HeuristicLab 3.3")));
         problems.AddRange(CallRunCreationService<List<Problem>>(s => s.GetProblems("HeuristicLab 3.3")));
-      }
-      finally {
+      } finally {
         OnRefreshed();
       }
@@ -70,6 +69,5 @@
         try {
           Refresh();
-        }
-        catch (Exception ex) {
+        } catch (Exception ex) {
           return ex;
         }
@@ -101,4 +99,10 @@
     #endregion
 
+    #region Characteristic Methods
+    public static void SetCharacteristicValue(long problemId, string characteristicName, Value v) {
+      CallRunCreationService(s => s.SetCharacteristicValue(problemId, characteristicName, v));
+    }
+    #endregion
+
     #region Events
     public event EventHandler Refreshing;
@@ -119,10 +123,8 @@
       try {
         call(client);
-      }
-      finally {
+      } finally {
         try {
           client.Close();
-        }
-        catch (Exception) {
+        } catch (Exception) {
           client.Abort();
         }
@@ -133,10 +135,8 @@
       try {
         return call(client);
-      }
-      finally {
+      } finally {
         try {
           client.Close();
-        }
-        catch (Exception) {
+        } catch (Exception) {
           client.Abort();
         }
Index: /trunk/sources/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/BoolValue.cs
===================================================================
--- /trunk/sources/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/BoolValue.cs	(revision 13503)
+++ /trunk/sources/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/BoolValue.cs	(revision 13503)
@@ -0,0 +1,31 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2016 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.Clients.OKB.RunCreation {
+  public partial class BoolValue {
+    public BoolValue() {
+      DataType = new DataType() {
+        Name = typeof(bool).Name,
+        TypeName = typeof(bool).AssemblyQualifiedName
+      };
+    }
+  }
+}
Index: /trunk/sources/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/DoubleValue.cs
===================================================================
--- /trunk/sources/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/DoubleValue.cs	(revision 13503)
+++ /trunk/sources/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/DoubleValue.cs	(revision 13503)
@@ -0,0 +1,31 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2016 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.Clients.OKB.RunCreation {
+  public partial class DoubleValue {
+    public DoubleValue() {
+      DataType = new DataType() {
+        Name = typeof(double).Name,
+        TypeName = typeof(double).AssemblyQualifiedName
+      };
+    }
+  }
+}
Index: /trunk/sources/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/FloatValue.cs
===================================================================
--- /trunk/sources/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/FloatValue.cs	(revision 13503)
+++ /trunk/sources/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/FloatValue.cs	(revision 13503)
@@ -0,0 +1,31 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2016 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.Clients.OKB.RunCreation {
+  public partial class FloatValue {
+    public FloatValue() {
+      DataType = new DataType() {
+        Name = typeof(float).Name,
+        TypeName = typeof(float).AssemblyQualifiedName
+      };
+    }
+  }
+}
Index: /trunk/sources/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/IntValue.cs
===================================================================
--- /trunk/sources/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/IntValue.cs	(revision 13503)
+++ /trunk/sources/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/IntValue.cs	(revision 13503)
@@ -0,0 +1,31 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2016 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.Clients.OKB.RunCreation {
+  public partial class IntValue {
+    public IntValue() {
+      DataType = new DataType() {
+        Name = typeof(int).Name,
+        TypeName = typeof(int).AssemblyQualifiedName
+      };
+    }
+  }
+}
Index: /trunk/sources/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/LongValue.cs
===================================================================
--- /trunk/sources/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/LongValue.cs	(revision 13503)
+++ /trunk/sources/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/LongValue.cs	(revision 13503)
@@ -0,0 +1,31 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2016 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.Clients.OKB.RunCreation {
+  public partial class LongValue {
+    public LongValue() {
+      DataType = new DataType() {
+        Name = typeof(long).Name,
+        TypeName = typeof(long).AssemblyQualifiedName
+      };
+    }
+  }
+}
Index: /trunk/sources/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/PercentValue.cs
===================================================================
--- /trunk/sources/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/PercentValue.cs	(revision 13503)
+++ /trunk/sources/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/PercentValue.cs	(revision 13503)
@@ -0,0 +1,31 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2016 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.Clients.OKB.RunCreation {
+  public partial class PercentValue {
+    public PercentValue() {
+      DataType = new DataType() {
+        Name = typeof(double).Name,
+        TypeName = typeof(double).AssemblyQualifiedName
+      };
+    }
+  }
+}
Index: /trunk/sources/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/RunCreationServiceClient.cs
===================================================================
--- /trunk/sources/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/RunCreationServiceClient.cs	(revision 13502)
+++ /trunk/sources/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/RunCreationServiceClient.cs	(revision 13503)
@@ -2,5 +2,5 @@
 // <auto-generated>
 //     This code was generated by a tool.
-//     Runtime Version:4.0.30319.261
+//     Runtime Version:4.0.30319.34209
 //
 //     Changes to this file may cause incorrect behavior and will be lost if
@@ -653,13 +653,13 @@
     [System.Runtime.Serialization.DataContractAttribute(Name="Value", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
         "aTransfer")]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.BinaryValue))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.IntValue))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.LongValue))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.FloatValue))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.PercentValue))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.TimeSpanValue))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.IntValue))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.BoolValue))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.DoubleValue))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.PercentValue))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.StringValue))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.BinaryValue))]
     public partial class Value : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
     {
@@ -731,13 +731,13 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="BinaryValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
-        "aTransfer")]
-    public partial class BinaryValue : HeuristicLab.Clients.OKB.RunCreation.Value
-    {
-        
-        private byte[] ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public byte[] Value
+    [System.Runtime.Serialization.DataContractAttribute(Name="IntValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
+        "aTransfer")]
+    public partial class IntValue : HeuristicLab.Clients.OKB.RunCreation.Value
+    {
+        
+        private int ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public int Value
         {
             get
@@ -747,5 +747,5 @@
             set
             {
-                if ((object.ReferenceEquals(this.ValueField, value) != true))
+                if ((this.ValueField.Equals(value) != true))
                 {
                     this.ValueField = value;
@@ -812,13 +812,13 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="TimeSpanValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
-        "aTransfer")]
-    public partial class TimeSpanValue : HeuristicLab.Clients.OKB.RunCreation.Value
-    {
-        
-        private long ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public long Value
+    [System.Runtime.Serialization.DataContractAttribute(Name="PercentValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
+        "aTransfer")]
+    public partial class PercentValue : HeuristicLab.Clients.OKB.RunCreation.Value
+    {
+        
+        private double ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public double Value
         {
             get
@@ -839,13 +839,13 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="IntValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
-        "aTransfer")]
-    public partial class IntValue : HeuristicLab.Clients.OKB.RunCreation.Value
-    {
-        
-        private int ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public int Value
+    [System.Runtime.Serialization.DataContractAttribute(Name="TimeSpanValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
+        "aTransfer")]
+    public partial class TimeSpanValue : HeuristicLab.Clients.OKB.RunCreation.Value
+    {
+        
+        private long ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long Value
         {
             get
@@ -920,13 +920,13 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="PercentValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
-        "aTransfer")]
-    public partial class PercentValue : HeuristicLab.Clients.OKB.RunCreation.Value
-    {
-        
-        private double ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public double Value
+    [System.Runtime.Serialization.DataContractAttribute(Name="StringValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
+        "aTransfer")]
+    public partial class StringValue : HeuristicLab.Clients.OKB.RunCreation.Value
+    {
+        
+        private string ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Value
         {
             get
@@ -936,5 +936,5 @@
             set
             {
-                if ((this.ValueField.Equals(value) != true))
+                if ((object.ReferenceEquals(this.ValueField, value) != true))
                 {
                     this.ValueField = value;
@@ -947,13 +947,13 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="StringValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
-        "aTransfer")]
-    public partial class StringValue : HeuristicLab.Clients.OKB.RunCreation.Value
-    {
-        
-        private string ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public string Value
+    [System.Runtime.Serialization.DataContractAttribute(Name="BinaryValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
+        "aTransfer")]
+    public partial class BinaryValue : HeuristicLab.Clients.OKB.RunCreation.Value
+    {
+        
+        private byte[] ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public byte[] Value
         {
             get
@@ -968,4 +968,106 @@
                     this.RaisePropertyChanged("Value");
                 }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="MissingProblem", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation")]
+    public partial class MissingProblem : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private string MessageField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Message
+        {
+            get
+            {
+                return this.MessageField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.MessageField, value) != true))
+                {
+                    this.MessageField = value;
+                    this.RaisePropertyChanged("Message");
+                }
+            }
+        }
+        
+        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+        
+        protected void RaisePropertyChanged(string propertyName)
+        {
+            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+            if ((propertyChanged != null))
+            {
+                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="UnknownCharacteristicType", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation")]
+    public partial class UnknownCharacteristicType : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
+    {
+        
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private string MessageField;
+        
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+        {
+            get
+            {
+                return this.extensionDataField;
+            }
+            set
+            {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Message
+        {
+            get
+            {
+                return this.MessageField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.MessageField, value) != true))
+                {
+                    this.MessageField = value;
+                    this.RaisePropertyChanged("Message");
+                }
+            }
+        }
+        
+        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+        
+        protected void RaisePropertyChanged(string propertyName)
+        {
+            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+            if ((propertyChanged != null))
+            {
+                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
             }
         }
@@ -980,15 +1082,39 @@
         System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Algorithm> GetAlgorithms(string platformName);
         
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetAlgorithms", ReplyAction="http://tempuri.org/IRunCreationService/GetAlgorithmsResponse")]
+        System.Threading.Tasks.Task<System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Algorithm>> GetAlgorithmsAsync(string platformName);
+        
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetAlgorithmData", ReplyAction="http://tempuri.org/IRunCreationService/GetAlgorithmDataResponse")]
         byte[] GetAlgorithmData(long algorithmId);
         
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetAlgorithmData", ReplyAction="http://tempuri.org/IRunCreationService/GetAlgorithmDataResponse")]
+        System.Threading.Tasks.Task<byte[]> GetAlgorithmDataAsync(long algorithmId);
+        
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetProblems", ReplyAction="http://tempuri.org/IRunCreationService/GetProblemsResponse")]
         System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Problem> GetProblems(string platformName);
         
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetProblems", ReplyAction="http://tempuri.org/IRunCreationService/GetProblemsResponse")]
+        System.Threading.Tasks.Task<System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Problem>> GetProblemsAsync(string platformName);
+        
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetProblemData", ReplyAction="http://tempuri.org/IRunCreationService/GetProblemDataResponse")]
         byte[] GetProblemData(long problemId);
         
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/GetProblemData", ReplyAction="http://tempuri.org/IRunCreationService/GetProblemDataResponse")]
+        System.Threading.Tasks.Task<byte[]> GetProblemDataAsync(long problemId);
+        
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/AddRun", ReplyAction="http://tempuri.org/IRunCreationService/AddRunResponse")]
         void AddRun(HeuristicLab.Clients.OKB.RunCreation.Run run);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/AddRun", ReplyAction="http://tempuri.org/IRunCreationService/AddRunResponse")]
+        System.Threading.Tasks.Task AddRunAsync(HeuristicLab.Clients.OKB.RunCreation.Run run);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/SetCharacteristicValue", ReplyAction="http://tempuri.org/IRunCreationService/SetCharacteristicValueResponse")]
+        [System.ServiceModel.FaultContractAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.MissingProblem), Action="http://tempuri.org/IRunCreationService/SetCharacteristicValueMissingProblemFault", Name="MissingProblem", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation")]
+        [System.ServiceModel.FaultContractAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.UnknownCharacteristicType), Action="http://tempuri.org/IRunCreationService/SetCharacteristicValueUnknownCharacteristi" +
+            "cTypeFault", Name="UnknownCharacteristicType", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation")]
+        void SetCharacteristicValue(long problemId, string characteristicName, HeuristicLab.Clients.OKB.RunCreation.Value value);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IRunCreationService/SetCharacteristicValue", ReplyAction="http://tempuri.org/IRunCreationService/SetCharacteristicValueResponse")]
+        System.Threading.Tasks.Task SetCharacteristicValueAsync(long problemId, string characteristicName, HeuristicLab.Clients.OKB.RunCreation.Value value);
     }
     
@@ -1032,4 +1158,9 @@
         }
         
+        public System.Threading.Tasks.Task<System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Algorithm>> GetAlgorithmsAsync(string platformName)
+        {
+            return base.Channel.GetAlgorithmsAsync(platformName);
+        }
+        
         public byte[] GetAlgorithmData(long algorithmId)
         {
@@ -1037,4 +1168,9 @@
         }
         
+        public System.Threading.Tasks.Task<byte[]> GetAlgorithmDataAsync(long algorithmId)
+        {
+            return base.Channel.GetAlgorithmDataAsync(algorithmId);
+        }
+        
         public System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Problem> GetProblems(string platformName)
         {
@@ -1042,4 +1178,9 @@
         }
         
+        public System.Threading.Tasks.Task<System.Collections.Generic.List<HeuristicLab.Clients.OKB.RunCreation.Problem>> GetProblemsAsync(string platformName)
+        {
+            return base.Channel.GetProblemsAsync(platformName);
+        }
+        
         public byte[] GetProblemData(long problemId)
         {
@@ -1047,8 +1188,28 @@
         }
         
+        public System.Threading.Tasks.Task<byte[]> GetProblemDataAsync(long problemId)
+        {
+            return base.Channel.GetProblemDataAsync(problemId);
+        }
+        
         public void AddRun(HeuristicLab.Clients.OKB.RunCreation.Run run)
         {
             base.Channel.AddRun(run);
         }
+        
+        public System.Threading.Tasks.Task AddRunAsync(HeuristicLab.Clients.OKB.RunCreation.Run run)
+        {
+            return base.Channel.AddRunAsync(run);
+        }
+        
+        public void SetCharacteristicValue(long problemId, string characteristicName, HeuristicLab.Clients.OKB.RunCreation.Value value)
+        {
+            base.Channel.SetCharacteristicValue(problemId, characteristicName, value);
+        }
+        
+        public System.Threading.Tasks.Task SetCharacteristicValueAsync(long problemId, string characteristicName, HeuristicLab.Clients.OKB.RunCreation.Value value)
+        {
+            return base.Channel.SetCharacteristicValueAsync(problemId, characteristicName, value);
+        }
     }
 }
Index: /trunk/sources/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/StringValue.cs
===================================================================
--- /trunk/sources/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/StringValue.cs	(revision 13503)
+++ /trunk/sources/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/StringValue.cs	(revision 13503)
@@ -0,0 +1,31 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2016 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.Clients.OKB.RunCreation {
+  public partial class StringValue {
+    public StringValue() {
+      DataType = new DataType() {
+        Name = typeof(string).Name,
+        TypeName = typeof(string).AssemblyQualifiedName
+      };
+    }
+  }
+}
Index: /trunk/sources/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/TimeSpanValue.cs
===================================================================
--- /trunk/sources/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/TimeSpanValue.cs	(revision 13503)
+++ /trunk/sources/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/TimeSpanValue.cs	(revision 13503)
@@ -0,0 +1,31 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2016 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.Clients.OKB.RunCreation {
+  public partial class TimeSpanValue {
+    public TimeSpanValue() {
+      DataType = new DataType() {
+        Name = typeof(long).Name,
+        TypeName = typeof(long).AssemblyQualifiedName
+      };
+    }
+  }
+}
Index: /trunk/sources/HeuristicLab.Services.OKB/3.3/RunCreation/UnknownCharacteristicType.cs
===================================================================
--- /trunk/sources/HeuristicLab.Services.OKB/3.3/RunCreation/UnknownCharacteristicType.cs	(revision 13502)
+++ /trunk/sources/HeuristicLab.Services.OKB/3.3/RunCreation/UnknownCharacteristicType.cs	(revision 13503)
@@ -1,3 +1,24 @@
-﻿using System.Runtime.Serialization;
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2016 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.Runtime.Serialization;
 
 namespace HeuristicLab.Services.OKB.RunCreation {
