Index: trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.DotNetScilab/1.0/DotNetScilab-1.0 Example/Properties/AssemblyInfo.cs
===================================================================
--- trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.DotNetScilab/1.0/DotNetScilab-1.0 Example/Properties/AssemblyInfo.cs	(revision 10602)
+++ trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.DotNetScilab/1.0/DotNetScilab-1.0 Example/Properties/AssemblyInfo.cs	(revision 10602)
@@ -0,0 +1,36 @@
+﻿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("example")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Scilab - DIGITEO")]
+[assembly: AssemblyProduct("example")]
+[assembly: AssemblyCopyright("Copyright © Scilab 2009")]
+[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("17e29de2-0c66-420c-931c-662ab2883fb8")]
+
+// 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("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
Index: trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.DotNetScilab/1.0/DotNetScilab-1.0 Example/Util.cs
===================================================================
--- trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.DotNetScilab/1.0/DotNetScilab-1.0 Example/Util.cs	(revision 10602)
+++ trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.DotNetScilab/1.0/DotNetScilab-1.0 Example/Util.cs	(revision 10602)
@@ -0,0 +1,38 @@
+﻿using System;
+using Microsoft.Win32;
+
+namespace cs_example {
+  class Util {
+    private const string registryKey = @"SOFTWARE\Scilab";
+    private const string scilab_Install = @"LASTINSTALL";
+    private const string scilab_PATH = @"SCIPATH";
+
+    public static void AddScilabInstalltionPathToEnvironment() {
+      var currentPath = Environment.GetEnvironmentVariable("path");
+      if (currentPath == null) return;
+
+      var scilabPath = GetScilabInstallPath();
+      if (string.IsNullOrEmpty(scilabPath)) return;
+
+      Environment.SetEnvironmentVariable("path", scilabPath + ";" + currentPath);
+    }
+
+    private static string GetScilabInstallPath() {
+      using (var registryLocalMachine = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Default)) {
+        using (var registryScilab = registryLocalMachine.OpenSubKey(registryKey)) {
+          if (registryScilab == null) return string.Empty;
+          var scilabVersion = registryScilab.GetValue(scilab_Install);
+          if (scilabVersion == null) return string.Empty;
+          using (var registryScilabVersion = registryScilab.OpenSubKey(scilabVersion.ToString())) {
+            if (registryScilabVersion == null) return string.Empty;
+            var scilabPath = registryScilabVersion.GetValue(scilab_PATH);
+            if (scilabPath == null) return string.Empty;
+            string path = scilabPath.ToString();
+            path += @"\bin";
+            return path;
+          }
+        }
+      }
+    }
+  }
+}
Index: trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.DotNetScilab/1.0/DotNetScilab-1.0 Example/cs_example.cs
===================================================================
--- trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.DotNetScilab/1.0/DotNetScilab-1.0 Example/cs_example.cs	(revision 10602)
+++ trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.DotNetScilab/1.0/DotNetScilab-1.0 Example/cs_example.cs	(revision 10602)
@@ -0,0 +1,270 @@
+﻿/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009 - DIGITEO - Allan CORNET
+ * 
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at    
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+//=============================================================================
+using System;
+using cs_example;
+using DotNetScilab;
+//=============================================================================
+namespace example {
+  class cs_example {
+    //=============================================================================
+    /*
+     * A small example to call scilab from C#
+     * read & write matrix of double, string, boolean, int(32)
+     */
+    static void example_readwriteMatrixOfDouble(Scilab _objScilab) {
+      //=============================================================================
+      // Send a command to scilab
+      // Here , we want to display SCI variable
+      _objScilab.SendScilabJob("disp(\'SCI = \');");
+      _objScilab.SendScilabJob("disp(SCI);");
+      //=============================================================================
+      double[] A = new double[] { 1, 2, 3, 4, 5, 6 };
+      int mA = 2, nA = 3;
+
+      // Write a matrix of double named in scilab
+      _objScilab.createNamedMatrixOfDouble("A", mA, nA, A);
+
+      // display matrix of double by scilab
+      _objScilab.SendScilabJob("disp(\'A =\');");
+      _objScilab.SendScilabJob("disp(A);");
+      //=============================================================================
+      if (_objScilab.getNamedVarType("A") == (int)DotNetScilab.ScilabType.sci_matrix) {
+        Console.WriteLine("A is a matrix of double");
+      }
+      //=============================================================================
+      _objScilab.SendScilabJob("B = A + 1;");
+
+      // get dimensions of a named matrix of double
+      int[] DimB = _objScilab.getNamedVarDimension("B");
+
+      // get named matrix of double
+      double[] B = _objScilab.readNamedMatrixOfDouble("B");
+
+      // display matrix of double from C#
+      Console.WriteLine("");
+      Console.WriteLine("(C#) B =");
+      for (int i = 0; i < DimB[0]; i++) {
+        for (int j = 0; j < DimB[1]; j++) {
+          Console.Write(B[j * DimB[0] + i] + " ");
+        }
+
+        Console.WriteLine("");
+      }
+
+      // display matrix of double by scilab
+      _objScilab.SendScilabJob("disp(\'B =\');");
+      _objScilab.SendScilabJob("disp(B);");
+      //=============================================================================
+    }
+    //=============================================================================
+    static void example_readwriteMatrixOfString(Scilab _objScilab) {
+      //=============================================================================
+      string[] strA = new string[] { "Scilab", "The", "open",
+                                        "source", "for", "numerical",
+                                        "computation" , ":", ")"};
+      int mstrA = 3, nstrA = 3;
+
+      // Write a matrix of string named in scilab
+      _objScilab.createNamedMatrixOfString("string_A", mstrA, nstrA, strA);
+
+      // display matrix of string by scilab
+      _objScilab.SendScilabJob("disp(\'string_A =\');");
+      _objScilab.SendScilabJob("disp(string_A);");
+      //=============================================================================
+      if (_objScilab.getNamedVarType("string_A") == (int)DotNetScilab.ScilabType.sci_strings) {
+        Console.WriteLine("string_A is a matrix of strings");
+      }
+      //=============================================================================
+      _objScilab.SendScilabJob("string_B = convstr(string_A,\'u\');");
+
+      // get dimensions of a named matrix of string
+      int[] DimstrB = _objScilab.getNamedVarDimension("string_B");
+
+      // get named matrix of string
+      string[] strB = _objScilab.readNamedMatrixOfString("string_B");
+
+      Console.WriteLine("");
+      Console.WriteLine("(C#) strB =");
+      for (int i = 0; i < DimstrB[0]; i++) {
+        for (int j = 0; j < DimstrB[1]; j++) {
+          Console.Write(strB[j * DimstrB[0] + i] + " ");
+        }
+
+        Console.WriteLine("");
+      }
+
+      // display matrix of string by scilab
+      _objScilab.SendScilabJob("disp(\'string_B =\');");
+      _objScilab.SendScilabJob("disp(string_B);");
+      //=============================================================================
+    }
+    //=============================================================================
+    static void example_readwriteMatrixOfBoolean(Scilab _objScilab) {
+      //=============================================================================
+      Boolean[] bA = new Boolean[] { false, true, false,
+                                           true, false, true};
+      int mbA = 2, nbA = 3;
+
+      // Write a matrix of string named in scilab
+      _objScilab.createNamedMatrixOfBoolean("boolean_A", mbA, nbA, bA);
+
+      // display matrix of string by scilab
+      _objScilab.SendScilabJob("disp(\'boolean_A =\');");
+      _objScilab.SendScilabJob("disp(boolean_A);");
+      //=============================================================================
+      // check if av
+      if (_objScilab.existNamedVariable("boolean_A") == true) {
+        Console.WriteLine("boolean_A exists in scilab");
+      }
+
+      if (_objScilab.existNamedVariable("boolean_B") == false) {
+        Console.WriteLine("boolean_B does not exist in scilab");
+      }
+      //=============================================================================
+      if (_objScilab.getNamedVarType("boolean_A") == (int)DotNetScilab.ScilabType.sci_boolean) {
+        Console.WriteLine("boolean_A is a matrix of boolean");
+      }
+      //=============================================================================
+      _objScilab.SendScilabJob("boolean_B = ~boolean_A;");
+      // get dimensions of a named matrix of boolean
+      int[] DimbB = _objScilab.getNamedVarDimension("boolean_B");
+
+      // get named matrix of boolean
+      Boolean[] bB = _objScilab.getNamedMatrixOfBoolean("boolean_B");
+
+      Console.WriteLine("");
+      Console.WriteLine("(C#) bB =");
+      for (int i = 0; i < DimbB[0]; i++) {
+        for (int j = 0; j < DimbB[1]; j++) {
+          Console.Write(bB[j * DimbB[0] + i] + " ");
+        }
+
+        Console.WriteLine("");
+      }
+
+      // display matrix of string by scilab
+      _objScilab.SendScilabJob("disp(\'boolean_B =\');");
+      _objScilab.SendScilabJob("disp(boolean_B);");
+      //=============================================================================
+    }
+    //=============================================================================
+    static void example_doplot3d(Scilab _objScilab) {
+      _objScilab.SendScilabJob("plot3d()");
+      while (_objScilab.HaveAGraph()) {
+        _objScilab.doEvent();
+      }
+    }
+    //=============================================================================
+    static void example_readwriteMatrixOfInt(Scilab _objScilab) {
+      //=============================================================================
+      int[] A = new int[] { 1, 2, 3, 4, 5, 6 };
+      int mA = 2, nA = 3;
+
+      // Write a matrix of double named in scilab
+      _objScilab.createNamedMatrixOfInt32("int32_A", mA, nA, A);
+
+      // display matrix of double by scilab
+      _objScilab.SendScilabJob("disp(\'int32_A =\');");
+      _objScilab.SendScilabJob("disp(int32_A);");
+      //=============================================================================
+      if (_objScilab.getNamedVarType("int32_A") == (int)DotNetScilab.ScilabType.sci_ints) {
+        Console.WriteLine("int32_A is a matrix of int(32)");
+      }
+      //=============================================================================
+      _objScilab.SendScilabJob("int32_B = int32_A + 1;");
+
+      // get dimensions of a named matrix of double
+      int[] DimB = _objScilab.getNamedVarDimension("int32_B");
+
+      // get named matrix of double
+      int[] B = _objScilab.readNamedMatrixOfInt32("int32_B");
+
+      // display matrix of double from C#
+      Console.WriteLine("");
+      Console.WriteLine("(C#) int32_B =");
+      for (int i = 0; i < DimB[0]; i++) {
+        for (int j = 0; j < DimB[1]; j++) {
+          Console.Write(B[j * DimB[0] + i] + " ");
+        }
+
+        Console.WriteLine("");
+      }
+
+      // display matrix of double by scilab
+      _objScilab.SendScilabJob("disp(\'int32_B =\');");
+      _objScilab.SendScilabJob("disp(int32_B);");
+      //=============================================================================
+    }
+    //=============================================================================
+    static void example_readwriteComplexMatrixOfDouble(Scilab _objScilab) {
+      //=============================================================================
+      double[] realPartA = new double[] { 1, 2, 3, 4, 5, 6 };
+      double[] imagPartA = new double[] { 6, 5, 4, 3, 2, 1 };
+      int mA = 2, nA = 3;
+
+      // Write a matrix of double named in scilab
+      _objScilab.createNamedComplexMatrixOfDouble("cplx_A", mA, nA, realPartA, imagPartA);
+
+      // display matrix of double by scilab
+      _objScilab.SendScilabJob("disp(\'cplx_A =\');");
+      _objScilab.SendScilabJob("disp(cplx_A);");
+      //=============================================================================
+      _objScilab.SendScilabJob("cplx_B = cplx_A * 2;");
+
+      // get dimensions of a named matrix of double
+      int[] DimB = _objScilab.getNamedVarDimension("cplx_B");
+
+      // get named matrix of double
+      double[] realPartB = _objScilab.readNamedComplexMatrixOfDoubleRealPart("cplx_B");
+      double[] imagPartB = _objScilab.readNamedComplexMatrixOfDoubleImgPart("cplx_B");
+
+      // display matrix of double from C#
+      Console.WriteLine("");
+      Console.WriteLine("(C#) cplx_B =");
+      for (int i = 0; i < DimB[0]; i++) {
+        for (int j = 0; j < DimB[1]; j++) {
+          Console.Write(realPartB[j * DimB[0] + i] + " + i *" + imagPartB[j * DimB[0] + i] + " ");
+        }
+
+        Console.WriteLine("");
+      }
+
+      // display matrix of double by scilab
+      _objScilab.SendScilabJob("disp(\'cplx_B =\');");
+      _objScilab.SendScilabJob("disp(cplx_B);");
+      //=============================================================================
+    }
+    //=============================================================================
+    static void Main(string[] args) {
+      Util.AddScilabInstalltionPathToEnvironment();
+      // start scilab engine with graphics
+      Scilab m_oSCilab = new Scilab(true);
+
+      example_readwriteMatrixOfDouble(m_oSCilab);
+
+      example_readwriteMatrixOfString(m_oSCilab);
+
+      example_readwriteMatrixOfBoolean(m_oSCilab);
+
+      example_readwriteMatrixOfInt(m_oSCilab);
+
+      example_readwriteComplexMatrixOfDouble(m_oSCilab);
+
+      //mkommend 11.11.2013: commented out as this functionality is not completely working
+      //chart is displayed, but hasFigures throws an exception
+      //example_doplot3d(m_oSCilab);
+    }
+    //=============================================================================
+  }
+}
+//=============================================================================
Index: trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.DotNetScilab/1.0/DotNetScilab-1.0 Example/cs_example.csproj
===================================================================
--- trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.DotNetScilab/1.0/DotNetScilab-1.0 Example/cs_example.csproj	(revision 10602)
+++ trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.DotNetScilab/1.0/DotNetScilab-1.0 Example/cs_example.csproj	(revision 10602)
@@ -0,0 +1,107 @@
+﻿<?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>9.0.30729</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{10B5A5BF-3204-4B47-91C0-7FA614EFA94A}</ProjectGuid>
+    <OutputType>Exe</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>cs_example</RootNamespace>
+    <AssemblyName>cs_example</AssemblyName>
+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <FileUpgradeFlags>
+    </FileUpgradeFlags>
+    <UpgradeBackupLocation>
+    </UpgradeBackupLocation>
+    <OldToolsVersion>3.5</OldToolsVersion>
+    <TargetFrameworkProfile />
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
+    <OutputPath>bin\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
+    <OutputPath>bin\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="DotNetScilab-1.0">
+      <HintPath>..\..\..\..\bin\DotNetScilab-1.0.dll</HintPath>
+    </Reference>
+    <Reference Include="System" />
+    <Reference Include="System.Core">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Xml.Linq">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Data.DataSetExtensions">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="cs_example.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="Util.cs" />
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- 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: trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.DotNetScilab/1.0/DotNetScilab-1.0/DotNetScilab-1.0.csproj
===================================================================
--- trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.DotNetScilab/1.0/DotNetScilab-1.0/DotNetScilab-1.0.csproj	(revision 10602)
+++ trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.DotNetScilab/1.0/DotNetScilab-1.0/DotNetScilab-1.0.csproj	(revision 10602)
@@ -0,0 +1,122 @@
+﻿<?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>9.0.30729</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{C3F0C7DC-82AD-405B-990A-BF2C5B7F46FF}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>DotNetScilab</RootNamespace>
+    <AssemblyName>DotNetScilab-1.0</AssemblyName>
+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <FileUpgradeFlags>
+    </FileUpgradeFlags>
+    <UpgradeBackupLocation>
+    </UpgradeBackupLocation>
+    <OldToolsVersion>3.5</OldToolsVersion>
+    <TargetFrameworkProfile />
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>..\..\..\..\bin\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+    <RegisterForComInterop>false</RegisterForComInterop>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>..\..\..\..\bin\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+    <RegisterForComInterop>false</RegisterForComInterop>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>..\..\..\..\bin\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+    <RegisterForComInterop>false</RegisterForComInterop>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
+    <OutputPath>..\..\..\..\bin\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+    <Optimize>true</Optimize>
+    <RegisterForComInterop>false</RegisterForComInterop>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>..\..\..\..\bin\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+    <RegisterForComInterop>false</RegisterForComInterop>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
+    <OutputPath>..\..\..\..\bin\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+    <Optimize>true</Optimize>
+    <RegisterForComInterop>false</RegisterForComInterop>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+  </PropertyGroup>
+  <PropertyGroup>
+    <SignAssembly>true</SignAssembly>
+  </PropertyGroup>
+  <PropertyGroup>
+    <AssemblyOriginatorKeyFile>HeuristicLab.snk</AssemblyOriginatorKeyFile>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Core">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Xml.Linq">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Data.DataSetExtensions">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Scilab.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="Scilab_cs_wrapper.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="DotNetScilab-1.0.dll.config">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </None>
+    <None Include="HeuristicLab.snk" />
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- 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: trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.DotNetScilab/1.0/DotNetScilab-1.0/DotNetScilab-1.0.dll.config
===================================================================
--- trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.DotNetScilab/1.0/DotNetScilab-1.0/DotNetScilab-1.0.dll.config	(revision 10602)
+++ trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.DotNetScilab/1.0/DotNetScilab-1.0/DotNetScilab-1.0.dll.config	(revision 10602)
@@ -0,0 +1,7 @@
+﻿<?xml version="1.0"?>
+<configuration>
+  <dllmap dll="call_scilab.dll" target="libscilab.so"/>
+  <dllmap dll="api_scilab.dll" target="libscilab.so"/>
+  <dllmap dll="graphics.dll" target="libscigraphics.so"/>
+  <dllmap dll="scioutput_stream.dll" target="libscioutput_stream.so"/>
+</configuration>
Index: trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.DotNetScilab/1.0/DotNetScilab-1.0/Properties/AssemblyInfo.cs
===================================================================
--- trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.DotNetScilab/1.0/DotNetScilab-1.0/Properties/AssemblyInfo.cs	(revision 10602)
+++ trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.DotNetScilab/1.0/DotNetScilab-1.0/Properties/AssemblyInfo.cs	(revision 10602)
@@ -0,0 +1,36 @@
+﻿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("dotnetsci")]
+[assembly: AssemblyDescription(".NET Component for Scilab 5.x")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Scilab - DIGITEO")]
+[assembly: AssemblyProduct("dotnetsci")]
+[assembly: AssemblyCopyright("Copyright © Scilab 2009")]
+[assembly: AssemblyTrademark("Allan CORNET")]
+[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("ef7effe8-4440-47b7-b579-433dc94cc859")]
+
+// 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("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
Index: trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.DotNetScilab/1.0/DotNetScilab-1.0/Scilab.cs
===================================================================
--- trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.DotNetScilab/1.0/DotNetScilab-1.0/Scilab.cs	(revision 10602)
+++ trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.DotNetScilab/1.0/DotNetScilab-1.0/Scilab.cs	(revision 10602)
@@ -0,0 +1,463 @@
+﻿/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009 - DIGITEO - Allan CORNET
+ * 
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at    
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+//=============================================================================
+/* Please notice that it is only a example and not a full C# wrapper */
+//=============================================================================
+using System;
+using System.Threading;
+//=============================================================================
+namespace DotNetScilab {
+  /* Scilab Types */
+  public enum ScilabType {
+    sci_matrix = 1,
+    sci_poly = 2,
+    sci_boolean = 4,
+    sci_sparse = 5,
+    sci_boolean_sparse = 6,
+    sci_matlab_sparse = 7,
+    sci_ints = 8,
+    sci_handles = 9,
+    sci_strings = 10,
+    sci_u_function = 11,
+    sci_c_function = 13,
+    sci_lib = 14,
+    sci_list = 15,
+    sci_tlist = 16,
+    sci_mlist = 17,
+    sci_pointer = 128,
+    sci_implicit_poly = 129,
+    sci_intrinsic_function = 130
+  };
+
+  public sealed class Scilab {
+    //=============================================================================
+    static Scilab instance = null;
+    static readonly object padlock = new object();
+    private Boolean withGraphics = false;
+    //=============================================================================
+    /// <summary>
+    /// Constructor, initialize scilab engine.
+    /// </summary>
+    public Scilab() {
+      // Disable TCL/TK and Java graphic interfaces
+      Scilab_cs_wrapper.DisableInteractiveMode();
+      withGraphics = false;
+
+      // start Scilab engine configurated without java
+      string SCI = System.Environment.GetEnvironmentVariable("SCI");
+      Scilab_cs_wrapper.StartScilab(SCI, null, null);
+    }
+    //=============================================================================
+    public Scilab(Boolean _bWithGraphics) {
+      // Disable TCL/TK and Java graphic interfaces
+      if (_bWithGraphics == false) {
+        Scilab_cs_wrapper.DisableInteractiveMode();
+        withGraphics = false;
+      } else {
+        withGraphics = true;
+      }
+
+      // start Scilab engine
+      string SCI = System.Environment.GetEnvironmentVariable("SCI");
+      Scilab_cs_wrapper.StartScilab(SCI, null, null);
+    }
+    //=============================================================================
+    /// <summary>
+    /// Singleton 
+    /// Only one instance of Scilab can be launch
+    /// thread safe
+    /// </summary>
+    public static Scilab Instance {
+      get {
+        lock (padlock) {
+          if (instance == null) {
+            instance = new Scilab();
+          }
+          return instance;
+        }
+      }
+    }
+    //=============================================================================
+    /// <summary>
+    /// Destructor
+    /// </summary>
+    ~Scilab() {
+      // freed by O.S
+      //Scilab_cs_wrapper.TerminateScilab(null);
+    }
+    //=============================================================================
+    /// <summary>
+    /// Send a job to scilab
+    /// </summary>
+    /// <param name="command">command to send to scilab</param>
+    /// <returns>error code operation, 0 : OK</returns>
+    public int SendScilabJob(string command) {
+      return Scilab_cs_wrapper.SendScilabJob(command);
+    }
+    //=============================================================================
+    /// <summary>
+    ///  get last error code
+    /// </summary>
+    /// <returns>last error code</returns>
+    public int GetLastErrorCode() {
+      return Scilab_cs_wrapper.GetLastErrorCode();
+    }
+    //=============================================================================
+    /// <summary>
+    /// Write a named matrix of double in Scilab
+    /// </summary>
+    /// <param name="matrixName"> variable name</param>
+    /// <param name="iRows"> Number of row</param>
+    /// <param name="iCols"> Number of column</param>
+    /// <param name="matrixDouble"> pointer on data</param>
+    /// <returns> if the operation successes (0) or not ( !0 )</returns>
+    public int createNamedMatrixOfDouble(string matrixName, int iRows, int iCols, double[] matrixDouble) {
+      System.IntPtr ptrEmpty = new System.IntPtr();
+      Scilab_cs_wrapper.api_Err SciErr = Scilab_cs_wrapper.createNamedMatrixOfDouble(ptrEmpty, matrixName, iRows, iCols, matrixDouble);
+      return SciErr.iErr;
+    }
+    //=============================================================================
+    /// <summary>
+    /// Write a named matrix of string in scilab
+    /// </summary>
+    /// <param name="matrixName"> variable name</param>
+    /// <param name="iRows"> Number of row</param>
+    /// <param name="iCols"> Number of column</param>
+    /// <param name="matrixDouble"> pointer on data</param>
+    /// <returns> if the operation successes (0) or not ( !0 )</returns>
+    public int createNamedMatrixOfString(string matrixName, int iRows, int iCols, string[] matrixString) {
+      System.IntPtr ptrEmpty = new System.IntPtr();
+      Scilab_cs_wrapper.api_Err SciErr = Scilab_cs_wrapper.createNamedMatrixOfString(ptrEmpty, matrixName, iRows, iCols, matrixString);
+      return SciErr.iErr;
+    }
+    //=============================================================================
+    /// <summary>
+    /// Write a named matrix of boolean in Scilab
+    /// </summary>
+    /// <param name="matrixName"> variable name</param>
+    /// <param name="iRows"> Number of row</param>
+    /// <param name="iCols"> Number of column</param>
+    /// <param name="matrixBoolean"> pointer on data</param>
+    /// <returns> if the operation successes (0) or not ( !0 )</returns>
+    public int createNamedMatrixOfBoolean(string matrixName, int iRows, int iCols, Boolean[] matrixBoolean) {
+      int[] matrixInt = new int[matrixBoolean.Length];
+      for (int i = 0; i < matrixBoolean.Length; i++) {
+        if (matrixBoolean[i] == true) {
+          matrixInt[i] = 1;
+        } else {
+          matrixInt[i] = 0;
+        }
+      }
+      System.IntPtr ptrEmpty = new System.IntPtr();
+      Scilab_cs_wrapper.api_Err SciErr = Scilab_cs_wrapper.createNamedMatrixOfBoolean(ptrEmpty, matrixName, iRows, iCols, matrixInt);
+      return SciErr.iErr;
+    }
+    //=============================================================================
+    /// <summary>
+    /// Write a named matrix of int(32) in Scilab
+    /// </summary>
+    /// <param name="matrixName"> variable name</param>
+    /// <param name="iRows"> Number of row</param>
+    /// <param name="iCols"> Number of column</param>
+    /// <param name="matrixInt"> pointer on data</param>
+    public int createNamedMatrixOfInt32(string matrixName, int iRows, int iCols, int[] matrixInt) {
+      System.IntPtr ptrEmpty = new System.IntPtr();
+      Scilab_cs_wrapper.api_Err SciErr = Scilab_cs_wrapper.createNamedMatrixOfInteger32(ptrEmpty, matrixName, iRows, iCols, matrixInt);
+      return SciErr.iErr;
+    }
+    //=============================================================================
+    /// <summary>
+    /// Write a named matrix of complex double in Scilab
+    /// </summary>
+    /// <param name="matrixName"> variable name</param>
+    /// <param name="iRows">Number of row</param>
+    /// <param name="iCols">Number of column</param>
+    /// <param name="matrixRealPart">real part</param>
+    /// <param name="matrixImagPart">imag part</param>
+    /// <returns></returns>
+    public int createNamedComplexMatrixOfDouble(string matrixName,
+                                            int iRows, int iCols,
+                                            double[] matrixRealPart,
+                                            double[] matrixImagPart) {
+      System.IntPtr ptrEmpty = new System.IntPtr();
+      Scilab_cs_wrapper.api_Err SciErr = Scilab_cs_wrapper.createNamedComplexMatrixOfDouble(ptrEmpty, matrixName,
+                                              iRows, iCols,
+                                              matrixRealPart,
+                                              matrixImagPart);
+      return SciErr.iErr;
+    }
+    //=============================================================================
+    /// <summary>
+    /// Read a named matrix of double from Scilab
+    /// </summary>
+    /// <param name="matrixName"> variable name</param>
+    /// <returns>a matrix of double from scilab. If Variable name does not exist returns null</returns>
+    public unsafe double[] readNamedMatrixOfDouble(string matrixName) {
+      int iRows = 0;
+      int iCols = 0;
+
+      System.IntPtr ptrEmpty = new System.IntPtr();
+      Scilab_cs_wrapper.api_Err SciErr = Scilab_cs_wrapper.readNamedMatrixOfDouble(ptrEmpty, matrixName, &iRows, &iCols, null);
+
+      if (iRows * iCols > 0) {
+        double[] matrixDouble = new double[iRows * iCols];
+
+        // get values in matrixDouble
+        SciErr = Scilab_cs_wrapper.readNamedMatrixOfDouble(ptrEmpty, matrixName, &iRows, &iCols, matrixDouble);
+        if (SciErr.iErr != 0) return null;
+        return matrixDouble;
+      }
+      return null;
+    }
+    //=============================================================================
+    /// <summary>
+    /// Get dimensions of a named matrix in scilab
+    /// </summary>
+    /// <returns>a int array. 
+    /// if variable name does not exist dimensions are null </returns>
+    public unsafe int[] getNamedVarDimension(string matrixName) {
+      int[] iDim = null;
+      int iRows = 0;
+      int iCols = 0;
+
+      System.IntPtr ptrEmpty = new System.IntPtr();
+      Scilab_cs_wrapper.api_Err SciErr = Scilab_cs_wrapper.getNamedVarDimension(ptrEmpty, matrixName, &iRows, &iCols);
+      if (SciErr.iErr == 0) {
+        iDim = new int[2];
+        iDim[0] = iRows;
+        iDim[1] = iCols;
+      }
+      return iDim;
+    }
+    //=============================================================================
+    /// <summary>
+    /// Read a named matrix of string from scilab
+    /// </summary>
+    /// <param name="matrixName"> variable name</param>
+    /// <returns>a matrix of string from scilab. If Variable name does not exist returns null</returns>
+    public unsafe string[] readNamedMatrixOfString(string matrixName) {
+      string[] matrixString = null;
+
+      int[] iDim = getNamedVarDimension(matrixName);
+
+      if (iDim != null) {
+        int iRows = iDim[0];
+        int iCols = iDim[1];
+
+        // we allocate lengthmatrixString
+        int[] lengthmatrixString = new int[iRows * iCols];
+
+        System.IntPtr ptrEmpty = new System.IntPtr();
+
+        // we get length of strings
+        Scilab_cs_wrapper.api_Err SciErr = Scilab_cs_wrapper.readNamedMatrixOfString(ptrEmpty, matrixName,
+                                &iRows, &iCols,
+                                lengthmatrixString, null);
+
+        // we allocate each string
+        matrixString = new string[iRows * iCols];
+        for (int i = 0; i < iRows * iCols; i++) {
+          matrixString[i] = new string(' ', lengthmatrixString[i]);
+        }
+
+        // we get strings from scilab
+        SciErr = Scilab_cs_wrapper.readNamedMatrixOfString(ptrEmpty, matrixName,
+                                        &iRows, &iCols,
+                                        lengthmatrixString,
+                                        matrixString);
+      }
+      return matrixString;
+    }
+    //=============================================================================
+    /// <summary>
+    /// Read a named matrix of boolean from Scilab
+    /// </summary>
+    /// <param name="matrixName"> variable name</param>
+    /// <returns>a matrix of boolean from scilab. If Variable name does not exist returns null</returns>
+    public unsafe Boolean[] getNamedMatrixOfBoolean(string matrixName) {
+      Boolean[] matrixBoolean = null;
+      int[] iDim = getNamedVarDimension(matrixName);
+
+      if (iDim != null) {
+        int iRows = iDim[0];
+        int iCols = iDim[1];
+        int[] matrixInt = new int[iRows * iCols];
+
+        System.IntPtr ptrEmpty = new System.IntPtr();
+
+        // get values in matrixDouble
+        Scilab_cs_wrapper.api_Err SciErr = Scilab_cs_wrapper.readNamedMatrixOfBoolean(ptrEmpty, matrixName,
+                                                    &iRows, &iCols,
+                                                    matrixInt);
+
+        if (matrixInt != null) {
+          matrixBoolean = new Boolean[iRows * iCols];
+          for (int i = 0; i < iRows * iCols; i++) {
+            if (matrixInt[i] == 1) {
+              matrixBoolean[i] = true;
+            } else {
+              matrixBoolean[i] = false;
+            }
+          }
+        }
+      }
+      return matrixBoolean;
+    }
+    //=============================================================================
+    /// <summary>
+    /// Read a named matrix of complex double in Scilab (Real part)
+    /// </summary>
+    /// <param name="matrixName">variable name</param>
+    /// <returns> real part. If Variable name does not exist returns null</returns>
+    public unsafe double[] readNamedComplexMatrixOfDoubleRealPart(string matrixName) {
+      double[] dRealPart = null;
+      int[] iDim = getNamedVarDimension(matrixName);
+      if (iDim != null) {
+        int iRows = iDim[0];
+        int iCols = iDim[1];
+
+        double[] dImagPart = new double[iRows * iCols];
+        dRealPart = new double[iRows * iCols];
+
+        System.IntPtr ptrEmpty = new System.IntPtr();
+
+        Scilab_cs_wrapper.api_Err SciErr = Scilab_cs_wrapper.readNamedComplexMatrixOfDouble(ptrEmpty, matrixName,
+                                   &iRows, &iCols,
+                                   dRealPart,
+                                   dImagPart);
+      }
+      return dRealPart;
+    }
+    //=============================================================================
+    /// <summary>
+    /// Read a named matrix of complex double in Scilab (Imag part)
+    /// </summary>
+    /// <param name="matrixName">variable name</param>
+    /// <returns> img part. If Variable name does not exist returns null</returns>
+    public unsafe double[] readNamedComplexMatrixOfDoubleImgPart(string matrixName) {
+      double[] dImagPart = null;
+      int[] iDim = getNamedVarDimension(matrixName);
+      if (iDim != null) {
+        int iRows = iDim[0];
+        int iCols = iDim[1];
+
+        double[] dRealPart = new double[iRows * iCols];
+        dImagPart = new double[iRows * iCols];
+
+        System.IntPtr ptrEmpty = new System.IntPtr();
+
+        Scilab_cs_wrapper.api_Err SciErr = Scilab_cs_wrapper.readNamedComplexMatrixOfDouble(ptrEmpty, matrixName,
+                                   &iRows, &iCols,
+                                   dRealPart,
+                                   dImagPart);
+      }
+      return dImagPart;
+    }
+    //=============================================================================
+    /// <summary>
+    /// Read a named matrix of int(32) in Scilab
+    /// </summary>
+    /// <param name="matrixName"> variable name</param>
+    /// <returns>a matrix of int(32) from scilab. If Variable name does not exist returns null</returns>
+    public unsafe int[] readNamedMatrixOfInt32(string matrixName) {
+      int[] matrixInt = null;
+      int[] iDim = getNamedVarDimension(matrixName);
+      if (iDim != null) {
+        int iRows = iDim[0];
+        int iCols = iDim[1];
+
+        // we allocate matrixInt array
+        matrixInt = new int[iRows * iCols];
+
+        System.IntPtr ptrEmpty = new System.IntPtr();
+
+        // get values in matrixInt
+        Scilab_cs_wrapper.api_Err SciErr = Scilab_cs_wrapper.readNamedMatrixOfInteger32(ptrEmpty, matrixName, &iRows, &iCols, matrixInt);
+      }
+      return matrixInt;
+    }
+    //=============================================================================
+    /// <summary>
+    /// get scilab type of named matrix
+    /// </summary>
+    /// <param name="matrixName"> variable name</param>
+    /// <returns>scilab type (see enum ScilabType)</returns>
+    public unsafe int getNamedVarType(string matrixName) {
+      int iType = 0;
+      System.IntPtr ptrEmpty = new System.IntPtr();
+
+      Scilab_cs_wrapper.api_Err SciErr = Scilab_cs_wrapper.getNamedVarType(ptrEmpty, matrixName, &iType);
+      if (SciErr.iErr == 0) return iType;
+      return 0;
+    }
+    //=============================================================================
+    /// <summary>
+    /// Detect if a variable name exists in Scilab
+    /// </summary>
+    /// <param name="matrixName"> variable name</param>
+    /// <returns> true if exists</returns>
+    public unsafe Boolean existNamedVariable(string matrixName) {
+      int* piAdress = null;
+      System.IntPtr ptrEmpty = new System.IntPtr();
+
+      Scilab_cs_wrapper.api_Err SciErr = Scilab_cs_wrapper.getVarAddressFromName(ptrEmpty, matrixName, &piAdress);
+      if (SciErr.iErr == 0) return true;
+      return false;
+    }
+    //=============================================================================
+    /// <summary>
+    /// Execute a scilab script .sce
+    /// </summary>
+    /// <param name="scriptFilename">the path to the .sce file</param>
+    /// <returns>error code operation, 0 : OK</returns>
+    public int execScilabScript(String scriptFilename) {
+      return Scilab_cs_wrapper.SendScilabJob("exec('" + scriptFilename + "');");
+    }
+    //=============================================================================
+    /// <summary>
+    /// Detect if a Scilab graphic window is opened
+    /// </summary>
+    /// <returns>true or false</returns>
+    public Boolean HaveAGraph() {
+      if (withGraphics) {
+        int ierr = Scilab_cs_wrapper.sciHasFigures();
+        if (ierr == 1) return true;
+      }
+      return false;
+    }
+    //=============================================================================
+    /// <summary>
+    /// do a scilab event
+    /// parser need to run to do a event
+    /// </summary>
+    /// <returns>error code operation, 0 : OK</returns>
+    public int doEvent() {
+      // do a pause (we do not want 100% CPU used)
+      // ugly but it works ...
+      Thread.Sleep(1);
+      // do a loop of parser
+      return SendScilabJob("");
+    }
+    //=============================================================================
+    /// <summary>
+    /// get scilab type of named matrix
+    /// </summary>
+    /// <param name="matrixName"> variable name</param>
+    /// <returns>scilab type (see enum ScilabType)</returns>
+    public int isNamedVarComplex(string matrixName) {
+      System.IntPtr ptrEmpty = new System.IntPtr();
+      return Scilab_cs_wrapper.isNamedVarComplex(ptrEmpty, matrixName);
+    }
+    //=============================================================================
+  }
+}
+//=============================================================================
Index: trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.DotNetScilab/1.0/DotNetScilab-1.0/Scilab_cs_wrapper.cs
===================================================================
--- trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.DotNetScilab/1.0/DotNetScilab-1.0/Scilab_cs_wrapper.cs	(revision 10602)
+++ trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.DotNetScilab/1.0/DotNetScilab-1.0/Scilab_cs_wrapper.cs	(revision 10602)
@@ -0,0 +1,229 @@
+﻿/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009 - DIGITEO - Allan CORNET
+ * 
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at    
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+//=============================================================================
+using System;
+using System.Runtime.InteropServices;
+//=============================================================================
+namespace DotNetScilab {
+  class Scilab_cs_wrapper {
+    [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
+    public unsafe struct api_Ctx {
+      public String pstName; /**< Function name */
+    }
+
+    //=============================================================================
+    [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
+    public unsafe struct api_Err {
+      public int iErr;
+      public int iMsgCount;
+      public fixed char pstructMsg[5];
+    }
+    //=============================================================================
+    private const string CALL_SCILAB_DLL = "call_scilab.dll";
+    private const string API_SCILAB_DLL = "api_scilab.dll";
+    private const string GRAPHICS_DLL = "graphics.dll";
+    private const string OUTPUT_STREAM_DLL = "scioutput_stream.dll";
+    //=============================================================================
+    /// <summary>
+    /// import SendScilabJob from C (see call_scilab.h)
+    /// </summary>
+    [DllImport(CALL_SCILAB_DLL, CharSet = CharSet.Ansi)]
+    public static extern int SendScilabJob([In]String job);
+    //=============================================================================
+    /// <summary>
+    /// import StartScilab from C (see call_scilab.h)
+    /// </summary>
+    [DllImport(CALL_SCILAB_DLL, CharSet = CharSet.Ansi)]
+    public static extern int StartScilab([In] String SCIpath,
+                                          [In] String ScilabStartup,
+                                          [In] Int32[] Stacksize);
+    //=============================================================================
+    /// <summary>
+    /// import TerminateScilab from C (see call_scilab.h)
+    /// </summary>
+    [DllImport(CALL_SCILAB_DLL, CharSet = CharSet.Ansi)]
+    public static extern int TerminateScilab([In] String ScilabQuit);
+    //=============================================================================
+    /// <summary>
+    /// import DisableInteractiveMode from C (see call_scilab.h)
+    /// </summary>
+    [DllImport(CALL_SCILAB_DLL, CharSet = CharSet.Ansi)]
+    public static extern void DisableInteractiveMode();
+    //=============================================================================
+    /// <summary>
+    /// import createNamedMatrixOfString from C (see api_string.h)
+    /// </summary>
+    [DllImport(API_SCILAB_DLL, CharSet = CharSet.Ansi)]
+    public static extern api_Err createNamedMatrixOfString([In]IntPtr pvApiCtx, [In] String _pstName,
+                                                        [In] int _iRows, [In] int _iCols,
+                                                        [In] String[] _pstStrings);
+    //=============================================================================
+    /// <summary>
+    /// import createNamedMatrixOfWideString from C (see api_string.h)
+    /// </summary>
+    [DllImport(API_SCILAB_DLL, CharSet = CharSet.Unicode)]
+    public static extern api_Err createNamedMatrixOfWideString([In]IntPtr pvApiCtx,
+                                                        [In] String _pstName,
+                                                        [In] int _iRows, [In] int _iCols,
+                                                        [In] String[] _pstStrings);
+    //=============================================================================
+    /// <summary>
+    /// import createNamedMatrixOfDouble from C (see api_double.h)
+    /// </summary>
+    [DllImport(API_SCILAB_DLL, CharSet = CharSet.Ansi)]
+    [return: MarshalAs(UnmanagedType.Struct)]
+    public static extern api_Err createNamedMatrixOfDouble([In]IntPtr pvApiCtx, [In] String _pstName,
+                                                        [In] int _iRows, [In] int _iCols,
+                                                        [In] double[] _pdblReal);
+
+
+    //=============================================================================
+    /// <summary>
+    /// import createNamedMatrixOfBoolean from C (see api_boolean.h)
+    /// </summary>
+    [DllImport(API_SCILAB_DLL, CharSet = CharSet.Ansi)]
+    public static extern api_Err createNamedMatrixOfBoolean([In]IntPtr pvApiCtx, [In] String _pstName,
+                                                        [In] int _iRows, [In] int _iCols,
+                                                        [In] int[] _piBool);
+    //=============================================================================
+    /// <summary>
+    /// import createNamedMatrixOfInteger32 from C (see api_int.h)
+    /// </summary>
+    [DllImport(API_SCILAB_DLL, CharSet = CharSet.Ansi)]
+    public unsafe static extern api_Err createNamedMatrixOfInteger32([In]IntPtr pvApiCtx, [In] String _pstName,
+                                                       [In] int _iRows, [In] int _iCols,
+                                                       [In] int[] _piData);
+    //=============================================================================
+    /// <summary>
+    /// import createNamedComplexMatrixOfDouble from C (see api_double.h)
+    /// </summary>
+    [DllImport(API_SCILAB_DLL, CharSet = CharSet.Ansi)]
+    public unsafe static extern api_Err createNamedComplexMatrixOfDouble([In]IntPtr pvApiCtx, [In] String _pstName,
+                                                        [In] int _iRows, [In] int _iCols,
+                                                        [In] double[] _pdblReal,
+                                                        [In] double[] _pdblImg);
+    //=============================================================================
+    /// <summary>
+    /// import readNamedMatrixOfString from C (see api_string.h)
+    /// </summary>
+    [DllImport(API_SCILAB_DLL, CharSet = CharSet.Ansi)]
+    public unsafe static extern api_Err readNamedMatrixOfString([In]IntPtr pvApiCtx, [In] String _pstName,
+                                                      [Out]  Int32* _piRows, [Out]  Int32* _piCols,
+                                                      [In, Out] int[] _piLength,
+                                                      [In, Out] String[] _pstStrings);
+    //=============================================================================
+    /// <summary>
+    /// import readNamedMatrixOfWideString from C (see api_string.h)
+    /// </summary>
+    [DllImport(API_SCILAB_DLL, CharSet = CharSet.Unicode)]
+    public unsafe static extern api_Err readNamedMatrixOfWideString([In]IntPtr pvApiCtx, [In] String _pstName,
+                                                      [Out]  Int32* _piRows, [Out]  Int32* _piCols,
+                                                      [In, Out] int[] _piLength,
+                                                      [In, Out] String[] _pstStrings);
+    //=============================================================================
+    /// <summary>
+    /// import readNamedMatrixOfDouble from C (see api_double.h)
+    /// </summary>
+    [DllImport(API_SCILAB_DLL, CharSet = CharSet.Ansi)]
+    public unsafe static extern api_Err readNamedMatrixOfDouble([In]IntPtr pvApiCtx, [In] String _pstName,
+                                                      [Out] Int32* _piRows, [Out] Int32* _piCols,
+                                                      [In, Out] Double[] _pdblReal);
+    //=============================================================================
+    /// <summary>
+    /// import readNamedMatrixOfBoolean from C (see api_boolean.h)
+    /// </summary>
+    [DllImport(API_SCILAB_DLL, CharSet = CharSet.Ansi)]
+    public unsafe static extern api_Err readNamedMatrixOfBoolean([In]IntPtr pvApiCtx, [In] String _pstName,
+                                                      [Out] Int32* _piRows, [Out] Int32* _piCols,
+                                                      [In, Out] int[] _piBool);
+    //=============================================================================
+    /// <summary>
+    /// import readNamedMatrixOfInteger32 from C (see api_int.h)
+    /// </summary>
+    [DllImport(API_SCILAB_DLL, CharSet = CharSet.Ansi)]
+    public unsafe static extern api_Err readNamedMatrixOfInteger32([In]IntPtr pvApiCtx, [In] String _pstName,
+                                                      [Out] Int32* _piRows, [Out] Int32* _piCols,
+                                                      [In, Out] int[] _piData);
+
+    //=============================================================================
+    /// <summary>
+    /// import readNamedComplexMatrixOfDouble from C (see api_double.h)
+    /// </summary>
+    [DllImport(API_SCILAB_DLL, CharSet = CharSet.Ansi)]
+    public unsafe static extern api_Err readNamedComplexMatrixOfDouble([In]IntPtr pvApiCtx, [In] String _pstName,
+                                                    [Out] Int32* _piRows, [Out] Int32* _piCols,
+                                                    [In, Out] double[] _pdblReal,
+                                                    [In, Out] double[] _pdblImg);
+    //=============================================================================
+    /// <summary>
+    /// get Variable Adress in scilab stack from name
+    /// used for getNamedMatrixType (internal)
+    /// </summary>
+    /// <param name="_pstName">variable name</param>
+    /// <param name="_piAddress"> stack address</param>
+    /// <returns>1 if ok</returns>
+    [DllImport(API_SCILAB_DLL, CharSet = CharSet.Ansi)]
+    public unsafe static extern api_Err getVarAddressFromName([In]IntPtr pvApiCtx, [In] String _pstName,
+                                                           [Out] Int32** _piAddress);
+    //=============================================================================
+    /// <summary>
+    /// get Variable type in scilab stack from name
+    /// </summary>
+    /// <param name="_pstName">variable name</param>
+    /// <returns>type or -1</returns>
+    [DllImport(API_SCILAB_DLL, CharSet = CharSet.Ansi)]
+    public unsafe static extern api_Err getNamedVarType([In]IntPtr pvApiCtx, [In] String _pstName, [Out]Int32* _piType);
+    //=============================================================================
+    /// <summary>
+    /// get variable type with adress in scilab stack
+    /// used for getNamedMatrixType (internal)
+    /// </summary>
+    /// <param name="_piAddress"> stack address</param>
+    /// <returns>scilab type, 0 fails</returns>
+    [DllImport(API_SCILAB_DLL, CharSet = CharSet.Ansi)]
+    public unsafe static extern api_Err getVarType([In]IntPtr pvApiCtx, [In] Int32* _piAddress, [Out]Int32* _piType);
+    //=============================================================================
+    /// <summary>
+    ///  Detect if a Scilab graphic window is opened
+    /// </summary>
+    /// <returns>0 (FALSE) or 1 (TRUE)</returns>
+    [DllImport(GRAPHICS_DLL, CharSet = CharSet.Ansi)]
+    public unsafe static extern int sciHasFigures();
+    //=============================================================================
+    /// <summary>
+    ///  get last error code
+    /// </summary>
+    /// <returns>last error code</returns>
+    [DllImport(OUTPUT_STREAM_DLL, CharSet = CharSet.Ansi)]
+    public unsafe static extern int GetLastErrorCode();
+    //=============================================================================
+    /// <summary>
+    ///  Get variable dimension
+    /// </summary>
+    /// import getNamedVarDimension from C (see api_common.h)
+    /// <returns>int last error code</returns>
+    [DllImport(API_SCILAB_DLL, CharSet = CharSet.Ansi)]
+    public unsafe static extern api_Err getNamedVarDimension([In]IntPtr pvApiCtx, [In] String _pstName,
+                               [Out] Int32* _piRows, [Out] Int32* _piCols);
+    //=============================================================================
+    /// <summary>
+    ///  Get named complex information
+    /// </summary>
+    /// import isNamedVarComplex from C (see api_common.h)
+    /// <returns>int if complex 1 otherwise 0</returns>
+    [DllImport(API_SCILAB_DLL, CharSet = CharSet.Ansi)]
+    public unsafe static extern int isNamedVarComplex([In]IntPtr pvApiCtx, [In] String _pstName);
+    //=============================================================================
+
+  }
+}
+//=============================================================================
Index: trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.DotNetScilab/1.0/HeuristicLab.DotNetScilab-1.0/DotNetScilab License.txt
===================================================================
--- trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.DotNetScilab/1.0/HeuristicLab.DotNetScilab-1.0/DotNetScilab License.txt	(revision 10602)
+++ trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.DotNetScilab/1.0/HeuristicLab.DotNetScilab-1.0/DotNetScilab License.txt	(revision 10602)
@@ -0,0 +1,506 @@
+
+CeCILL FREE SOFTWARE LICENSE AGREEMENT
+
+
+    Notice
+
+This Agreement is a Free Software license agreement that is the result
+of discussions between its authors in order to ensure compliance with
+the two main principles guiding its drafting:
+
+    * firstly, compliance with the principles governing the distribution
+      of Free Software: access to source code, broad rights granted to
+      users,
+    * secondly, the election of a governing law, French law, with which
+      it is conformant, both as regards the law of torts and
+      intellectual property law, and the protection that it offers to
+      both authors and holders of the economic rights over software.
+
+The authors of the CeCILL (for Ce[a] C[nrs] I[nria] L[ogiciel] L[ibre])
+license are:
+
+Commissariat à l'Energie Atomique - CEA, a public scientific, technical
+and industrial research establishment, having its principal place of
+business at 25 rue Leblanc, immeuble Le Ponant D, 75015 Paris, France.
+
+Centre National de la Recherche Scientifique - CNRS, a public scientific
+and technological establishment, having its principal place of business
+at 3 rue Michel-Ange, 75794 Paris cedex 16, France.
+
+Institut National de Recherche en Informatique et en Automatique -
+INRIA, a public scientific and technological establishment, having its
+principal place of business at Domaine de Voluceau, Rocquencourt, BP
+105, 78153 Le Chesnay cedex, France.
+
+
+    Preamble
+
+The purpose of this Free Software license agreement is to grant users
+the right to modify and redistribute the software governed by this
+license within the framework of an open source distribution model.
+
+The exercising of these rights is conditional upon certain obligations
+for users so as to preserve this status for all subsequent redistributions.
+
+In consideration of access to the source code and the rights to copy,
+modify and redistribute granted by the license, users are provided only
+with a limited warranty and the software's author, the holder of the
+economic rights, and the successive licensors only have limited liability.
+
+In this respect, the risks associated with loading, using, modifying
+and/or developing or reproducing the software by the user are brought to
+the user's attention, given its Free Software status, which may make it
+complicated to use, with the result that its use is reserved for
+developers and experienced professionals having in-depth computer
+knowledge. Users are therefore encouraged to load and test the
+suitability of the software as regards their requirements in conditions
+enabling the security of their systems and/or data to be ensured and,
+more generally, to use and operate it in the same conditions of
+security. This Agreement may be freely reproduced and published,
+provided it is not altered, and that no provisions are either added or
+removed herefrom.
+
+This Agreement may apply to any or all software for which the holder of
+the economic rights decides to submit the use thereof to its provisions.
+
+
+    Article 1 - DEFINITIONS
+
+For the purpose of this Agreement, when the following expressions
+commence with a capital letter, they shall have the following meaning:
+
+Agreement: means this license agreement, and its possible subsequent
+versions and annexes.
+
+Software: means the software in its Object Code and/or Source Code form
+and, where applicable, its documentation, "as is" when the Licensee
+accepts the Agreement.
+
+Initial Software: means the Software in its Source Code and possibly its
+Object Code form and, where applicable, its documentation, "as is" when
+it is first distributed under the terms and conditions of the Agreement.
+
+Modified Software: means the Software modified by at least one
+Contribution.
+
+Source Code: means all the Software's instructions and program lines to
+which access is required so as to modify the Software.
+
+Object Code: means the binary files originating from the compilation of
+the Source Code.
+
+Holder: means the holder(s) of the economic rights over the Initial
+Software.
+
+Licensee: means the Software user(s) having accepted the Agreement.
+
+Contributor: means a Licensee having made at least one Contribution.
+
+Licensor: means the Holder, or any other individual or legal entity, who
+distributes the Software under the Agreement.
+
+Contribution: means any or all modifications, corrections, translations,
+adaptations and/or new functions integrated into the Software by any or
+all Contributors, as well as any or all Internal Modules.
+
+Module: means a set of sources files including their documentation that
+enables supplementary functions or services in addition to those offered
+by the Software.
+
+External Module: means any or all Modules, not derived from the
+Software, so that this Module and the Software run in separate address
+spaces, with one calling the other when they are run.
+
+Internal Module: means any or all Module, connected to the Software so
+that they both execute in the same address space.
+
+GNU GPL: means the GNU General Public License version 2 or any
+subsequent version, as published by the Free Software Foundation Inc.
+
+Parties: mean both the Licensee and the Licensor.
+
+These expressions may be used both in singular and plural form.
+
+
+    Article 2 - PURPOSE
+
+The purpose of the Agreement is the grant by the Licensor to the
+Licensee of a non-exclusive, transferable and worldwide license for the
+Software as set forth in Article 5 hereinafter for the whole term of the
+protection granted by the rights over said Software. 
+
+
+    Article 3 - ACCEPTANCE
+
+3.1 The Licensee shall be deemed as having accepted the terms and
+conditions of this Agreement upon the occurrence of the first of the
+following events:
+
+    * (i) loading the Software by any or all means, notably, by
+      downloading from a remote server, or by loading from a physical
+      medium;
+    * (ii) the first time the Licensee exercises any of the rights
+      granted hereunder.
+
+3.2 One copy of the Agreement, containing a notice relating to the
+characteristics of the Software, to the limited warranty, and to the
+fact that its use is restricted to experienced users has been provided
+to the Licensee prior to its acceptance as set forth in Article 3.1
+hereinabove, and the Licensee hereby acknowledges that it has read and
+understood it.
+
+
+    Article 4 - EFFECTIVE DATE AND TERM
+
+
+      4.1 EFFECTIVE DATE
+
+The Agreement shall become effective on the date when it is accepted by
+the Licensee as set forth in Article 3.1.
+
+
+      4.2 TERM
+
+The Agreement shall remain in force for the entire legal term of
+protection of the economic rights over the Software.
+
+
+    Article 5 - SCOPE OF RIGHTS GRANTED
+
+The Licensor hereby grants to the Licensee, who accepts, the following
+rights over the Software for any or all use, and for the term of the
+Agreement, on the basis of the terms and conditions set forth hereinafter.
+
+Besides, if the Licensor owns or comes to own one or more patents
+protecting all or part of the functions of the Software or of its
+components, the Licensor undertakes not to enforce the rights granted by
+these patents against successive Licensees using, exploiting or
+modifying the Software. If these patents are transferred, the Licensor
+undertakes to have the transferees subscribe to the obligations set
+forth in this paragraph.
+
+
+      5.1 RIGHT OF USE
+
+The Licensee is authorized to use the Software, without any limitation
+as to its fields of application, with it being hereinafter specified
+that this comprises:
+
+   1. permanent or temporary reproduction of all or part of the Software
+      by any or all means and in any or all form.
+
+   2. loading, displaying, running, or storing the Software on any or
+      all medium.
+
+   3. entitlement to observe, study or test its operation so as to
+      determine the ideas and principles behind any or all constituent
+      elements of said Software. This shall apply when the Licensee
+      carries out any or all loading, displaying, running, transmission
+      or storage operation as regards the Software, that it is entitled
+      to carry out hereunder.
+
+
+      5.2 ENTITLEMENT TO MAKE CONTRIBUTIONS
+
+The right to make Contributions includes the right to translate, adapt,
+arrange, or make any or all modifications to the Software, and the right
+to reproduce the resulting software.
+
+The Licensee is authorized to make any or all Contributions to the
+Software provided that it includes an explicit notice that it is the
+author of said Contribution and indicates the date of the creation thereof.
+
+
+      5.3 RIGHT OF DISTRIBUTION
+
+In particular, the right of distribution includes the right to publish,
+transmit and communicate the Software to the general public on any or
+all medium, and by any or all means, and the right to market, either in
+consideration of a fee, or free of charge, one or more copies of the
+Software by any means.
+
+The Licensee is further authorized to distribute copies of the modified
+or unmodified Software to third parties according to the terms and
+conditions set forth hereinafter.
+
+
+        5.3.1 DISTRIBUTION OF SOFTWARE WITHOUT MODIFICATION
+
+The Licensee is authorized to distribute true copies of the Software in
+Source Code or Object Code form, provided that said distribution
+complies with all the provisions of the Agreement and is accompanied by:
+
+   1. a copy of the Agreement,
+
+   2. a notice relating to the limitation of both the Licensor's
+      warranty and liability as set forth in Articles 8 and 9,
+
+and that, in the event that only the Object Code of the Software is
+redistributed, the Licensee allows future Licensees unhindered access to
+the full Source Code of the Software by indicating how to access it, it
+being understood that the additional cost of acquiring the Source Code
+shall not exceed the cost of transferring the data.
+
+
+        5.3.2 DISTRIBUTION OF MODIFIED SOFTWARE
+
+When the Licensee makes a Contribution to the Software, the terms and
+conditions for the distribution of the resulting Modified Software
+become subject to all the provisions of this Agreement.
+
+The Licensee is authorized to distribute the Modified Software, in
+source code or object code form, provided that said distribution
+complies with all the provisions of the Agreement and is accompanied by:
+
+   1. a copy of the Agreement,
+
+   2. a notice relating to the limitation of both the Licensor's
+      warranty and liability as set forth in Articles 8 and 9,
+
+and that, in the event that only the object code of the Modified
+Software is redistributed, the Licensee allows future Licensees
+unhindered access to the full source code of the Modified Software by
+indicating how to access it, it being understood that the additional
+cost of acquiring the source code shall not exceed the cost of
+transferring the data.
+
+
+        5.3.3 DISTRIBUTION OF EXTERNAL MODULES
+
+When the Licensee has developed an External Module, the terms and
+conditions of this Agreement do not apply to said External Module, that
+may be distributed under a separate license agreement.
+
+
+        5.3.4 COMPATIBILITY WITH THE GNU GPL
+
+The Licensee can include a code that is subject to the provisions of one
+of the versions of the GNU GPL in the Modified or unmodified Software,
+and distribute that entire code under the terms of the same version of
+the GNU GPL.
+
+The Licensee can include the Modified or unmodified Software in a code
+that is subject to the provisions of one of the versions of the GNU GPL,
+and distribute that entire code under the terms of the same version of
+the GNU GPL.
+
+
+    Article 6 - INTELLECTUAL PROPERTY
+
+
+      6.1 OVER THE INITIAL SOFTWARE
+
+The Holder owns the economic rights over the Initial Software. Any or
+all use of the Initial Software is subject to compliance with the terms
+and conditions under which the Holder has elected to distribute its work
+and no one shall be entitled to modify the terms and conditions for the
+distribution of said Initial Software.
+
+The Holder undertakes that the Initial Software will remain ruled at
+least by this Agreement, for the duration set forth in Article 4.2.
+
+
+      6.2 OVER THE CONTRIBUTIONS
+
+The Licensee who develops a Contribution is the owner of the
+intellectual property rights over this Contribution as defined by
+applicable law.
+
+
+      6.3 OVER THE EXTERNAL MODULES
+
+The Licensee who develops an External Module is the owner of the
+intellectual property rights over this External Module as defined by
+applicable law and is free to choose the type of agreement that shall
+govern its distribution.
+
+
+      6.4 JOINT PROVISIONS
+
+The Licensee expressly undertakes:
+
+   1. not to remove, or modify, in any manner, the intellectual property
+      notices attached to the Software;
+
+   2. to reproduce said notices, in an identical manner, in the copies
+      of the Software modified or not.
+
+The Licensee undertakes not to directly or indirectly infringe the
+intellectual property rights of the Holder and/or Contributors on the
+Software and to take, where applicable, vis-à-vis its staff, any and all
+measures required to ensure respect of said intellectual property rights
+of the Holder and/or Contributors.
+
+
+    Article 7 - RELATED SERVICES
+
+7.1 Under no circumstances shall the Agreement oblige the Licensor to
+provide technical assistance or maintenance services for the Software.
+
+However, the Licensor is entitled to offer this type of services. The
+terms and conditions of such technical assistance, and/or such
+maintenance, shall be set forth in a separate instrument. Only the
+Licensor offering said maintenance and/or technical assistance services
+shall incur liability therefor.
+
+7.2 Similarly, any Licensor is entitled to offer to its licensees, under
+its sole responsibility, a warranty, that shall only be binding upon
+itself, for the redistribution of the Software and/or the Modified
+Software, under terms and conditions that it is free to decide. Said
+warranty, and the financial terms and conditions of its application,
+shall be subject of a separate instrument executed between the Licensor
+and the Licensee.
+
+
+    Article 8 - LIABILITY
+
+8.1 Subject to the provisions of Article 8.2, the Licensee shall be
+entitled to claim compensation for any direct loss it may have suffered
+from the Software as a result of a fault on the part of the relevant
+Licensor, subject to providing evidence thereof.
+
+8.2 The Licensor's liability is limited to the commitments made under
+this Agreement and shall not be incurred as a result of in particular:
+(i) loss due the Licensee's total or partial failure to fulfill its
+obligations, (ii) direct or consequential loss that is suffered by the
+Licensee due to the use or performance of the Software, and (iii) more
+generally, any consequential loss. In particular the Parties expressly
+agree that any or all pecuniary or business loss (i.e. loss of data,
+loss of profits, operating loss, loss of customers or orders,
+opportunity cost, any disturbance to business activities) or any or all
+legal proceedings instituted against the Licensee by a third party,
+shall constitute consequential loss and shall not provide entitlement to
+any or all compensation from the Licensor.
+
+
+    Article 9 - WARRANTY
+
+9.1 The Licensee acknowledges that the scientific and technical
+state-of-the-art when the Software was distributed did not enable all
+possible uses to be tested and verified, nor for the presence of
+possible defects to be detected. In this respect, the Licensee's
+attention has been drawn to the risks associated with loading, using,
+modifying and/or developing and reproducing the Software which are
+reserved for experienced users.
+
+The Licensee shall be responsible for verifying, by any or all means,
+the suitability of the product for its requirements, its good working
+order, and for ensuring that it shall not cause damage to either persons
+or properties.
+
+9.2 The Licensor hereby represents, in good faith, that it is entitled
+to grant all the rights over the Software (including in particular the
+rights set forth in Article 5).
+
+9.3 The Licensee acknowledges that the Software is supplied "as is" by
+the Licensor without any other express or tacit warranty, other than
+that provided for in Article 9.2 and, in particular, without any warranty 
+as to its commercial value, its secured, safe, innovative or relevant
+nature.
+
+Specifically, the Licensor does not warrant that the Software is free
+from any error, that it will operate without interruption, that it will
+be compatible with the Licensee's own equipment and software
+configuration, nor that it will meet the Licensee's requirements.
+
+9.4 The Licensor does not either expressly or tacitly warrant that the
+Software does not infringe any third party intellectual property right
+relating to a patent, software or any other property right. Therefore,
+the Licensor disclaims any and all liability towards the Licensee
+arising out of any or all proceedings for infringement that may be
+instituted in respect of the use, modification and redistribution of the
+Software. Nevertheless, should such proceedings be instituted against
+the Licensee, the Licensor shall provide it with technical and legal
+assistance for its defense. Such technical and legal assistance shall be
+decided on a case-by-case basis between the relevant Licensor and the
+Licensee pursuant to a memorandum of understanding. The Licensor
+disclaims any and all liability as regards the Licensee's use of the
+name of the Software. No warranty is given as regards the existence of
+prior rights over the name of the Software or as regards the existence
+of a trademark.
+
+
+    Article 10 - TERMINATION
+
+10.1 In the event of a breach by the Licensee of its obligations
+hereunder, the Licensor may automatically terminate this Agreement
+thirty (30) days after notice has been sent to the Licensee and has
+remained ineffective.
+
+10.2 A Licensee whose Agreement is terminated shall no longer be
+authorized to use, modify or distribute the Software. However, any
+licenses that it may have granted prior to termination of the Agreement
+shall remain valid subject to their having been granted in compliance
+with the terms and conditions hereof.
+
+
+    Article 11 - MISCELLANEOUS
+
+
+      11.1 EXCUSABLE EVENTS
+
+Neither Party shall be liable for any or all delay, or failure to
+perform the Agreement, that may be attributable to an event of force
+majeure, an act of God or an outside cause, such as defective
+functioning or interruptions of the electricity or telecommunications
+networks, network paralysis following a virus attack, intervention by
+government authorities, natural disasters, water damage, earthquakes,
+fire, explosions, strikes and labor unrest, war, etc.
+
+11.2 Any failure by either Party, on one or more occasions, to invoke
+one or more of the provisions hereof, shall under no circumstances be
+interpreted as being a waiver by the interested Party of its right to
+invoke said provision(s) subsequently.
+
+11.3 The Agreement cancels and replaces any or all previous agreements,
+whether written or oral, between the Parties and having the same
+purpose, and constitutes the entirety of the agreement between said
+Parties concerning said purpose. No supplement or modification to the
+terms and conditions hereof shall be effective as between the Parties
+unless it is made in writing and signed by their duly authorized
+representatives.
+
+11.4 In the event that one or more of the provisions hereof were to
+conflict with a current or future applicable act or legislative text,
+said act or legislative text shall prevail, and the Parties shall make
+the necessary amendments so as to comply with said act or legislative
+text. All other provisions shall remain effective. Similarly, invalidity
+of a provision of the Agreement, for any reason whatsoever, shall not
+cause the Agreement as a whole to be invalid.
+
+
+      11.5 LANGUAGE
+
+The Agreement is drafted in both French and English and both versions
+are deemed authentic.
+
+
+    Article 12 - NEW VERSIONS OF THE AGREEMENT
+
+12.1 Any person is authorized to duplicate and distribute copies of this
+Agreement.
+
+12.2 So as to ensure coherence, the wording of this Agreement is
+protected and may only be modified by the authors of the License, who
+reserve the right to periodically publish updates or new versions of the
+Agreement, each with a separate number. These subsequent versions may
+address new issues encountered by Free Software.
+
+12.3 Any Software distributed under a given version of the Agreement may
+only be subsequently distributed under the same version of the Agreement
+or a subsequent version, subject to the provisions of Article 5.3.4.
+
+
+    Article 13 - GOVERNING LAW AND JURISDICTION
+
+13.1 The Agreement is governed by French law. The Parties agree to
+endeavor to seek an amicable solution to any disagreements or disputes
+that may arise during the performance of the Agreement.
+
+13.2 Failing an amicable solution within two (2) months as from their
+occurrence, and unless emergency proceedings are necessary, the
+disagreements or disputes shall be referred to the Paris Courts having
+jurisdiction, by the more diligent Party.
+
+
+Version 2.0 dated 2006-09-05.
Index: trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.DotNetScilab/1.0/HeuristicLab.DotNetScilab-1.0/HeuristicLab.DotNetScilab-1.0.csproj
===================================================================
--- trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.DotNetScilab/1.0/HeuristicLab.DotNetScilab-1.0/HeuristicLab.DotNetScilab-1.0.csproj	(revision 10602)
+++ trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.DotNetScilab/1.0/HeuristicLab.DotNetScilab-1.0/HeuristicLab.DotNetScilab-1.0.csproj	(revision 10602)
@@ -0,0 +1,83 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProjectGuid>{F2F242B0-9996-4B49-828D-2BFC5925FDE0}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>HeuristicLab.DotNetScilab</RootNamespace>
+    <AssemblyName>HeuristicLab.DotNetScilab-1.0</AssemblyName>
+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>..\..\..\..\bin\</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\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup>
+    <SignAssembly>true</SignAssembly>
+  </PropertyGroup>
+  <PropertyGroup>
+    <AssemblyOriginatorKeyFile>HeuristicLab.snk</AssemblyOriginatorKeyFile>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Xml.Linq" />
+    <Reference Include="System.Data.DataSetExtensions" />
+    <Reference Include="Microsoft.CSharp" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Plugin.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Content Include="DotNetScilab License.txt">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </Content>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="HeuristicLab.snk" />
+    <None Include="Plugin.cs.frame" />
+    <None Include="Properties\AssemblyInfo.cs.frame" />
+  </ItemGroup>
+  <ItemGroup>
+    <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</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: trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.DotNetScilab/1.0/HeuristicLab.DotNetScilab-1.0/Plugin.cs.frame
===================================================================
--- trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.DotNetScilab/1.0/HeuristicLab.DotNetScilab-1.0/Plugin.cs.frame	(revision 10602)
+++ trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.DotNetScilab/1.0/HeuristicLab.DotNetScilab-1.0/Plugin.cs.frame	(revision 10602)
@@ -0,0 +1,31 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using HeuristicLab.PluginInfrastructure;
+
+namespace HeuristicLab.DotNetScilab {
+  [Plugin("HeuristicLab.DotNetScilab", "HeuristicLab wrapper for DotNetScilab", "1.0.0.$WCREV$")]
+  [PluginFile("HeuristicLab.DotNetScilab-1.0.dll", PluginFileType.Assembly)]
+  [PluginFile("DotNetScilab-1.0.dll", PluginFileType.Assembly)]
+  [PluginFile("DotNetScilab License.txt", PluginFileType.License)]
+  public class HeuristicLabEPPlusPlugin : PluginBase {
+  }
+}
Index: trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.DotNetScilab/1.0/HeuristicLab.DotNetScilab-1.0/Properties/AssemblyInfo.cs.frame
===================================================================
--- trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.DotNetScilab/1.0/HeuristicLab.DotNetScilab-1.0/Properties/AssemblyInfo.cs.frame	(revision 10602)
+++ trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.DotNetScilab/1.0/HeuristicLab.DotNetScilab-1.0/Properties/AssemblyInfo.cs.frame	(revision 10602)
@@ -0,0 +1,57 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2014 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.DotNetScilab")]
+[assembly: AssemblyDescription("Transport plugin for DotNetScilab")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("HeuristicLab")]
+[assembly: AssemblyCopyright("(c) 2002-2014 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("f70ed15d-9703-4c6f-b2f0-89ae10be305d")]
+
+// 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("1.0.*")]
+[assembly: AssemblyVersion("1.0")]
+[assembly: AssemblyFileVersion("1.0.0.$WCREV$")]
