Index: /branches/MPI/HeuristicLab 3.3.sln
===================================================================
--- /branches/MPI/HeuristicLab 3.3.sln	(revision 6348)
+++ /branches/MPI/HeuristicLab 3.3.sln	(revision 6349)
@@ -165,4 +165,5 @@
 		{96AEBBEE-4203-45F3-BCF5-7B73BF256BDA} = {96AEBBEE-4203-45F3-BCF5-7B73BF256BDA}
 		{5A4679EF-A8F3-4647-B722-441A36B3BA6B} = {5A4679EF-A8F3-4647-B722-441A36B3BA6B}
+		{7B1579F2-6EFC-4C48-B41C-C3292639FF5B} = {7B1579F2-6EFC-4C48-B41C-C3292639FF5B}
 		{BF1E4DF4-A4CC-451F-9D50-303F405E265E} = {BF1E4DF4-A4CC-451F-9D50-303F405E265E}
 		{23DA7FF4-D5B8-41B6-AA96-F0561D24F3EE} = {23DA7FF4-D5B8-41B6-AA96-F0561D24F3EE}
@@ -406,5 +407,7 @@
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Operators.MPISupport-3.3", "HeuristicLab.Operators.MPISupport\3.3\HeuristicLab.Operators.MPISupport-3.3.csproj", "{6BD69CDA-4875-4045-8B35-6FD4602854F5}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MPIAlgorithmRunner", "HeuristicLab.ExtLibs\HeuristicLab.MPInet\MPIAlgorithmRunner\MPIAlgorithmRunner.csproj", "{62C3B458-430E-4EF4-8250-C50BCF94D035}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.MPIAlgorithmRunner-3.3", "HeuristicLab.ExtLibs\HeuristicLab.MPInet\MPIAlgorithmRunner\3.3\HeuristicLab.MPIAlgorithmRunner-3.3.csproj", "{62C3B458-430E-4EF4-8250-C50BCF94D035}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.MPIEngine-3.3", "HeuristicLab.MPIEngine\3.3\HeuristicLab.MPIEngine-3.3.csproj", "{7B1579F2-6EFC-4C48-B41C-C3292639FF5B}"
 EndProject
 Global
@@ -1897,4 +1900,16 @@
 		{62C3B458-430E-4EF4-8250-C50BCF94D035}.Release|x86.ActiveCfg = Release|x86
 		{62C3B458-430E-4EF4-8250-C50BCF94D035}.Release|x86.Build.0 = Release|x86
