Index: trunk/sources/HeuristicLab.SequentialEngine/3.3/HeuristicLab.SequentialEngine-3.3.csproj
===================================================================
--- trunk/sources/HeuristicLab.SequentialEngine/3.3/HeuristicLab.SequentialEngine-3.3.csproj	(revision 2591)
+++ trunk/sources/HeuristicLab.SequentialEngine/3.3/HeuristicLab.SequentialEngine-3.3.csproj	(revision 2656)
@@ -78,6 +78,4 @@
     </Reference>
     <Reference Include="System.Data" />
-    <Reference Include="System.Drawing" />
-    <Reference Include="System.Windows.Forms" />
     <Reference Include="System.Xml" />
   </ItemGroup>
@@ -86,10 +84,4 @@
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="SequentialEngine.cs" />
-    <Compile Include="SequentialEngineView.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="SequentialEngineView.Designer.cs">
-      <DependentUpon>SequentialEngineView.cs</DependentUpon>
-    </Compile>
   </ItemGroup>
   <ItemGroup>
@@ -98,19 +90,7 @@
   </ItemGroup>
   <ItemGroup>
-    <ProjectReference Include="..\..\HeuristicLab.Core.Views\3.3\HeuristicLab.Core.Views-3.3.csproj">
-      <Project>{E226881D-315F-423D-B419-A766FE0D8685}</Project>
-      <Name>HeuristicLab.Core.Views-3.3</Name>
-    </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.Core\3.3\HeuristicLab.Core-3.3.csproj">
       <Project>{C36BD924-A541-4A00-AFA8-41701378DDC5}</Project>
       <Name>HeuristicLab.Core-3.3</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\..\HeuristicLab.MainForm.WindowsForms\3.2\HeuristicLab.MainForm.WindowsForms-3.2.csproj">
-      <Project>{AB687BBE-1BFE-476B-906D-44237135431D}</Project>
-      <Name>HeuristicLab.MainForm.WindowsForms-3.2</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\..\HeuristicLab.MainForm\3.2\HeuristicLab.MainForm-3.2.csproj">
-      <Project>{3BD61258-31DA-4B09-89C0-4F71FEF5F05A}</Project>
-      <Name>HeuristicLab.MainForm-3.2</Name>
     </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.Persistence\3.3\HeuristicLab.Persistence-3.3.csproj">
Index: trunk/sources/HeuristicLab.SequentialEngine/3.3/HeuristicLabSequentialEnginePlugin.cs
===================================================================
--- trunk/sources/HeuristicLab.SequentialEngine/3.3/HeuristicLabSequentialEnginePlugin.cs	(revision 2591)
+++ trunk/sources/HeuristicLab.SequentialEngine/3.3/HeuristicLabSequentialEnginePlugin.cs	(revision 2656)
@@ -29,10 +29,8 @@
   /// Plugin class for HeuristicLab.SequentialEngine plugin.
   /// </summary>
-  [ClassInfo(Name = "HeuristicLab.SequentialEngine-3.3")]
-  [PluginFile(Filename = "HeuristicLab.SequentialEngine-3.3.dll", Filetype = PluginFileType.Assembly)]
-  [Dependency(Dependency = "HeuristicLab.Core-3.3")]
-  [Dependency(Dependency = "HeuristicLab.Core.Views-3.3")]
-  [Dependency(Dependency = "HeuristicLab.MainForm-3.2")]
-  [Dependency(Dependency = "HeuristicLab.MainForm.WindowsForms-3.2")]
+  [Plugin("HeuristicLab.SequentialEngine-3.3")]
+  [PluginFile("HeuristicLab.SequentialEngine-3.3.dll", PluginFileType.Assembly)]
+  [PluginDependency("HeuristicLab.Persistence-3.3")]
+  [PluginDependency("HeuristicLab.Core-3.3")]
   public class HeuristicLabSequentialEnginePlugin : PluginBase {
   }
Index: trunk/sources/HeuristicLab.SequentialEngine/3.3/SequentialEngine.cs
===================================================================
--- trunk/sources/HeuristicLab.SequentialEngine/3.3/SequentialEngine.cs	(revision 2591)
+++ trunk/sources/HeuristicLab.SequentialEngine/3.3/SequentialEngine.cs	(revision 2656)
@@ -24,5 +24,4 @@
 using System.Text;
 using HeuristicLab.Core;
-using System.Threading;
 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
 
@@ -43,6 +42,6 @@
     /// <remarks>Calls <see cref="EngineBase.Abort"/> of base class <see cref="EngineBase"/> and
     /// <see cref="IOperator.Abort"/> of the current <see cref="IOperator"/>.</remarks>
