Index: /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Core/DataSet.cs
===================================================================
--- /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Core/DataSet.cs	(revision 991)
+++ /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Core/DataSet.cs	(revision 992)
@@ -30,5 +30,5 @@
 
 namespace HeuristicLab.CEDMA.Core {
-  public class DataSet {
+  public class DataSet : IViewable {
     public IStore Store { get; set; }
 
@@ -51,4 +51,5 @@
       : base() {
       guid = Guid.NewGuid();
+      name = "Data set";
       problem = new Problem();
     }
@@ -59,10 +60,10 @@
       guid = new Guid(dataSetEntity.Uri.Remove(0, Ontology.CedmaNameSpace.Length));
       IList<Statement> names = store.Select(new Statement(dataSetEntity, Ontology.PredicateName, Ontology.AnyEntity));
-      if (names.Count > 0) name = (string)((Literal)names[0].Property).Value;
+      if(names.Count > 0) name = (string)((Literal)names[0].Property).Value;
       else name = guid.ToString();
     }
 
     public void Activate() {
-      Entity myEntity = new Entity (Ontology.CedmaNameSpace + Guid);
+      Entity myEntity = new Entity(Ontology.CedmaNameSpace + Guid);
       Store.Add(new Statement(myEntity, Ontology.PredicateInstanceOf, Ontology.TypeDataSet));
       Store.Add(new Statement(myEntity, Ontology.PredicateSerializedData, new Literal(PersistenceManager.SaveToGZip(problem))));
Index: /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Core/DataSetList.cs
===================================================================
--- /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Core/DataSetList.cs	(revision 991)
+++ /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Core/DataSetList.cs	(revision 992)
@@ -59,5 +59,4 @@
     private void ReloadList() {
       IList<Statement> statements = store.Select(new Statement(Ontology.AnyEntity, Ontology.PredicateInstanceOf, Ontology.TypeDataSet));
-
       foreach(Statement s in statements) {
         DataSet d = new DataSet(store, s.Subject);
Index: /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Core/DataSetListView.Designer.cs
===================================================================
--- /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Core/DataSetListView.Designer.cs	(revision 991)
+++ /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Core/DataSetListView.Designer.cs	(revision 992)
@@ -48,10 +48,10 @@
     /// </summary>
     private void InitializeComponent() {
+      this.refreshButton = new System.Windows.Forms.Button();
+      this.addButton = new System.Windows.Forms.Button();
       this.splitContainer1 = new System.Windows.Forms.SplitContainer();
       this.dataSetsGroupBox = new System.Windows.Forms.GroupBox();
-      this.dataSetsTreeView = new System.Windows.Forms.TreeView();
+      this.dataSetsListView = new System.Windows.Forms.ListView();
       this.detailsGroupBox = new System.Windows.Forms.GroupBox();
-      this.addButton = new System.Windows.Forms.Button();
-      this.refreshButton = new System.Windows.Forms.Button();
       this.splitContainer1.Panel1.SuspendLayout();
       this.splitContainer1.Panel2.SuspendLayout();
@@ -59,4 +59,26 @@
       this.dataSetsGroupBox.SuspendLayout();
       this.SuspendLayout();
+      // 
+      // refreshButton
+      // 
+      this.refreshButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
+      this.refreshButton.Location = new System.Drawing.Point(81, 161);
+      this.refreshButton.Name = "refreshButton";
+      this.refreshButton.Size = new System.Drawing.Size(75, 23);
+      this.refreshButton.TabIndex = 2;
+      this.refreshButton.Text = "&Refresh";
+      this.refreshButton.UseVisualStyleBackColor = true;
+      this.refreshButton.Click += new System.EventHandler(this.refreshButton_Click);
+      // 
+      // addButton
+      // 
+      this.addButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
+      this.addButton.Location = new System.Drawing.Point(0, 161);
+      this.addButton.Name = "addButton";
+      this.addButton.Size = new System.Drawing.Size(75, 23);
+      this.addButton.TabIndex = 1;
+      this.addButton.Text = "&Add...";
+      this.addButton.UseVisualStyleBackColor = true;
+      this.addButton.Click += new System.EventHandler(this.addButton_Click);
       // 
       // splitContainer1
@@ -82,5 +104,5 @@
       // dataSetsGroupBox
       // 
-      this.dataSetsGroupBox.Controls.Add(this.dataSetsTreeView);
+      this.dataSetsGroupBox.Controls.Add(this.dataSetsListView);
       this.dataSetsGroupBox.Dock = System.Windows.Forms.DockStyle.Fill;
       this.dataSetsGroupBox.Location = new System.Drawing.Point(0, 0);
@@ -91,12 +113,15 @@
       this.dataSetsGroupBox.Text = "&Data Sets";
       // 
-      // agentTreeView
+      // dataSetsListView
       // 
-      this.dataSetsTreeView.Dock = System.Windows.Forms.DockStyle.Fill;
-      this.dataSetsTreeView.Location = new System.Drawing.Point(3, 16);
-      this.dataSetsTreeView.Name = "agentTreeView";
-      this.dataSetsTreeView.Size = new System.Drawing.Size(129, 136);
-      this.dataSetsTreeView.TabIndex = 0;
-      this.dataSetsTreeView.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.dataSetsTreeView_AfterSelect);
+      this.dataSetsListView.Dock = System.Windows.Forms.DockStyle.Fill;
+      this.dataSetsListView.Location = new System.Drawing.Point(3, 16);
+      this.dataSetsListView.MultiSelect = false;
+      this.dataSetsListView.Name = "dataSetsListView";
+      this.dataSetsListView.Size = new System.Drawing.Size(129, 136);
+      this.dataSetsListView.TabIndex = 0;
+      this.dataSetsListView.UseCompatibleStateImageBehavior = false;
+      this.dataSetsListView.View = System.Windows.Forms.View.List;
+      this.dataSetsListView.SelectedIndexChanged += new System.EventHandler(this.dataSetsListView_SelectedIndexChanged);
       // 
       // detailsGroupBox
@@ -109,26 +134,4 @@
       this.detailsGroupBox.TabStop = false;
       this.detailsGroupBox.Text = "&Details";
-      // 
-      // addButton
-      // 
-      this.addButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
-      this.addButton.Location = new System.Drawing.Point(0, 161);
-      this.addButton.Name = "addButton";
-      this.addButton.Size = new System.Drawing.Size(75, 23);
-      this.addButton.TabIndex = 1;
-      this.addButton.Text = "&Add...";
-      this.addButton.UseVisualStyleBackColor = true;
-      this.addButton.Click += new System.EventHandler(this.addButton_Click);
-      // 
-      // refreshButton
-      // 
-      this.refreshButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
-      this.refreshButton.Location = new System.Drawing.Point(81, 161);
-      this.refreshButton.Name = "refreshButton";
-      this.refreshButton.Size = new System.Drawing.Size(75, 23);
-      this.refreshButton.TabIndex = 2;
-      this.refreshButton.Text = "&Refresh";
-      this.refreshButton.UseVisualStyleBackColor = true;
-      this.refreshButton.Click += new System.EventHandler(this.refreshButton_Click);
       // 
       // DataSetListView
@@ -154,6 +157,6 @@
     private System.Windows.Forms.GroupBox detailsGroupBox;
     private System.Windows.Forms.Button addButton;
-    private TreeView dataSetsTreeView;
     private Button refreshButton;
+    private ListView dataSetsListView;
   }
 }
Index: /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Core/DataSetListView.cs
===================================================================
--- /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Core/DataSetListView.cs	(revision 991)
+++ /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Core/DataSetListView.cs	(revision 992)
@@ -31,5 +31,5 @@
 namespace HeuristicLab.CEDMA.Core {
   public partial class DataSetListView : ViewBase {
-    public DataSetList DataSetList{
+    public DataSetList DataSetList {
       get { return (DataSetList)Item; }
       set { base.Item = value; }
@@ -56,14 +56,13 @@
       if(DataSetList == null) {
         Caption = "Data Sets View";
-        dataSetsTreeView.Enabled = false;
+        dataSetsListView.Enabled = false;
       } else {
-        dataSetsTreeView.Enabled = true;
-        dataSetsTreeView.Nodes.Clear();
+        dataSetsListView.Enabled = true;
+        dataSetsListView.Items.Clear();
         foreach(DataSet dataSet in DataSetList) {
-          TreeNode node = new TreeNode();
+          ListViewItem node = new ListViewItem();
           node.Text = dataSet.Name;
           node.Tag = dataSet;
-          node.Nodes.Add("dummy");
-          dataSetsTreeView.Nodes.Add(node);
+          dataSetsListView.Items.Add(node);
         }
       }
@@ -73,16 +72,15 @@
     private void addButton_Click(object sender, EventArgs e) {
       DataSet dataSet = new DataSet();
+      dataSet.Store = DataSetList.Store;
       DataSetList.Add(dataSet);
       UpdateControls();
     }
-    #endregion
-
-    private void dataSetsTreeView_AfterSelect(object sender, TreeViewEventArgs e) {
-      if(detailsGroupBox.Controls.Count > 0)
-        detailsGroupBox.Controls[0].Dispose();
-      detailsGroupBox.Controls.Clear();
-      detailsGroupBox.Enabled = false;
-      if(dataSetsTreeView.SelectedNode != null) {
-        IViewable viewable = (IViewable)dataSetsTreeView.SelectedNode.Tag;
+    private void dataSetsListView_SelectedIndexChanged(object sender, EventArgs e) {
+      if(dataSetsListView.SelectedItems.Count > 0) {
+        if(detailsGroupBox.Controls.Count > 0)
+          detailsGroupBox.Controls[0].Dispose();
+        detailsGroupBox.Controls.Clear();
+        detailsGroupBox.Enabled = false;
+        IViewable viewable = (IViewable)dataSetsListView.SelectedItems[0].Tag;
         Control control = (Control)viewable.CreateView();
         detailsGroupBox.Controls.Add(control);
@@ -91,4 +89,6 @@
       }
     }
+    #endregion
+
 
     private void refreshButton_Click(object sender, EventArgs e) {
Index: /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Core/HeuristicLab.CEDMA.Core.csproj
===================================================================
--- /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Core/HeuristicLab.CEDMA.Core.csproj	(revision 991)
+++ /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Core/HeuristicLab.CEDMA.Core.csproj	(revision 992)
@@ -92,4 +92,10 @@
     </Compile>
     <Compile Include="HeuristicLabCedmaCorePlugin.cs" />
+    <Compile Include="ProblemView.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="ProblemView.Designer.cs">
+      <DependentUpon>ProblemView.cs</DependentUpon>
+    </Compile>
     <Compile Include="Properties\AssemblyInfo.cs" />
   </ItemGroup>
@@ -109,4 +115,8 @@
       <Project>{F43B59AB-2B8C-4570-BC1E-15592086517C}</Project>
       <Name>HeuristicLab.Core</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\HeuristicLab.DataAnalysis\HeuristicLab.DataAnalysis.csproj">
+      <Project>{7DD3A97A-56E9-462F-90E2-A351FE7AF5C2}</Project>
+      <Name>HeuristicLab.DataAnalysis</Name>
     </ProjectReference>
     <ProjectReference Include="..\HeuristicLab.Operators\HeuristicLab.Operators.csproj">
@@ -130,4 +140,7 @@
       <DependentUpon>DataSetView.cs</DependentUpon>
     </EmbeddedResource>
+    <EmbeddedResource Include="ProblemView.resx">
+      <DependentUpon>ProblemView.cs</DependentUpon>
+    </EmbeddedResource>
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
Index: /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Core/Problem.cs
===================================================================
--- /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Core/Problem.cs	(revision 991)
+++ /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Core/Problem.cs	(revision 992)
@@ -41,4 +41,65 @@
       get { return name; }
     }
+    private HeuristicLab.DataAnalysis.Dataset dataset;
+    public HeuristicLab.DataAnalysis.Dataset DataSet {
+      get { return dataset; }
+    }
+
+    private int trainingSamplesStart;
+    public int TrainingSamplesStart {
+      get { return trainingSamplesStart; }
+    }
+
+    private int trainingSamplesEnd;
+    public int TrainingSamplesEnd {
+      get { return trainingSamplesEnd; }
+    }
+
+    private int validationSamplesStart;
+
+    public int ValidationSamplesStart {
+      get { return validationSamplesStart; }
+      set { validationSamplesStart = value; }
+    }
+    private int validationSamplesEnd;
+
+    public int ValidationSamplesEnd {
+      get { return validationSamplesEnd; }
+      set { validationSamplesEnd = value; }
+    }
+
+    private int testSamplesStart;
+
+    public int TestSamplesStart {
+      get { return testSamplesStart; }
+      set { testSamplesStart = value; }
+    }
+    private int testSamplesEnd;
+
+    public int TestSamplesEnd {
+      get { return testSamplesEnd; }
+      set { testSamplesEnd = value; }
+    }
+
+    private List<int> allowedInputVariables;
+    private List<int> allowedTargetVariables;
+
+    private List<int> minTimeOffsets;
+    private List<int> maxTimeOffsets;
+
+    private bool autoRegressive;
+
+    public bool AutoRegressive {
+      get { return autoRegressive; }
+      set { autoRegressive = value; }
+    }
+
+    private bool timeSeries;
+
+    public bool TimeSeries {
+      get { return timeSeries; }
+      set { timeSeries = value; }
+    }
+
     public Problem()
       : base() {
Index: /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Core/ProblemView.Designer.cs
===================================================================
--- /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Core/ProblemView.Designer.cs	(revision 992)
+++ /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Core/ProblemView.Designer.cs	(revision 992)
@@ -0,0 +1,271 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 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.CEDMA.Core {
+  partial class ProblemView {
+    /// <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.importButton = new System.Windows.Forms.Button();
+      this.textBox1 = new System.Windows.Forms.TextBox();
+      this.trainingLabel = new System.Windows.Forms.Label();
+      this.textBox4 = new System.Windows.Forms.TextBox();
+      this.textBox2 = new System.Windows.Forms.TextBox();
+      this.textBox3 = new System.Windows.Forms.TextBox();
+      this.validationLabel = new System.Windows.Forms.Label();
+      this.textBox5 = new System.Windows.Forms.TextBox();
+      this.textBox6 = new System.Windows.Forms.TextBox();
+      this.testLabel = new System.Windows.Forms.Label();
+      this.datasetView = new HeuristicLab.DataAnalysis.DatasetView();
+      this.targetsListBox = new System.Windows.Forms.CheckedListBox();
+      this.inputsListBox = new System.Windows.Forms.CheckedListBox();
+      this.autoregressiveCheckBox = new System.Windows.Forms.CheckBox();
+      this.targetsGroupBox = new System.Windows.Forms.GroupBox();
+      this.inputsGroupBox = new System.Windows.Forms.GroupBox();
+      this.partitioningGroupBox = new System.Windows.Forms.GroupBox();
+      this.targetsGroupBox.SuspendLayout();
+      this.inputsGroupBox.SuspendLayout();
+      this.partitioningGroupBox.SuspendLayout();
+      this.SuspendLayout();
+      // 
+      // importButton
+      // 
+      this.importButton.Location = new System.Drawing.Point(3, 3);
+      this.importButton.Name = "importButton";
+      this.importButton.Size = new System.Drawing.Size(75, 23);
+      this.importButton.TabIndex = 0;
+      this.importButton.Text = "Import";
+      this.importButton.UseVisualStyleBackColor = true;
+      // 
+      // textBox1
+      // 
+      this.textBox1.Location = new System.Drawing.Point(119, 17);
+      this.textBox1.Name = "textBox1";
+      this.textBox1.Size = new System.Drawing.Size(96, 20);
+      this.textBox1.TabIndex = 4;
+      // 
+      // trainingLabel
+      // 
+      this.trainingLabel.AutoSize = true;
+      this.trainingLabel.Location = new System.Drawing.Point(13, 20);
+      this.trainingLabel.Name = "trainingLabel";
+      this.trainingLabel.Size = new System.Drawing.Size(89, 13);
+      this.trainingLabel.TabIndex = 3;
+      this.trainingLabel.Text = "Training samples:";
+      // 
+      // textBox4
+      // 
+      this.textBox4.Location = new System.Drawing.Point(221, 17);
+      this.textBox4.Name = "textBox4";
+      this.textBox4.Size = new System.Drawing.Size(96, 20);
+      this.textBox4.TabIndex = 10;
+      // 
+      // textBox2
+      // 
+      this.textBox2.Location = new System.Drawing.Point(221, 43);
+      this.textBox2.Name = "textBox2";
+      this.textBox2.Size = new System.Drawing.Size(96, 20);
+      this.textBox2.TabIndex = 13;
+      // 
+      // textBox3
+      // 
+      this.textBox3.Location = new System.Drawing.Point(119, 43);
+      this.textBox3.Name = "textBox3";
+      this.textBox3.Size = new System.Drawing.Size(96, 20);
+      this.textBox3.TabIndex = 12;
+      // 
+      // validationLabel
+      // 
+      this.validationLabel.AutoSize = true;
+      this.validationLabel.Location = new System.Drawing.Point(5, 48);
+      this.validationLabel.Name = "validationLabel";
+      this.validationLabel.Size = new System.Drawing.Size(97, 13);
+      this.validationLabel.TabIndex = 11;
+      this.validationLabel.Text = "Validation samples:";
+      // 
+      // textBox5
+      // 
+      this.textBox5.Location = new System.Drawing.Point(221, 68);
+      this.textBox5.Name = "textBox5";
+      this.textBox5.Size = new System.Drawing.Size(96, 20);
+      this.textBox5.TabIndex = 16;
+      // 
+      // textBox6
+      // 
+      this.textBox6.Location = new System.Drawing.Point(119, 68);
+      this.textBox6.Name = "textBox6";
+      this.textBox6.Size = new System.Drawing.Size(96, 20);
+      this.textBox6.TabIndex = 15;
+      // 
+      // testLabel
+      // 
+      this.testLabel.AutoSize = true;
+      this.testLabel.Location = new System.Drawing.Point(30, 71);
+      this.testLabel.Name = "testLabel";
+      this.testLabel.Size = new System.Drawing.Size(72, 13);
+      this.testLabel.TabIndex = 14;
+      this.testLabel.Text = "Test samples:";
+      // 
+      // datasetView
+      // 
+      this.datasetView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+                  | System.Windows.Forms.AnchorStyles.Left)
+                  | System.Windows.Forms.AnchorStyles.Right)));
+      this.datasetView.Caption = "Editor";
+      this.datasetView.Dataset = null;
+      this.datasetView.Filename = null;
+      this.datasetView.Location = new System.Drawing.Point(3, 32);
+      this.datasetView.Name = "datasetView";
+      this.datasetView.Size = new System.Drawing.Size(326, 221);
+      this.datasetView.TabIndex = 17;
+      // 
+      // targetsListBox
+      // 
+      this.targetsListBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+                  | System.Windows.Forms.AnchorStyles.Left)
+                  | System.Windows.Forms.AnchorStyles.Right)));
+      this.targetsListBox.FormattingEnabled = true;
+      this.targetsListBox.Location = new System.Drawing.Point(8, 15);
+      this.targetsListBox.Name = "targetsListBox";
+      this.targetsListBox.Size = new System.Drawing.Size(153, 79);
+      this.targetsListBox.TabIndex = 19;
+      // 
+      // inputsListBox
+      // 
+      this.inputsListBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+                  | System.Windows.Forms.AnchorStyles.Left)
+                  | System.Windows.Forms.AnchorStyles.Right)));
+      this.inputsListBox.FormattingEnabled = true;
+      this.inputsListBox.Location = new System.Drawing.Point(6, 15);
+      this.inputsListBox.Name = "inputsListBox";
+      this.inputsListBox.Size = new System.Drawing.Size(141, 79);
+      this.inputsListBox.TabIndex = 21;
+      // 
+      // autoregressiveCheckBox
+      // 
+      this.autoregressiveCheckBox.AutoSize = true;
+      this.autoregressiveCheckBox.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;
+      this.autoregressiveCheckBox.Location = new System.Drawing.Point(3, 471);
+      this.autoregressiveCheckBox.Name = "autoregressiveCheckBox";
+      this.autoregressiveCheckBox.Size = new System.Drawing.Size(102, 17);
+      this.autoregressiveCheckBox.TabIndex = 22;
+      this.autoregressiveCheckBox.Text = "Auto regressive:";
+      this.autoregressiveCheckBox.UseVisualStyleBackColor = true;
+      // 
+      // targetsGroupBox
+      // 
+      this.targetsGroupBox.Controls.Add(this.targetsListBox);
+      this.targetsGroupBox.Location = new System.Drawing.Point(3, 365);
+      this.targetsGroupBox.Name = "targetsGroupBox";
+      this.targetsGroupBox.Size = new System.Drawing.Size(167, 100);
+      this.targetsGroupBox.TabIndex = 23;
+      this.targetsGroupBox.TabStop = false;
+      this.targetsGroupBox.Text = "Target variables";
+      // 
+      // inputsGroupBox
+      // 
+      this.inputsGroupBox.Controls.Add(this.inputsListBox);
+      this.inputsGroupBox.Location = new System.Drawing.Point(176, 365);
+      this.inputsGroupBox.Name = "inputsGroupBox";
+      this.inputsGroupBox.Size = new System.Drawing.Size(153, 100);
+      this.inputsGroupBox.TabIndex = 24;
+      this.inputsGroupBox.TabStop = false;
+      this.inputsGroupBox.Text = "Input variables:";
+      // 
+      // partitioningGroupBox
+      // 
+      this.partitioningGroupBox.Controls.Add(this.textBox2);
+      this.partitioningGroupBox.Controls.Add(this.trainingLabel);
+      this.partitioningGroupBox.Controls.Add(this.textBox1);
+      this.partitioningGroupBox.Controls.Add(this.textBox4);
+      this.partitioningGroupBox.Controls.Add(this.validationLabel);
+      this.partitioningGroupBox.Controls.Add(this.textBox5);
+      this.partitioningGroupBox.Controls.Add(this.textBox3);
+      this.partitioningGroupBox.Controls.Add(this.textBox6);
+      this.partitioningGroupBox.Controls.Add(this.testLabel);
+      this.partitioningGroupBox.Location = new System.Drawing.Point(3, 259);
+      this.partitioningGroupBox.Name = "partitioningGroupBox";
+      this.partitioningGroupBox.Size = new System.Drawing.Size(326, 100);
+      this.partitioningGroupBox.TabIndex = 25;
+      this.partitioningGroupBox.TabStop = false;
+      this.partitioningGroupBox.Text = "Data set partitions:";
+      // 
+      // ProblemView
+      // 
+      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+      this.Controls.Add(this.partitioningGroupBox);
+      this.Controls.Add(this.inputsGroupBox);
+      this.Controls.Add(this.targetsGroupBox);
+      this.Controls.Add(this.autoregressiveCheckBox);
+      this.Controls.Add(this.datasetView);
+      this.Controls.Add(this.importButton);
+      this.Name = "ProblemView";
+      this.Size = new System.Drawing.Size(337, 569);
+      this.targetsGroupBox.ResumeLayout(false);
+      this.inputsGroupBox.ResumeLayout(false);
+      this.partitioningGroupBox.ResumeLayout(false);
+      this.partitioningGroupBox.PerformLayout();
+      this.ResumeLayout(false);
+      this.PerformLayout();
+
+    }
+
+    #endregion
+
+    private System.Windows.Forms.Button importButton;
+    private System.Windows.Forms.TextBox textBox1;
+    private System.Windows.Forms.Label trainingLabel;
+    private System.Windows.Forms.TextBox textBox4;
+    private System.Windows.Forms.TextBox textBox2;
+    private System.Windows.Forms.TextBox textBox3;
+    private System.Windows.Forms.Label validationLabel;
+    private System.Windows.Forms.TextBox textBox5;
+    private System.Windows.Forms.TextBox textBox6;
+    private System.Windows.Forms.Label testLabel;
+    private HeuristicLab.DataAnalysis.DatasetView datasetView;
+    private System.Windows.Forms.CheckedListBox targetsListBox;
+    private System.Windows.Forms.CheckedListBox inputsListBox;
+    private System.Windows.Forms.CheckBox autoregressiveCheckBox;
+    private System.Windows.Forms.GroupBox targetsGroupBox;
+    private System.Windows.Forms.GroupBox inputsGroupBox;
+    private System.Windows.Forms.GroupBox partitioningGroupBox;
+  }
+}
Index: /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Core/ProblemView.cs
===================================================================
--- /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Core/ProblemView.cs	(revision 992)
+++ /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Core/ProblemView.cs	(revision 992)
@@ -0,0 +1,41 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 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.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+using HeuristicLab.Core;
+
+namespace HeuristicLab.CEDMA.Core {
+  public partial class ProblemView : ViewBase {
+    private Problem problem;
+
+    public ProblemView(Problem problem) {
+      this.problem = problem;
+      InitializeComponent();
+    }
+  }
+}
Index: /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Core/ProblemView.resx
===================================================================
--- /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Core/ProblemView.resx	(revision 992)
+++ /branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Core/ProblemView.resx	(revision 992)
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+</root>