+		{7B1579F2-6EFC-4C48-B41C-C3292639FF5B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{7B1579F2-6EFC-4C48-B41C-C3292639FF5B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{7B1579F2-6EFC-4C48-B41C-C3292639FF5B}.Debug|x64.ActiveCfg = Debug|x64
+		{7B1579F2-6EFC-4C48-B41C-C3292639FF5B}.Debug|x64.Build.0 = Debug|x64
+		{7B1579F2-6EFC-4C48-B41C-C3292639FF5B}.Debug|x86.ActiveCfg = Debug|x86
+		{7B1579F2-6EFC-4C48-B41C-C3292639FF5B}.Debug|x86.Build.0 = Debug|x86
+		{7B1579F2-6EFC-4C48-B41C-C3292639FF5B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{7B1579F2-6EFC-4C48-B41C-C3292639FF5B}.Release|Any CPU.Build.0 = Release|Any CPU
+		{7B1579F2-6EFC-4C48-B41C-C3292639FF5B}.Release|x64.ActiveCfg = Release|x64
+		{7B1579F2-6EFC-4C48-B41C-C3292639FF5B}.Release|x64.Build.0 = Release|x64
+		{7B1579F2-6EFC-4C48-B41C-C3292639FF5B}.Release|x86.ActiveCfg = Release|x86
+		{7B1579F2-6EFC-4C48-B41C-C3292639FF5B}.Release|x86.Build.0 = Release|x86
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
Index: /branches/MPI/HeuristicLab.MPIEngine/3.3/HeuristicLab.MPIEngine-3.3.csproj
===================================================================
--- /branches/MPI/HeuristicLab.MPIEngine/3.3/HeuristicLab.MPIEngine-3.3.csproj	(revision 6349)
+++ /branches/MPI/HeuristicLab.MPIEngine/3.3/HeuristicLab.MPIEngine-3.3.csproj	(revision 6349)
@@ -0,0 +1,158 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>8.0.30703</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{7B1579F2-6EFC-4C48-B41C-C3292639FF5B}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>HeuristicLab.MPIEngine</RootNamespace>
+    <AssemblyName>HeuristicLab.MPIEngine-3.3</AssemblyName>
+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <TargetFrameworkProfile>
+    </TargetFrameworkProfile>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup>
+    <SignAssembly>true</SignAssembly>
+  </PropertyGroup>
+  <PropertyGroup>
+    <AssemblyOriginatorKeyFile>HeuristicLab.snk</AssemblyOriginatorKeyFile>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\x64\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <CodeAnalysisLogFile>bin\Debug\HeuristicLab.MPIEngine-3.3.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile>
+    <CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
+    <CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRuleSetDirectories>;C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
+    <CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
+    <CodeAnalysisRuleDirectories>;C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
+    <CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
+    <OutputPath>bin\x64\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <CodeAnalysisLogFile>bin\Release\HeuristicLab.MPIEngine-3.3.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile>
+    <CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
+    <CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRuleSetDirectories>;C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
+    <CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
+    <CodeAnalysisRuleDirectories>;C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
+    <CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\x86\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <CodeAnalysisLogFile>bin\Debug\HeuristicLab.MPIEngine-3.3.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile>
+    <CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
+    <CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRuleSetDirectories>;C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
+    <CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
+    <CodeAnalysisRuleDirectories>;C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
+    <CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
+    <OutputPath>bin\x86\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <CodeAnalysisLogFile>bin\Release\HeuristicLab.MPIEngine-3.3.dll.CodeAnalysisLog.xml</CodeAnalysisLogFile>
+    <CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
+    <CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRuleSetDirectories>;C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
+    <CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
+    <CodeAnalysisRuleDirectories>;C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
+    <CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Xml.Linq" />
+    <Reference Include="System.Data.DataSetExtensions" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="HeuristicLabMPIEnginePlugin.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="MPIEngine.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="HeuristicLab.snk" />
+    <None Include="HeuristicLabMPIEnginePlugin.cs.frame" />
+    <None Include="Properties\AssemblyInfo.frame" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\..\HeuristicLab.Common\3.3\HeuristicLab.Common-3.3.csproj">
+      <Project>{A9AD58B9-3EF9-4CC1-97E5-8D909039FF5C}</Project>
+      <Name>HeuristicLab.Common-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.Persistence\3.3\HeuristicLab.Persistence-3.3.csproj">
+      <Project>{102BC7D3-0EF9-439C-8F6D-96FF0FDB8E1B}</Project>
+      <Name>HeuristicLab.Persistence-3.3</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\3.3\HeuristicLab.PluginInfrastructure-3.3.csproj">
+      <Project>{94186A6A-5176-4402-AE83-886557B53CCA}</Project>
+      <Name>HeuristicLab.PluginInfrastructure-3.3</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <PropertyGroup>
+    <PreBuildEvent>set Path=%25Path%25;$(ProjectDir);$(SolutionDir)
+set ProjectDir=$(ProjectDir)
+set SolutionDir=$(SolutionDir)
+set Outdir=$(Outdir)
+
+call PreBuildEvent.cmd
+SubWCRev "%25ProjectDir%25\" "%25ProjectDir%25\HeuristicLabMPIEnginePlugin.cs.frame" "%25ProjectDir%25\HeuristicLabMPIEnginePlugin.cs"</PreBuildEvent>
+  </PropertyGroup>
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
Index: /branches/MPI/HeuristicLab.MPIEngine/3.3/HeuristicLabMPIEnginePlugin.cs.frame
===================================================================
--- /branches/MPI/HeuristicLab.MPIEngine/3.3/HeuristicLabMPIEnginePlugin.cs.frame	(revision 6349)
+++ /branches/MPI/HeuristicLab.MPIEngine/3.3/HeuristicLabMPIEnginePlugin.cs.frame	(revision 6349)
@@ -0,0 +1,40 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2011 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.Text;
+using HeuristicLab.PluginInfrastructure;
+
+namespace HeuristicLab.MPIEngine {
+  /// <summary>
+  /// Plugin class for HeuristicLab.MPIEngine plugin.
+  /// </summary>
+  [Plugin("HeuristicLab.MPIEngine", "3.3.4.$WCREV$")]
+  [PluginFile("HeuristicLab.MPIEngine-3.3.dll", PluginFileType.Assembly)]
+  [PluginDependency("HeuristicLab.Common", "3.3")]
+  [PluginDependency("HeuristicLab.Core", "3.3")]
+  [PluginDependency("HeuristicLab.MPInet", "1.0.0")]
+  [PluginDependency("HeuristicLab.MPIAlgorithmRunner", "3.3")]
+  [PluginDependency("HeuristicLab.Persistence", "3.3")]
+  public class HeuristicLabMPIEnginePlugin : PluginBase {
+  }
+}
Index: /branches/MPI/HeuristicLab.MPIEngine/3.3/MPIEngine.cs
===================================================================
--- /branches/MPI/HeuristicLab.MPIEngine/3.3/MPIEngine.cs	(revision 6349)
+++ /branches/MPI/HeuristicLab.MPIEngine/3.3/MPIEngine.cs	(revision 6349)
@@ -0,0 +1,117 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2011 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.Threading;
+using System.Threading.Tasks;
+using HeuristicLab.Common;
+using HeuristicLab.Core;
+using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+
+namespace HeuristicLab.MPIEngine {
+  /// <summary>
+  /// Represents an engine that executes its steps in parallel (if possible) using multiple threads.
+  /// This engine is suitable for parallel processing on shared memory systems which provide multiple cores.
+  /// </summary>
+  [StorableClass]
+  [Item("MPI Engine", "Engine for parallel execution of algorithms using multiple processes (suitable for distributed memory systems with multiple cores).")]
+  public class MPIEngine : Engine {
+    private CancellationToken cancellationToken;
+
+    [StorableConstructor]
+    protected MPIEngine(bool deserializing) : base(deserializing) { }
+    protected MPIEngine(MPIEngine original, Cloner cloner) : base(original, cloner) { }
+    public MPIEngine() : base() { }
+
+    public override IDeepCloneable Clone(Cloner cloner) {
+      return new MPIEngine(this, cloner);
+    }
+
+    protected override void Run(CancellationToken cancellationToken) {
+      this.cancellationToken = cancellationToken;
+      Run(ExecutionStack);
+    }
+
+    private void Run(object state) {
+      Stack<IOperation> executionStack = (Stack<IOperation>)state;
+      IOperation next;
+      OperationCollection coll;
+      IAtomicOperation operation;
+
+      while (executionStack.Count > 0) {
+        cancellationToken.ThrowIfCancellationRequested();
+
+        next = executionStack.Pop();
+        if (next is OperationCollection) {
+          coll = (OperationCollection)next;
+          if (coll.Parallel) {
+            Task[] tasks = new Task[coll.Count];
+            Stack<IOperation>[] stacks = new Stack<IOperation>[coll.Count];
+            for (int i = 0; i < coll.Count; i++) {
+              stacks[i] = new Stack<IOperation>();
+              stacks[i].Push(coll[i]);
+              tasks[i] = Task.Factory.StartNew(Run, stacks[i], cancellationToken);
+            }
+            try {
+              Task.WaitAll(tasks);
+            }
+            catch (AggregateException ex) {
+              OperationCollection remaining = new OperationCollection() { Parallel = true };
+              for (int i = 0; i < stacks.Length; i++) {
+                if (stacks[i].Count == 1)
+                  remaining.Add(stacks[i].Pop());
+                if (stacks[i].Count > 1) {
+                  OperationCollection ops = new OperationCollection();
+                  while (stacks[i].Count > 0)
+                    ops.Add(stacks[i].Pop());
+                  remaining.Add(ops);
+                }
+              }
+              if (remaining.Count > 0) executionStack.Push(remaining);
+              throw ex;
+            }
+          } else {
+            for (int i = coll.Count - 1; i >= 0; i--)
+              if (coll[i] != null) executionStack.Push(coll[i]);
+          }
+        } else if (next is IAtomicOperation) {
+          operation = (IAtomicOperation)next;
+          try {
+            next = operation.Operator.Execute((IExecutionContext)operation, cancellationToken);
+          }
+          catch (Exception ex) {
+            executionStack.Push(operation);
+            if (ex is OperationCanceledException) throw ex;
+            else throw new OperatorExecutionException(operation.Operator, ex);
+          }
+          if (next != null) executionStack.Push(next);
+
+          if (operation.Operator.Breakpoint) {
+            string message = string.Format("Breakpoint: {0}", operation.Operator.Name != string.Empty ? operation.Operator.Name : operation.Operator.ItemName);
+            Log.LogMessage(message);
+            throw new OperationCanceledException(message);
+          }
+        }
+      }
+    }
+  }
+}
Index: /branches/MPI/HeuristicLab.MPIEngine/3.3/Properties/AssemblyInfo.frame
===================================================================
--- /branches/MPI/HeuristicLab.MPIEngine/3.3/Properties/AssemblyInfo.frame	(revision 6349)
+++ /branches/MPI/HeuristicLab.MPIEngine/3.3/Properties/AssemblyInfo.frame	(revision 6349)
@@ -0,0 +1,56 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2011 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.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("HeuristicLab.MPIEngine")]
+[assembly: AssemblyDescription("HeuristicLab engine for MPI processing using multiple cores on a distributed memory system")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("HeuristicLab")]
+[assembly: AssemblyCopyright("(c) 2002-2011 HEAL")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("6d0f12ff-4fa9-4af8-aaf5-8261c7e9b2d5")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+[assembly: AssemblyVersion("3.3.0.0")]
+[assembly: AssemblyFileVersion("3.3.4.$WCREV$")]
Index: /branches/MPI/HeuristicLab/3.3/Files.txt
===================================================================
--- /branches/MPI/HeuristicLab/3.3/Files.txt	(revision 6348)
+++ /branches/MPI/HeuristicLab/3.3/Files.txt	(revision 6349)
@@ -40,4 +40,5 @@
 HeuristicLab.MainForm\3.3:HeuristicLab.MainForm-3.3.dll
 HeuristicLab.MainForm.WindowsForms\3.3:HeuristicLab.MainForm.WindowsForms-3.3.dll
+HeuristicLab.MPIEngine\3.3:HeuristicLab.MPIEngine-3.3.dll
 HeuristicLab.Operators\3.3:HeuristicLab.Operators-3.3.dll
 HeuristicLab.Operators.Views\3.3:HeuristicLab.Operators.Views-3.3.dll
@@ -112,7 +113,7 @@
 HeuristicLab.ExtLibs\HeuristicLab.MPInet\1.0.0:MPI.XML
 HeuristicLab.ExtLibs\HeuristicLab.MPInet\1.0.0:MPInet License.txt
-HeuristicLab.ExtLibs\HeuristicLab.MPInet\MPIAlgorithmRunner:MPIAlgorithmRunner.exe
-HeuristicLab.ExtLibs\HeuristicLab.MPInet\MPIAlgorithmRunner:MPI_ISLAND_GA.hl
-HeuristicLab.ExtLibs\HeuristicLab.MPInet\MPIAlgorithmRunner:Howto.txt
+HeuristicLab.ExtLibs\HeuristicLab.MPInet\MPIAlgorithmRunner\3.3:HeuristicLab.MPIAlgorithmRunner-3.3.exe
+HeuristicLab.ExtLibs\HeuristicLab.MPInet\MPIAlgorithmRunner\3.3:MPI_ISLAND_GA.hl
+HeuristicLab.ExtLibs\HeuristicLab.MPInet\MPIAlgorithmRunner\3.3:Howto.txt
 
 HeuristicLab.ExtLibs\HeuristicLab.Netron\3.0.2672.12446\Netron.Diagramming.Core-3.0.2672.12446:Netron.Diagramming.Core-3.0.2672.12446.dll