-    public override void Abort() {
-      base.Abort();
+    public override void Stop() {
+      base.Stop();
       if (currentOperator != null)
         currentOperator.Abort();
@@ -56,28 +55,24 @@
     /// is pushed on the stack again.<br/>
     /// If the execution was successful <see cref="EngineBase.OnOperationExecuted"/> is called.</remarks>
-    protected override void ProcessNextOperation() {
-      IOperation operation = myExecutionStack.Pop();
-      if (operation is AtomicOperation) {
-        AtomicOperation atomicOperation = (AtomicOperation)operation;
-        IOperation next = null;
-        try {
-          currentOperator = atomicOperation.Operator;
-          next = atomicOperation.Operator.Execute(atomicOperation.Scope);
-        }
-        catch (Exception ex) {
-          // push operation on stack again
-          myExecutionStack.Push(atomicOperation);
-          Abort();
-          ThreadPool.QueueUserWorkItem(delegate(object state) { OnExceptionOccurred(ex);});
-        }
-        if (next != null)
-          myExecutionStack.Push(next);
-        OnOperationExecuted(atomicOperation);
-        if (atomicOperation.Operator.Breakpoint) Abort();
-      } else if (operation is CompositeOperation) {
-        CompositeOperation compositeOperation = (CompositeOperation)operation;
-        for (int i = compositeOperation.Operations.Count - 1; i >= 0; i--)
-          myExecutionStack.Push(compositeOperation.Operations[i]);
+    protected override void ProcessNextOperator() {
+      currentOperator = null;
+      ExecutionContext context = ExecutionStack.Pop();
+      ExecutionContextCollection next = null;
+      try {
+        currentOperator = context.Operator;
+        next = context.Operator.Execute(context);
+        currentOperator = null;
       }
+      catch (Exception ex) {
+        ExecutionStack.Push(context);
+        Stop();
+        OnExceptionOccurred(ex);
+      }
+      if (next != null) {
+        for (int i = next.Count - 1; i >= 0; i--)
+          ExecutionStack.Push(next[i]);
+      }
+      if (context.Operator.Breakpoint)
+        Stop();
     }
   }
Index: trunk/sources/HeuristicLab.SequentialEngine/3.3/SequentialEngineView.Designer.cs
===================================================================
--- trunk/sources/HeuristicLab.SequentialEngine/3.3/SequentialEngineView.Designer.cs	(revision 2591)
+++ 	(revision )
@@ -1,91 +1,0 @@
-#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.SequentialEngine {
-  partial class SequentialEngineView {
-    /// <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.splitContainer1.Panel1.SuspendLayout();
-      this.splitContainer1.Panel2.SuspendLayout();
-      this.splitContainer1.SuspendLayout();
-      this.operatorGraphGroupBox.SuspendLayout();
-      this.globalScopeGroupBox.SuspendLayout();
-      this.SuspendLayout();
-      // 
-      // splitContainer1
-      // 
-      this.splitContainer1.SplitterDistance = 495;
-      // 
-      // operatorGraphGroupBox
-      // 
-      this.operatorGraphGroupBox.Size = new System.Drawing.Size(495, 441);
-      // 
-      // globalScopeGroupBox
-      // 
-      this.globalScopeGroupBox.Size = new System.Drawing.Size(141, 441);
-      // 
-      // operatorGraphView
-      // 
-      this.operatorGraphView.Size = new System.Drawing.Size(489, 422);
-      // 
-      // scopeView
-      // 
-      this.scopeView.Size = new System.Drawing.Size(135, 422);
-      // 
-      // SequentialEngineEditor
-      // 
-      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
-      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-      this.Name = "SequentialEngineEditor";
-      this.splitContainer1.Panel1.ResumeLayout(false);
-      this.splitContainer1.Panel2.ResumeLayout(false);
-      this.splitContainer1.ResumeLayout(false);
-      this.operatorGraphGroupBox.ResumeLayout(false);
-      this.globalScopeGroupBox.ResumeLayout(false);
-      this.ResumeLayout(false);
-      this.PerformLayout();
-
-    }
-
-    #endregion
-  }
-}
Index: trunk/sources/HeuristicLab.SequentialEngine/3.3/SequentialEngineView.cs
===================================================================
--- trunk/sources/HeuristicLab.SequentialEngine/3.3/SequentialEngineView.cs	(revision 2591)
+++ 	(revision )
@@ -1,65 +1,0 @@
-#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.Text;
-using System.Windows.Forms;
-using HeuristicLab.Core;
-using HeuristicLab.Core.Views;
-using HeuristicLab.MainForm;
-
-namespace HeuristicLab.SequentialEngine {
-  /// <summary>
-  /// Visual representation of a <see cref="SequentialEngine"/>.
-  /// </summary>
-  [Content(typeof(SequentialEngine), true)]
-  public partial class SequentialEngineView : EngineBaseView {
-    /// <summary>
-    /// Gets or set the engine to represent visually.
-    /// </summary>
-    /// <remarks>Uses property <see cref="EngineBaseEditor.Engine"/> of base class 
-    /// <see cref="EngineBaseEditor"/>. No own data storage present.</remarks>
-    public SequentialEngine SequentialEngine {
-      get { return (SequentialEngine)Engine; }
-      set { base.Engine = value; }
-    }
-
-    /// <summary>
-    /// Initializes a new instance of <see cref="SequentialEngineEditor"/>.
-    /// </summary>
-    public SequentialEngineView() {
-      InitializeComponent();
-    }
-    /// <summary>
-    /// Initializes a new instance of <see cref="SequentialEngineEditor"/> with the given
-    /// <paramref name="sequentialEngine"/>.
-    /// </summary>
-    /// <param name="sequentialEngine">The engine to display.</param>
-    public SequentialEngineView(SequentialEngine sequentialEngine)
-      : this() {
-      SequentialEngine = sequentialEngine;
-    }
-  }
-}
