Index: /trunk/sources/HeuristicLab 3.3 Services.sln
===================================================================
--- /trunk/sources/HeuristicLab 3.3 Services.sln	(revision 4454)
+++ /trunk/sources/HeuristicLab 3.3 Services.sln	(revision 4455)
@@ -25,4 +25,6 @@
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Services.OKB.DataAccess-3.3.Tests", "HeuristicLab.Services.OKB.DataAccess\3.3\Tests\HeuristicLab.Services.OKB.DataAccess-3.3.Tests.csproj", "{89234006-FE1B-4A15-AFEC-91CB3526F0A5}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Services.OKB.DataTransfer-3.3", "HeuristicLab.Services.OKB.DataTransfer\3.3\HeuristicLab.Services.OKB.DataTransfer-3.3.csproj", "{209FD7A1-DFB2-4B9F-9268-B95E886B2F7A}"
 EndProject
 Global
@@ -119,4 +121,12 @@
 		{89234006-FE1B-4A15-AFEC-91CB3526F0A5}.Release|x64.ActiveCfg = Release|Any CPU
 		{89234006-FE1B-4A15-AFEC-91CB3526F0A5}.Release|x86.ActiveCfg = Release|Any CPU
+		{209FD7A1-DFB2-4B9F-9268-B95E886B2F7A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{209FD7A1-DFB2-4B9F-9268-B95E886B2F7A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{209FD7A1-DFB2-4B9F-9268-B95E886B2F7A}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{209FD7A1-DFB2-4B9F-9268-B95E886B2F7A}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{209FD7A1-DFB2-4B9F-9268-B95E886B2F7A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{209FD7A1-DFB2-4B9F-9268-B95E886B2F7A}.Release|Any CPU.Build.0 = Release|Any CPU
+		{209FD7A1-DFB2-4B9F-9268-B95E886B2F7A}.Release|x64.ActiveCfg = Release|Any CPU
+		{209FD7A1-DFB2-4B9F-9268-B95E886B2F7A}.Release|x86.ActiveCfg = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
Index: /trunk/sources/HeuristicLab.Services.OKB.DataAccess/3.3/HeuristicLab.Services.OKB.DataAccess-3.3.csproj
===================================================================
--- /trunk/sources/HeuristicLab.Services.OKB.DataAccess/3.3/HeuristicLab.Services.OKB.DataAccess-3.3.csproj	(revision 4454)
+++ /trunk/sources/HeuristicLab.Services.OKB.DataAccess/3.3/HeuristicLab.Services.OKB.DataAccess-3.3.csproj	(revision 4455)
@@ -121,13 +121,8 @@
   </ItemGroup>
   <ItemGroup>
-    <None Include="OKB.designer.cs">
+    <Compile Include="OKB.designer.cs">
       <AutoGen>True</AutoGen>
       <DesignTime>True</DesignTime>
       <DependentUpon>OKB.dbml</DependentUpon>
-    </None>
-    <Compile Include="OKB.generated.cs">
-      <DependentUpon>OKB.tt</DependentUpon>
-      <AutoGen>True</AutoGen>
-      <DesignTime>True</DesignTime>
     </Compile>
     <Compile Include="Properties\AssemblyInfo.cs" />
@@ -144,5 +139,4 @@
     </None>
     <None Include="HeuristicLab.snk" />
-    <None Include="L2ST4.ttinclude" />
     <None Include="OKB.dbml">
       <Generator>MSLinqToSQLGenerator</Generator>
@@ -154,8 +148,4 @@
     <None Include="OKB.dbml.layout">
       <DependentUpon>OKB.dbml</DependentUpon>
-    </None>
-    <None Include="OKB.tt">
-      <Generator>TextTemplatingFileGenerator</Generator>
-      <LastGenOutput>OKB.generated.cs</LastGenOutput>
     </None>
     <None Include="Properties\Settings.settings">
@@ -192,4 +182,10 @@
     <None Include="SQL Scripts\Create OKB.sql" />
   </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\..\HeuristicLab.Services.OKB.DataTransfer\3.3\HeuristicLab.Services.OKB.DataTransfer-3.3.csproj">
+      <Project>{209FD7A1-DFB2-4B9F-9268-B95E886B2F7A}</Project>
+      <Name>HeuristicLab.Services.OKB.DataTransfer-3.3</Name>
+    </ProjectReference>
+  </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <PropertyGroup>
Index: /trunk/sources/HeuristicLab.Services.OKB.DataAccess/3.3/OKB.dbml
===================================================================
--- /trunk/sources/HeuristicLab.Services.OKB.DataAccess/3.3/OKB.dbml	(revision 4454)
+++ /trunk/sources/HeuristicLab.Services.OKB.DataAccess/3.3/OKB.dbml	(revision 4455)
@@ -1,3 +1,3 @@
-﻿<?xml version="1.0" encoding="utf-8"?><Database Name="HeuristicLab.OKB" EntityNamespace="HeuristicLab.Services.OKB.DataAccess" ContextNamespace="HeuristicLab.Services.OKB.DataAccess" Class="OKBDataContext" Serialization="Unidirectional" xmlns="http://schemas.microsoft.com/linqtosql/dbml/2007">
+﻿<?xml version="1.0" encoding="utf-8"?><Database Name="HeuristicLab.OKB" EntityNamespace="HeuristicLab.Services.OKB.DataAccess" ContextNamespace="HeuristicLab.Services.OKB.DataAccess" Class="OKBDataContext" xmlns="http://schemas.microsoft.com/linqtosql/dbml/2007">
   <Connection Mode="AppSettings" ConnectionString="Data Source=.\SQLEXPRESS;Initial Catalog=HeuristicLab.OKB;Integrated Security=True" SettingsObjectName="HeuristicLab.Services.OKB.DataAccess.Properties.Settings" SettingsPropertyName="OKBConnectionString" Provider="System.Data.SqlClient" />
   <Table Name="dbo.AlgorithmClass" Member="AlgorithmClasses">
@@ -18,7 +18,7 @@
       <Association Name="Algorithm_Experiment" Member="Experiments" ThisKey="Id" OtherKey="AlgorithmId" Type="Experiment" />
       <Association Name="Algorithm_AlgorithmParameter" Member="AlgorithmParameters" ThisKey="Id" OtherKey="AlgorithmId" Type="AlgorithmParameter" />
-      <Association Name="Algorithm_AlgorithmData" Member="AlgorithmData" ThisKey="Id" OtherKey="AlgorithmId" Type="AlgorithmData" Cardinality="One" />
       <Association Name="Algorithm_AlgorithmUser" Member="AlgorithmUsers" ThisKey="Id" OtherKey="AlgorithmId" Type="AlgorithmUser" />
       <Association Name="Algorithm_Result" Member="Results" ThisKey="Id" OtherKey="AlgorithmId" Type="Result" />
+      <Association Name="Algorithm_AlgorithmData" Member="AlgorithmData" ThisKey="Id" OtherKey="AlgorithmId" Type="AlgorithmData" Cardinality="One" />
       <Association Name="AlgorithmClass_Algorithm" Member="AlgorithmClass" ThisKey="AlgorithmClassId" OtherKey="Id" Type="AlgorithmClass" IsForeignKey="true" />
       <Association Name="Platform_Algorithm" Member="Platform" ThisKey="PlatformId" OtherKey="Id" Type="Platform" IsForeignKey="true" />
@@ -35,6 +35,6 @@
       <Association Name="Problem_Experiment" Member="Experiments" ThisKey="Id" OtherKey="ProblemId" Type="Experiment" />
       <Association Name="Problem_ProblemParameter" Member="ProblemParameters" ThisKey="Id" OtherKey="ProblemId" Type="ProblemParameter" />
+      <Association Name="Problem_ProblemUser" Member="ProblemUsers" ThisKey="Id" OtherKey="ProblemId" Type="ProblemUser" />
       <Association Name="Problem_ProblemData" Member="ProblemData" ThisKey="Id" OtherKey="ProblemId" Type="ProblemData" Cardinality="One" />
-      <Association Name="Problem_ProblemUser" Member="ProblemUsers" ThisKey="Id" OtherKey="ProblemId" Type="ProblemUser" />
       <Association Name="ProblemClass_Problem" Member="ProblemClass" ThisKey="ProblemClassId" OtherKey="Id" Type="ProblemClass" IsForeignKey="true" />
       <Association Name="Platform_Problem" Member="Platform" ThisKey="PlatformId" OtherKey="Id" Type="Platform" IsForeignKey="true" />
@@ -103,11 +103,4 @@
     </Type>
   </Table>
-  <Table Name="dbo.AlgorithmData" Member="AlgorithmDatas">
-    <Type Name="AlgorithmData">
-      <Column Name="AlgorithmId" Type="System.Int64" DbType="BigInt NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
-      <Column Name="Data" Type="System.Data.Linq.Binary" DbType="VarBinary(MAX) NOT NULL" CanBeNull="false" UpdateCheck="Never" />
-      <Association Name="Algorithm_AlgorithmData" Member="Algorithm" ThisKey="AlgorithmId" OtherKey="Id" Type="Algorithm" IsForeignKey="true" />
-    </Type>
-  </Table>
   <Table Name="dbo.[User]" Member="Users">
     <Type Name="User">
@@ -117,11 +110,4 @@
       <Association Name="User_ProblemUser" Member="ProblemUsers" ThisKey="Id" OtherKey="UserId" Type="ProblemUser" />
       <Association Name="User_Run" Member="Runs" ThisKey="Id" OtherKey="UserId" Type="Run" />
-    </Type>
-  </Table>
-  <Table Name="dbo.ProblemData" Member="ProblemDatas">
-    <Type Name="ProblemData">
-      <Column Name="ProblemId" Type="System.Int64" DbType="BigInt NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
-      <Column Name="Data" Type="System.Data.Linq.Binary" DbType="VarBinary(MAX) NOT NULL" CanBeNull="false" UpdateCheck="Never" />
-      <Association Name="Problem_ProblemData" Member="Problem" ThisKey="ProblemId" OtherKey="Id" Type="Problem" IsForeignKey="true" />
     </Type>
   </Table>
@@ -229,4 +215,6 @@
       <Association Name="DataType_ResultIntValue" Member="ResultIntValues" ThisKey="Id" OtherKey="DataTypeId" Type="ResultIntValue" />
       <Association Name="DataType_ResultStringValue" Member="ResultStringValues" ThisKey="Id" OtherKey="DataTypeId" Type="ResultStringValue" />
+      <Association Name="DataType_AlgorithmData" Member="AlgorithmDatas" ThisKey="Id" OtherKey="DataTypeId" Type="AlgorithmData" />
+      <Association Name="DataType_ProblemData" Member="ProblemDatas" ThisKey="Id" OtherKey="DataTypeId" Type="ProblemData" />
       <Association Name="Platform_DataType" Member="Platform" ThisKey="PlatformId" OtherKey="Id" Type="Platform" IsForeignKey="true" />
     </Type>
@@ -386,3 +374,21 @@
     </Type>
   </Table>
+  <Table Name="dbo.AlgorithmData" Member="AlgorithmDatas">
+    <Type Name="AlgorithmData">
+      <Column Name="AlgorithmId" Type="System.Int64" DbType="BigInt NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
+      <Column Name="DataTypeId" Type="System.Int64" DbType="BigInt NOT NULL" CanBeNull="false" />
+      <Column Name="Data" Type="System.Data.Linq.Binary" DbType="VarBinary(MAX) NOT NULL" CanBeNull="false" UpdateCheck="Never" />
+      <Association Name="Algorithm_AlgorithmData" Member="Algorithm" ThisKey="AlgorithmId" OtherKey="Id" Type="Algorithm" IsForeignKey="true" />
+      <Association Name="DataType_AlgorithmData" Member="DataType" ThisKey="DataTypeId" OtherKey="Id" Type="DataType" IsForeignKey="true" />
+    </Type>
+  </Table>
+  <Table Name="dbo.ProblemData" Member="ProblemDatas">
+    <Type Name="ProblemData">
+      <Column Name="ProblemId" Type="System.Int64" DbType="BigInt NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
+      <Column Name="DataTypeId" Type="System.Int64" DbType="BigInt NOT NULL" CanBeNull="false" />
+      <Column Name="Data" Type="System.Data.Linq.Binary" DbType="VarBinary(MAX) NOT NULL" CanBeNull="false" UpdateCheck="Never" />
+      <Association Name="DataType_ProblemData" Member="DataType" ThisKey="DataTypeId" OtherKey="Id" Type="DataType" IsForeignKey="true" />
+      <Association Name="Problem_ProblemData" Member="Problem" ThisKey="ProblemId" OtherKey="Id" Type="Problem" IsForeignKey="true" />
+    </Type>
+  </Table>
 </Database>
Index: /trunk/sources/HeuristicLab.Services.OKB.DataAccess/3.3/OKB.dbml.layout
===================================================================
--- /trunk/sources/HeuristicLab.Services.OKB.DataAccess/3.3/OKB.dbml.layout	(revision 4454)
+++ /trunk/sources/HeuristicLab.Services.OKB.DataAccess/3.3/OKB.dbml.layout	(revision 4455)
@@ -1,4 +1,4 @@
 ﻿<?xml version="1.0" encoding="utf-8"?>
-<ordesignerObjectsDiagram dslVersion="1.0.0.0" absoluteBounds="0, 0, 15.5, 14.125" name="OKB">
+<ordesignerObjectsDiagram dslVersion="1.0.0.0" absoluteBounds="0, 0, 16, 14.125" name="OKB">
   <DataContextMoniker Name="/OKBDataContext" />
   <nestedChildShapes>
@@ -22,17 +22,17 @@
       </nodes>
     </associationConnector>
-    <classShape Id="27d0903a-8f45-4b0b-8d0e-8d632bffc702" absoluteBounds="12.75, 2.125, 2, 1.9631982421875">
+    <classShape Id="27d0903a-8f45-4b0b-8d0e-8d632bffc702" absoluteBounds="13.25, 2.125, 2, 1.9631982421875">
       <DataClassMoniker Name="/OKBDataContext/Problem" />
       <nestedChildShapes>
-        <elementListCompartment Id="9038b68e-8013-42c0-bba9-60a0b75fffd1" absoluteBounds="12.765, 2.585, 1.9700000000000002, 1.4031982421875" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
-      </nestedChildShapes>
-    </classShape>
-    <classShape Id="018aceac-7bd0-4fdd-8cca-d219aa08a5b5" absoluteBounds="12.75, 0.5, 2, 1.3862939453125">
+        <elementListCompartment Id="9038b68e-8013-42c0-bba9-60a0b75fffd1" absoluteBounds="13.265, 2.585, 1.9700000000000002, 1.4031982421875" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
+      </nestedChildShapes>
+    </classShape>
+    <classShape Id="018aceac-7bd0-4fdd-8cca-d219aa08a5b5" absoluteBounds="13.25, 0.5, 2, 1.3862939453125">
       <DataClassMoniker Name="/OKBDataContext/ProblemClass" />
       <nestedChildShapes>
-        <elementListCompartment Id="2958536f-012b-4eb7-8bc7-453edcda1493" absoluteBounds="12.765, 0.96, 1.9700000000000002, 0.8262939453125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
-      </nestedChildShapes>
-    </classShape>
-    <associationConnector edgePoints="[(13.75 : 1.8862939453125); (13.75 : 2.125)]" fixedFrom="Algorithm" fixedTo="Algorithm">
+        <elementListCompartment Id="2958536f-012b-4eb7-8bc7-453edcda1493" absoluteBounds="13.265, 0.96, 1.9700000000000002, 0.8262939453125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
+      </nestedChildShapes>
+    </classShape>
+    <associationConnector edgePoints="[(14.25 : 1.8862939453125); (14.25 : 2.125)]" fixedFrom="Algorithm" fixedTo="Algorithm">
       <AssociationMoniker Name="/OKBDataContext/ProblemClass/ProblemClass_Problem" />
       <nodes>
@@ -41,11 +41,11 @@
       </nodes>
     </associationConnector>
-    <classShape Id="c250fb1a-b448-499e-b8eb-d1d0c38521a0" absoluteBounds="7.75, 4.375, 2, 1.3862939453125">
+    <classShape Id="c250fb1a-b448-499e-b8eb-d1d0c38521a0" absoluteBounds="8, 4.375, 2, 1.3862939453125">
       <DataClassMoniker Name="/OKBDataContext/Experiment" />
       <nestedChildShapes>
-        <elementListCompartment Id="75b7e6ac-33fa-45bf-9832-b5bf0c2c0db5" absoluteBounds="7.7650000000000006, 4.835, 1.9700000000000002, 0.8262939453125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
-      </nestedChildShapes>
-    </classShape>
-    <associationConnector edgePoints="[(12.75 : 3.68901671247756); (10.3515625 : 3.68901671247756 : JumpStart); (10.1848958333333 : 3.68901671247756 : JumpEnd); (9.14129711009978 : 3.68901671247756); (9.14129711009978 : 4.375)]" manuallyRouted="true" fixedFrom="Caller" fixedTo="Caller">
+        <elementListCompartment Id="75b7e6ac-33fa-45bf-9832-b5bf0c2c0db5" absoluteBounds="8.015, 4.835, 1.9700000000000002, 0.8262939453125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
+      </nestedChildShapes>
+    </classShape>
+    <associationConnector edgePoints="[(13.25 : 3.70933229417067); (10.3177083333333 : 3.70933229417067 : JumpStart); (10.0755208333334 : 3.70933229417067 : JumpEnd); (9.39129711009978 : 3.70933229417067); (9.39129711009978 : 4.375)]" manuallyRouted="true" fixedFrom="Caller" fixedTo="Algorithm">
       <AssociationMoniker Name="/OKBDataContext/Problem/Problem_Experiment" />
       <nodes>
@@ -67,11 +67,11 @@
       </nodes>
     </associationConnector>
-    <classShape Id="8b17f420-0cf1-402a-aaec-d2372f039661" absoluteBounds="12.75, 4.375, 2, 1.9631982421875">
+    <classShape Id="8b17f420-0cf1-402a-aaec-d2372f039661" absoluteBounds="13.25, 4.375, 2, 1.9631982421875">
       <DataClassMoniker Name="/OKBDataContext/ProblemParameter" />
       <nestedChildShapes>
-        <elementListCompartment Id="75441838-346f-41f0-9651-419532edd47d" absoluteBounds="12.765, 4.835, 1.9700000000000002, 1.4031982421875" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
-      </nestedChildShapes>
-    </classShape>
-    <associationConnector edgePoints="[(13.75 : 4.0881982421875); (13.75 : 4.375)]" fixedFrom="Algorithm" fixedTo="Algorithm">
+        <elementListCompartment Id="75441838-346f-41f0-9651-419532edd47d" absoluteBounds="13.265, 4.835, 1.9700000000000002, 1.4031982421875" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
+      </nestedChildShapes>
+    </classShape>
+    <associationConnector edgePoints="[(14.25 : 4.0881982421875); (14.25 : 4.375)]" fixedFrom="Algorithm" fixedTo="Algorithm">
       <AssociationMoniker Name="/OKBDataContext/Problem/Problem_ProblemParameter" />
       <nodes>
@@ -80,8 +80,566 @@
       </nodes>
     </associationConnector>
-    <classShape Id="5affc6ad-6a51-4852-a56f-1ad75d92a930" isExpanded="false" absoluteBounds="5, 2.125, 2, 0.45">
+    <classShape Id="a404261b-f46d-4103-ae44-bed7deb3fe45" absoluteBounds="8, 12.625, 2, 1.1939925130208333">
+      <DataClassMoniker Name="/OKBDataContext/User" />
+      <nestedChildShapes>
+        <elementListCompartment Id="0a5f6a23-6207-42a6-877f-68722cc29a4a" absoluteBounds="8.015, 13.085, 1.9700000000000002, 0.63399251302083326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
+      </nestedChildShapes>
+    </classShape>
+    <classShape Id="aa997e47-0162-4fc2-aa8d-e237c50c46fe" isExpanded="false" absoluteBounds="5, 13.375, 2, 0.45">
+      <DataClassMoniker Name="/OKBDataContext/AlgorithmUser" />
+      <nestedChildShapes>
+        <elementListCompartment Id="f81c31a9-84c5-40b1-b817-6dccbe77227d" absoluteBounds="5.0150000000000006, 13.835, 1.9700000000000002, 0.63399251302083326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
+      </nestedChildShapes>
+    </classShape>
+    <associationConnector edgePoints="[(2.75 : 3.05928622214716); (2.33333333333333 : 3.05928622214716); (2.33333333333333 : 13.6); (5 : 13.6)]" manuallyRouted="true" fixedFrom="NotFixed" fixedTo="NotFixed">
+      <AssociationMoniker Name="/OKBDataContext/Algorithm/Algorithm_AlgorithmUser" />
+      <nodes>
+        <classShapeMoniker Id="6395cc20-e99d-4d78-868d-4401004ef90f" />
+        <classShapeMoniker Id="aa997e47-0162-4fc2-aa8d-e237c50c46fe" />
+      </nodes>
+    </associationConnector>
+    <associationConnector edgePoints="[(8 : 13.5969962565104); (7 : 13.5969962565104)]" fixedFrom="Algorithm" fixedTo="Algorithm">
+      <AssociationMoniker Name="/OKBDataContext/User/User_AlgorithmUser" />
+      <nodes>
+        <classShapeMoniker Id="a404261b-f46d-4103-ae44-bed7deb3fe45" />
+        <classShapeMoniker Id="aa997e47-0162-4fc2-aa8d-e237c50c46fe" />
+      </nodes>
+    </associationConnector>
+    <classShape Id="8d911be4-13c4-4abd-85de-4f93f280dd50" isExpanded="false" absoluteBounds="11, 13.375, 2, 0.45">
+      <DataClassMoniker Name="/OKBDataContext/ProblemUser" />
+      <nestedChildShapes>
+        <elementListCompartment Id="bdf4bd9d-405f-4582-99ff-036459c86748" absoluteBounds="11.015, 13.835, 1.9700000000000002, 0.63399251302083326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
+      </nestedChildShapes>
+    </classShape>
+    <associationConnector edgePoints="[(15.25 : 3.84686083984375); (15.5520833333333 : 3.84686083984375); (15.5520833333333 : 13.6291666666667); (13 : 13.6291666666667)]" manuallyRouted="true" fixedFrom="NotFixed" fixedTo="NotFixed">
+      <AssociationMoniker Name="/OKBDataContext/Problem/Problem_ProblemUser" />
+      <nodes>
+        <classShapeMoniker Id="27d0903a-8f45-4b0b-8d0e-8d632bffc702" />
+        <classShapeMoniker Id="8d911be4-13c4-4abd-85de-4f93f280dd50" />
+      </nodes>
+    </associationConnector>
+    <associationConnector edgePoints="[(10 : 13.5969962565104); (11 : 13.5969962565104)]" fixedFrom="Algorithm" fixedTo="Algorithm">
+      <AssociationMoniker Name="/OKBDataContext/User/User_ProblemUser" />
+      <nodes>
+        <classShapeMoniker Id="a404261b-f46d-4103-ae44-bed7deb3fe45" />
+        <classShapeMoniker Id="8d911be4-13c4-4abd-85de-4f93f280dd50" />
+      </nodes>
+    </associationConnector>
+    <classShape Id="42a9e8c0-3168-43f0-a31f-54d1558bd4c2" absoluteBounds="8, 2.125, 2, 1.3862939453125">
+      <DataClassMoniker Name="/OKBDataContext/Platform" />
+      <nestedChildShapes>
+        <elementListCompartment Id="83ab4fa2-80aa-4c36-9596-bc4d9a0c6daf" absoluteBounds="8.015, 2.585, 1.9700000000000002, 0.8262939453125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
+      </nestedChildShapes>
+    </classShape>
+    <associationConnector edgePoints="[(8 : 2.9892521417204); (7.75 : 2.9892521417204 : JumpStart); (7.58333333333333 : 2.9892521417204 : JumpEnd); (4.75 : 2.9892521417204)]" fixedFrom="Algorithm" fixedTo="Caller">
+      <AssociationMoniker Name="/OKBDataContext/Platform/Platform_Algorithm" />
+      <nodes>
+        <classShapeMoniker Id="42a9e8c0-3168-43f0-a31f-54d1558bd4c2" />
+        <classShapeMoniker Id="6395cc20-e99d-4d78-868d-4401004ef90f" />
+      </nodes>
+    </associationConnector>
+    <associationConnector edgePoints="[(10 : 3.00163998647837); (10.1510416666667 : 3.00163998647837 : JumpStart); (10.3177083333333 : 3.00163998647837 : JumpEnd); (13.25 : 3.00163998647837)]" fixedFrom="Algorithm" fixedTo="Caller">
+      <AssociationMoniker Name="/OKBDataContext/Platform/Platform_Problem" />
+      <nodes>
+        <classShapeMoniker Id="42a9e8c0-3168-43f0-a31f-54d1558bd4c2" />
+        <classShapeMoniker Id="27d0903a-8f45-4b0b-8d0e-8d632bffc702" />
+      </nodes>
+    </associationConnector>
+    <associationConnector edgePoints="[(4.75 : 3.70471734924843); (7.58333333333333 : 3.70471734924843 : JumpStart); (7.75 : 3.70471734924843 : JumpEnd); (8.66439605504989 : 3.70471734924843); (8.66439605504989 : 4.375)]" fixedFrom="Caller" fixedTo="Algorithm">
+      <AssociationMoniker Name="/OKBDataContext/Algorithm/Algorithm_Experiment" />
+      <nodes>
+        <classShapeMoniker Id="6395cc20-e99d-4d78-868d-4401004ef90f" />
+        <classShapeMoniker Id="c250fb1a-b448-499e-b8eb-d1d0c38521a0" />
+      </nodes>
+    </associationConnector>
+    <classShape Id="83a5f628-defe-486f-bc6a-4ab430293368" absoluteBounds="8, 9.875, 2, 1.9631982421875">
+      <DataClassMoniker Name="/OKBDataContext/Run" />
+      <nestedChildShapes>
+        <elementListCompartment Id="649f10a6-6047-4f4e-b76a-9da90591bbec" absoluteBounds="8.015, 10.335, 1.9700000000000002, 1.4031982421875" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
+      </nestedChildShapes>
+    </classShape>
+    <associationConnector edgePoints="[(8.97294619299704 : 5.7612939453125); (8.97294619299704 : 7.07715027669271); (10.0755208333334 : 7.07715027669271 : JumpStart); (10.3177083333333 : 7.07715027669271 : JumpEnd); (10.4169255432508 : 7.07715027669271); (10.4169255432508 : 9.43414366861979); (9.35898824036419 : 9.43414366861979); (9.35898824036419 : 9.875)]" manuallyRouted="true" fixedFrom="Algorithm" fixedTo="Algorithm">
+      <AssociationMoniker Name="/OKBDataContext/Experiment/Experiment_Run" />
+      <nodes>
+        <classShapeMoniker Id="c250fb1a-b448-499e-b8eb-d1d0c38521a0" />
+        <classShapeMoniker Id="83a5f628-defe-486f-bc6a-4ab430293368" />
+      </nodes>
+    </associationConnector>
+    <associationConnector edgePoints="[(8.94699175429055 : 12.625); (8.94979879212345 : 12.50125); (8.94979879212345 : 11.8381982421875)]" manuallyRouted="true" fixedFrom="NotFixed" fixedTo="NotFixed">
+      <AssociationMoniker Name="/OKBDataContext/User/User_Run" />
+      <nodes>
+        <classShapeMoniker Id="a404261b-f46d-4103-ae44-bed7deb3fe45" />
+        <classShapeMoniker Id="83a5f628-defe-486f-bc6a-4ab430293368" />
+      </nodes>
+    </associationConnector>
+    <classShape Id="1cb9bad0-d19c-43d7-97f8-a26cf3e2d7a0" absoluteBounds="2.75, 9.875, 2, 1.9631982421875">
+      <DataClassMoniker Name="/OKBDataContext/Result" />
+      <nestedChildShapes>
+        <elementListCompartment Id="f9654c1a-11ad-49a5-869d-09139f6e950f" absoluteBounds="2.765, 10.335, 1.9700000000000002, 1.4031982421875" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
+      </nestedChildShapes>
+    </classShape>
+    <associationConnector edgePoints="[(2.75 : 3.57753182566939); (2.48611111111111 : 3.57753182566939); (2.48611111111111 : 10.8349145033753); (2.75 : 10.8349145033753)]" manuallyRouted="true" fixedFrom="NotFixed" fixedTo="NotFixed">
+      <AssociationMoniker Name="/OKBDataContext/Algorithm/Algorithm_Result" />
+      <nodes>
+        <classShapeMoniker Id="6395cc20-e99d-4d78-868d-4401004ef90f" />
+        <classShapeMoniker Id="1cb9bad0-d19c-43d7-97f8-a26cf3e2d7a0" />
+      </nodes>
+    </associationConnector>
+    <classShape Id="8b301cad-7a91-46f5-9c49-75b17bac7a67" absoluteBounds="11.75, 10.25, 2, 1.1939925130208344">
+      <DataClassMoniker Name="/OKBDataContext/Client" />
+      <nestedChildShapes>
+        <elementListCompartment Id="aacc92af-97a1-46b2-8614-a54b03736b54" absoluteBounds="11.765, 10.71, 1.9700000000000002, 0.63399251302083326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
+      </nestedChildShapes>
+    </classShape>
+    <associationConnector edgePoints="[(11.75 : 10.8469962565104); (10 : 10.8469962565104)]" fixedFrom="Algorithm" fixedTo="Algorithm">
+      <AssociationMoniker Name="/OKBDataContext/Client/Client_Run" />
+      <nodes>
+        <classShapeMoniker Id="8b301cad-7a91-46f5-9c49-75b17bac7a67" />
+        <classShapeMoniker Id="83a5f628-defe-486f-bc6a-4ab430293368" />
+      </nodes>
+    </associationConnector>
+    <classShape Id="06cdd7a7-aece-4230-94df-523959acef3f" isExpanded="false" absoluteBounds="5, 4.375, 2, 0.45">
+      <DataClassMoniker Name="/OKBDataContext/AlgorithmParameterBlobValue" />
+      <nestedChildShapes>
+        <elementListCompartment Id="b48d7763-2c2a-4795-a2a0-632148a87992" absoluteBounds="5.015, 4.835, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
+      </nestedChildShapes>
+    </classShape>
+    <associationConnector edgePoints="[(4.75 : 4.6); (5 : 4.6)]" fixedFrom="NotFixed" fixedTo="NotFixed">
+      <AssociationMoniker Name="/OKBDataContext/AlgorithmParameter/AlgorithmParameter_AlgorithmParameterBlobValue" />
+      <nodes>
+        <classShapeMoniker Id="533939e3-1d76-4e1b-a562-4bb7a30cc432" />
+        <classShapeMoniker Id="06cdd7a7-aece-4230-94df-523959acef3f" />
+      </nodes>
+    </associationConnector>
+    <associationConnector edgePoints="[(8 : 4.474343832021); (7.75 : 4.47434383202099 : JumpStart); (7.58333333333333 : 4.474343832021 : JumpEnd); (7 : 4.474343832021)]" fixedFrom="Algorithm" fixedTo="Algorithm">
+      <AssociationMoniker Name="/OKBDataContext/Experiment/Experiment_AlgorithmParameterBlobValue" />
+      <nodes>
+        <classShapeMoniker Id="c250fb1a-b448-499e-b8eb-d1d0c38521a0" />
+        <classShapeMoniker Id="06cdd7a7-aece-4230-94df-523959acef3f" />
+      </nodes>
+    </associationConnector>
+    <classShape Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" absoluteBounds="8, 7.375, 2, 1.5785953776041666">
+      <DataClassMoniker Name="/OKBDataContext/DataType" />
+      <nestedChildShapes>
+        <elementListCompartment Id="ce12818a-3944-434b-8219-a290382fdcbc" absoluteBounds="8.015, 7.835, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
+      </nestedChildShapes>
+    </classShape>
+    <associationConnector edgePoints="[(8 : 8.59359245906078); (3.75523427495249 : 8.59359245906078); (3.75523427495249 : 6.3381982421875)]" fixedFrom="Algorithm" fixedTo="Caller">
+      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_AlgorithmParameter" />
+      <nodes>
+        <classShapeMoniker Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" />
+        <classShapeMoniker Id="533939e3-1d76-4e1b-a562-4bb7a30cc432" />
+      </nodes>
+    </associationConnector>
+    <associationConnector edgePoints="[(10 : 8.8332272596976); (10.3335922099174 : 8.8332272596976 : JumpStart); (10.5002588765841 : 8.8332272596976 : JumpEnd); (14.2812525 : 8.8332272596976); (14.2812525 : 6.3381982421875)]" fixedFrom="Caller" fixedTo="Algorithm">
+      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_ProblemParameter" />
+      <nodes>
+        <classShapeMoniker Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" />
+        <classShapeMoniker Id="8b17f420-0cf1-402a-aaec-d2372f039661" />
+      </nodes>
+    </associationConnector>
+    <associationConnector edgePoints="[(8 : 8.84709721018681); (3.73775859657604 : 8.84709721018681); (3.73775859657604 : 9.875)]" manuallyRouted="true" fixedFrom="NotFixed" fixedTo="NotFixed">
+      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_Result" />
+      <nodes>
+        <classShapeMoniker Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" />
+        <classShapeMoniker Id="1cb9bad0-d19c-43d7-97f8-a26cf3e2d7a0" />
+      </nodes>
+    </associationConnector>
+    <associationConnector edgePoints="[(8 : 7.64868451067789); (7.53385416666667 : 7.64868451067789); (7.53385416666667 : 4.69868766404199); (7 : 4.69868766404199)]" manuallyRouted="true" fixedFrom="NotFixed" fixedTo="NotFixed">
+      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_AlgorithmParameterBlobValue" />
+      <nodes>
+        <classShapeMoniker Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" />
+        <classShapeMoniker Id="06cdd7a7-aece-4230-94df-523959acef3f" />
+      </nodes>
+    </associationConnector>
+    <associationConnector edgePoints="[(10 : 3.24965968229986); (10.1588541666667 : 3.24965968229986); (10.1588541666667 : 7.51797277441852); (10 : 7.51797277441852)]" manuallyRouted="true" fixedFrom="Algorithm" fixedTo="Caller">
+      <AssociationMoniker Name="/OKBDataContext/Platform/Platform_DataType" />
+      <nodes>
+        <classShapeMoniker Id="42a9e8c0-3168-43f0-a31f-54d1558bd4c2" />
+        <classShapeMoniker Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" />
+      </nodes>
+    </associationConnector>
+    <classShape Id="26374887-8257-4278-aab5-42acd8160d99" isExpanded="false" absoluteBounds="5, 4.875, 2, 0.45">
+      <DataClassMoniker Name="/OKBDataContext/AlgorithmParameterBoolValue" />
+      <nestedChildShapes>
+        <elementListCompartment Id="674d80df-63fd-44ab-85f1-326e2e32ebca" absoluteBounds="5.015, 5.335, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
+      </nestedChildShapes>
+    </classShape>
+    <associationConnector edgePoints="[(4.75 : 5.1); (5 : 5.1)]" fixedFrom="NotFixed" fixedTo="NotFixed">
+      <AssociationMoniker Name="/OKBDataContext/AlgorithmParameter/AlgorithmParameter_AlgorithmParameterBoolValue" />
+      <nodes>
+        <classShapeMoniker Id="533939e3-1d76-4e1b-a562-4bb7a30cc432" />
+        <classShapeMoniker Id="26374887-8257-4278-aab5-42acd8160d99" />
+      </nodes>
+    </associationConnector>
+    <associationConnector edgePoints="[(8 : 7.84101029413916); (7.45052083333333 : 7.84101029413916); (7.45052083333333 : 5.18549618320611); (7 : 5.18549618320611)]" manuallyRouted="true" fixedFrom="NotFixed" fixedTo="NotFixed">
+      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_AlgorithmParameterBoolValue" />
+      <nodes>
+        <classShapeMoniker Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" />
+        <classShapeMoniker Id="26374887-8257-4278-aab5-42acd8160d99" />
+      </nodes>
+    </associationConnector>
+    <associationConnector edgePoints="[(8 : 4.96774809160306); (7.75 : 4.96774809160305 : JumpStart); (7.45052083333334 : 4.96774809160306 : JumpEnd); (7 : 4.96774809160306)]" fixedFrom="Algorithm" fixedTo="Algorithm">
+      <AssociationMoniker Name="/OKBDataContext/Experiment/Experiment_AlgorithmParameterBoolValue" />
+      <nodes>
+        <classShapeMoniker Id="c250fb1a-b448-499e-b8eb-d1d0c38521a0" />
+        <classShapeMoniker Id="26374887-8257-4278-aab5-42acd8160d99" />
+      </nodes>
+    </associationConnector>
+    <classShape Id="057a5dc9-97f1-4752-98b1-7e34502a121d" isExpanded="false" absoluteBounds="5, 5.375, 2, 0.45">
+      <DataClassMoniker Name="/OKBDataContext/AlgorithmParameterFloatValue" />
+      <nestedChildShapes>
+        <elementListCompartment Id="816b5043-a0c5-4633-96b3-f37d5e57a76d" absoluteBounds="5.015, 5.835, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
+      </nestedChildShapes>
+    </classShape>
+    <associationConnector edgePoints="[(4.75 : 5.6); (5 : 5.6)]" fixedFrom="NotFixed" fixedTo="NotFixed">
+      <AssociationMoniker Name="/OKBDataContext/AlgorithmParameter/AlgorithmParameter_AlgorithmParameterFloatValue" />
+      <nodes>
+        <classShapeMoniker Id="533939e3-1d76-4e1b-a562-4bb7a30cc432" />
+        <classShapeMoniker Id="057a5dc9-97f1-4752-98b1-7e34502a121d" />
+      </nodes>
+    </associationConnector>
+    <associationConnector edgePoints="[(8 : 8.01620545089886); (7.36677083333333 : 8.01620545089886); (7.36677083333333 : 5.67187575); (7 : 5.67187575)]" manuallyRouted="true" fixedFrom="NotFixed" fixedTo="NotFixed">
+      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_AlgorithmParameterFloatValue" />
+      <nodes>
+        <classShapeMoniker Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" />
+        <classShapeMoniker Id="057a5dc9-97f1-4752-98b1-7e34502a121d" />
+      </nodes>
+    </associationConnector>
+    <associationConnector edgePoints="[(8 : 5.460937875); (7.75 : 5.460937875 : JumpStart); (7.3671875 : 5.460937875 : JumpEnd); (7 : 5.460937875)]" fixedFrom="Algorithm" fixedTo="Algorithm">
+      <AssociationMoniker Name="/OKBDataContext/Experiment/Experiment_AlgorithmParameterFloatValue" />
+      <nodes>
+        <classShapeMoniker Id="c250fb1a-b448-499e-b8eb-d1d0c38521a0" />
+        <classShapeMoniker Id="057a5dc9-97f1-4752-98b1-7e34502a121d" />
+      </nodes>
+    </associationConnector>
+    <classShape Id="2f5e14b0-a1c2-4ff8-85e9-8be6dd6d1a3c" isExpanded="false" absoluteBounds="5, 5.875, 2, 0.45">
+      <DataClassMoniker Name="/OKBDataContext/AlgorithmParameterIntValue" />
+      <nestedChildShapes>
+        <elementListCompartment Id="752cb331-8b80-4e3d-bf2b-cf3e5f7969dd" absoluteBounds="5.015, 6.335, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
+      </nestedChildShapes>
+    </classShape>
+    <associationConnector edgePoints="[(4.75 : 6.1); (5 : 6.1)]" fixedFrom="NotFixed" fixedTo="NotFixed">
+      <AssociationMoniker Name="/OKBDataContext/AlgorithmParameter/AlgorithmParameter_AlgorithmParameterIntValue" />
+      <nodes>
+        <classShapeMoniker Id="533939e3-1d76-4e1b-a562-4bb7a30cc432" />
+        <classShapeMoniker Id="2f5e14b0-a1c2-4ff8-85e9-8be6dd6d1a3c" />
+      </nodes>
+    </associationConnector>
+    <associationConnector edgePoints="[(8 : 8.17682240181229); (7.28645833333333 : 8.17682240181229); (7.28645833333333 : 6.14022346368715); (7 : 6.14022346368715)]" manuallyRouted="true" fixedFrom="NotFixed" fixedTo="NotFixed">
+      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_AlgorithmParameterIntValue" />
+      <nodes>
+        <classShapeMoniker Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" />
+        <classShapeMoniker Id="2f5e14b0-a1c2-4ff8-85e9-8be6dd6d1a3c" />
+      </nodes>
+    </associationConnector>
+    <associationConnector edgePoints="[(8.12469232196825 : 5.7612939453125); (8.12469232196825 : 6.26386423184357); (7.75 : 6.26386423184357 : JumpStart); (7.203125 : 6.26386423184357 : JumpEnd); (7 : 6.26386423184357)]" fixedFrom="Caller" fixedTo="Algorithm">
+      <AssociationMoniker Name="/OKBDataContext/Experiment/Experiment_AlgorithmParameterIntValue" />
+      <nodes>
+        <classShapeMoniker Id="c250fb1a-b448-499e-b8eb-d1d0c38521a0" />
+        <classShapeMoniker Id="2f5e14b0-a1c2-4ff8-85e9-8be6dd6d1a3c" />
+      </nodes>
+    </associationConnector>
+    <classShape Id="eea47e09-6cec-4cb3-9d45-7b9004038e54" isExpanded="false" absoluteBounds="5, 6.375, 2, 0.45">
+      <DataClassMoniker Name="/OKBDataContext/AlgorithmParameterStringValue" />
+      <nestedChildShapes>
+        <elementListCompartment Id="c80917ed-7a25-4278-bdef-8dc9ab7ce3eb" absoluteBounds="5.015, 6.835, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
+      </nestedChildShapes>
+    </classShape>
+    <associationConnector edgePoints="[(4.75 : 6.3381982421875); (5 : 6.375)]" fixedFrom="NotFixed" fixedTo="NotFixed">
+      <AssociationMoniker Name="/OKBDataContext/AlgorithmParameter/AlgorithmParameter_AlgorithmParameterStringValue" />
+      <nodes>
+        <classShapeMoniker Id="533939e3-1d76-4e1b-a562-4bb7a30cc432" />
+        <classShapeMoniker Id="eea47e09-6cec-4cb3-9d45-7b9004038e54" />
+      </nodes>
+    </associationConnector>
+    <associationConnector edgePoints="[(8 : 8.34008770793474); (7.22395833333333 : 8.34008770793474); (7.22395833333333 : 6.68727272727273); (7 : 6.68727272727273)]" manuallyRouted="true" fixedFrom="NotFixed" fixedTo="NotFixed">
+      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_AlgorithmParameterStringValue" />
+      <nodes>
+        <classShapeMoniker Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" />
+        <classShapeMoniker Id="eea47e09-6cec-4cb3-9d45-7b9004038e54" />
+      </nodes>
+    </associationConnector>
+    <associationConnector edgePoints="[(8.32275220480378 : 5.7612939453125); (8.32275220480378 : 6.52913752913753); (7.75 : 6.52913752913753 : JumpStart); (7.203125 : 6.52913752913753 : JumpEnd); (7 : 6.52913752913753)]" manuallyRouted="true" fixedFrom="NotFixed" fixedTo="NotFixed">
+      <AssociationMoniker Name="/OKBDataContext/Experiment/Experiment_AlgorithmParameterStringValue" />
+      <nodes>
+        <classShapeMoniker Id="c250fb1a-b448-499e-b8eb-d1d0c38521a0" />
+        <classShapeMoniker Id="eea47e09-6cec-4cb3-9d45-7b9004038e54" />
+      </nodes>
+    </associationConnector>
+    <classShape Id="3a7d54f6-474c-4e4d-b1ef-db12741c57a7" isExpanded="false" absoluteBounds="11, 4.375, 2, 0.45">
+      <DataClassMoniker Name="/OKBDataContext/ProblemParameterBlobValue" />
+      <nestedChildShapes>
+        <elementListCompartment Id="661a54eb-030c-441f-b081-ff5fb5f56029" absoluteBounds="11.015, 4.835, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
+      </nestedChildShapes>
+    </classShape>
+    <associationConnector edgePoints="[(10 : 7.9786396782387); (10.3335922099174 : 7.9786396782387 : JumpStart); (10.5002588765841 : 7.9786396782387 : JumpEnd); (10.5625 : 7.9786396782387); (10.5625 : 4.6994708994709); (11 : 4.6994708994709)]" manuallyRouted="true" fixedFrom="Caller" fixedTo="Caller">
+      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_ProblemParameterBlobValue" />
+      <nodes>
+        <classShapeMoniker Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" />
+        <classShapeMoniker Id="3a7d54f6-474c-4e4d-b1ef-db12741c57a7" />
+      </nodes>
+    </associationConnector>
+    <associationConnector edgePoints="[(10 : 4.55926455740201); (10.0755208981321 : 4.55917037795654 : JumpStart); (10.3177082685346 : 4.5588683546384 : JumpEnd); (11 : 4.55801749271137)]" manuallyRouted="true" fixedFrom="NotFixed" fixedTo="NotFixed">
+      <AssociationMoniker Name="/OKBDataContext/Experiment/Experiment_ProblemParameterBlobValue" />
+      <nodes>
+        <classShapeMoniker Id="c250fb1a-b448-499e-b8eb-d1d0c38521a0" />
+        <classShapeMoniker Id="3a7d54f6-474c-4e4d-b1ef-db12741c57a7" />
+      </nodes>
+    </associationConnector>
+    <associationConnector edgePoints="[(13.25 : 4.6); (13 : 4.6)]" fixedFrom="Algorithm" fixedTo="Algorithm">
+      <AssociationMoniker Name="/OKBDataContext/ProblemParameter/ProblemParameter_ProblemParameterBlobValue" />
+      <nodes>
+        <classShapeMoniker Id="8b17f420-0cf1-402a-aaec-d2372f039661" />
+        <classShapeMoniker Id="3a7d54f6-474c-4e4d-b1ef-db12741c57a7" />
+      </nodes>
+    </associationConnector>
+    <classShape Id="17eed903-551f-4855-bec6-9766e172358a" isExpanded="false" absoluteBounds="11, 4.875, 2, 0.45">
+      <DataClassMoniker Name="/OKBDataContext/ProblemParameterBoolValue" />
+      <nestedChildShapes>
+        <elementListCompartment Id="4e4b3cfc-c0b8-4792-a6f6-69eca72be5e9" absoluteBounds="11.015, 5.335, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
+      </nestedChildShapes>
+    </classShape>
+    <associationConnector edgePoints="[(10 : 8.10809372095976); (10.3335922099174 : 8.10809372095976 : JumpStart); (10.5002588765841 : 8.10809372095976 : JumpEnd); (10.625 : 8.10809372095976); (10.625 : 5.16632124352332); (11 : 5.16632124352332)]" manuallyRouted="true" fixedFrom="Caller" fixedTo="Caller">
+      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_ProblemParameterBoolValue" />
+      <nodes>
+        <classShapeMoniker Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" />
+        <classShapeMoniker Id="17eed903-551f-4855-bec6-9766e172358a" />
+      </nodes>
+    </associationConnector>
+    <associationConnector edgePoints="[(10 : 5.01957671957672); (10.0755208333334 : 5.01957671957672 : JumpStart); (10.3177083333333 : 5.01957671957672 : JumpEnd); (10.4791666666667 : 5.01957671957672 : JumpStart); (10.6458333333333 : 5.01957671957672 : JumpEnd); (11 : 5.01957671957672)]" fixedFrom="Algorithm" fixedTo="Caller">
+      <AssociationMoniker Name="/OKBDataContext/Experiment/Experiment_ProblemParameterBoolValue" />
+      <nodes>
+        <classShapeMoniker Id="c250fb1a-b448-499e-b8eb-d1d0c38521a0" />
+        <classShapeMoniker Id="17eed903-551f-4855-bec6-9766e172358a" />
+      </nodes>
+    </associationConnector>
+    <associationConnector edgePoints="[(13.25 : 5.1); (13 : 5.1)]" fixedFrom="Algorithm" fixedTo="Algorithm">
+      <AssociationMoniker Name="/OKBDataContext/ProblemParameter/ProblemParameter_ProblemParameterBoolValue" />
+      <nodes>
+        <classShapeMoniker Id="8b17f420-0cf1-402a-aaec-d2372f039661" />
+        <classShapeMoniker Id="17eed903-551f-4855-bec6-9766e172358a" />
+      </nodes>
+    </associationConnector>
+    <classShape Id="efb685e2-26e6-42b4-af33-25d0a261a8e4" isExpanded="false" absoluteBounds="11, 5.375, 2, 0.45">
+      <DataClassMoniker Name="/OKBDataContext/ProblemParameterFloatValue" />
+      <nestedChildShapes>
+        <elementListCompartment Id="e4fc9f1f-c248-4dc4-92d8-251dabb0e892" absoluteBounds="11.015, 5.835, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
+      </nestedChildShapes>
+    </classShape>
+    <associationConnector edgePoints="[(10 : 8.28358960953379); (10.3335922099174 : 8.28358960953379 : JumpStart); (10.5002588765841 : 8.28358960953379 : JumpEnd); (10.6848958333333 : 8.28358960953379); (10.6848958333333 : 5.65482233502538); (11 : 5.65482233502538)]" manuallyRouted="true" fixedFrom="Caller" fixedTo="Caller">
+      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_ProblemParameterFloatValue" />
+      <nodes>
+        <classShapeMoniker Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" />
+        <classShapeMoniker Id="efb685e2-26e6-42b4-af33-25d0a261a8e4" />
+      </nodes>
+    </associationConnector>
+    <associationConnector edgePoints="[(10 : 5.52361809045226); (10.0755208333334 : 5.52361809045226 : JumpStart); (10.3177083333333 : 5.52361809045226 : JumpEnd); (10.4791666666667 : 5.52361809045226 : JumpStart); (10.7083333333333 : 5.52361809045226 : JumpEnd); (11 : 5.52361809045226)]" fixedFrom="Algorithm" fixedTo="Caller">
+      <AssociationMoniker Name="/OKBDataContext/Experiment/Experiment_ProblemParameterFloatValue" />
+      <nodes>
+        <classShapeMoniker Id="c250fb1a-b448-499e-b8eb-d1d0c38521a0" />
+        <classShapeMoniker Id="efb685e2-26e6-42b4-af33-25d0a261a8e4" />
+      </nodes>
+    </associationConnector>
+    <associationConnector edgePoints="[(13.25 : 5.6); (13 : 5.6)]" fixedFrom="Algorithm" fixedTo="Algorithm">
+      <AssociationMoniker Name="/OKBDataContext/ProblemParameter/ProblemParameter_ProblemParameterFloatValue" />
+      <nodes>
+        <classShapeMoniker Id="8b17f420-0cf1-402a-aaec-d2372f039661" />
+        <classShapeMoniker Id="efb685e2-26e6-42b4-af33-25d0a261a8e4" />
+      </nodes>
+    </associationConnector>
+    <classShape Id="b27bcaf0-a671-4840-b8d0-3b0b9a75e521" isExpanded="false" absoluteBounds="11, 5.875, 2, 0.45">
+      <DataClassMoniker Name="/OKBDataContext/ProblemParameterIntValue" />
+      <nestedChildShapes>
+        <elementListCompartment Id="8d19f7b7-2edd-4c58-b478-8c9e82f8dd8e" absoluteBounds="11.015, 6.335, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
+      </nestedChildShapes>
+    </classShape>
+    <associationConnector edgePoints="[(10 : 8.41284371712721); (10.3335922099174 : 8.41284371712721 : JumpStart); (10.5002588765841 : 8.41284371712721 : JumpEnd); (10.796875 : 8.41284371712721); (10.796875 : 6.18442211055276); (11 : 6.18442211055276)]" manuallyRouted="true" fixedFrom="Caller" fixedTo="Caller">
+      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_ProblemParameterIntValue" />
+      <nodes>
+        <classShapeMoniker Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" />
+        <classShapeMoniker Id="b27bcaf0-a671-4840-b8d0-3b0b9a75e521" />
+      </nodes>
+    </associationConnector>
+    <associationConnector edgePoints="[(9.90313426539349 : 5.7612939453125); (9.90313426539349 : 5.99845855527638); (10.0755208333334 : 5.99845855527638 : JumpStart); (10.3177083333333 : 5.99845855527638 : JumpEnd); (10.4791666666667 : 5.99845855527638 : JumpStart); (10.7682291666666 : 5.99845855527638 : JumpEnd); (11 : 5.99845855527638)]" fixedFrom="Caller" fixedTo="Algorithm">
+      <AssociationMoniker Name="/OKBDataContext/Experiment/Experiment_ProblemParameterIntValue" />
+      <nodes>
+        <classShapeMoniker Id="c250fb1a-b448-499e-b8eb-d1d0c38521a0" />
+        <classShapeMoniker Id="b27bcaf0-a671-4840-b8d0-3b0b9a75e521" />
+      </nodes>
+    </associationConnector>
+    <associationConnector edgePoints="[(13.25 : 6.1); (13 : 6.1)]" fixedFrom="Algorithm" fixedTo="Algorithm">
+      <AssociationMoniker Name="/OKBDataContext/ProblemParameter/ProblemParameter_ProblemParameterIntValue" />
+      <nodes>
+        <classShapeMoniker Id="8b17f420-0cf1-402a-aaec-d2372f039661" />
+        <classShapeMoniker Id="b27bcaf0-a671-4840-b8d0-3b0b9a75e521" />
+      </nodes>
+    </associationConnector>
+    <classShape Id="b7bc30b4-f687-4b26-8033-3a45f55ba3d0" isExpanded="false" absoluteBounds="11, 6.375, 2, 0.45">
+      <DataClassMoniker Name="/OKBDataContext/ProblemParameterStringValue" />
+      <nestedChildShapes>
+        <elementListCompartment Id="3f3ddbbc-2bdc-4b62-8af7-c764c9cb3d23" absoluteBounds="11.015, 6.835, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
+      </nestedChildShapes>
+    </classShape>
+    <associationConnector edgePoints="[(10 : 8.58033140185627); (10.3335922099174 : 8.58033140185627 : JumpStart); (10.5002588765841 : 8.58033140185627 : JumpEnd); (10.8333333333334 : 8.58033140185627); (10.8333333333334 : 6.67728459530026); (11 : 6.67728459530026)]" manuallyRouted="true" fixedFrom="Caller" fixedTo="Algorithm">
+      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_ProblemParameterStringValue" />
+      <nodes>
+        <classShapeMoniker Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" />
+        <classShapeMoniker Id="b7bc30b4-f687-4b26-8033-3a45f55ba3d0" />
+      </nodes>
+    </associationConnector>
+    <associationConnector edgePoints="[(9.7239488113416 : 5.7612939453125); (9.7239488113416 : 6.52284263959391); (10.0755208333334 : 6.52284263959391 : JumpStart); (10.3177083333333 : 6.52284263959391 : JumpEnd); (10.4791666666667 : 6.52284263959391 : JumpStart); (10.8802083333333 : 6.52284263959391 : JumpEnd); (11 : 6.52284263959391)]" fixedFrom="Caller" fixedTo="Caller">
+      <AssociationMoniker Name="/OKBDataContext/Experiment/Experiment_ProblemParameterStringValue" />
+      <nodes>
+        <classShapeMoniker Id="c250fb1a-b448-499e-b8eb-d1d0c38521a0" />
+        <classShapeMoniker Id="b7bc30b4-f687-4b26-8033-3a45f55ba3d0" />
+      </nodes>
+    </associationConnector>
+    <associationConnector edgePoints="[(13.25 : 6.3381982421875); (13 : 6.375)]" fixedFrom="NotFixed" fixedTo="NotFixed">
+      <AssociationMoniker Name="/OKBDataContext/ProblemParameter/ProblemParameter_ProblemParameterStringValue" />
+      <nodes>
+        <classShapeMoniker Id="8b17f420-0cf1-402a-aaec-d2372f039661" />
+        <classShapeMoniker Id="b7bc30b4-f687-4b26-8033-3a45f55ba3d0" />
+      </nodes>
+    </associationConnector>
+    <classShape Id="ee200851-595b-4ee2-b49c-05a55a37599f" isExpanded="false" absoluteBounds="5, 9.875, 2, 0.45">
+      <DataClassMoniker Name="/OKBDataContext/ResultBlobValue" />
+      <nestedChildShapes>
+        <elementListCompartment Id="0ac0d616-ed46-4b7b-9cc5-2603a9b9ec47" absoluteBounds="5.015, 10.335, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
+      </nestedChildShapes>
+    </classShape>
+    <associationConnector edgePoints="[(8.25347949158136 : 8.95359537760417); (8.25347949158136 : 9.10416666666667); (7.234375 : 9.10416666666667); (7.234375 : 9.956248); (7 : 9.956248)]" manuallyRouted="true" fixedFrom="NotFixed" fixedTo="NotFixed">
+      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_ResultBlobValue" />
+      <nodes>
+        <classShapeMoniker Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" />
+        <classShapeMoniker Id="ee200851-595b-4ee2-b49c-05a55a37599f" />
+      </nodes>
+    </associationConnector>
+    <associationConnector edgePoints="[(4.75 : 10.1); (5 : 10.1)]" fixedFrom="NotFixed" fixedTo="NotFixed">
+      <AssociationMoniker Name="/OKBDataContext/Result/Result_ResultBlobValue" />
+      <nodes>
+        <classShapeMoniker Id="1cb9bad0-d19c-43d7-97f8-a26cf3e2d7a0" />
+        <classShapeMoniker Id="ee200851-595b-4ee2-b49c-05a55a37599f" />
+      </nodes>
+    </associationConnector>
+    <associationConnector edgePoints="[(8 : 10.203124); (7.640625 : 10.203124 : JumpStart); (7.25520833333334 : 10.203124 : JumpEnd); (7 : 10.203124)]" fixedFrom="Algorithm" fixedTo="Algorithm">
+      <AssociationMoniker Name="/OKBDataContext/Run/Run_ResultBlobValue" />
+      <nodes>
+        <classShapeMoniker Id="83a5f628-defe-486f-bc6a-4ab430293368" />
+        <classShapeMoniker Id="ee200851-595b-4ee2-b49c-05a55a37599f" />
+      </nodes>
+    </associationConnector>
+    <classShape Id="d9962bb9-5e85-4440-ba70-52dee5597bb5" isExpanded="false" absoluteBounds="5, 10.375, 2, 0.45">
+      <DataClassMoniker Name="/OKBDataContext/ResultBoolValue" />
+      <nestedChildShapes>
+        <elementListCompartment Id="df41447b-8550-49a9-ae8a-ce5fdde5f39e" absoluteBounds="5.015, 10.835, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
+      </nestedChildShapes>
+    </classShape>
+    <associationConnector edgePoints="[(8.40008105657562 : 8.95359537760417); (8.40008105657562 : 9.19791666666667); (7.33854166666667 : 9.19791666666667); (7.33854166666667 : 10.5251231527094); (7 : 10.5251231527094)]" manuallyRouted="true" fixedFrom="NotFixed" fixedTo="NotFixed">
+      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_ResultBoolValue" />
+      <nodes>
+        <classShapeMoniker Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" />
+        <classShapeMoniker Id="d9962bb9-5e85-4440-ba70-52dee5597bb5" />
+      </nodes>
+    </associationConnector>
+    <associationConnector edgePoints="[(4.75 : 10.6); (5 : 10.6)]" fixedFrom="NotFixed" fixedTo="NotFixed">
+      <AssociationMoniker Name="/OKBDataContext/Result/Result_ResultBoolValue" />
+      <nodes>
+        <classShapeMoniker Id="1cb9bad0-d19c-43d7-97f8-a26cf3e2d7a0" />
+        <classShapeMoniker Id="d9962bb9-5e85-4440-ba70-52dee5597bb5" />
+      </nodes>
+    </associationConnector>
+    <associationConnector edgePoints="[(8 : 10.7375615763547); (7.640625 : 10.7375615763547 : JumpStart); (7.31770833333334 : 10.7375615763547 : JumpEnd); (7 : 10.7375615763547)]" fixedFrom="Algorithm" fixedTo="Algorithm">
+      <AssociationMoniker Name="/OKBDataContext/Run/Run_ResultBoolValue" />
+      <nodes>
+        <classShapeMoniker Id="83a5f628-defe-486f-bc6a-4ab430293368" />
+        <classShapeMoniker Id="d9962bb9-5e85-4440-ba70-52dee5597bb5" />
+      </nodes>
+    </associationConnector>
+    <classShape Id="87722e82-0ed2-4367-970a-de15813bccf4" isExpanded="false" absoluteBounds="5, 10.875, 2, 0.45">
+      <DataClassMoniker Name="/OKBDataContext/ResultFloatValue" />
+      <nestedChildShapes>
+        <elementListCompartment Id="7da0329a-6d27-48f9-9681-3218a4f30693" absoluteBounds="5.015, 11.335, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
+      </nestedChildShapes>
+    </classShape>
+    <associationConnector edgePoints="[(8.50949690409837 : 8.95359537760417); (8.50949690409837 : 9.34375); (7.40104166666667 : 9.34375); (7.40104166666667 : 11.0431472081218); (7 : 11.0431472081218)]" manuallyRouted="true" fixedFrom="NotFixed" fixedTo="NotFixed">
+      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_ResultFloatValue" />
+      <nodes>
+        <classShapeMoniker Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" />
+        <classShapeMoniker Id="87722e82-0ed2-4367-970a-de15813bccf4" />
+      </nodes>
+    </associationConnector>
+    <associationConnector edgePoints="[(4.75 : 11.1); (5 : 11.1)]" fixedFrom="NotFixed" fixedTo="NotFixed">
+      <AssociationMoniker Name="/OKBDataContext/Result/Result_ResultFloatValue" />
+      <nodes>
+        <classShapeMoniker Id="1cb9bad0-d19c-43d7-97f8-a26cf3e2d7a0" />
+        <classShapeMoniker Id="87722e82-0ed2-4367-970a-de15813bccf4" />
+      </nodes>
+    </associationConnector>
+    <associationConnector edgePoints="[(8 : 11.2465736040609); (7.640625 : 11.2465736040609 : JumpStart); (7.390625 : 11.2465736040609 : JumpEnd); (7 : 11.2465736040609)]" fixedFrom="Algorithm" fixedTo="Algorithm">
+      <AssociationMoniker Name="/OKBDataContext/Run/Run_ResultFloatValue" />
+      <nodes>
+        <classShapeMoniker Id="83a5f628-defe-486f-bc6a-4ab430293368" />
+        <classShapeMoniker Id="87722e82-0ed2-4367-970a-de15813bccf4" />
+      </nodes>
+    </associationConnector>
+    <classShape Id="51114ffd-aaac-4a08-b313-992d55fb1998" isExpanded="false" absoluteBounds="5, 11.375, 2, 0.45">
+      <DataClassMoniker Name="/OKBDataContext/ResultIntValue" />
+      <nestedChildShapes>
+        <elementListCompartment Id="c0d4b94f-c6a1-4143-866a-11e138a128b2" absoluteBounds="5.015, 11.835, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
+      </nestedChildShapes>
+    </classShape>
+    <associationConnector edgePoints="[(8.64347373456605 : 8.95359537760417); (8.64347373456605 : 9.48958333333333); (7.47395833333333 : 9.48958333333333); (7.47395833333333 : 11.5523316062176); (7 : 11.5523316062176)]" manuallyRouted="true" fixedFrom="NotFixed" fixedTo="NotFixed">
+      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_ResultIntValue" />
+      <nodes>
+        <classShapeMoniker Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" />
+        <classShapeMoniker Id="51114ffd-aaac-4a08-b313-992d55fb1998" />
+      </nodes>
+    </associationConnector>
+    <associationConnector edgePoints="[(4.75 : 11.6); (5 : 11.6)]" fixedFrom="NotFixed" fixedTo="NotFixed">
+      <AssociationMoniker Name="/OKBDataContext/Result/Result_ResultIntValue" />
+      <nodes>
+        <classShapeMoniker Id="1cb9bad0-d19c-43d7-97f8-a26cf3e2d7a0" />
+        <classShapeMoniker Id="51114ffd-aaac-4a08-b313-992d55fb1998" />
+      </nodes>
+    </associationConnector>
+    <associationConnector edgePoints="[(8 : 11.7511658031088); (7.640625 : 11.7511658031088 : JumpStart); (7.47395833333334 : 11.7511658031088 : JumpEnd); (7 : 11.7511658031088)]" fixedFrom="Algorithm" fixedTo="Algorithm">
+      <AssociationMoniker Name="/OKBDataContext/Run/Run_ResultIntValue" />
+      <nodes>
+        <classShapeMoniker Id="83a5f628-defe-486f-bc6a-4ab430293368" />
+        <classShapeMoniker Id="51114ffd-aaac-4a08-b313-992d55fb1998" />
+      </nodes>
+    </associationConnector>
+    <classShape Id="88d442c4-1dd1-4cbf-ab9f-0ab5be88bde3" isExpanded="false" absoluteBounds="5, 11.875, 2, 0.45">
+      <DataClassMoniker Name="/OKBDataContext/ResultStringValue" />
+      <nestedChildShapes>
+        <elementListCompartment Id="e1b83e78-6822-4fc3-ad73-406604736b80" absoluteBounds="5.015, 12.335, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
+      </nestedChildShapes>
+    </classShape>
+    <associationConnector edgePoints="[(8.76594671358473 : 8.95359537760417); (8.76594671358473 : 9.625); (7.55729166666667 : 9.625); (7.55729166666667 : 12.0117948717949); (7 : 12.0117948717949)]" manuallyRouted="true" fixedFrom="NotFixed" fixedTo="NotFixed">
+      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_ResultStringValue" />
+      <nodes>
+        <classShapeMoniker Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" />
+        <classShapeMoniker Id="88d442c4-1dd1-4cbf-ab9f-0ab5be88bde3" />
+      </nodes>
+    </associationConnector>
+    <associationConnector edgePoints="[(4.75000000000001 : 11.8381982421875); (5 : 11.875)]" fixedFrom="NotFixed" fixedTo="NotFixed">
+      <AssociationMoniker Name="/OKBDataContext/Result/Result_ResultStringValue" />
+      <nodes>
+        <classShapeMoniker Id="1cb9bad0-d19c-43d7-97f8-a26cf3e2d7a0" />
+        <classShapeMoniker Id="88d442c4-1dd1-4cbf-ab9f-0ab5be88bde3" />
+      </nodes>
+    </associationConnector>
+    <associationConnector edgePoints="[(8.19174036349966 : 11.8381982421875); (8.19174036349966 : 12.1996499358974); (7 : 12.1996499358974)]" fixedFrom="Caller" fixedTo="Algorithm">
+      <AssociationMoniker Name="/OKBDataContext/Run/Run_ResultStringValue" />
+      <nodes>
+        <classShapeMoniker Id="83a5f628-defe-486f-bc6a-4ab430293368" />
+        <classShapeMoniker Id="88d442c4-1dd1-4cbf-ab9f-0ab5be88bde3" />
+      </nodes>
+    </associationConnector>
+    <classShape Id="6a694570-7fd3-46f5-8972-d67f230df83e" isExpanded="false" absoluteBounds="5, 2.125, 2, 0.45">
       <DataClassMoniker Name="/OKBDataContext/AlgorithmData" />
       <nestedChildShapes>
-        <elementListCompartment Id="d80b3c3e-0bff-4464-b4d3-312f6cd43786" absoluteBounds="5.015, 2.585, 1.9700000000000002, 0.63399251302083326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
+        <elementListCompartment Id="528e0b3e-4609-41e5-931d-60e5165e8fcf" absoluteBounds="5.015, 2.585, 1.9700000000000002, 0.8262939453125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
       </nestedChildShapes>
     </classShape>
@@ -90,576 +648,32 @@
       <nodes>
         <classShapeMoniker Id="6395cc20-e99d-4d78-868d-4401004ef90f" />
-        <classShapeMoniker Id="5affc6ad-6a51-4852-a56f-1ad75d92a930" />
-      </nodes>
-    </associationConnector>
-    <classShape Id="a404261b-f46d-4103-ae44-bed7deb3fe45" absoluteBounds="7.75, 12.625, 2, 1.1939925130208333">
-      <DataClassMoniker Name="/OKBDataContext/User" />
-      <nestedChildShapes>
-        <elementListCompartment Id="0a5f6a23-6207-42a6-877f-68722cc29a4a" absoluteBounds="7.765, 13.085, 1.9700000000000002, 0.63399251302083326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
-      </nestedChildShapes>
-    </classShape>
-    <classShape Id="5eb2a8aa-95d3-4ee1-a8b6-1dd327d5cacd" isExpanded="false" absoluteBounds="10.5, 2.125, 2, 0.45">
+        <classShapeMoniker Id="6a694570-7fd3-46f5-8972-d67f230df83e" />
+      </nodes>
+    </associationConnector>
+    <associationConnector edgePoints="[(8 : 7.48059025533894); (7.66666666666667 : 7.48059025533894); (7.66666666666667 : 2.35402010050251); (7 : 2.35402010050251)]" manuallyRouted="true" fixedFrom="Algorithm" fixedTo="Caller">
+      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_AlgorithmData" />
+      <nodes>
+        <classShapeMoniker Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" />
+        <classShapeMoniker Id="6a694570-7fd3-46f5-8972-d67f230df83e" />
+      </nodes>
+    </associationConnector>
+    <classShape Id="76c463bf-aada-4bb3-8fee-36e85d08bebf" isExpanded="false" absoluteBounds="11, 2.125, 2, 0.45">
       <DataClassMoniker Name="/OKBDataContext/ProblemData" />
       <nestedChildShapes>
-        <elementListCompartment Id="c4b124a9-ff53-4f0a-b43a-a7ceb97771df" absoluteBounds="10.515, 2.585, 1.9700000000000002, 0.63399251302083326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
-      </nestedChildShapes>
-    </classShape>
-    <associationConnector edgePoints="[(12.75 : 2.35); (12.5 : 2.35)]" fixedFrom="Algorithm" fixedTo="Algorithm">
+        <elementListCompartment Id="f0041206-64f7-482e-bc89-1fc4ae5a29ec" absoluteBounds="11.015, 2.585, 1.9700000000000002, 0.8262939453125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
+      </nestedChildShapes>
+    </classShape>
+    <associationConnector edgePoints="[(10 : 7.74641638736175); (10.234375 : 7.74641638736175); (10.234375 : 2.34351351351351); (11 : 2.34351351351351)]" manuallyRouted="true" fixedFrom="Caller" fixedTo="Caller">
+      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_ProblemData" />
+      <nodes>
+        <classShapeMoniker Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" />
+        <classShapeMoniker Id="76c463bf-aada-4bb3-8fee-36e85d08bebf" />
+      </nodes>
+    </associationConnector>
+    <associationConnector edgePoints="[(13.25 : 2.35); (13 : 2.35)]" fixedFrom="Algorithm" fixedTo="Algorithm">
       <AssociationMoniker Name="/OKBDataContext/Problem/Problem_ProblemData" />
       <nodes>
         <classShapeMoniker Id="27d0903a-8f45-4b0b-8d0e-8d632bffc702" />
-        <classShapeMoniker Id="5eb2a8aa-95d3-4ee1-a8b6-1dd327d5cacd" />
-      </nodes>
-    </associationConnector>
-    <classShape Id="aa997e47-0162-4fc2-aa8d-e237c50c46fe" isExpanded="false" absoluteBounds="5, 13.375, 2, 0.45">
-      <DataClassMoniker Name="/OKBDataContext/AlgorithmUser" />
-      <nestedChildShapes>
-        <elementListCompartment Id="f81c31a9-84c5-40b1-b817-6dccbe77227d" absoluteBounds="5.0150000000000006, 13.835, 1.9700000000000002, 0.63399251302083326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
-      </nestedChildShapes>
-    </classShape>
-    <associationConnector edgePoints="[(2.75 : 3.05928622214716); (2.33333333333333 : 3.05928622214716); (2.33333333333333 : 13.6); (5 : 13.6)]" manuallyRouted="true" fixedFrom="NotFixed" fixedTo="NotFixed">
-      <AssociationMoniker Name="/OKBDataContext/Algorithm/Algorithm_AlgorithmUser" />
-      <nodes>
-        <classShapeMoniker Id="6395cc20-e99d-4d78-868d-4401004ef90f" />
-        <classShapeMoniker Id="aa997e47-0162-4fc2-aa8d-e237c50c46fe" />
-      </nodes>
-    </associationConnector>
-    <associationConnector edgePoints="[(7.75 : 13.5969962565104); (7 : 13.5969962565104)]" fixedFrom="Algorithm" fixedTo="Algorithm">
-      <AssociationMoniker Name="/OKBDataContext/User/User_AlgorithmUser" />
-      <nodes>
-        <classShapeMoniker Id="a404261b-f46d-4103-ae44-bed7deb3fe45" />
-        <classShapeMoniker Id="aa997e47-0162-4fc2-aa8d-e237c50c46fe" />
-      </nodes>
-    </associationConnector>
-    <classShape Id="8d911be4-13c4-4abd-85de-4f93f280dd50" isExpanded="false" absoluteBounds="10.5, 13.375, 2, 0.45">
-      <DataClassMoniker Name="/OKBDataContext/ProblemUser" />
-      <nestedChildShapes>
-        <elementListCompartment Id="bdf4bd9d-405f-4582-99ff-036459c86748" absoluteBounds="10.515, 13.835, 1.9700000000000002, 0.63399251302083326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
-      </nestedChildShapes>
-    </classShape>
-    <associationConnector edgePoints="[(14.75 : 3.84686083984375); (15.0520833333333 : 3.84686083984375); (15.0520833333333 : 13.6291666666667); (12.5 : 13.6291666666667)]" manuallyRouted="true" fixedFrom="Algorithm" fixedTo="Algorithm">
-      <AssociationMoniker Name="/OKBDataContext/Problem/Problem_ProblemUser" />
-      <nodes>
-        <classShapeMoniker Id="27d0903a-8f45-4b0b-8d0e-8d632bffc702" />
-        <classShapeMoniker Id="8d911be4-13c4-4abd-85de-4f93f280dd50" />
-      </nodes>
-    </associationConnector>
-    <associationConnector edgePoints="[(9.75 : 13.5969962565104); (10.5 : 13.5969962565104)]" fixedFrom="Algorithm" fixedTo="Algorithm">
-      <AssociationMoniker Name="/OKBDataContext/User/User_ProblemUser" />
-      <nodes>
-        <classShapeMoniker Id="a404261b-f46d-4103-ae44-bed7deb3fe45" />
-        <classShapeMoniker Id="8d911be4-13c4-4abd-85de-4f93f280dd50" />
-      </nodes>
-    </associationConnector>
-    <classShape Id="42a9e8c0-3168-43f0-a31f-54d1558bd4c2" absoluteBounds="7.75, 2.125, 2, 1.3862939453125">
-      <DataClassMoniker Name="/OKBDataContext/Platform" />
-      <nestedChildShapes>
-        <elementListCompartment Id="83ab4fa2-80aa-4c36-9596-bc4d9a0c6daf" absoluteBounds="7.765, 2.585, 1.9700000000000002, 0.8262939453125" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
-      </nestedChildShapes>
-    </classShape>
-    <associationConnector edgePoints="[(7.75 : 3.07439697265625); (4.75 : 3.07439697265625)]" fixedFrom="Algorithm" fixedTo="Algorithm">
-      <AssociationMoniker Name="/OKBDataContext/Platform/Platform_Algorithm" />
-      <nodes>
-        <classShapeMoniker Id="42a9e8c0-3168-43f0-a31f-54d1558bd4c2" />
-        <classShapeMoniker Id="6395cc20-e99d-4d78-868d-4401004ef90f" />
-      </nodes>
-    </associationConnector>
-    <associationConnector edgePoints="[(9.75 : 3.0122189538762); (12.75 : 3.0122189538762)]" fixedFrom="Algorithm" fixedTo="Algorithm">
-      <AssociationMoniker Name="/OKBDataContext/Platform/Platform_Problem" />
-      <nodes>
-        <classShapeMoniker Id="42a9e8c0-3168-43f0-a31f-54d1558bd4c2" />
-        <classShapeMoniker Id="27d0903a-8f45-4b0b-8d0e-8d632bffc702" />
-      </nodes>
-    </associationConnector>
-    <associationConnector edgePoints="[(4.75 : 3.68601894784336); (8.38182020099636 : 3.68601894784336); (8.38182020099636 : 4.375)]" fixedFrom="Caller" fixedTo="Algorithm">
-      <AssociationMoniker Name="/OKBDataContext/Algorithm/Algorithm_Experiment" />
-      <nodes>
-        <classShapeMoniker Id="6395cc20-e99d-4d78-868d-4401004ef90f" />
-        <classShapeMoniker Id="c250fb1a-b448-499e-b8eb-d1d0c38521a0" />
-      </nodes>
-    </associationConnector>
-    <classShape Id="83a5f628-defe-486f-bc6a-4ab430293368" absoluteBounds="7.75, 9.875, 2, 1.9631982421875">
-      <DataClassMoniker Name="/OKBDataContext/Run" />
-      <nestedChildShapes>
-        <elementListCompartment Id="649f10a6-6047-4f4e-b76a-9da90591bbec" absoluteBounds="7.765, 10.335, 1.9700000000000002, 1.4031982421875" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
-      </nestedChildShapes>
-    </classShape>
-    <associationConnector edgePoints="[(8.72294619299704 : 5.7612939453125); (8.72294619299704 : 7.07715027669271); (9.83854166666667 : 7.07715027669271 : JumpStart); (10.3515625 : 7.07715027669271 : JumpEnd); (10.7815088765841 : 7.07715027669271); (10.7815088765841 : 9.43414366861979); (9.10898824036419 : 9.43414366861979); (9.10898824036419 : 9.875)]" manuallyRouted="true" fixedFrom="Caller" fixedTo="Caller">
-      <AssociationMoniker Name="/OKBDataContext/Experiment/Experiment_Run" />
-      <nodes>
-        <classShapeMoniker Id="c250fb1a-b448-499e-b8eb-d1d0c38521a0" />
-        <classShapeMoniker Id="83a5f628-defe-486f-bc6a-4ab430293368" />
-      </nodes>
-    </associationConnector>
-    <associationConnector edgePoints="[(8.69699175429055 : 12.625); (8.69979879212345 : 12.50125); (8.69979879212345 : 11.8381982421875)]" manuallyRouted="true" fixedFrom="NotFixed" fixedTo="NotFixed">
-      <AssociationMoniker Name="/OKBDataContext/User/User_Run" />
-      <nodes>
-        <classShapeMoniker Id="a404261b-f46d-4103-ae44-bed7deb3fe45" />
-        <classShapeMoniker Id="83a5f628-defe-486f-bc6a-4ab430293368" />
-      </nodes>
-    </associationConnector>
-    <classShape Id="1cb9bad0-d19c-43d7-97f8-a26cf3e2d7a0" absoluteBounds="2.75, 9.875, 2, 1.9631982421875">
-      <DataClassMoniker Name="/OKBDataContext/Result" />
-      <nestedChildShapes>
-        <elementListCompartment Id="f9654c1a-11ad-49a5-869d-09139f6e950f" absoluteBounds="2.765, 10.335, 1.9700000000000002, 1.4031982421875" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
-      </nestedChildShapes>
-    </classShape>
-    <associationConnector edgePoints="[(2.75 : 3.57753182566939); (2.48611111111111 : 3.57753182566939); (2.48611111111111 : 10.8349145033753); (2.75 : 10.8349145033753)]" manuallyRouted="true" fixedFrom="NotFixed" fixedTo="NotFixed">
-      <AssociationMoniker Name="/OKBDataContext/Algorithm/Algorithm_Result" />
-      <nodes>
-        <classShapeMoniker Id="6395cc20-e99d-4d78-868d-4401004ef90f" />
-        <classShapeMoniker Id="1cb9bad0-d19c-43d7-97f8-a26cf3e2d7a0" />
-      </nodes>
-    </associationConnector>
-    <classShape Id="8b301cad-7a91-46f5-9c49-75b17bac7a67" absoluteBounds="11.25, 10.25, 2, 1.1939925130208344">
-      <DataClassMoniker Name="/OKBDataContext/Client" />
-      <nestedChildShapes>
-        <elementListCompartment Id="aacc92af-97a1-46b2-8614-a54b03736b54" absoluteBounds="11.265, 10.71, 1.9700000000000002, 0.63399251302083326" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
-      </nestedChildShapes>
-    </classShape>
-    <associationConnector edgePoints="[(11.25 : 10.8469962565104); (9.75 : 10.8469962565104)]" fixedFrom="Algorithm" fixedTo="Algorithm">
-      <AssociationMoniker Name="/OKBDataContext/Client/Client_Run" />
-      <nodes>
-        <classShapeMoniker Id="8b301cad-7a91-46f5-9c49-75b17bac7a67" />
-        <classShapeMoniker Id="83a5f628-defe-486f-bc6a-4ab430293368" />
-      </nodes>
-    </associationConnector>
-    <classShape Id="06cdd7a7-aece-4230-94df-523959acef3f" isExpanded="false" absoluteBounds="5, 4.375, 2, 0.45">
-      <DataClassMoniker Name="/OKBDataContext/AlgorithmParameterBlobValue" />
-      <nestedChildShapes>
-        <elementListCompartment Id="b48d7763-2c2a-4795-a2a0-632148a87992" absoluteBounds="5.015, 4.835, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
-      </nestedChildShapes>
-    </classShape>
-    <associationConnector edgePoints="[(4.75 : 4.6); (5 : 4.6)]" fixedFrom="Algorithm" fixedTo="Algorithm">
-      <AssociationMoniker Name="/OKBDataContext/AlgorithmParameter/AlgorithmParameter_AlgorithmParameterBlobValue" />
-      <nodes>
-        <classShapeMoniker Id="533939e3-1d76-4e1b-a562-4bb7a30cc432" />
-        <classShapeMoniker Id="06cdd7a7-aece-4230-94df-523959acef3f" />
-      </nodes>
-    </associationConnector>
-    <associationConnector edgePoints="[(7.75 : 4.5375); (7 : 4.5375)]" fixedFrom="Algorithm" fixedTo="Algorithm">
-      <AssociationMoniker Name="/OKBDataContext/Experiment/Experiment_AlgorithmParameterBlobValue" />
-      <nodes>
-        <classShapeMoniker Id="c250fb1a-b448-499e-b8eb-d1d0c38521a0" />
-        <classShapeMoniker Id="06cdd7a7-aece-4230-94df-523959acef3f" />
-      </nodes>
-    </associationConnector>
-    <classShape Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" absoluteBounds="7.75, 7.375, 2, 1.5785953776041666">
-      <DataClassMoniker Name="/OKBDataContext/DataType" />
-      <nestedChildShapes>
-        <elementListCompartment Id="ce12818a-3944-434b-8219-a290382fdcbc" absoluteBounds="7.765, 7.835, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
-      </nestedChildShapes>
-    </classShape>
-    <associationConnector edgePoints="[(7.75 : 8.67809404276945); (3.7187475 : 8.67809404276945); (3.7187475 : 6.3381982421875)]" fixedFrom="Algorithm" fixedTo="Algorithm">
-      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_AlgorithmParameter" />
-      <nodes>
-        <classShapeMoniker Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" />
-        <classShapeMoniker Id="533939e3-1d76-4e1b-a562-4bb7a30cc432" />
-      </nodes>
-    </associationConnector>
-    <associationConnector edgePoints="[(9.75 : 8.75877157561829); (10.6981755432507 : 8.75877157561829 : JumpStart); (10.8648422099174 : 8.75877157561829 : JumpEnd); (13.7812525 : 8.75877157561829); (13.7812525 : 6.3381982421875)]" fixedFrom="Algorithm" fixedTo="Algorithm">
-      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_ProblemParameter" />
-      <nodes>
-        <classShapeMoniker Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" />
-        <classShapeMoniker Id="8b17f420-0cf1-402a-aaec-d2372f039661" />
-      </nodes>
-    </associationConnector>
-    <associationConnector edgePoints="[(7.75 : 8.84709721018681); (3.73775859657604 : 8.84709721018681); (3.73775859657604 : 9.875)]" manuallyRouted="true" fixedFrom="Algorithm" fixedTo="Caller">
-      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_Result" />
-      <nodes>
-        <classShapeMoniker Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" />
-        <classShapeMoniker Id="1cb9bad0-d19c-43d7-97f8-a26cf3e2d7a0" />
-      </nodes>
-    </associationConnector>
-    <associationConnector edgePoints="[(7.75 : 7.64868451067789); (7.53385416666667 : 7.64868451067789); (7.53385416666667 : 4.69868766404199); (7 : 4.69868766404199)]" manuallyRouted="true" fixedFrom="Caller" fixedTo="Caller">
-      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_AlgorithmParameterBlobValue" />
-      <nodes>
-        <classShapeMoniker Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" />
-        <classShapeMoniker Id="06cdd7a7-aece-4230-94df-523959acef3f" />
-      </nodes>
-    </associationConnector>
-    <associationConnector edgePoints="[(9.75 : 3.24965968229986); (10.2682291666667 : 3.24965968229986); (10.2682291666667 : 8.50144277363242); (9.75 : 8.50144277363242)]" manuallyRouted="true" fixedFrom="Caller" fixedTo="Caller">
-      <AssociationMoniker Name="/OKBDataContext/Platform/Platform_DataType" />
-      <nodes>
-        <classShapeMoniker Id="42a9e8c0-3168-43f0-a31f-54d1558bd4c2" />
-        <classShapeMoniker Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" />
-      </nodes>
-    </associationConnector>
-    <classShape Id="26374887-8257-4278-aab5-42acd8160d99" isExpanded="false" absoluteBounds="5, 4.875, 2, 0.45">
-      <DataClassMoniker Name="/OKBDataContext/AlgorithmParameterBoolValue" />
-      <nestedChildShapes>
-        <elementListCompartment Id="674d80df-63fd-44ab-85f1-326e2e32ebca" absoluteBounds="5.015, 5.335, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
-      </nestedChildShapes>
-    </classShape>
-    <associationConnector edgePoints="[(4.75 : 5.1); (5 : 5.1)]" fixedFrom="Algorithm" fixedTo="Algorithm">
-      <AssociationMoniker Name="/OKBDataContext/AlgorithmParameter/AlgorithmParameter_AlgorithmParameterBoolValue" />
-      <nodes>
-        <classShapeMoniker Id="533939e3-1d76-4e1b-a562-4bb7a30cc432" />
-        <classShapeMoniker Id="26374887-8257-4278-aab5-42acd8160d99" />
-      </nodes>
-    </associationConnector>
-    <associationConnector edgePoints="[(7.75 : 7.84101029413916); (7.45052083333333 : 7.84101029413916); (7.45052083333333 : 5.18549618320611); (7 : 5.18549618320611)]" manuallyRouted="true" fixedFrom="Caller" fixedTo="Caller">
-      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_AlgorithmParameterBoolValue" />
-      <nodes>
-        <classShapeMoniker Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" />
-        <classShapeMoniker Id="26374887-8257-4278-aab5-42acd8160d99" />
-      </nodes>
-    </associationConnector>
-    <associationConnector edgePoints="[(7.75 : 5.0375); (7.6171875 : 5.0375 : JumpStart); (7.45052083333333 : 5.0375 : JumpEnd); (7 : 5.0375)]" fixedFrom="Algorithm" fixedTo="Algorithm">
-      <AssociationMoniker Name="/OKBDataContext/Experiment/Experiment_AlgorithmParameterBoolValue" />
-      <nodes>
-        <classShapeMoniker Id="c250fb1a-b448-499e-b8eb-d1d0c38521a0" />
-        <classShapeMoniker Id="26374887-8257-4278-aab5-42acd8160d99" />
-      </nodes>
-    </associationConnector>
-    <classShape Id="057a5dc9-97f1-4752-98b1-7e34502a121d" isExpanded="false" absoluteBounds="5, 5.375, 2, 0.45">
-      <DataClassMoniker Name="/OKBDataContext/AlgorithmParameterFloatValue" />
-      <nestedChildShapes>
-        <elementListCompartment Id="816b5043-a0c5-4633-96b3-f37d5e57a76d" absoluteBounds="5.015, 5.835, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
-      </nestedChildShapes>
-    </classShape>
-    <associationConnector edgePoints="[(4.75 : 5.6); (5 : 5.6)]" fixedFrom="Algorithm" fixedTo="Algorithm">
-      <AssociationMoniker Name="/OKBDataContext/AlgorithmParameter/AlgorithmParameter_AlgorithmParameterFloatValue" />
-      <nodes>
-        <classShapeMoniker Id="533939e3-1d76-4e1b-a562-4bb7a30cc432" />
-        <classShapeMoniker Id="057a5dc9-97f1-4752-98b1-7e34502a121d" />
-      </nodes>
-    </associationConnector>
-    <associationConnector edgePoints="[(7.75 : 8.01620545089886); (7.36677083333333 : 8.01620545089886); (7.36677083333333 : 5.67187575); (7 : 5.67187575)]" manuallyRouted="true" fixedFrom="Caller" fixedTo="Algorithm">
-      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_AlgorithmParameterFloatValue" />
-      <nodes>
-        <classShapeMoniker Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" />
-        <classShapeMoniker Id="057a5dc9-97f1-4752-98b1-7e34502a121d" />
-      </nodes>
-    </associationConnector>
-    <associationConnector edgePoints="[(7.75 : 5.54300254452926); (7.6171875 : 5.54300254452926 : JumpStart); (7.3671875 : 5.54300254452926 : JumpEnd); (7 : 5.54300254452926)]" fixedFrom="Algorithm" fixedTo="Caller">
-      <AssociationMoniker Name="/OKBDataContext/Experiment/Experiment_AlgorithmParameterFloatValue" />
-      <nodes>
-        <classShapeMoniker Id="c250fb1a-b448-499e-b8eb-d1d0c38521a0" />
-        <classShapeMoniker Id="057a5dc9-97f1-4752-98b1-7e34502a121d" />
-      </nodes>
-    </associationConnector>
-    <classShape Id="2f5e14b0-a1c2-4ff8-85e9-8be6dd6d1a3c" isExpanded="false" absoluteBounds="5, 5.875, 2, 0.45">
-      <DataClassMoniker Name="/OKBDataContext/AlgorithmParameterIntValue" />
-      <nestedChildShapes>
-        <elementListCompartment Id="752cb331-8b80-4e3d-bf2b-cf3e5f7969dd" absoluteBounds="5.015, 6.335, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
-      </nestedChildShapes>
-    </classShape>
-    <associationConnector edgePoints="[(4.75 : 6.1); (5 : 6.1)]" fixedFrom="Algorithm" fixedTo="Algorithm">
-      <AssociationMoniker Name="/OKBDataContext/AlgorithmParameter/AlgorithmParameter_AlgorithmParameterIntValue" />
-      <nodes>
-        <classShapeMoniker Id="533939e3-1d76-4e1b-a562-4bb7a30cc432" />
-        <classShapeMoniker Id="2f5e14b0-a1c2-4ff8-85e9-8be6dd6d1a3c" />
-      </nodes>
-    </associationConnector>
-    <associationConnector edgePoints="[(7.75 : 8.17682240181229); (7.28645833333333 : 8.17682240181229); (7.28645833333333 : 6.14022346368715); (7 : 6.14022346368715)]" manuallyRouted="true" fixedFrom="Caller" fixedTo="Caller">
-      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_AlgorithmParameterIntValue" />
-      <nodes>
-        <classShapeMoniker Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" />
-        <classShapeMoniker Id="2f5e14b0-a1c2-4ff8-85e9-8be6dd6d1a3c" />
-      </nodes>
-    </associationConnector>
-    <associationConnector edgePoints="[(7.9425186335036 : 5.7612939453125); (7.9425186335036 : 5.9992125984252); (7.6171875 : 5.9992125984252 : JumpStart); (7.2834375 : 5.9992125984252 : JumpEnd); (7 : 5.9992125984252)]" fixedFrom="Caller" fixedTo="Caller">
-      <AssociationMoniker Name="/OKBDataContext/Experiment/Experiment_AlgorithmParameterIntValue" />
-      <nodes>
-        <classShapeMoniker Id="c250fb1a-b448-499e-b8eb-d1d0c38521a0" />
-        <classShapeMoniker Id="2f5e14b0-a1c2-4ff8-85e9-8be6dd6d1a3c" />
-      </nodes>
-    </associationConnector>
-    <classShape Id="eea47e09-6cec-4cb3-9d45-7b9004038e54" isExpanded="false" absoluteBounds="5, 6.375, 2, 0.45">
-      <DataClassMoniker Name="/OKBDataContext/AlgorithmParameterStringValue" />
-      <nestedChildShapes>
-        <elementListCompartment Id="c80917ed-7a25-4278-bdef-8dc9ab7ce3eb" absoluteBounds="5.015, 6.835, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
-      </nestedChildShapes>
-    </classShape>
-    <associationConnector edgePoints="[(4.75 : 6.3381982421875); (5 : 6.375)]" fixedFrom="NotFixed" fixedTo="NotFixed">
-      <AssociationMoniker Name="/OKBDataContext/AlgorithmParameter/AlgorithmParameter_AlgorithmParameterStringValue" />
-      <nodes>
-        <classShapeMoniker Id="533939e3-1d76-4e1b-a562-4bb7a30cc432" />
-        <classShapeMoniker Id="eea47e09-6cec-4cb3-9d45-7b9004038e54" />
-      </nodes>
-    </associationConnector>
-    <associationConnector edgePoints="[(7.75 : 8.34008770793474); (7.22395833333333 : 8.34008770793474); (7.22395833333333 : 6.68727272727273); (7 : 6.68727272727273)]" manuallyRouted="true" fixedFrom="Caller" fixedTo="Caller">
-      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_AlgorithmParameterStringValue" />
-      <nodes>
-        <classShapeMoniker Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" />
-        <classShapeMoniker Id="eea47e09-6cec-4cb3-9d45-7b9004038e54" />
-      </nodes>
-    </associationConnector>
-    <associationConnector edgePoints="[(8.07275220480378 : 5.7612939453125); (8.07275220480378 : 6.52913752913753); (7.6171875 : 6.52913752913753 : JumpStart); (7.203125 : 6.52913752913753 : JumpEnd); (7 : 6.52913752913753)]" manuallyRouted="true" fixedFrom="Caller" fixedTo="Caller">
-      <AssociationMoniker Name="/OKBDataContext/Experiment/Experiment_AlgorithmParameterStringValue" />
-      <nodes>
-        <classShapeMoniker Id="c250fb1a-b448-499e-b8eb-d1d0c38521a0" />
-        <classShapeMoniker Id="eea47e09-6cec-4cb3-9d45-7b9004038e54" />
-      </nodes>
-    </associationConnector>
-    <classShape Id="3a7d54f6-474c-4e4d-b1ef-db12741c57a7" isExpanded="false" absoluteBounds="10.5, 4.375, 2, 0.45">
-      <DataClassMoniker Name="/OKBDataContext/ProblemParameterBlobValue" />
-      <nestedChildShapes>
-        <elementListCompartment Id="661a54eb-030c-441f-b081-ff5fb5f56029" absoluteBounds="10.515, 4.835, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
-      </nestedChildShapes>
-    </classShape>
-    <associationConnector edgePoints="[(9.75 : 7.65273518880208); (9.921875 : 7.65273518880208); (9.921875 : 4.70134770889488); (10.1848958333333 : 4.70134770889488 : JumpStart); (10.3515625 : 4.70134770889488 : JumpEnd); (10.5 : 4.70134770889488)]" manuallyRouted="true" fixedFrom="Caller" fixedTo="Caller">
-      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_ProblemParameterBlobValue" />
-      <nodes>
-        <classShapeMoniker Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" />
-        <classShapeMoniker Id="3a7d54f6-474c-4e4d-b1ef-db12741c57a7" />
-      </nodes>
-    </associationConnector>
-    <associationConnector edgePoints="[(9.75 : 4.55926455740201); (10.1848959485309 : 4.55854143289332 : JumpStart); (10.3515623848024 : 4.5582643077896 : JumpEnd); (10.5 : 4.55801749271137)]" manuallyRouted="true" fixedFrom="Caller" fixedTo="Caller">
-      <AssociationMoniker Name="/OKBDataContext/Experiment/Experiment_ProblemParameterBlobValue" />
-      <nodes>
-        <classShapeMoniker Id="c250fb1a-b448-499e-b8eb-d1d0c38521a0" />
-        <classShapeMoniker Id="3a7d54f6-474c-4e4d-b1ef-db12741c57a7" />
-      </nodes>
-    </associationConnector>
-    <associationConnector edgePoints="[(12.75 : 4.6); (12.5 : 4.6)]" fixedFrom="Algorithm" fixedTo="Algorithm">
-      <AssociationMoniker Name="/OKBDataContext/ProblemParameter/ProblemParameter_ProblemParameterBlobValue" />
-      <nodes>
-        <classShapeMoniker Id="8b17f420-0cf1-402a-aaec-d2372f039661" />
-        <classShapeMoniker Id="3a7d54f6-474c-4e4d-b1ef-db12741c57a7" />
-      </nodes>
-    </associationConnector>
-    <classShape Id="17eed903-551f-4855-bec6-9766e172358a" isExpanded="false" absoluteBounds="10.5, 4.875, 2, 0.45">
-      <DataClassMoniker Name="/OKBDataContext/ProblemParameterBoolValue" />
-      <nestedChildShapes>
-        <elementListCompartment Id="4e4b3cfc-c0b8-4792-a6f6-69eca72be5e9" absoluteBounds="10.515, 5.335, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
-      </nestedChildShapes>
-    </classShape>
-    <associationConnector edgePoints="[(9.75 : 7.81037831857308); (9.98958333333333 : 7.81037831857308); (9.98958333333333 : 5.23514986376022); (10.1848958333333 : 5.23514986376022 : JumpStart); (10.3515625 : 5.23514986376022 : JumpEnd); (10.5 : 5.23514986376022)]" manuallyRouted="true" fixedFrom="Caller" fixedTo="Caller">
-      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_ProblemParameterBoolValue" />
-      <nodes>
-        <classShapeMoniker Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" />
-        <classShapeMoniker Id="17eed903-551f-4855-bec6-9766e172358a" />
-      </nodes>
-    </associationConnector>
-    <associationConnector edgePoints="[(9.75 : 5.1); (9.83854166666667 : 5.1 : JumpStart); (10.0052083333333 : 5.1 : JumpEnd); (10.1848958333333 : 5.1 : JumpStart); (10.3515625 : 5.1 : JumpEnd); (10.5 : 5.1)]" fixedFrom="Algorithm" fixedTo="Algorithm">
-      <AssociationMoniker Name="/OKBDataContext/Experiment/Experiment_ProblemParameterBoolValue" />
-      <nodes>
-        <classShapeMoniker Id="c250fb1a-b448-499e-b8eb-d1d0c38521a0" />
-        <classShapeMoniker Id="17eed903-551f-4855-bec6-9766e172358a" />
-      </nodes>
-    </associationConnector>
-    <associationConnector edgePoints="[(12.75 : 5.1); (12.5 : 5.1)]" fixedFrom="Algorithm" fixedTo="Algorithm">
-      <AssociationMoniker Name="/OKBDataContext/ProblemParameter/ProblemParameter_ProblemParameterBoolValue" />
-      <nodes>
-        <classShapeMoniker Id="8b17f420-0cf1-402a-aaec-d2372f039661" />
-        <classShapeMoniker Id="17eed903-551f-4855-bec6-9766e172358a" />
-      </nodes>
-    </associationConnector>
-    <classShape Id="efb685e2-26e6-42b4-af33-25d0a261a8e4" isExpanded="false" absoluteBounds="10.5, 5.375, 2, 0.45">
-      <DataClassMoniker Name="/OKBDataContext/ProblemParameterFloatValue" />
-      <nestedChildShapes>
-        <elementListCompartment Id="e4fc9f1f-c248-4dc4-92d8-251dabb0e892" absoluteBounds="10.515, 5.835, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
-      </nestedChildShapes>
-    </classShape>
-    <associationConnector edgePoints="[(9.75 : 7.97704005164498); (10.0442708333333 : 7.97704005164498); (10.0442708333333 : 5.69256198347107); (10.1848958333333 : 5.69256198347107 : JumpStart); (10.3515625 : 5.69256198347107 : JumpEnd); (10.5 : 5.69256198347107)]" manuallyRouted="true" fixedFrom="Caller" fixedTo="Caller">
-      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_ProblemParameterFloatValue" />
-      <nodes>
-        <classShapeMoniker Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" />
-        <classShapeMoniker Id="efb685e2-26e6-42b4-af33-25d0a261a8e4" />
-      </nodes>
-    </associationConnector>
-    <associationConnector edgePoints="[(9.75 : 5.56814697265625); (9.83854166666667 : 5.56814697265625 : JumpStart); (10.0729166666667 : 5.56814697265625 : JumpEnd); (10.1848958333333 : 5.56814697265625 : JumpStart); (10.3515625 : 5.56814697265625 : JumpEnd); (10.5 : 5.56814697265625)]" fixedFrom="Algorithm" fixedTo="Algorithm">
-      <AssociationMoniker Name="/OKBDataContext/Experiment/Experiment_ProblemParameterFloatValue" />
-      <nodes>
-        <classShapeMoniker Id="c250fb1a-b448-499e-b8eb-d1d0c38521a0" />
-        <classShapeMoniker Id="efb685e2-26e6-42b4-af33-25d0a261a8e4" />
-      </nodes>
-    </associationConnector>
-    <associationConnector edgePoints="[(12.75 : 5.6); (12.5 : 5.6)]" fixedFrom="Algorithm" fixedTo="Algorithm">
-      <AssociationMoniker Name="/OKBDataContext/ProblemParameter/ProblemParameter_ProblemParameterFloatValue" />
-      <nodes>
-        <classShapeMoniker Id="8b17f420-0cf1-402a-aaec-d2372f039661" />
-        <classShapeMoniker Id="efb685e2-26e6-42b4-af33-25d0a261a8e4" />
-      </nodes>
-    </associationConnector>
-    <classShape Id="b27bcaf0-a671-4840-b8d0-3b0b9a75e521" isExpanded="false" absoluteBounds="10.5, 5.875, 2, 0.45">
-      <DataClassMoniker Name="/OKBDataContext/ProblemParameterIntValue" />
-      <nestedChildShapes>
-        <elementListCompartment Id="8d19f7b7-2edd-4c58-b478-8c9e82f8dd8e" absoluteBounds="10.515, 6.335, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
-      </nestedChildShapes>
-    </classShape>
-    <associationConnector edgePoints="[(9.75 : 8.12628682608168); (10.1145833333333 : 8.12628682608168); (10.1145833333333 : 6.20358126721763); (10.1848958333333 : 6.20358126721763 : JumpStart); (10.3515625 : 6.20358126721763 : JumpEnd); (10.5 : 6.20358126721763)]" manuallyRouted="true" fixedFrom="Caller" fixedTo="Caller">
-      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_ProblemParameterIntValue" />
-      <nodes>
-        <classShapeMoniker Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" />
-        <classShapeMoniker Id="b27bcaf0-a671-4840-b8d0-3b0b9a75e521" />
-      </nodes>
-    </associationConnector>
-    <associationConnector edgePoints="[(9.61351125574893 : 5.7612939453125); (9.61351125574893 : 6.068748); (9.83854166666667 : 6.068748 : JumpStart); (10.1276041666667 : 6.068748 : JumpEnd); (10.1848958333333 : 6.068748 : JumpStart); (10.3515625 : 6.068748 : JumpEnd); (10.5 : 6.068748)]" fixedFrom="Caller" fixedTo="Algorithm">
-      <AssociationMoniker Name="/OKBDataContext/Experiment/Experiment_ProblemParameterIntValue" />
-      <nodes>
-        <classShapeMoniker Id="c250fb1a-b448-499e-b8eb-d1d0c38521a0" />
-        <classShapeMoniker Id="b27bcaf0-a671-4840-b8d0-3b0b9a75e521" />
-      </nodes>
-    </associationConnector>
-    <associationConnector edgePoints="[(12.75 : 6.1); (12.5 : 6.1)]" fixedFrom="Algorithm" fixedTo="Algorithm">
-      <AssociationMoniker Name="/OKBDataContext/ProblemParameter/ProblemParameter_ProblemParameterIntValue" />
-      <nodes>
-        <classShapeMoniker Id="8b17f420-0cf1-402a-aaec-d2372f039661" />
-        <classShapeMoniker Id="b27bcaf0-a671-4840-b8d0-3b0b9a75e521" />
-      </nodes>
-    </associationConnector>
-    <classShape Id="b7bc30b4-f687-4b26-8033-3a45f55ba3d0" isExpanded="false" absoluteBounds="10.5, 6.375, 2, 0.45">
-      <DataClassMoniker Name="/OKBDataContext/ProblemParameterStringValue" />
-      <nestedChildShapes>
-        <elementListCompartment Id="3f3ddbbc-2bdc-4b62-8af7-c764c9cb3d23" absoluteBounds="10.515, 6.835, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
-      </nestedChildShapes>
-    </classShape>
-    <associationConnector edgePoints="[(9.75 : 8.29624204665744); (10.1822916666667 : 8.29624204665744); (10.1822916666667 : 6.67728459530026); (10.1848958333333 : 6.67728459530026 : JumpStart); (10.3515625 : 6.67728459530026 : JumpEnd); (10.5 : 6.67728459530026)]" manuallyRouted="true" fixedFrom="Caller" fixedTo="Caller">
-      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_ProblemParameterStringValue" />
-      <nodes>
-        <classShapeMoniker Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" />
-        <classShapeMoniker Id="b7bc30b4-f687-4b26-8033-3a45f55ba3d0" />
-      </nodes>
-    </associationConnector>
-    <associationConnector edgePoints="[(9.4963525823721 : 5.7612939453125); (9.4963525823721 : 6.5616); (9.83854166666667 : 6.5616 : JumpStart); (10.3515625 : 6.5616 : JumpEnd); (10.5 : 6.5616)]" fixedFrom="Caller" fixedTo="Caller">
-      <AssociationMoniker Name="/OKBDataContext/Experiment/Experiment_ProblemParameterStringValue" />
-      <nodes>
-        <classShapeMoniker Id="c250fb1a-b448-499e-b8eb-d1d0c38521a0" />
-        <classShapeMoniker Id="b7bc30b4-f687-4b26-8033-3a45f55ba3d0" />
-      </nodes>
-    </associationConnector>
-    <associationConnector edgePoints="[(12.75 : 6.3381982421875); (12.5 : 6.375)]" fixedFrom="NotFixed" fixedTo="NotFixed">
-      <AssociationMoniker Name="/OKBDataContext/ProblemParameter/ProblemParameter_ProblemParameterStringValue" />
-      <nodes>
-        <classShapeMoniker Id="8b17f420-0cf1-402a-aaec-d2372f039661" />
-        <classShapeMoniker Id="b7bc30b4-f687-4b26-8033-3a45f55ba3d0" />
-      </nodes>
-    </associationConnector>
-    <classShape Id="ee200851-595b-4ee2-b49c-05a55a37599f" isExpanded="false" absoluteBounds="5, 9.875, 2, 0.45">
-      <DataClassMoniker Name="/OKBDataContext/ResultBlobValue" />
-      <nestedChildShapes>
-        <elementListCompartment Id="0ac0d616-ed46-4b7b-9cc5-2603a9b9ec47" absoluteBounds="5.015, 10.335, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
-      </nestedChildShapes>
-    </classShape>
-    <associationConnector edgePoints="[(8.00347949158136 : 8.95359537760417); (8.00347949158136 : 9.10416666666667); (7.234375 : 9.10416666666667); (7.234375 : 9.956248); (7 : 9.956248)]" manuallyRouted="true" fixedFrom="Caller" fixedTo="Algorithm">
-      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_ResultBlobValue" />
-      <nodes>
-        <classShapeMoniker Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" />
-        <classShapeMoniker Id="ee200851-595b-4ee2-b49c-05a55a37599f" />
-      </nodes>
-    </associationConnector>
-    <associationConnector edgePoints="[(4.75 : 10.1); (5 : 10.1)]" fixedFrom="Algorithm" fixedTo="Algorithm">
-      <AssociationMoniker Name="/OKBDataContext/Result/Result_ResultBlobValue" />
-      <nodes>
-        <classShapeMoniker Id="1cb9bad0-d19c-43d7-97f8-a26cf3e2d7a0" />
-        <classShapeMoniker Id="ee200851-595b-4ee2-b49c-05a55a37599f" />
-      </nodes>
-    </associationConnector>
-    <associationConnector edgePoints="[(7.75 : 10.1758974358974); (7.640625 : 10.1758974358974 : JumpStart); (7.25520833333333 : 10.1758974358974 : JumpEnd); (7 : 10.1758974358974)]" fixedFrom="Algorithm" fixedTo="Caller">
-      <AssociationMoniker Name="/OKBDataContext/Run/Run_ResultBlobValue" />
-      <nodes>
-        <classShapeMoniker Id="83a5f628-defe-486f-bc6a-4ab430293368" />
-        <classShapeMoniker Id="ee200851-595b-4ee2-b49c-05a55a37599f" />
-      </nodes>
-    </associationConnector>
-    <classShape Id="d9962bb9-5e85-4440-ba70-52dee5597bb5" isExpanded="false" absoluteBounds="5, 10.375, 2, 0.45">
-      <DataClassMoniker Name="/OKBDataContext/ResultBoolValue" />
-      <nestedChildShapes>
-        <elementListCompartment Id="df41447b-8550-49a9-ae8a-ce5fdde5f39e" absoluteBounds="5.015, 10.835, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
-      </nestedChildShapes>
-    </classShape>
-    <associationConnector edgePoints="[(8.15008105657562 : 8.95359537760417); (8.15008105657562 : 9.19791666666667); (7.33854166666667 : 9.19791666666667); (7.33854166666667 : 10.5251231527094); (7 : 10.5251231527094)]" manuallyRouted="true" fixedFrom="Caller" fixedTo="Caller">
-      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_ResultBoolValue" />
-      <nodes>
-        <classShapeMoniker Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" />
-        <classShapeMoniker Id="d9962bb9-5e85-4440-ba70-52dee5597bb5" />
-      </nodes>
-    </associationConnector>
-    <associationConnector edgePoints="[(4.75 : 10.6); (5 : 10.6)]" fixedFrom="Algorithm" fixedTo="Algorithm">
-      <AssociationMoniker Name="/OKBDataContext/Result/Result_ResultBoolValue" />
-      <nodes>
-        <classShapeMoniker Id="1cb9bad0-d19c-43d7-97f8-a26cf3e2d7a0" />
-        <classShapeMoniker Id="d9962bb9-5e85-4440-ba70-52dee5597bb5" />
-      </nodes>
-    </associationConnector>
-    <associationConnector edgePoints="[(7.75 : 10.6964102564103); (7.640625 : 10.6964102564103 : JumpStart); (7.31770833333333 : 10.6964102564103 : JumpEnd); (7 : 10.6964102564103)]" fixedFrom="Algorithm" fixedTo="Caller">
-      <AssociationMoniker Name="/OKBDataContext/Run/Run_ResultBoolValue" />
-      <nodes>
-        <classShapeMoniker Id="83a5f628-defe-486f-bc6a-4ab430293368" />
-        <classShapeMoniker Id="d9962bb9-5e85-4440-ba70-52dee5597bb5" />
-      </nodes>
-    </associationConnector>
-    <classShape Id="87722e82-0ed2-4367-970a-de15813bccf4" isExpanded="false" absoluteBounds="5, 10.875, 2, 0.45">
-      <DataClassMoniker Name="/OKBDataContext/ResultFloatValue" />
-      <nestedChildShapes>
-        <elementListCompartment Id="7da0329a-6d27-48f9-9681-3218a4f30693" absoluteBounds="5.015, 11.335, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
-      </nestedChildShapes>
-    </classShape>
-    <associationConnector edgePoints="[(8.25949690409837 : 8.95359537760417); (8.25949690409837 : 9.34375); (7.40104166666667 : 9.34375); (7.40104166666667 : 11.0431472081218); (7 : 11.0431472081218)]" manuallyRouted="true" fixedFrom="Caller" fixedTo="Caller">
-      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_ResultFloatValue" />
-      <nodes>
-        <classShapeMoniker Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" />
-        <classShapeMoniker Id="87722e82-0ed2-4367-970a-de15813bccf4" />
-      </nodes>
-    </associationConnector>
-    <associationConnector edgePoints="[(4.75 : 11.1); (5 : 11.1)]" fixedFrom="Algorithm" fixedTo="Algorithm">
-      <AssociationMoniker Name="/OKBDataContext/Result/Result_ResultFloatValue" />
-      <nodes>
-        <classShapeMoniker Id="1cb9bad0-d19c-43d7-97f8-a26cf3e2d7a0" />
-        <classShapeMoniker Id="87722e82-0ed2-4367-970a-de15813bccf4" />
-      </nodes>
-    </associationConnector>
-    <associationConnector edgePoints="[(7.75 : 11.1870466321244); (7.640625 : 11.1870466321243 : JumpStart); (7.390625 : 11.1870466321244 : JumpEnd); (7 : 11.1870466321244)]" fixedFrom="Algorithm" fixedTo="Caller">
-      <AssociationMoniker Name="/OKBDataContext/Run/Run_ResultFloatValue" />
-      <nodes>
-        <classShapeMoniker Id="83a5f628-defe-486f-bc6a-4ab430293368" />
-        <classShapeMoniker Id="87722e82-0ed2-4367-970a-de15813bccf4" />
-      </nodes>
-    </associationConnector>
-    <classShape Id="51114ffd-aaac-4a08-b313-992d55fb1998" isExpanded="false" absoluteBounds="5, 11.375, 2, 0.45">
-      <DataClassMoniker Name="/OKBDataContext/ResultIntValue" />
-      <nestedChildShapes>
-        <elementListCompartment Id="c0d4b94f-c6a1-4143-866a-11e138a128b2" absoluteBounds="5.015, 11.835, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
-      </nestedChildShapes>
-    </classShape>
-    <associationConnector edgePoints="[(8.39347373456605 : 8.95359537760417); (8.39347373456605 : 9.48958333333333); (7.47395833333333 : 9.48958333333333); (7.47395833333333 : 11.5523316062176); (7 : 11.5523316062176)]" manuallyRouted="true" fixedFrom="Caller" fixedTo="Caller">
-      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_ResultIntValue" />
-      <nodes>
-        <classShapeMoniker Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" />
-        <classShapeMoniker Id="51114ffd-aaac-4a08-b313-992d55fb1998" />
-      </nodes>
-    </associationConnector>
-    <associationConnector edgePoints="[(4.75 : 11.6); (5 : 11.6)]" fixedFrom="Algorithm" fixedTo="Algorithm">
-      <AssociationMoniker Name="/OKBDataContext/Result/Result_ResultIntValue" />
-      <nodes>
-        <classShapeMoniker Id="1cb9bad0-d19c-43d7-97f8-a26cf3e2d7a0" />
-        <classShapeMoniker Id="51114ffd-aaac-4a08-b313-992d55fb1998" />
-      </nodes>
-    </associationConnector>
-    <associationConnector edgePoints="[(7.75 : 11.6870466321244); (7.640625 : 11.6870466321244 : JumpStart); (7.47395833333333 : 11.6870466321244 : JumpEnd); (7 : 11.6870466321244)]" fixedFrom="Algorithm" fixedTo="Caller">
-      <AssociationMoniker Name="/OKBDataContext/Run/Run_ResultIntValue" />
-      <nodes>
-        <classShapeMoniker Id="83a5f628-defe-486f-bc6a-4ab430293368" />
-        <classShapeMoniker Id="51114ffd-aaac-4a08-b313-992d55fb1998" />
-      </nodes>
-    </associationConnector>
-    <classShape Id="88d442c4-1dd1-4cbf-ab9f-0ab5be88bde3" isExpanded="false" absoluteBounds="5, 11.875, 2, 0.45">
-      <DataClassMoniker Name="/OKBDataContext/ResultStringValue" />
-      <nestedChildShapes>
-        <elementListCompartment Id="e1b83e78-6822-4fc3-ad73-406604736b80" absoluteBounds="5.015, 12.335, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
-      </nestedChildShapes>
-    </classShape>
-    <associationConnector edgePoints="[(8.51594671358473 : 8.95359537760417); (8.51594671358473 : 9.625); (7.55729166666667 : 9.625); (7.55729166666667 : 12.0117948717949); (7 : 12.0117948717949)]" manuallyRouted="true" fixedFrom="Caller" fixedTo="Caller">
-      <AssociationMoniker Name="/OKBDataContext/DataType/DataType_ResultStringValue" />
-      <nodes>
-        <classShapeMoniker Id="fd56e6c2-86ec-4a3e-b5b4-3fc7da52b28c" />
-        <classShapeMoniker Id="88d442c4-1dd1-4cbf-ab9f-0ab5be88bde3" />
-      </nodes>
-    </associationConnector>
-    <associationConnector edgePoints="[(4.75000000000001 : 11.8381982421875); (5 : 11.875)]" fixedFrom="NotFixed" fixedTo="NotFixed">
-      <AssociationMoniker Name="/OKBDataContext/Result/Result_ResultStringValue" />
-      <nodes>
-        <classShapeMoniker Id="1cb9bad0-d19c-43d7-97f8-a26cf3e2d7a0" />
-        <classShapeMoniker Id="88d442c4-1dd1-4cbf-ab9f-0ab5be88bde3" />
-      </nodes>
-    </associationConnector>
-    <associationConnector edgePoints="[(8.00545145680145 : 11.8381982421875); (8.00545145680145 : 12.1663212435233); (7 : 12.1663212435233)]" fixedFrom="Caller" fixedTo="Caller">
-      <AssociationMoniker Name="/OKBDataContext/Run/Run_ResultStringValue" />
-      <nodes>
-        <classShapeMoniker Id="83a5f628-defe-486f-bc6a-4ab430293368" />
-        <classShapeMoniker Id="88d442c4-1dd1-4cbf-ab9f-0ab5be88bde3" />
+        <classShapeMoniker Id="76c463bf-aada-4bb3-8fee-36e85d08bebf" />
       </nodes>
     </associationConnector>
Index: /trunk/sources/HeuristicLab.Services.OKB.DataTransfer/3.3/Algorithm.cs
===================================================================
--- /trunk/sources/HeuristicLab.Services.OKB.DataTransfer/3.3/Algorithm.cs	(revision 4455)
+++ /trunk/sources/HeuristicLab.Services.OKB.DataTransfer/3.3/Algorithm.cs	(revision 4455)
@@ -0,0 +1,32 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System.Runtime.Serialization;
+
+namespace HeuristicLab.Services.OKB.DataTransfer {
+  [DataContract]
+  public class Algorithm : NamedOKBItem {
+    [DataMember]
+    public long PlatformId { get; set; }
+    [DataMember]
+    public long AlgorithmClassId { get; set; }
+  }
+}
Index: /trunk/sources/HeuristicLab.Services.OKB.DataTransfer/3.3/AlgorithmClass.cs
===================================================================
--- /trunk/sources/HeuristicLab.Services.OKB.DataTransfer/3.3/AlgorithmClass.cs	(revision 4455)
+++ /trunk/sources/HeuristicLab.Services.OKB.DataTransfer/3.3/AlgorithmClass.cs	(revision 4455)
@@ -0,0 +1,27 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System.Runtime.Serialization;
+
+namespace HeuristicLab.Services.OKB.DataTransfer {
+  [DataContract]
+  public class AlgorithmClass : NamedOKBItem { }
+}
Index: /trunk/sources/HeuristicLab.Services.OKB.DataTransfer/3.3/HeuristicLab.Services.OKB.DataTransfer-3.3.csproj
===================================================================
--- /trunk/sources/HeuristicLab.Services.OKB.DataTransfer/3.3/HeuristicLab.Services.OKB.DataTransfer-3.3.csproj	(revision 4455)
+++ /trunk/sources/HeuristicLab.Services.OKB.DataTransfer/3.3/HeuristicLab.Services.OKB.DataTransfer-3.3.csproj	(revision 4455)
@@ -0,0 +1,77 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>8.0.30703</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{209FD7A1-DFB2-4B9F-9268-B95E886B2F7A}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>HeuristicLab.Services.OKB.DataTransfer</RootNamespace>
+    <AssemblyName>HeuristicLab.Services.OKB.DataTransfer-3.3</AssemblyName>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <TargetFrameworkProfile />
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup>
+    <SignAssembly>true</SignAssembly>
+  </PropertyGroup>
+  <PropertyGroup>
+    <AssemblyOriginatorKeyFile>HeuristicLab.snk</AssemblyOriginatorKeyFile>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Runtime.Serialization" />
+    <Reference Include="System.Xml.Linq" />
+    <Reference Include="System.Data.DataSetExtensions" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="AlgorithmClass.cs" />
+    <Compile Include="Algorithm.cs" />
+    <Compile Include="NamedOKBItem.cs" />
+    <Compile Include="OKBItem.cs" />
+    <Compile Include="Platform.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <None Include="Properties\AssemblyInfo.frame" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="HeuristicLab.snk" />
+  </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.Services.OKB.DataTransfer/3.3/NamedOKBItem.cs
===================================================================
--- /trunk/sources/HeuristicLab.Services.OKB.DataTransfer/3.3/NamedOKBItem.cs	(revision 4455)
+++ /trunk/sources/HeuristicLab.Services.OKB.DataTransfer/3.3/NamedOKBItem.cs	(revision 4455)
@@ -0,0 +1,32 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System.Runtime.Serialization;
+
+namespace HeuristicLab.Services.OKB.DataTransfer {
+  [DataContract]
+  public abstract class NamedOKBItem : OKBItem {
+    [DataMember]
+    public string Name { get; set; }
+    [DataMember]
+    public string Description { get; set; }
+  }
+}
Index: /trunk/sources/HeuristicLab.Services.OKB.DataTransfer/3.3/OKBItem.cs
===================================================================
--- /trunk/sources/HeuristicLab.Services.OKB.DataTransfer/3.3/OKBItem.cs	(revision 4455)
+++ /trunk/sources/HeuristicLab.Services.OKB.DataTransfer/3.3/OKBItem.cs	(revision 4455)
@@ -0,0 +1,30 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System.Runtime.Serialization;
+
+namespace HeuristicLab.Services.OKB.DataTransfer {
+  [DataContract]
+  public abstract class OKBItem {
+    [DataMember]
+    public long Id { get; set; }
+  }
+}
Index: /trunk/sources/HeuristicLab.Services.OKB.DataTransfer/3.3/Platform.cs
===================================================================
--- /trunk/sources/HeuristicLab.Services.OKB.DataTransfer/3.3/Platform.cs	(revision 4455)
+++ /trunk/sources/HeuristicLab.Services.OKB.DataTransfer/3.3/Platform.cs	(revision 4455)
@@ -0,0 +1,27 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System.Runtime.Serialization;
+
+namespace HeuristicLab.Services.OKB.DataTransfer {
+  [DataContract]
+  public class Platform : NamedOKBItem { }
+}
Index: /trunk/sources/HeuristicLab.Services.OKB.DataTransfer/3.3/Properties/AssemblyInfo.frame
===================================================================
--- /trunk/sources/HeuristicLab.Services.OKB.DataTransfer/3.3/Properties/AssemblyInfo.frame	(revision 4455)
+++ /trunk/sources/HeuristicLab.Services.OKB.DataTransfer/3.3/Properties/AssemblyInfo.frame	(revision 4455)
@@ -0,0 +1,57 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2010 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.Services.OKB.DataTransfer")]
+[assembly: AssemblyDescription("Data transfer objects for HeuristicLab OKB services")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("HeuristicLab")]
+[assembly: AssemblyCopyright("(c) 2002-2010 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("73fea41e-7023-483f-abc1-0c1a6894a1fb")]
+
+// 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("3.3.0.0")]
+[assembly: AssemblyFileVersion("3.3.0.$WCREV$")]
Index: /trunk/sources/HeuristicLab.Services.OKB/3.3/AdminService.cs
===================================================================
--- /trunk/sources/HeuristicLab.Services.OKB/3.3/AdminService.cs	(revision 4454)
+++ /trunk/sources/HeuristicLab.Services.OKB/3.3/AdminService.cs	(revision 4455)
@@ -21,5 +21,4 @@
 
 using System.Collections.Generic;
-using System.Data.Linq;
 using System.Linq;
 using System.ServiceModel;
@@ -28,41 +27,32 @@
 namespace HeuristicLab.Services.OKB {
   /// <summary>
-  /// Implementation of <see cref="IAdminService"/>
+  /// Implementation of the OKB administration service (interface <see cref="IAdminService"/>).
   /// </summary>
   [ServiceBehavior(IncludeExceptionDetailInFaults = true)]
   public class AdminService : IAdminService {
     #region Platform Methods
-    public Platform GetPlatform(long platformId) {
-      using (OKBDataContext okb = new OKBDataContext()) {
-        return okb.Platforms.FirstOrDefault(p => p.Id == platformId);
-      }
-    }
-    public IEnumerable<Platform> GetPlatforms() {
-      using (OKBDataContext okb = new OKBDataContext()) {
-        return okb.Platforms.ToArray();
-      }
-    }
-    public void StorePlatform(Platform platform) {
-      using (OKBDataContext okb = new OKBDataContext()) {
-        Platform original = okb.Platforms.FirstOrDefault(p => p.Id == platform.Id);
-        if (original == null) {
-          okb.Platforms.InsertOnSubmit(new Platform() {
-            Name = platform.Name,
-            Description = platform.Description
-          });
-        } else {
-          original.Name = platform.Name;
-          original.Description = platform.Description;
-        }
-        okb.SubmitChanges();
-      }
-    }
-    public void DeletePlatform(long platformId) {
-      using (OKBDataContext okb = new OKBDataContext()) {
-        Platform platform = okb.Platforms.FirstOrDefault(p => p.Id == platformId);
-        if (platform != null) {
-          okb.Platforms.DeleteOnSubmit(platform);
-          okb.SubmitChanges();
-        }
+    public DataTransfer.Platform GetPlatform(long id) {
+      using (OKBDataContext okb = new OKBDataContext()) {
+        return Convert.ToDto(okb.Platforms.FirstOrDefault(x => x.Id == id));
+      }
+    }
+    public IEnumerable<DataTransfer.Platform> GetPlatforms() {
+      using (OKBDataContext okb = new OKBDataContext()) {
+        return okb.Platforms.Select(x => Convert.ToDto(x)).ToArray();
+      }
+    }
+    public void StorePlatform(DataTransfer.Platform dto) {
+      using (OKBDataContext okb = new OKBDataContext()) {
+        DataAccess.Platform entity = okb.Platforms.FirstOrDefault(x => x.Id == dto.Id);
+        if (entity == null) okb.Platforms.InsertOnSubmit(Convert.ToEntity(dto));
+        else Convert.ToEntity(dto, entity);
+        okb.SubmitChanges();
+      }
+    }
+    public void DeletePlatform(long id) {
+      using (OKBDataContext okb = new OKBDataContext()) {
+        DataAccess.Platform entity = okb.Platforms.FirstOrDefault(x => x.Id == id);
+        if (entity != null) okb.Platforms.DeleteOnSubmit(entity);
+        okb.SubmitChanges();
       }
     }
@@ -70,36 +60,27 @@
 
     #region AlgorithmClass Methods
-    public AlgorithmClass GetAlgorithmClass(long algorithmClassId) {
-      using (OKBDataContext okb = new OKBDataContext()) {
-        return okb.AlgorithmClasses.FirstOrDefault(a => a.Id == algorithmClassId);
-      }
-    }
-    public IEnumerable<AlgorithmClass> GetAlgorithmClasses() {
-      using (OKBDataContext okb = new OKBDataContext()) {
-        return okb.AlgorithmClasses.ToArray();
-      }
-    }
-    public void StoreAlgorithmClass(AlgorithmClass algorithmClass) {
-      using (OKBDataContext okb = new OKBDataContext()) {
-        AlgorithmClass original = okb.AlgorithmClasses.FirstOrDefault(a => a.Id == algorithmClass.Id);
-        if (original == null) {
-          okb.AlgorithmClasses.InsertOnSubmit(new AlgorithmClass() {
-            Name = algorithmClass.Name,
-            Description = algorithmClass.Description
-          });
-        } else {
-          original.Name = algorithmClass.Name;
-          original.Description = algorithmClass.Description;
-        }
-        okb.SubmitChanges();
-      }
-    }
-    public void DeleteAlgorithmClass(long algorithmClassId) {
-      using (OKBDataContext okb = new OKBDataContext()) {
-        AlgorithmClass algorithmClass = okb.AlgorithmClasses.FirstOrDefault(a => a.Id == algorithmClassId);
-        if (algorithmClass != null) {
-          okb.AlgorithmClasses.DeleteOnSubmit(algorithmClass);
-          okb.SubmitChanges();
-        }
+    public DataTransfer.AlgorithmClass GetAlgorithmClass(long id) {
+      using (OKBDataContext okb = new OKBDataContext()) {
+        return Convert.ToDto(okb.AlgorithmClasses.FirstOrDefault(x => x.Id == id));
+      }
+    }
+    public IEnumerable<DataTransfer.AlgorithmClass> GetAlgorithmClasses() {
+      using (OKBDataContext okb = new OKBDataContext()) {
+        return okb.AlgorithmClasses.Select(x => Convert.ToDto(x)).ToArray();
+      }
+    }
+    public void StoreAlgorithmClass(DataTransfer.AlgorithmClass dto) {
+      using (OKBDataContext okb = new OKBDataContext()) {
+        DataAccess.AlgorithmClass entity = okb.AlgorithmClasses.FirstOrDefault(x => x.Id == dto.Id);
+        if (entity == null) okb.AlgorithmClasses.InsertOnSubmit(Convert.ToEntity(dto));
+        else Convert.ToEntity(dto, entity);
+        okb.SubmitChanges();
+      }
+    }
+    public void DeleteAlgorithmClass(long id) {
+      using (OKBDataContext okb = new OKBDataContext()) {
+        DataAccess.AlgorithmClass entity = okb.AlgorithmClasses.FirstOrDefault(x => x.Id == id);
+        if (entity != null) okb.AlgorithmClasses.DeleteOnSubmit(entity);
+        okb.SubmitChanges();
       }
     }
@@ -107,43 +88,32 @@
 
     #region Algorithm Methods
-    public Algorithm GetAlgorithm(long algorithmId) {
-      using (OKBDataContext okb = new OKBDataContext()) {
-        return okb.Algorithms.FirstOrDefault(a => a.Id == algorithmId);
-      }
-    }
-    public IEnumerable<Algorithm> GetAlgorithms() {
-      using (OKBDataContext okb = new OKBDataContext()) {
-        return okb.Algorithms.ToArray();
-      }
-    }
-    public void StoreAlgorithm(Algorithm algorithm) {
-      using (OKBDataContext okb = new OKBDataContext()) {
-        Algorithm original = okb.Algorithms.FirstOrDefault(a => a.Id == algorithm.Id);
-        if (original == null) {
-          okb.Algorithms.InsertOnSubmit(new Algorithm() {
-            Name = algorithm.Name,
-            Description = algorithm.Description,
-            PlatformId = algorithm.PlatformId,
-            AlgorithmClassId = algorithm.AlgorithmClassId
-          });
-        } else {
-          original.Name = algorithm.Name;
-          original.Description = algorithm.Description;
-          original.PlatformId = algorithm.PlatformId;
-          original.AlgorithmClassId = algorithm.AlgorithmClassId;
-        }
-        okb.SubmitChanges();
-      }
-    }
-    public void DeleteAlgorithm(long algorithmId) {
-      using (OKBDataContext okb = new OKBDataContext()) {
-        Algorithm algorithm = okb.Algorithms.FirstOrDefault(a => a.Id == algorithmId);
-        if (algorithm != null) {
-          okb.Algorithms.DeleteOnSubmit(algorithm);
-          okb.SubmitChanges();
-        }
+    public DataTransfer.Algorithm GetAlgorithm(long id) {
+      using (OKBDataContext okb = new OKBDataContext()) {
+        return Convert.ToDto(okb.Algorithms.FirstOrDefault(x => x.Id == id));
+      }
+    }
+    public IEnumerable<DataTransfer.Algorithm> GetAlgorithms() {
+      using (OKBDataContext okb = new OKBDataContext()) {
+        return okb.Algorithms.Select(x => Convert.ToDto(x)).ToArray();
+      }
+    }
+    public void StoreAlgorithm(DataTransfer.Algorithm dto) {
+      using (OKBDataContext okb = new OKBDataContext()) {
+        DataAccess.Algorithm entity = okb.Algorithms.FirstOrDefault(x => x.Id == dto.Id);
+        if (entity == null) okb.Algorithms.InsertOnSubmit(Convert.ToEntity(dto));
+        else Convert.ToEntity(dto, entity);
+        okb.SubmitChanges();
+      }
+    }
+    public void DeleteAlgorithm(long id) {
+      using (OKBDataContext okb = new OKBDataContext()) {
+        DataAccess.Algorithm entity = okb.Algorithms.FirstOrDefault(x => x.Id == id);
+        if (entity != null) okb.Algorithms.DeleteOnSubmit(entity);
+        okb.SubmitChanges();
       }
     }
     #endregion
+
+    /*
 
     /// <summary>
@@ -274,5 +244,5 @@
         });
       }
-    }
+    }*/
   }
 }
Index: /trunk/sources/HeuristicLab.Services.OKB/3.3/Convert.cs
===================================================================
--- /trunk/sources/HeuristicLab.Services.OKB/3.3/Convert.cs	(revision 4455)
+++ /trunk/sources/HeuristicLab.Services.OKB/3.3/Convert.cs	(revision 4455)
@@ -0,0 +1,63 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2010 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 DA = HeuristicLab.Services.OKB.DataAccess;
+using DT = HeuristicLab.Services.OKB.DataTransfer;
+
+namespace HeuristicLab.Services.OKB {
+  public static class Convert {
+    #region Platform
+    public static DT.Platform ToDto(DA.Platform source) {
+      return new DT.Platform { Id = source.Id, Name = source.Name, Description = source.Description };
+    }
+    public static DA.Platform ToEntity(DT.Platform source) {
+      return new DA.Platform { Id = source.Id, Name = source.Name, Description = source.Description };
+    }
+    public static void ToEntity(DT.Platform source, DA.Platform target) {
+      target.Id = source.Id; target.Name = source.Name; target.Description = source.Description;
+    }
+    #endregion
+
+    #region AlgorithmClass
+    public static DT.AlgorithmClass ToDto(DA.AlgorithmClass source) {
+      return new DT.AlgorithmClass { Id = source.Id, Name = source.Name, Description = source.Description };
+    }
+    public static DA.AlgorithmClass ToEntity(DT.AlgorithmClass source) {
+      return new DA.AlgorithmClass { Id = source.Id, Name = source.Name, Description = source.Description };
+    }
+    public static void ToEntity(DT.AlgorithmClass source, DA.AlgorithmClass target) {
+      target.Id = source.Id; target.Name = source.Name; target.Description = source.Description;
+    }
+    #endregion
+
+    #region Algorithm
+    public static DT.Algorithm ToDto(DA.Algorithm source) {
+      return new DT.Algorithm { Id = source.Id, Name = source.Name, Description = source.Description, PlatformId = source.PlatformId, AlgorithmClassId = source.AlgorithmClassId };
+    }
+    public static DA.Algorithm ToEntity(DT.Algorithm source) {
+      return new DA.Algorithm { Id = source.Id, Name = source.Name, Description = source.Description, PlatformId = source.PlatformId, AlgorithmClassId = source.AlgorithmClassId };
+    }
+    public static void ToEntity(DT.Algorithm source, DA.Algorithm target) {
+      target.Id = source.Id; target.Name = source.Name; target.Description = source.Description; target.PlatformId = source.PlatformId; target.AlgorithmClassId = source.AlgorithmClassId;
+    }
+    #endregion
+  }
+}
Index: /trunk/sources/HeuristicLab.Services.OKB/3.3/HeuristicLab.Services.OKB-3.3.csproj
===================================================================
--- /trunk/sources/HeuristicLab.Services.OKB/3.3/HeuristicLab.Services.OKB-3.3.csproj	(revision 4454)
+++ /trunk/sources/HeuristicLab.Services.OKB/3.3/HeuristicLab.Services.OKB-3.3.csproj	(revision 4455)
@@ -121,9 +121,12 @@
   <ItemGroup>
     <Compile Include="AdminService.cs" />
+    <Compile Include="Convert.cs" />
     <Compile Include="Interfaces\IAdminService.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
   </ItemGroup>
   <ItemGroup>
-    <None Include="app.config" />
+    <None Include="app.config">
+      <SubType>Designer</SubType>
+    </None>
     <None Include="HeuristicLab.snk" />
     <None Include="Properties\AssemblyInfo.frame" />
@@ -133,4 +136,8 @@
       <Project>{E36BE58F-F3CE-40BB-9AB3-9F9E30AD5CCF}</Project>
       <Name>HeuristicLab.Services.OKB.DataAccess-3.3</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.Services.OKB.DataTransfer\3.3\HeuristicLab.Services.OKB.DataTransfer-3.3.csproj">
+      <Project>{209FD7A1-DFB2-4B9F-9268-B95E886B2F7A}</Project>
+      <Name>HeuristicLab.Services.OKB.DataTransfer-3.3</Name>
     </ProjectReference>
   </ItemGroup>
Index: /trunk/sources/HeuristicLab.Services.OKB/3.3/Interfaces/IAdminService.cs
===================================================================
--- /trunk/sources/HeuristicLab.Services.OKB/3.3/Interfaces/IAdminService.cs	(revision 4454)
+++ /trunk/sources/HeuristicLab.Services.OKB/3.3/Interfaces/IAdminService.cs	(revision 4455)
@@ -23,110 +23,38 @@
 using System.Net.Security;
 using System.ServiceModel;
-using HeuristicLab.Services.OKB.DataAccess;
+using HeuristicLab.Services.OKB.DataTransfer;
 
 namespace HeuristicLab.Services.OKB {
   /// <summary>
-  /// Service of administrating the OKB.
-  /// </summary>  
+  /// Interface of the OKB administration service.
+  /// </summary>
   [ServiceContract(ProtectionLevel = ProtectionLevel.EncryptAndSign)]
   public interface IAdminService {
     [OperationContract]
-    Platform GetPlatform(long platformId);
+    Platform GetPlatform(long id);
     [OperationContract]
     IEnumerable<Platform> GetPlatforms();
     [OperationContract]
-    void StorePlatform(Platform platform);
+    void StorePlatform(Platform dto);
     [OperationContract]
-    void DeletePlatform(long platformId);
+    void DeletePlatform(long id);
 
     [OperationContract]
-    AlgorithmClass GetAlgorithmClass(long algorithmClassId);
+    AlgorithmClass GetAlgorithmClass(long id);
     [OperationContract]
     IEnumerable<AlgorithmClass> GetAlgorithmClasses();
     [OperationContract]
-    void StoreAlgorithmClass(AlgorithmClass algorithmClass);
+    void StoreAlgorithmClass(AlgorithmClass dto);
     [OperationContract]
-    void DeleteAlgorithmClass(long algorithmClassId);
+    void DeleteAlgorithmClass(long id);
 
     [OperationContract]
-    Algorithm GetAlgorithm(long algorithmId);
+    Algorithm GetAlgorithm(long id);
     [OperationContract]
     IEnumerable<Algorithm> GetAlgorithms();
     [OperationContract]
-    void StoreAlgorithm(Algorithm algorithm);
+    void StoreAlgorithm(Algorithm dto);
     [OperationContract]
-    void DeleteAlgorithm(long algorithmId);
-
-
-
-    /// <summary>
-    /// Gets the complete algorithm object graph up to the following entities:
-    /// <list type="bullet">
-    /// <item>Parameter</item>
-    /// <item>Algorithm_Paramters.Parameter.DataType</item>
-    /// <item>Algorithm_Results.Result.DataType</item>
-    /// </list>
-    /// </summary>
-    /// <param name="id">The algorithm id.</param>
-    /// <returns>An <see cref="Algorithm"/></returns>
-    [OperationContract]
-    Algorithm GetCompleteAlgorithm(int id);
-
-    /// <summary>
-    /// Gets the complete problem object graph up to the following entities:
-    /// <list type="bullet">
-    /// <item>Platform</item>
-    /// <item>SolutionRepresentation</item>
-    /// <item>Problem_Parameters.Parameter</item>
-    /// <item>IntProblemCharacteristicValues.ProblemCharacteristic.DataType</item>
-    /// <item>FloatProblemCharacteristicValues.ProblemCharacteristic.DataType</item>
-    /// <item>CharProblemCharacteristicValues.ProblemCharacteristic.DataType</item>
-    /// </list>
-    /// </summary>
-    /// <param name="id">The problem id.</param>
-    /// <returns>A <see cref="Problem"/></returns>
-    [OperationContract]
-    Problem GetCompleteProblem(int id);
-
-    /// <summary>
-    /// Updates the algorithm object graph including the following properties and linked entitites:
-    /// <list type="bullet">
-    /// <item>Name</item>
-    /// <item>Description</item>
-    /// <item>AlgorithmClassId</item>
-    /// <item>PlatformId</item>
-    /// <item>Algorithm_Parameters</item>
-    /// <item>Algorithm_Results</item>
-    /// </list>
-    /// <remarks>
-    /// New <see cref="Parameter"/>s or <see cref="Result"/>s will not be
-    /// created but have to be pre-existing.
-    /// </remarks>
-    /// </summary>
-    /// <param name="algorithm">The algorithm.</param>
-    [OperationContract]
-    void UpdateCompleteAlgorithm(Algorithm algorithm);
-
-    /// <summary>
-    /// Updates the problem object graph including the following properties and linked entities:
-    /// <list type="bullet">
-    /// <item>Name</item>
-    /// <item>Description</item>
-    /// <item>ProblemClassId</item>
-    /// <item>PlatformId</item>
-    /// <item>SolutionRepresentationId</item>
-    /// <item>IntProblemCharacteristicValues.Value</item>
-    /// <item>FloatProblemCharacteristicValues.Value</item>
-    /// <item>CharProblemCharacteristicValues.Value</item>
-    /// <item>Problem_Parameters</item>
-    /// </list>
-    /// <remarks>
-    /// New <see cref="ProblemCharacteristic"/>s or <see cref="Parameter"/>s will
-    /// not be created but have to be pre-existing.
-    /// </remarks>
-    /// </summary>
-    /// <param name="problem">The problem.</param>
-    [OperationContract]
-    void UpdateCompleteProblem(Problem problem);
+    void DeleteAlgorithm(long id);
   }
 }
