You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@reef.apache.org by we...@apache.org on 2015/02/05 22:05:46 UTC

[25/51] [partial] incubator-reef git commit: [REEF-131] Towards the new .Net project structure This is to change .Net project structure for Tang, Wake, REEF utilities, Common and Driver:

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Org.Apache.REEF.Wake/packages.config
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Wake/packages.config b/lang/cs/Org.Apache.REEF.Wake/packages.config
new file mode 100644
index 0000000..fd78097
--- /dev/null
+++ b/lang/cs/Org.Apache.REEF.Wake/packages.config
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<packages>
+  <package id="protobuf-net" version="2.0.0.668" targetFramework="net45" />
+  <package id="Rx-Core" version="2.2.5" targetFramework="net45" />
+  <package id="Rx-Interfaces" version="2.2.5" targetFramework="net45" />
+</packages>

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Org.Apache.REEF.Wake/src/main/cs/Examples/P2p/IEventSource.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Wake/src/main/cs/Examples/P2p/IEventSource.cs b/lang/cs/Org.Apache.REEF.Wake/src/main/cs/Examples/P2p/IEventSource.cs
new file mode 100644
index 0000000..d761032
--- /dev/null
+++ b/lang/cs/Org.Apache.REEF.Wake/src/main/cs/Examples/P2p/IEventSource.cs
@@ -0,0 +1,35 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+namespace Wake.Examples.P2p
+{
+    /// <summary>
+    /// The pull side of the interface: Clients implement this and register it with
+    /// the PullToPush class.
+    /// </summary>
+    /// <typeparam name="T">The event type</typeparam>
+    public interface IEventSource<T>
+    {
+        /// <summary>
+        /// Gets the next event
+        /// </summary>
+        /// <returns>The next event</returns>
+        T GetNext();
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Org.Apache.REEF.Wake/src/main/cs/Examples/P2p/Pull2Push.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Wake/src/main/cs/Examples/P2p/Pull2Push.cs b/lang/cs/Org.Apache.REEF.Wake/src/main/cs/Examples/P2p/Pull2Push.cs
new file mode 100644
index 0000000..24d894c
--- /dev/null
+++ b/lang/cs/Org.Apache.REEF.Wake/src/main/cs/Examples/P2p/Pull2Push.cs
@@ -0,0 +1,103 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+using Org.Apache.REEF.Utilities.Logging;
+using Org.Apache.REEF.Wake;
+using Org.Apache.REEF.Wake.Util;
+using System;
+using System.Collections.Generic;
+
+namespace Wake.Examples.P2p
+{
+    /// <summary>Performs a Pull-to-Push conversion in Wake.</summary>
+    /// <remarks>
+    /// Performs a Pull-to-Push conversion in Wake.
+    /// The class pulls from a set of event sources, and pushes to a single
+    /// EventHandler. If the downstream event handler blocks, this will block,
+    /// providing a simple rate limiting scheme.
+    /// The EventSources are managed in a basic Queue.
+    /// </remarks>
+    public sealed class Pull2Push<T> : IStartable, IDisposable
+    {
+        private static readonly Logger LOGGER = Logger.GetLogger(typeof(Pull2Push<T>));
+        
+        private readonly IEventHandler<T> _output;
+
+        private readonly Queue<IEventSource<T>> _sources = new Queue<IEventSource<T>>();
+
+        private bool _closed = false;
+
+        /// <summary>
+        /// Constructs a new Pull2Push object
+        /// </summary>
+        /// <param name="output">
+        /// the EventHandler that receives the messages from this
+        /// Pull2Push.
+        /// </param>
+        public Pull2Push(IEventHandler<T> output)
+        {
+            // The downstream EventHandler
+            // The upstream event sources
+            _output = output;
+        }
+
+        /// <summary>Registers an event source.</summary>
+        /// <param name="source">
+        /// The source that will be added to the queue of this
+        /// Pull2Push
+        /// </param>
+        public void Register(IEventSource<T> source)
+        {
+            _sources.Enqueue(source);
+        }
+
+        /// <summary>Executes the message loop.</summary>
+        public void Start()
+        {
+            while (!_closed)
+            {
+                // Grab the next available message source, if any
+                IEventSource<T> nextSource = _sources.Dequeue();
+                if (null != nextSource)
+                {
+                    // Grab the next message from that source, if any
+                    T message = nextSource.GetNext();
+                    if (null != message)
+                    {
+                        // Add the source to the end of the queue again.
+                        _sources.Enqueue(nextSource);
+                        // Send the message. Note that this may block depending on the underlying EventHandler.
+                        _output.OnNext(message);
+                    }
+                    else
+                    {
+                        // The message source has returned null as the next message. We drop the message source in that case.
+                        LOGGER.Log(Level.Info, "Droping message source {0} from the queue " + nextSource.ToString());
+                    }
+                }
+            }
+        }
+
+        // No source where available. We could put a wait() here. 
+        public void Dispose()
+        {
+            _closed = true;
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Org.Apache.REEF.Wake/src/main/cs/PeriodicEvent.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Wake/src/main/cs/PeriodicEvent.cs b/lang/cs/Org.Apache.REEF.Wake/src/main/cs/PeriodicEvent.cs
new file mode 100644
index 0000000..a91e298
--- /dev/null
+++ b/lang/cs/Org.Apache.REEF.Wake/src/main/cs/PeriodicEvent.cs
@@ -0,0 +1,23 @@
+/**
+ * Copyright 2013 Microsoft.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+namespace Wake.Impl
+{
+	/// <summary>Periodic event for timers</summary>
+	public class PeriodicEvent
+	{
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Org.Apache.REEF.Wake/testkey.snk
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Wake/testkey.snk b/lang/cs/Org.Apache.REEF.Wake/testkey.snk
new file mode 100644
index 0000000..133423f
Binary files /dev/null and b/lang/cs/Org.Apache.REEF.Wake/testkey.snk differ

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/ReefDotNet.sln
----------------------------------------------------------------------
diff --git a/lang/cs/ReefDotNet.sln b/lang/cs/ReefDotNet.sln
index 799d022..962149a 100644
--- a/lang/cs/ReefDotNet.sln
+++ b/lang/cs/ReefDotNet.sln
@@ -1,4 +1,5 @@
-Microsoft Visual Studio Solution File, Format Version 12.00
+
+Microsoft Visual Studio Solution File, Format Version 12.00
 # Visual Studio 2013
 VisualStudioVersion = 12.0.21005.1
 MinimumVisualStudioVersion = 10.0.40219.1
@@ -9,18 +10,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{2B7EE9
 		.nuget\NuGet.targets = .nuget\NuGet.targets
 	EndProjectSection
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Utilities", "Source\Utilities\Utilities.csproj", "{79E7F89A-1DFB-45E1-8D43-D71A954AEB98}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wake", "Source\WAKE\Wake\Wake.csproj", "{CDFB3464-4041-42B1-9271-83AF24CD5008}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tang", "Source\TANG\Tang\Tang.csproj", "{97DBB573-3994-417A-9F69-FFA25F00D2A6}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Examples", "Source\TANG\Examples\Examples.csproj", "{31B4389E-925A-4181-A1F6-21A1A0AD8A1C}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReefCommon", "Source\REEF\reef-common\ReefCommon\ReefCommon.csproj", "{545A0582-4105-44CE-B99C-B1379514A630}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReefDriver", "Source\REEF\reef-common\ReefDriver\ReefDriver.csproj", "{A6BAA2A7-F52F-4329-884E-1BCF711D6805}"
-EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Network", "Source\REEF\reef-io\Network\Network.csproj", "{883CE800-6A6A-4E0A-B7FE-C054F4F2C1DC}"
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tasks", "Source\REEF\reef-tasks\Tasks\Tasks.csproj", "{75503F90-7B82-4762-9997-94B5C68F15DB}"
@@ -33,15 +22,27 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelloCLRBridge", "Source\RE
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RetainedEvalCLRBridge", "Source\REEF\reef-examples\RetainedEvalCLRBridge\RetainedEvalCLRBridge.csproj", "{A33C20FB-A76E-494C-80C5-BCE4BAD876D3}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassHierarchyBuilder", "Source\Tools\ClassHierarchyBuilder\ClassHierarchyBuilder.csproj", "{34A9CD98-0D15-4CA0-AEA5-E53593A31047}"
-EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReefAll", "Source\Tools\ReefAll\ReefAll.csproj", "{4C137C79-3A28-47D2-BFB9-A3CAB1EEDACE}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TangTests", "Tests\TangTests\TangTests.csproj", "{D5EB94D0-3ABA-4853-9050-E36B196E17D2}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReefTests", "Tests\ReefTests\ReefTests.csproj", "{988F90CF-A48D-4938-A4D2-FA3B758FB5A7}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Org.Apache.REEF.Tang", "Org.Apache.REEF.Tang\Org.Apache.REEF.Tang.csproj", "{97DBB573-3994-417A-9F69-FFA25F00D2A6}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WakeTests", "Tests\WakeTests\WakeTests.csproj", "{214C64C6-04E5-4867-B69A-E3502EA50871}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Org.Apache.REEF.Tang.Examples", "Org.Apache.REEF.Tang.Examples\Org.Apache.REEF.Tang.Examples.csproj", "{711B7F32-196E-4C21-9DBD-AD59C4A7CF77}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReefTests", "Tests\ReefTests\ReefTests.csproj", "{988F90CF-A48D-4938-A4D2-FA3B758FB5A7}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Org.Apache.REEF.Tang.Tests", "Org.Apache.REEF.Tang.Tests\Org.Apache.REEF.Tang.Tests.csproj", "{D5EB94D0-3ABA-4853-9050-E36B196E17D2}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Org.Apache.REEF.Tang.Tools", "Org.Apache.REEF.Tang.Tools\Org.Apache.REEF.Tang.Tools.csproj", "{34A9CD98-0D15-4CA0-AEA5-E53593A31047}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Org.Apache.REEF.Utilities", "Org.Apache.REEF.Utilities\Org.Apache.REEF.Utilities.csproj", "{79E7F89A-1DFB-45E1-8D43-D71A954AEB98}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Org.Apache.REEF.Wake", "Org.Apache.REEF.Wake\Org.Apache.REEF.Wake.csproj", "{CDFB3464-4041-42B1-9271-83AF24CD5008}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Org.Apache.REEF.Wake.Tests", "Org.Apache.REEF.Wake.Tests\Org.Apache.REEF.Wake.Tests.csproj", "{214C64C6-04E5-4867-B69A-E3502EA50871}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Org.Apache.REEF.Common", "Org.Apache.REEF.Common\Org.Apache.REEF.Common.csproj", "{545A0582-4105-44CE-B99C-B1379514A630}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Org.Apache.REEF.Driver", "Org.Apache.REEF.Driver\Org.Apache.REEF.Driver.csproj", "{A6BAA2A7-F52F-4329-884E-1BCF711D6805}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -51,54 +52,6 @@ Global
 		Release|x64 = Release|x64
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{79E7F89A-1DFB-45E1-8D43-D71A954AEB98}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{79E7F89A-1DFB-45E1-8D43-D71A954AEB98}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{79E7F89A-1DFB-45E1-8D43-D71A954AEB98}.Debug|x64.ActiveCfg = Debug|x64
-		{79E7F89A-1DFB-45E1-8D43-D71A954AEB98}.Debug|x64.Build.0 = Debug|x64
-		{79E7F89A-1DFB-45E1-8D43-D71A954AEB98}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{79E7F89A-1DFB-45E1-8D43-D71A954AEB98}.Release|Any CPU.Build.0 = Release|Any CPU
-		{79E7F89A-1DFB-45E1-8D43-D71A954AEB98}.Release|x64.ActiveCfg = Release|x64
-		{79E7F89A-1DFB-45E1-8D43-D71A954AEB98}.Release|x64.Build.0 = Release|x64
-		{CDFB3464-4041-42B1-9271-83AF24CD5008}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{CDFB3464-4041-42B1-9271-83AF24CD5008}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{CDFB3464-4041-42B1-9271-83AF24CD5008}.Debug|x64.ActiveCfg = Debug|x64
-		{CDFB3464-4041-42B1-9271-83AF24CD5008}.Debug|x64.Build.0 = Debug|x64
-		{CDFB3464-4041-42B1-9271-83AF24CD5008}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{CDFB3464-4041-42B1-9271-83AF24CD5008}.Release|Any CPU.Build.0 = Release|Any CPU
-		{CDFB3464-4041-42B1-9271-83AF24CD5008}.Release|x64.ActiveCfg = Release|x64
-		{CDFB3464-4041-42B1-9271-83AF24CD5008}.Release|x64.Build.0 = Release|x64
-		{97DBB573-3994-417A-9F69-FFA25F00D2A6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{97DBB573-3994-417A-9F69-FFA25F00D2A6}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{97DBB573-3994-417A-9F69-FFA25F00D2A6}.Debug|x64.ActiveCfg = Debug|x64
-		{97DBB573-3994-417A-9F69-FFA25F00D2A6}.Debug|x64.Build.0 = Debug|x64
-		{97DBB573-3994-417A-9F69-FFA25F00D2A6}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{97DBB573-3994-417A-9F69-FFA25F00D2A6}.Release|Any CPU.Build.0 = Release|Any CPU
-		{97DBB573-3994-417A-9F69-FFA25F00D2A6}.Release|x64.ActiveCfg = Release|x64
-		{97DBB573-3994-417A-9F69-FFA25F00D2A6}.Release|x64.Build.0 = Release|x64
-		{31B4389E-925A-4181-A1F6-21A1A0AD8A1C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{31B4389E-925A-4181-A1F6-21A1A0AD8A1C}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{31B4389E-925A-4181-A1F6-21A1A0AD8A1C}.Debug|x64.ActiveCfg = Debug|x64
-		{31B4389E-925A-4181-A1F6-21A1A0AD8A1C}.Debug|x64.Build.0 = Debug|x64
-		{31B4389E-925A-4181-A1F6-21A1A0AD8A1C}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{31B4389E-925A-4181-A1F6-21A1A0AD8A1C}.Release|Any CPU.Build.0 = Release|Any CPU
-		{31B4389E-925A-4181-A1F6-21A1A0AD8A1C}.Release|x64.ActiveCfg = Release|x64
-		{31B4389E-925A-4181-A1F6-21A1A0AD8A1C}.Release|x64.Build.0 = Release|x64
-		{545A0582-4105-44CE-B99C-B1379514A630}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{545A0582-4105-44CE-B99C-B1379514A630}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{545A0582-4105-44CE-B99C-B1379514A630}.Debug|x64.ActiveCfg = Debug|x64
-		{545A0582-4105-44CE-B99C-B1379514A630}.Debug|x64.Build.0 = Debug|x64
-		{545A0582-4105-44CE-B99C-B1379514A630}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{545A0582-4105-44CE-B99C-B1379514A630}.Release|Any CPU.Build.0 = Release|Any CPU
-		{545A0582-4105-44CE-B99C-B1379514A630}.Release|x64.ActiveCfg = Release|x64
-		{545A0582-4105-44CE-B99C-B1379514A630}.Release|x64.Build.0 = Release|x64
-		{A6BAA2A7-F52F-4329-884E-1BCF711D6805}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{A6BAA2A7-F52F-4329-884E-1BCF711D6805}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{A6BAA2A7-F52F-4329-884E-1BCF711D6805}.Debug|x64.ActiveCfg = Debug|x64
-		{A6BAA2A7-F52F-4329-884E-1BCF711D6805}.Debug|x64.Build.0 = Debug|x64
-		{A6BAA2A7-F52F-4329-884E-1BCF711D6805}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{A6BAA2A7-F52F-4329-884E-1BCF711D6805}.Release|Any CPU.Build.0 = Release|Any CPU
-		{A6BAA2A7-F52F-4329-884E-1BCF711D6805}.Release|x64.ActiveCfg = Release|x64
-		{A6BAA2A7-F52F-4329-884E-1BCF711D6805}.Release|x64.Build.0 = Release|x64
 		{883CE800-6A6A-4E0A-B7FE-C054F4F2C1DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{883CE800-6A6A-4E0A-B7FE-C054F4F2C1DC}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{883CE800-6A6A-4E0A-B7FE-C054F4F2C1DC}.Debug|x64.ActiveCfg = Debug|x64
@@ -147,14 +100,6 @@ Global
 		{A33C20FB-A76E-494C-80C5-BCE4BAD876D3}.Release|Any CPU.Build.0 = Release|Any CPU
 		{A33C20FB-A76E-494C-80C5-BCE4BAD876D3}.Release|x64.ActiveCfg = Release|x64
 		{A33C20FB-A76E-494C-80C5-BCE4BAD876D3}.Release|x64.Build.0 = Release|x64
-		{34A9CD98-0D15-4CA0-AEA5-E53593A31047}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{34A9CD98-0D15-4CA0-AEA5-E53593A31047}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{34A9CD98-0D15-4CA0-AEA5-E53593A31047}.Debug|x64.ActiveCfg = Debug|x64
-		{34A9CD98-0D15-4CA0-AEA5-E53593A31047}.Debug|x64.Build.0 = Debug|x64
-		{34A9CD98-0D15-4CA0-AEA5-E53593A31047}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{34A9CD98-0D15-4CA0-AEA5-E53593A31047}.Release|Any CPU.Build.0 = Release|Any CPU
-		{34A9CD98-0D15-4CA0-AEA5-E53593A31047}.Release|x64.ActiveCfg = Release|x64
-		{34A9CD98-0D15-4CA0-AEA5-E53593A31047}.Release|x64.Build.0 = Release|x64
 		{4C137C79-3A28-47D2-BFB9-A3CAB1EEDACE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{4C137C79-3A28-47D2-BFB9-A3CAB1EEDACE}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{4C137C79-3A28-47D2-BFB9-A3CAB1EEDACE}.Debug|x64.ActiveCfg = Debug|x64
@@ -163,6 +108,30 @@ Global
 		{4C137C79-3A28-47D2-BFB9-A3CAB1EEDACE}.Release|Any CPU.Build.0 = Release|Any CPU
 		{4C137C79-3A28-47D2-BFB9-A3CAB1EEDACE}.Release|x64.ActiveCfg = Release|x64
 		{4C137C79-3A28-47D2-BFB9-A3CAB1EEDACE}.Release|x64.Build.0 = Release|x64
+		{988F90CF-A48D-4938-A4D2-FA3B758FB5A7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{988F90CF-A48D-4938-A4D2-FA3B758FB5A7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{988F90CF-A48D-4938-A4D2-FA3B758FB5A7}.Debug|x64.ActiveCfg = Debug|x64
+		{988F90CF-A48D-4938-A4D2-FA3B758FB5A7}.Debug|x64.Build.0 = Debug|x64
+		{988F90CF-A48D-4938-A4D2-FA3B758FB5A7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{988F90CF-A48D-4938-A4D2-FA3B758FB5A7}.Release|Any CPU.Build.0 = Release|Any CPU
+		{988F90CF-A48D-4938-A4D2-FA3B758FB5A7}.Release|x64.ActiveCfg = Release|x64
+		{988F90CF-A48D-4938-A4D2-FA3B758FB5A7}.Release|x64.Build.0 = Release|x64
+		{97DBB573-3994-417A-9F69-FFA25F00D2A6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{97DBB573-3994-417A-9F69-FFA25F00D2A6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{97DBB573-3994-417A-9F69-FFA25F00D2A6}.Debug|x64.ActiveCfg = Debug|x64
+		{97DBB573-3994-417A-9F69-FFA25F00D2A6}.Debug|x64.Build.0 = Debug|x64
+		{97DBB573-3994-417A-9F69-FFA25F00D2A6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{97DBB573-3994-417A-9F69-FFA25F00D2A6}.Release|Any CPU.Build.0 = Release|Any CPU
+		{97DBB573-3994-417A-9F69-FFA25F00D2A6}.Release|x64.ActiveCfg = Release|x64
+		{97DBB573-3994-417A-9F69-FFA25F00D2A6}.Release|x64.Build.0 = Release|x64
+		{711B7F32-196E-4C21-9DBD-AD59C4A7CF77}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{711B7F32-196E-4C21-9DBD-AD59C4A7CF77}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{711B7F32-196E-4C21-9DBD-AD59C4A7CF77}.Debug|x64.ActiveCfg = Debug|x64
+		{711B7F32-196E-4C21-9DBD-AD59C4A7CF77}.Debug|x64.Build.0 = Debug|x64
+		{711B7F32-196E-4C21-9DBD-AD59C4A7CF77}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{711B7F32-196E-4C21-9DBD-AD59C4A7CF77}.Release|Any CPU.Build.0 = Release|Any CPU
+		{711B7F32-196E-4C21-9DBD-AD59C4A7CF77}.Release|x64.ActiveCfg = Release|x64
+		{711B7F32-196E-4C21-9DBD-AD59C4A7CF77}.Release|x64.Build.0 = Release|x64
 		{D5EB94D0-3ABA-4853-9050-E36B196E17D2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{D5EB94D0-3ABA-4853-9050-E36B196E17D2}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{D5EB94D0-3ABA-4853-9050-E36B196E17D2}.Debug|x64.ActiveCfg = Debug|x64
@@ -171,6 +140,30 @@ Global
 		{D5EB94D0-3ABA-4853-9050-E36B196E17D2}.Release|Any CPU.Build.0 = Release|Any CPU
 		{D5EB94D0-3ABA-4853-9050-E36B196E17D2}.Release|x64.ActiveCfg = Release|x64
 		{D5EB94D0-3ABA-4853-9050-E36B196E17D2}.Release|x64.Build.0 = Release|x64
+		{34A9CD98-0D15-4CA0-AEA5-E53593A31047}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{34A9CD98-0D15-4CA0-AEA5-E53593A31047}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{34A9CD98-0D15-4CA0-AEA5-E53593A31047}.Debug|x64.ActiveCfg = Debug|x64
+		{34A9CD98-0D15-4CA0-AEA5-E53593A31047}.Debug|x64.Build.0 = Debug|x64
+		{34A9CD98-0D15-4CA0-AEA5-E53593A31047}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{34A9CD98-0D15-4CA0-AEA5-E53593A31047}.Release|Any CPU.Build.0 = Release|Any CPU
+		{34A9CD98-0D15-4CA0-AEA5-E53593A31047}.Release|x64.ActiveCfg = Release|x64
+		{34A9CD98-0D15-4CA0-AEA5-E53593A31047}.Release|x64.Build.0 = Release|x64
+		{79E7F89A-1DFB-45E1-8D43-D71A954AEB98}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{79E7F89A-1DFB-45E1-8D43-D71A954AEB98}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{79E7F89A-1DFB-45E1-8D43-D71A954AEB98}.Debug|x64.ActiveCfg = Debug|x64
+		{79E7F89A-1DFB-45E1-8D43-D71A954AEB98}.Debug|x64.Build.0 = Debug|x64
+		{79E7F89A-1DFB-45E1-8D43-D71A954AEB98}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{79E7F89A-1DFB-45E1-8D43-D71A954AEB98}.Release|Any CPU.Build.0 = Release|Any CPU
+		{79E7F89A-1DFB-45E1-8D43-D71A954AEB98}.Release|x64.ActiveCfg = Release|x64
+		{79E7F89A-1DFB-45E1-8D43-D71A954AEB98}.Release|x64.Build.0 = Release|x64
+		{CDFB3464-4041-42B1-9271-83AF24CD5008}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{CDFB3464-4041-42B1-9271-83AF24CD5008}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{CDFB3464-4041-42B1-9271-83AF24CD5008}.Debug|x64.ActiveCfg = Debug|x64
+		{CDFB3464-4041-42B1-9271-83AF24CD5008}.Debug|x64.Build.0 = Debug|x64
+		{CDFB3464-4041-42B1-9271-83AF24CD5008}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{CDFB3464-4041-42B1-9271-83AF24CD5008}.Release|Any CPU.Build.0 = Release|Any CPU
+		{CDFB3464-4041-42B1-9271-83AF24CD5008}.Release|x64.ActiveCfg = Release|x64
+		{CDFB3464-4041-42B1-9271-83AF24CD5008}.Release|x64.Build.0 = Release|x64
 		{214C64C6-04E5-4867-B69A-E3502EA50871}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{214C64C6-04E5-4867-B69A-E3502EA50871}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{214C64C6-04E5-4867-B69A-E3502EA50871}.Debug|x64.ActiveCfg = Debug|x64
@@ -179,14 +172,22 @@ Global
 		{214C64C6-04E5-4867-B69A-E3502EA50871}.Release|Any CPU.Build.0 = Release|Any CPU
 		{214C64C6-04E5-4867-B69A-E3502EA50871}.Release|x64.ActiveCfg = Release|x64
 		{214C64C6-04E5-4867-B69A-E3502EA50871}.Release|x64.Build.0 = Release|x64
-		{988F90CF-A48D-4938-A4D2-FA3B758FB5A7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{988F90CF-A48D-4938-A4D2-FA3B758FB5A7}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{988F90CF-A48D-4938-A4D2-FA3B758FB5A7}.Debug|x64.ActiveCfg = Debug|x64
-		{988F90CF-A48D-4938-A4D2-FA3B758FB5A7}.Debug|x64.Build.0 = Debug|x64
-		{988F90CF-A48D-4938-A4D2-FA3B758FB5A7}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{988F90CF-A48D-4938-A4D2-FA3B758FB5A7}.Release|Any CPU.Build.0 = Release|Any CPU
-		{988F90CF-A48D-4938-A4D2-FA3B758FB5A7}.Release|x64.ActiveCfg = Release|x64
-		{988F90CF-A48D-4938-A4D2-FA3B758FB5A7}.Release|x64.Build.0 = Release|x64
+		{545A0582-4105-44CE-B99C-B1379514A630}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{545A0582-4105-44CE-B99C-B1379514A630}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{545A0582-4105-44CE-B99C-B1379514A630}.Debug|x64.ActiveCfg = Debug|x64
+		{545A0582-4105-44CE-B99C-B1379514A630}.Debug|x64.Build.0 = Debug|x64
+		{545A0582-4105-44CE-B99C-B1379514A630}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{545A0582-4105-44CE-B99C-B1379514A630}.Release|Any CPU.Build.0 = Release|Any CPU
+		{545A0582-4105-44CE-B99C-B1379514A630}.Release|x64.ActiveCfg = Release|x64
+		{545A0582-4105-44CE-B99C-B1379514A630}.Release|x64.Build.0 = Release|x64
+		{A6BAA2A7-F52F-4329-884E-1BCF711D6805}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{A6BAA2A7-F52F-4329-884E-1BCF711D6805}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{A6BAA2A7-F52F-4329-884E-1BCF711D6805}.Debug|x64.ActiveCfg = Debug|x64
+		{A6BAA2A7-F52F-4329-884E-1BCF711D6805}.Debug|x64.Build.0 = Debug|x64
+		{A6BAA2A7-F52F-4329-884E-1BCF711D6805}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{A6BAA2A7-F52F-4329-884E-1BCF711D6805}.Release|Any CPU.Build.0 = Release|Any CPU
+		{A6BAA2A7-F52F-4329-884E-1BCF711D6805}.Release|x64.ActiveCfg = Release|x64
+		{A6BAA2A7-F52F-4329-884E-1BCF711D6805}.Release|x64.Build.0 = Release|x64
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/CLRBridgeClient.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/CLRBridgeClient.cs b/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/CLRBridgeClient.cs
index 51023e7..da64eff 100644
--- a/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/CLRBridgeClient.cs
+++ b/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/CLRBridgeClient.cs
@@ -17,23 +17,23 @@
  * under the License.
  */
 
-using Org.Apache.Reef.Common.Evaluator;
-using Org.Apache.Reef.Driver;
-using Org.Apache.Reef.Driver.bridge;
-using Org.Apache.Reef.Driver.Bridge;
-using Org.Apache.Reef.Driver.Defaults;
-using Org.Apache.Reef.Examples.HelloCLRBridge;
-using Org.Apache.Reef.Examples.HelloCLRBridge.Handlers;
-using Org.Apache.Reef.IO.Network.Naming;
-using Org.Apache.Reef.Tasks;
-using Org.Apache.Reef.Utilities.Logging;
-using Org.Apache.Reef.Tang.Interface;
-using Org.Apache.Reef.Tang.Util;
+using Org.Apache.REEF.Common.Evaluator;
+using Org.Apache.REEF.Driver;
+using Org.Apache.REEF.Driver.bridge;
+using Org.Apache.REEF.Driver.Bridge;
+using Org.Apache.REEF.Driver.Defaults;
+using Org.Apache.REEF.Examples.HelloCLRBridge;
+using Org.Apache.REEF.Examples.HelloCLRBridge.Handlers;
+using Org.Apache.REEF.IO.Network.Naming;
+using Org.Apache.REEF.Tasks;
+using Org.Apache.REEF.Utilities.Logging;
+using Org.Apache.REEF.Tang.Interface;
+using Org.Apache.REEF.Tang.Util;
 using System;
 using System.Collections.Generic;
 using System.IO;
 
-namespace Org.Apache.Reef.CLRBridgeClient
+namespace Org.Apache.REEF.CLRBridgeClient
 {
     public class CLRBridgeClient
     {

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/CLRBridgeClient.csproj
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/CLRBridgeClient.csproj b/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/CLRBridgeClient.csproj
index 9ee6246..20c8f97 100644
--- a/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/CLRBridgeClient.csproj
+++ b/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/CLRBridgeClient.csproj
@@ -86,25 +86,9 @@ under the License.
     <None Include="run.cmd" />
   </ItemGroup>
   <ItemGroup>
-    <ProjectReference Include="$(SourceDir)\Tang\Tang\Tang.csproj">
-      <Project>{97dbb573-3994-417a-9f69-ffa25f00d2a6}</Project>
-      <Name>Tang</Name>
-    </ProjectReference>
-    <ProjectReference Include="$(SourceDir)\Utilities\Utilities.csproj">
+    <ProjectReference Include="$(SolutionDir)\Org.Apache.Reef.Utilities\Org.Apache.Reef.Utilities.csproj">
       <Project>{79e7f89a-1dfb-45e1-8d43-d71a954aeb98}</Project>
-      <Name>Utilities</Name>
-    </ProjectReference>
-    <ProjectReference Include="$(SourceDir)\WAKE\Wake\Wake.csproj">
-      <Project>{cdfb3464-4041-42b1-9271-83af24cd5008}</Project>
-      <Name>Wake</Name>
-    </ProjectReference>
-    <ProjectReference Include="$(SourceDir)\Reef\reef-common\ReefCommon\ReefCommon.csproj">
-      <Project>{545a0582-4105-44ce-b99c-b1379514a630}</Project>
-      <Name>ReefCommon</Name>
-    </ProjectReference>
-    <ProjectReference Include="$(SourceDir)\Reef\reef-common\ReefDriver\ReefDriver.csproj">
-      <Project>{a6baa2a7-f52f-4329-884e-1bcf711d6805}</Project>
-      <Name>ReefDriver</Name>
+      <Name>Org.Apache.Reef.Utilities</Name>
     </ProjectReference>
     <ProjectReference Include="$(SourceDir)\Reef\reef-examples\HelloCLRBridge\HelloCLRBridge.csproj">
       <Project>{a78dd8e8-31d0-4506-8738-daa9da86d55b}</Project>
@@ -122,6 +106,22 @@ under the License.
       <Project>{75503f90-7b82-4762-9997-94b5c68f15db}</Project>
       <Name>Tasks</Name>
     </ProjectReference>
+    <ProjectReference Include="$(SolutionDir)\Org.Apache.Reef.Tang\Org.Apache.Reef.Tang.csproj">
+      <Project>{97dbb573-3994-417a-9f69-ffa25f00d2a6}</Project>
+      <Name>Org.Apache.Reef.Tang</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\..\Org.Apache.Reef.Common\Org.Apache.Reef.Common.csproj">
+      <Project>{545a0582-4105-44ce-b99c-b1379514a630}</Project>
+      <Name>Org.Apache.Reef.Common</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\..\Org.Apache.Reef.Driver\Org.Apache.Reef.Driver.csproj">
+      <Project>{a6baa2a7-f52f-4329-884e-1bcf711d6805}</Project>
+      <Name>Org.Apache.Reef.Driver</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\..\Org.Apache.Reef.Wake\Org.Apache.Reef.Wake.csproj">
+      <Project>{cdfb3464-4041-42b1-9271-83af24cd5008}</Project>
+      <Name>Org.Apache.Reef.Wake</Name>
+    </ProjectReference>
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
@@ -131,4 +131,4 @@ under the License.
   <Target Name="AfterBuild">
   </Target>
   -->
-</Project>
+</Project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-applications/Evaluator/Evaluator.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-applications/Evaluator/Evaluator.cs b/lang/cs/Source/REEF/reef-applications/Evaluator/Evaluator.cs
index 0489154..39ebfc3 100644
--- a/lang/cs/Source/REEF/reef-applications/Evaluator/Evaluator.cs
+++ b/lang/cs/Source/REEF/reef-applications/Evaluator/Evaluator.cs
@@ -17,6 +17,23 @@
  * under the License.
  */
 
+using Org.Apache.REEF.Common;
+using Org.Apache.REEF.Common.Context;
+using Org.Apache.REEF.Common.Evaluator.Context;
+using Org.Apache.REEF.Common.ProtoBuf.ReefProtocol;
+using Org.Apache.REEF.Driver.Bridge;
+using Org.Apache.REEF.Services;
+using Org.Apache.REEF.Tang.Formats;
+using Org.Apache.REEF.Tang.Implementations.InjectionPlan;
+using Org.Apache.REEF.Tang.Implementations.Tang;
+using Org.Apache.REEF.Tang.Interface;
+using Org.Apache.REEF.Tasks;
+using Org.Apache.REEF.Utilities;
+using Org.Apache.REEF.Utilities.Diagnostics;
+using Org.Apache.REEF.Utilities.Logging;
+using Org.Apache.REEF.Wake.Remote;
+using Org.Apache.REEF.Wake.Remote.Impl;
+using Org.Apache.REEF.Wake.Time.Runtime.Event;
 using System;
 using System.Collections.Generic;
 using System.Configuration;
@@ -26,24 +43,8 @@ using System.IO;
 using System.Linq;
 using System.Threading;
 using System.Threading.Tasks;
-using Org.Apache.Reef.Common;
-using Org.Apache.Reef.Common.Context;
-using Org.Apache.Reef.Common.Evaluator.Context;
-using Org.Apache.Reef.Common.ProtoBuf.ReefProtocol;
-using Org.Apache.Reef.Driver.Bridge;
-using Org.Apache.Reef.Services;
-using Org.Apache.Reef.Tasks;
-using Org.Apache.Reef.Utilities;
-using Org.Apache.Reef.Utilities.Diagnostics;
-using Org.Apache.Reef.Utilities.Logging;
-using Org.Apache.Reef.Tang.Formats;
-using Org.Apache.Reef.Tang.Implementations;
-using Org.Apache.Reef.Tang.Interface;
-using Org.Apache.Reef.Wake.Remote;
-using Org.Apache.Reef.Wake.Remote.Impl;
-using Org.Apache.Reef.Wake.Time.Runtime.Event;
-
-namespace Org.Apache.Reef.Evaluator
+
+namespace Org.Apache.REEF.Evaluator
 {
     public class Evaluator
     {
@@ -70,7 +71,7 @@ namespace Org.Apache.Reef.Evaluator
 
             using (_logger.LogScope("Evaluator::Main"))
             {
-                string debugEnabledString = Environment.GetEnvironmentVariable("Org.Apache.Reef.EvaluatorDebug");
+                string debugEnabledString = Environment.GetEnvironmentVariable("Org.Apache.REEF.EvaluatorDebug");
                 if (!string.IsNullOrWhiteSpace(debugEnabledString) &&
                     debugEnabledString.Equals("enabled", StringComparison.OrdinalIgnoreCase))
                 {

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-applications/Evaluator/Evaluator.csproj
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-applications/Evaluator/Evaluator.csproj b/lang/cs/Source/REEF/reef-applications/Evaluator/Evaluator.csproj
index cc21ac9..f64b15f 100644
--- a/lang/cs/Source/REEF/reef-applications/Evaluator/Evaluator.csproj
+++ b/lang/cs/Source/REEF/reef-applications/Evaluator/Evaluator.csproj
@@ -91,25 +91,25 @@ under the License.
     <None Include="packages.config" />
   </ItemGroup>
   <ItemGroup>
-    <ProjectReference Include="$(SourceDir)\Tang\Tang\Tang.csproj">
+    <ProjectReference Include="$(SolutionDir)\Org.Apache.Reef.Tang\Org.Apache.Reef.Tang.csproj">
       <Project>{97dbb573-3994-417a-9f69-ffa25f00d2a6}</Project>
-      <Name>Tang</Name>
+      <Name>Org.Apache.Reef.Tang</Name>
     </ProjectReference>
-    <ProjectReference Include="$(SourceDir)\Utilities\Utilities.csproj">
+    <ProjectReference Include="$(SolutionDir)\Org.Apache.Reef.Utilities\Org.Apache.Reef.Utilities.csproj">
       <Project>{79e7f89a-1dfb-45e1-8d43-d71a954aeb98}</Project>
-      <Name>Utilities</Name>
+      <Name>Org.Apache.Reef.Utilities</Name>
     </ProjectReference>
-    <ProjectReference Include="$(SourceDir)\WAKE\Wake\Wake.csproj">
-      <Project>{cdfb3464-4041-42b1-9271-83af24cd5008}</Project>
-      <Name>Wake</Name>
-    </ProjectReference>
-    <ProjectReference Include="$(SourceDir)\Reef\reef-common\ReefCommon\ReefCommon.csproj">
+    <ProjectReference Include="..\..\..\..\Org.Apache.Reef.Common\Org.Apache.Reef.Common.csproj">
       <Project>{545a0582-4105-44ce-b99c-b1379514a630}</Project>
-      <Name>ReefCommon</Name>
+      <Name>Org.Apache.Reef.Common</Name>
     </ProjectReference>
-    <ProjectReference Include="$(SourceDir)\Reef\reef-common\ReefDriver\ReefDriver.csproj">
+    <ProjectReference Include="..\..\..\..\Org.Apache.Reef.Driver\Org.Apache.Reef.Driver.csproj">
       <Project>{a6baa2a7-f52f-4329-884e-1bcf711d6805}</Project>
-      <Name>ReefDriver</Name>
+      <Name>Org.Apache.Reef.Driver</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\..\Org.Apache.Reef.Wake\Org.Apache.Reef.Wake.csproj">
+      <Project>{cdfb3464-4041-42b1-9271-83af24cd5008}</Project>
+      <Name>Org.Apache.Reef.Wake</Name>
     </ProjectReference>
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
@@ -121,4 +121,4 @@ under the License.
   <Target Name="AfterBuild">
   </Target>
   -->
-</Project>
+</Project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-common/ReefCommon/ClientJobStatusHandler.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-common/ReefCommon/ClientJobStatusHandler.cs b/lang/cs/Source/REEF/reef-common/ReefCommon/ClientJobStatusHandler.cs
deleted file mode 100644
index 508d3b3..0000000
--- a/lang/cs/Source/REEF/reef-common/ReefCommon/ClientJobStatusHandler.cs
+++ /dev/null
@@ -1,142 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-using Org.Apache.Reef.Common.Client;
-using Org.Apache.Reef.Common.ProtoBuf.ClienRuntimeProto;
-using Org.Apache.Reef.Common.ProtoBuf.ReefProtocol;
-using Org.Apache.Reef.Common.ProtoBuf.ReefServiceProto;
-using Org.Apache.Reef.Utilities;
-using Org.Apache.Reef.Utilities.Logging;
-using Org.Apache.Reef.Wake.Remote;
-using Org.Apache.Reef.Wake.Time;
-using System;
-
-namespace Org.Apache.Reef.Common
-{
-    public class ClientJobStatusHandler : IJobMessageObserver, IObserver<StartTime>
-    {
-        private static readonly Logger LOGGER = Logger.GetLogger(typeof(ClientJobStatusHandler));
-
-        private IClock _clock;
-
-        private string _jobId;
-
-        private IObserver<JobStatusProto> _jobStatusHandler;
-
-        private IDisposable _jobControlChannel;
-
-        State _state = State.INIT;
-
-        public ClientJobStatusHandler(
-            IRemoteManager<IRemoteMessage<REEFMessage>> remoteManager,
-            IClock clock,
-            IObserver<JobControlProto> jobControlHandler,
-            string jobId,
-            string clientRID)
-        {
-            _clock = clock;
-            _jobId = jobId;
-            _jobStatusHandler = null;
-            _jobControlChannel = null;
-            //_jobStatusHandler = remoteManager.GetRemoteObserver()
-            //_jobControlChannel = remoteManager.RegisterObserver()
-        }
-
-        public void Dispose(Optional<Exception> e)
-        {
-            try
-            {
-                if (e.IsPresent())
-                {
-                    OnError(e.Value);
-                }
-                else
-                {
-                    JobStatusProto proto = new JobStatusProto();
-                    proto.identifier = _jobId;
-                    proto.state = State.DONE;
-                    Send(proto);
-                }
-            }
-            catch (Exception ex)
-            {
-                Org.Apache.Reef.Utilities.Diagnostics.Exceptions.CaughtAndThrow(ex, Level.Warning, "Error closing ClientJobStatusHandler", LOGGER);
-            }
-
-            try
-            {
-                _jobControlChannel.Dispose();
-            }
-            catch (Exception ex)
-            {
-                Org.Apache.Reef.Utilities.Diagnostics.Exceptions.CaughtAndThrow(ex, Level.Warning, "Error closing jobControlChannel", LOGGER);
-            }
-        }
-
-        public void OnNext(byte[] value)
-        {
-            LOGGER.Log(Level.Info, "Job message from {0}" + _jobId);   
-            SendInit();
-            JobStatusProto proto = new JobStatusProto();
-            proto.identifier = _jobId;
-            proto.state = State.RUNNING;
-            proto.message = value;
-            Send(proto);
-        }
-
-        public void OnNext(StartTime value)
-        {
-            LOGGER.Log(Level.Info, "StartTime:" + value);
-            SendInit();
-        }
-
-        public void OnError(Exception error)
-        {
-            LOGGER.Log(Level.Error, "job excemption", error);
-            JobStatusProto proto = new JobStatusProto();
-            proto.identifier = _jobId;
-            proto.state = State.FAILED;
-            proto.exception = ByteUtilities.StringToByteArrays(error.Message);
-            _clock.Dispose();
-        }
-
-        public void OnCompleted()
-        {
-            throw new NotImplementedException();
-        }
-
-        private void Send(JobStatusProto status)
-        {
-            LOGGER.Log(Level.Info, "Sending job status " + status);
-            _jobStatusHandler.OnNext(status);
-        }
-
-        private void SendInit()
-        {
-            if (_state == State.INIT)
-            {
-                JobStatusProto proto = new JobStatusProto();
-                proto.identifier = _jobId;
-                proto.state = State.INIT;
-                Send(proto);
-                _state = State.RUNNING;
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-common/ReefCommon/Constants.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-common/ReefCommon/Constants.cs b/lang/cs/Source/REEF/reef-common/ReefCommon/Constants.cs
deleted file mode 100644
index ea9ce76..0000000
--- a/lang/cs/Source/REEF/reef-common/ReefCommon/Constants.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-namespace Org.Apache.Reef.Common
-{
-    public class Constants
-    {
-        public const string ClrBridgeRuntimeConfiguration = "clrBridge.config";
-
-        // if 8080 port is not used, then query would fail, 
-        // this is only for local runtime testing purpose though, so it should be ok
-        public const string LocalHttpEndpointBaseUri = @"http://localhost:8080/";  
-
-        public const string HDInsightClusterHttpEndpointBaseUri = @"http://headnodehost:9014/proxy/";
-
-        public const string HttpReefUriSpecification = @"Reef/v1/";
-
-        public const string HttpDriverUriTarget = @"Driver/";
-
-        public const string NameServerServiceName = "NameServer";
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-common/ReefCommon/EvaluatorHeartBeatSanityChecker.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-common/ReefCommon/EvaluatorHeartBeatSanityChecker.cs b/lang/cs/Source/REEF/reef-common/ReefCommon/EvaluatorHeartBeatSanityChecker.cs
deleted file mode 100644
index 38ed6c0..0000000
--- a/lang/cs/Source/REEF/reef-common/ReefCommon/EvaluatorHeartBeatSanityChecker.cs
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-using Org.Apache.Reef.Utilities.Logging;
-using System;
-using System.Collections.Generic;
-using System.Globalization;
-
-namespace Org.Apache.Reef.Common
-{
-    public class EvaluatorHeartBeatSanityChecker
-    {
-        private static readonly Logger LOGGER = Logger.GetLogger(typeof(EvaluatorHeartBeatSanityChecker));
-        
-        Dictionary<string, long> _timeStamps = new Dictionary<string, long>();
-
-        public void check(string id, long timeStamp)
-        {
-            lock (this)
-            {
-                if (_timeStamps.ContainsKey(id))
-                {
-                    long oldTimeStamp = _timeStamps[id];
-                    LOGGER.Log(Level.Info, string.Format(CultureInfo.InvariantCulture, "TIMESTAMP CHECKER: id [{0}], old timestamp [{1}], new timestamp [{2}]", id, oldTimeStamp, timeStamp));
-                    if (oldTimeStamp > timeStamp)
-                    {
-                        string msg = string.Format(
-                            CultureInfo.InvariantCulture,
-                            "Received an old heartbeat with timestamp [{0}] while timestamp [{1}] was received earlier",
-                            oldTimeStamp,
-                            timeStamp);
-                        Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(new InvalidOperationException(msg), LOGGER);
-                    }
-                }
-                _timeStamps.Add(id, timeStamp);
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-common/ReefCommon/FailedRuntime.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-common/ReefCommon/FailedRuntime.cs b/lang/cs/Source/REEF/reef-common/ReefCommon/FailedRuntime.cs
deleted file mode 100644
index c700986..0000000
--- a/lang/cs/Source/REEF/reef-common/ReefCommon/FailedRuntime.cs
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-using Org.Apache.Reef.Common.Api;
-using Org.Apache.Reef.Common.ProtoBuf.ReefServiceProto;
-using Org.Apache.Reef.Utilities;
-using System;
-
-namespace Org.Apache.Reef.Common
-{
-    public class FailedRuntime : AbstractFailure
-    {
-        public FailedRuntime(RuntimeErrorProto error)
-            : base(error.identifier, error.message, null, GetException(error), error.exception)
-        {
-        }
-
-        /// <summary>
-        /// Get the exception from error
-        /// </summary>
-        /// <param name="error"></param>
-        /// <returns>excetpiont from error</returns>
-        private static Exception GetException(RuntimeErrorProto error)
-        {
-            byte[] data = error.exception;
-            if (data != null)
-            {
-                return new InvalidOperationException(ByteUtilities.ByteArrarysToString(error.exception));
-            }
-            return null;
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-common/ReefCommon/IContextAndTaskSubmittable.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-common/ReefCommon/IContextAndTaskSubmittable.cs b/lang/cs/Source/REEF/reef-common/ReefCommon/IContextAndTaskSubmittable.cs
deleted file mode 100644
index edf983f..0000000
--- a/lang/cs/Source/REEF/reef-common/ReefCommon/IContextAndTaskSubmittable.cs
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-using Org.Apache.Reef.Tang.Interface;
-
-namespace Org.Apache.Reef.Common
-{
-    /// <summary>
-    /// Base interface for classes that support the simultaneous submission of both Context and Task configurations.
-    /// </summary>
-    public interface IContextAndTaskSubmittable
-    {
-        /// <summary>
-        /// Submit a Context and an Task.
-        /// The semantics of this call are the same as first submitting the context and then, on the fired ActiveContext event
-        /// to submit the Task. The performance of this will be better, though as it potentially saves some roundtrips on
-        /// the network.
-        /// REEF will not fire an ActiveContext as a result of this. Instead, it will fire a TaskRunning event.
-        /// </summary>
-        /// <param name="contextConfiguration"> the Configuration of the EvaluatorContext. See ContextConfiguration for details.</param>
-        /// <param name="taskConfiguration">the Configuration of the Task. See TaskConfiguration for details.</param>
-        void SubmitContextAndTask(IConfiguration contextConfiguration, IConfiguration taskConfiguration);
-
-        /// <summary>
-        /// Submit a Context with Services and an Task.
-        /// The semantics of this call are the same as first submitting the context and services and then, on the fired
-        /// ActiveContext event to submit the Task. The performance of this will be better, though as it potentially saves
-        /// some roundtrips on the network.
-        /// REEF will not fire an ActiveContext as a result of this. Instead, it will fire a TaskRunning event.
-        /// </summary>
-        /// <param name="contextConfiguration"></param>
-        /// <param name="serviceConfiguration"></param>
-        /// <param name="taskConfiguration"></param>
-        void SubmitContextAndServiceAndTask(
-            IConfiguration contextConfiguration, 
-            IConfiguration serviceConfiguration, 
-            IConfiguration taskConfiguration);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-common/ReefCommon/IContextSubmittable.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-common/ReefCommon/IContextSubmittable.cs b/lang/cs/Source/REEF/reef-common/ReefCommon/IContextSubmittable.cs
deleted file mode 100644
index 039d2a3..0000000
--- a/lang/cs/Source/REEF/reef-common/ReefCommon/IContextSubmittable.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-using Org.Apache.Reef.Tang.Interface;
-
-namespace Org.Apache.Reef.Common
-{
-    /// <summary>
-    ///  Base interface for classes that support Context submission.
-    /// </summary>
-    public interface IContextSubmittable
-    {
-        /// <summary>
-        ///  Submit a Context.
-        /// </summary>
-        /// <param name="contextConfiguration">the Configuration of the EvaluatorContext. See ContextConfiguration for details.</param>
-        void SubmitContext(IConfiguration contextConfiguration);
-
-        /// <summary>
-        /// Submit a Context and a Service Configuration.
-        /// </summary>
-        /// <param name="contextConfiguration">the Configuration of the EvaluatorContext. See ContextConfiguration for details.</param>
-        /// <param name="serviceConfiguration">the Configuration for the Services. See ServiceConfiguration for details.</param>
-        void SubmitContextAndService(IConfiguration contextConfiguration, IConfiguration serviceConfiguration);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-common/ReefCommon/IJobMessageObserver.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-common/ReefCommon/IJobMessageObserver.cs b/lang/cs/Source/REEF/reef-common/ReefCommon/IJobMessageObserver.cs
deleted file mode 100644
index a5be5d5..0000000
--- a/lang/cs/Source/REEF/reef-common/ReefCommon/IJobMessageObserver.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-using System;
-
-namespace Org.Apache.Reef.Common.Client
-{
-    /// <summary>
-    ///  The driver uses this interface to communicate with the job client.
-    /// </summary>
-    public interface IJobMessageObserver : IObserver<byte[]>
-    {
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-common/ReefCommon/ITaskSubmittable.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-common/ReefCommon/ITaskSubmittable.cs b/lang/cs/Source/REEF/reef-common/ReefCommon/ITaskSubmittable.cs
deleted file mode 100644
index 1cc9312..0000000
--- a/lang/cs/Source/REEF/reef-common/ReefCommon/ITaskSubmittable.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-using Org.Apache.Reef.Tang.Interface;
-
-namespace Org.Apache.Reef.Common
-{
-    /// <summary>
-    ///  Base interface for classes that support Task submission.
-    /// </summary>
-    public interface ITaskSubmittable
-    {
-       /// <summary>
-        /// Submits an Task (encoded in the Configuration) for execution.
-       /// </summary>
-        /// <param name="taskConf">the Configuration. See TaskConfiguration for details</param>
-        void SubmitTask(IConfiguration taskConf);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-common/ReefCommon/Properties/AssemblyInfo.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-common/ReefCommon/Properties/AssemblyInfo.cs b/lang/cs/Source/REEF/reef-common/ReefCommon/Properties/AssemblyInfo.cs
deleted file mode 100644
index f6c13bd..0000000
--- a/lang/cs/Source/REEF/reef-common/ReefCommon/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-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("ReefCommon")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("ReefCommon")]
-[assembly: AssemblyCopyright("Copyright ©  2015")]
-[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("a810ee4a-fe13-4536-9e9c-5275b16e0842")]
-
-// Version information for an assembly consists of the following four values:
-//
-//      Major Version
-//      Minor Version 
-//      Build Number
-//      Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers 
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-common/ReefCommon/ReefCommon.csproj
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-common/ReefCommon/ReefCommon.csproj b/lang/cs/Source/REEF/reef-common/ReefCommon/ReefCommon.csproj
deleted file mode 100644
index 0b2299d..0000000
--- a/lang/cs/Source/REEF/reef-common/ReefCommon/ReefCommon.csproj
+++ /dev/null
@@ -1,233 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-http://www.apache.org/licenses/LICENSE-2.0
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProjectGuid>{545A0582-4105-44CE-B99C-B1379514A630}</ProjectGuid>
-    <OutputType>Library</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>Org.Apache.Reef.Common</RootNamespace>
-    <AssemblyName>Org.Apache.Reef.Common</AssemblyName>
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
-    <FileAlignment>512</FileAlignment>
-    <RestorePackages>true</RestorePackages>
-    <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\..\..</SolutionDir>
-  </PropertyGroup>
-  <Import Project="$(SolutionDir)\Source\build.props" />
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>$(BinDir)\$(Platform)\$(Configuration)\$(RootNamespace)</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>$(BinDir)\$(Platform)\$(Configuration)\$(RootNamespace)</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>$(BinDir)\$(Platform)\$(Configuration)\$(RootNamespace)</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>$(BinDir)\$(Platform)\$(Configuration)\$(RootNamespace)</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="Microsoft.Hadoop.Avro">
-      <HintPath>$(PackagesDir)\Microsoft.Hadoop.Avro.1.4.0.0\lib\net40\Microsoft.Hadoop.Avro.dll</HintPath>
-    </Reference>
-    <Reference Include="Newtonsoft.Json">
-      <HintPath>$(PackagesDir)\Newtonsoft.Json.6.0.8\lib\net45\Newtonsoft.Json.dll</HintPath>
-    </Reference>
-    <Reference Include="protobuf-net">
-      <HintPath>$(PackagesDir)\protobuf-net.2.0.0.668\lib\net40\protobuf-net.dll</HintPath>
-    </Reference>
-    <Reference Include="System.Reactive.Core">
-      <HintPath>$(PackagesDir)\Rx-Core.2.2.5\lib\net45\System.Reactive.Core.dll</HintPath>
-    </Reference>
-    <Reference Include="System.Reactive.Interfaces">
-      <HintPath>$(PackagesDir)\Rx-Interfaces.2.2.5\lib\net45\System.Reactive.Interfaces.dll</HintPath>
-    </Reference>
-    <Reference Include="System" />
-    <Reference Include="System.Core" />
-    <Reference Include="System.Runtime.Serialization" />
-    <Reference Include="System.Xml.Linq" />
-    <Reference Include="System.Data.DataSetExtensions" />
-    <Reference Include="Microsoft.CSharp" />
-    <Reference Include="System.Data" />
-    <Reference Include="System.Xml" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="api\AbstractFailure.cs" />
-    <Compile Include="api\IAbstractFailure.cs" />
-    <Compile Include="api\IFailure.cs" />
-    <Compile Include="api\IResourceLaunchHandler.cs" />
-    <Compile Include="api\IResourceReleaseHandler.cs" />
-    <Compile Include="api\IResourceRequestHandler.cs" />
-    <Compile Include="avro\AvroDriverInfo.cs" />
-    <Compile Include="avro\AvroHttpRequest.cs" />
-    <Compile Include="avro\AvroHttpSerializer.cs" />
-    <Compile Include="avro\AvroJsonSerializer.cs" />
-    <Compile Include="avro\AvroReefServiceInfo.cs" />
-    <Compile Include="catalog\capabilities\CPU.cs" />
-    <Compile Include="catalog\capabilities\ICapability.cs" />
-    <Compile Include="catalog\capabilities\RAM.cs" />
-    <Compile Include="catalog\INodeDescriptor.cs" />
-    <Compile Include="catalog\IRackDescriptor.cs" />
-    <Compile Include="catalog\IResourceCatalog.cs" />
-    <Compile Include="catalog\NodeDescriptorImpl.cs" />
-    <Compile Include="catalog\RackDescriptorImpl.cs" />
-    <Compile Include="catalog\ResourceCatalogImpl.cs" />
-    <Compile Include="ClientJobStatusHandler.cs" />
-    <Compile Include="Constants.cs" />
-    <Compile Include="context\ContextMessage.cs" />
-    <Compile Include="context\IContextMessage.cs" />
-    <Compile Include="context\IContextMessageHandler.cs" />
-    <Compile Include="context\IContextMessageSource.cs" />
-    <Compile Include="EvaluatorHeartBeatSanityChecker.cs" />
-    <Compile Include="evaluator\DefaultLocalHttpDriverConnection.cs" />
-    <Compile Include="evaluator\DefaultYarnClusterHttpDriverConnection.cs" />
-    <Compile Include="evaluator\DefaultYarnOneBoxHttpDriverConnection.cs" />
-    <Compile Include="evaluator\DriverInformation.cs" />
-    <Compile Include="evaluator\EvaluatorOperationState.cs" />
-    <Compile Include="evaluator\EvaluatorRuntimeState.cs" />
-    <Compile Include="evaluator\EvaluatorType.cs" />
-    <Compile Include="evaluator\IDriverConnection.cs" />
-    <Compile Include="events\IContextStart.cs" />
-    <Compile Include="events\IContextStop.cs" />
-    <Compile Include="exceptions\EvaluatorException.cs" />
-    <Compile Include="exceptions\JobException.cs" />
-    <Compile Include="FailedRuntime.cs" />
-    <Compile Include="IContextAndTaskSubmittable.cs" />
-    <Compile Include="IContextSubmittable.cs" />
-    <Compile Include="IJobMessageObserver.cs" />
-    <Compile Include="io\INameClient.cs" />
-    <Compile Include="io\NameAssignment.cs" />
-    <Compile Include="io\NamingConfiguration.cs" />
-    <Compile Include="io\NamingConfigurationOptions.cs" />
-    <Compile Include="ITaskSubmittable.cs" />
-    <Compile Include="Properties\AssemblyInfo.cs" />
-    <Compile Include="protobuf\cs\ClientRuntime.pb.cs" />
-    <Compile Include="protobuf\cs\codec\EvaluatorHeartbeatProtoCodec.cs" />
-    <Compile Include="protobuf\cs\codec\REEFMessageCodec.cs" />
-    <Compile Include="protobuf\cs\DriverRuntime.pb.cs" />
-    <Compile Include="protobuf\cs\EvaluatorRunTime.pb.cs" />
-    <Compile Include="protobuf\cs\ReefProtocol.pb.cs" />
-    <Compile Include="protobuf\cs\ReefService.pb.cs" />
-    <Compile Include="protobuf\cs\Serializer.cs" />
-    <Compile Include="runtime\evaluator\Constants.cs" />
-    <Compile Include="runtime\evaluator\context\ContextClientCodeException.cs" />
-    <Compile Include="runtime\evaluator\context\ContextConfiguration.cs" />
-    <Compile Include="runtime\evaluator\context\ContextLifeCycle.cs" />
-    <Compile Include="runtime\evaluator\context\ContextManager.cs" />
-    <Compile Include="runtime\evaluator\context\ContextRuntime.cs" />
-    <Compile Include="runtime\evaluator\context\ContextStartImpl.cs" />
-    <Compile Include="runtime\evaluator\context\ContextStopImpl.cs" />
-    <Compile Include="runtime\evaluator\context\RootContextLauncher.cs" />
-    <Compile Include="runtime\evaluator\EvaluatorRuntime.cs" />
-    <Compile Include="runtime\evaluator\EvaluatorSettings.cs" />
-    <Compile Include="runtime\evaluator\HeartBeatManager.cs" />
-    <Compile Include="runtime\evaluator\ReefMessageProtoObserver.cs" />
-    <Compile Include="runtime\evaluator\task\CloseEventImpl.cs" />
-    <Compile Include="runtime\evaluator\task\DriverMessageImpl.cs" />
-    <Compile Include="runtime\evaluator\task\SuspendEventImpl.cs" />
-    <Compile Include="runtime\evaluator\task\TaskClientCodeException.cs" />
-    <Compile Include="runtime\evaluator\task\TaskLifeCycle.cs" />
-    <Compile Include="runtime\evaluator\task\TaskRuntime.cs" />
-    <Compile Include="runtime\evaluator\task\TaskStartImpl.cs" />
-    <Compile Include="runtime\evaluator\task\TaskState.cs" />
-    <Compile Include="runtime\evaluator\task\TaskStatus.cs" />
-    <Compile Include="runtime\evaluator\task\TaskStopImpl.cs" />
-    <Compile Include="runtime\evaluator\utils\EvaluatorConfigurations.cs" />
-    <Compile Include="runtime\evaluator\utils\RemoteManager.cs" />
-    <Compile Include="runtime\MachineStatus.cs" />
-    <Compile Include="services\IService.cs" />
-    <Compile Include="services\ServiceConfiguration.cs" />
-    <Compile Include="services\ServicesConfigurationOptions.cs" />
-    <Compile Include="tasks\defaults\DefaultDriverMessageHandler.cs" />
-    <Compile Include="tasks\defaults\DefaultTaskMessageSource.cs" />
-    <Compile Include="tasks\events\ICloseEvent.cs" />
-    <Compile Include="tasks\events\IDriverMessage.cs" />
-    <Compile Include="tasks\events\ISuspendEvent.cs" />
-    <Compile Include="tasks\events\ITaskStart.cs" />
-    <Compile Include="tasks\events\ITaskStop.cs" />
-    <Compile Include="tasks\IDriverMessageHandler.cs" />
-    <Compile Include="tasks\IRunningTask.cs" />
-    <Compile Include="tasks\ITask.cs" />
-    <Compile Include="tasks\ITaskMessageSource.cs" />
-    <Compile Include="tasks\TaskConfiguration.cs" />
-    <Compile Include="tasks\TaskConfigurationOptions.cs" />
-    <Compile Include="tasks\TaskMessage.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="packages.config" />
-    <None Include="protobuf\proto\client_runtime.proto" />
-    <None Include="protobuf\proto\driver_runtime.proto" />
-    <None Include="protobuf\proto\evaluator_runtime.proto" />
-    <None Include="protobuf\proto\reef_protocol.proto" />
-    <None Include="protobuf\proto\reef_service_protos.proto" />
-  </ItemGroup>
-  <ItemGroup>
-    <Folder Include="protobuf\tools\" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="$(SourceDir)\Tang\Tang\Tang.csproj">
-      <Project>{97dbb573-3994-417a-9f69-ffa25f00d2a6}</Project>
-      <Name>Tang</Name>
-    </ProjectReference>
-    <ProjectReference Include="$(SourceDir)\Utilities\Utilities.csproj">
-      <Project>{79e7f89a-1dfb-45e1-8d43-d71a954aeb98}</Project>
-      <Name>Utilities</Name>
-    </ProjectReference>
-    <ProjectReference Include="$(SourceDir)\WAKE\Wake\Wake.csproj">
-      <Project>{cdfb3464-4041-42b1-9271-83af24cd5008}</Project>
-      <Name>Wake</Name>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
-  <Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
-</Project>

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-common/ReefCommon/api/AbstractFailure.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-common/ReefCommon/api/AbstractFailure.cs b/lang/cs/Source/REEF/reef-common/ReefCommon/api/AbstractFailure.cs
deleted file mode 100644
index 4b9c1a6..0000000
--- a/lang/cs/Source/REEF/reef-common/ReefCommon/api/AbstractFailure.cs
+++ /dev/null
@@ -1,142 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-using Org.Apache.Reef.Utilities;
-using System;
-using System.Globalization;
-using Org.Apache.Reef.Utilities.Logging;
-
-namespace Org.Apache.Reef.Common.Api
-{
-    public abstract class AbstractFailure : IFailure
-    {
-        private static readonly Logger LOGGER = Logger.GetLogger(typeof(AbstractFailure));
-
-        public AbstractFailure()
-        {
-        }
-
-        /// <summary>
-        /// Most detailed error message constructor that takes all parameters possible.
-        /// </summary>
-        /// <param name="id">Identifier of the entity that produced the error. Cannot be null.</param>
-        /// <param name="message">One-line error message. Cannot be null.</param>
-        /// <param name="description">Long error description. Can be null.</param>
-        /// <param name="cause">Exception that caused the error. Can be null.</param>
-        /// <param name="data">byte array that contains serialized version of the error. Can be null.</param>
-        public AbstractFailure(string id, string message, string description, Exception cause, byte[] data)
-        {
-            if (string.IsNullOrEmpty(id))
-            {
-                Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(new ArgumentException("id"), LOGGER);
-            }
-            if (string.IsNullOrEmpty(message))
-            {
-                Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(new ArgumentException("message"), LOGGER);
-            }
-            Id = id;
-            Message = message;
-            Description = Optional<string>.OfNullable(string.IsNullOrEmpty(description) ? GetStackTrace(cause) : description);
-            Cause = Optional<Exception>.OfNullable(cause);
-            Data = Optional<byte[]>.OfNullable(data);
-        }
-
-        /// <summary>
-        ///  Build error message given the entity ID and the short error message.
-        /// </summary>
-        /// <param name="id"></param>
-        /// <param name="message"></param>
-        public AbstractFailure(string id, string message)
-            : this(id, message, null, null, null)
-        {
-        }
-
-        /// <summary>
-        ///  Build error message given the failed entity ID and  Exception.
-        ///  Populates the message with the Exception.getMessage() result, and stores
-        ///  the exception stack trace in the description.
-        /// </summary>
-        /// <param name="id"></param>
-        /// <param name="cause"></param>
-        public AbstractFailure(string id, Exception cause)
-        {
-            if (string.IsNullOrEmpty(id))
-            {
-                Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(new ArgumentException("id"), LOGGER);
-            }
-            Id = id;
-            Message = cause.Message;
-            Description = Optional<string>.Of(GetStackTrace(cause));
-            Cause = Optional<Exception>.Of(cause);
-            Data = Optional<byte[]>.Empty();
-        }
-
-        /// <summary>
-        /// Build error message given the entity ID plus short and long error message.
-        /// </summary>
-        /// <param name="id"></param>
-        /// <param name="message"></param>
-        /// <param name="description"></param>
-        public AbstractFailure(string id, string message, string description)
-            : this(id, message, description, null, null)
-        {
-        }
-
-        /// <summary>
-        /// Identifier of the entity that produced the error. Cannot be null.
-        /// </summary>
-        public string Id { get; set; }
-
-        public string Message { get; set; }
-
-        public Optional<string> Description { get; set; }
-
-        public Optional<string> Reason { get; set; }
-
-        public Optional<Exception> Cause { get; set; }
-
-        public Optional<byte[]> Data { get; set; }
-
-        public Exception AsError()
-        {
-            return Cause.IsPresent() ? Cause.Value : new InvalidOperationException(ToString());
-        }
-
-        /// <summary>
-        ///  Helper function: produce the string that contains the given exception's stack trace. Returns null if the argument is null.
-        /// </summary>
-        /// <param name="ex"></param>
-        public string GetStackTrace(Exception ex)
-        {
-            if (ex == null)
-            {
-                return null;
-            }
-            else
-            {
-                return ex.StackTrace;
-            }
-        }
-
-        public override string ToString()
-        {
-            return string.Format(CultureInfo.InvariantCulture, "{0} with id={1} failed: {2}", GetType(), Id, Message);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-common/ReefCommon/api/IAbstractFailure.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-common/ReefCommon/api/IAbstractFailure.cs b/lang/cs/Source/REEF/reef-common/ReefCommon/api/IAbstractFailure.cs
deleted file mode 100644
index 410eacb..0000000
--- a/lang/cs/Source/REEF/reef-common/ReefCommon/api/IAbstractFailure.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-namespace Org.Apache.Reef.Common.Api
-{
-    public interface IAbstractFailure : IFailure
-    {
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-common/ReefCommon/api/IFailure.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-common/ReefCommon/api/IFailure.cs b/lang/cs/Source/REEF/reef-common/ReefCommon/api/IFailure.cs
deleted file mode 100644
index 02382d0..0000000
--- a/lang/cs/Source/REEF/reef-common/ReefCommon/api/IFailure.cs
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-using Org.Apache.Reef.Utilities;
-using System;
-
-namespace Org.Apache.Reef.Common.Api
-{
-    /// <summary>
-    /// Common interface for all error messages in REEF.
-    /// Most of its functionality is generic and implemented in the AbstractFailure class.
-    /// </summary>
-    public interface IFailure : IIdentifiable
-    {
-        /// <summary>
-        /// One-line error message. Should never be null.
-        /// </summary>
-        string Message { get; set; }
-
-        /// <summary>
-        ///  Optional long error description.
-        /// </summary>
-        Optional<string> Description { get; set; }
-
-        /// <summary>
-        /// Exception that caused the error, or null.
-        /// </summary>
-        Optional<string> Reason { get; set; }
-
-        /// <summary>
-        /// Optional serialized version of the error message.
-        /// </summary>
-        Optional<byte[]> Data { get; set; }
-
-        /// <summary>
-        /// Return the original Java Exception, or generate a new one if it does not exists.
-        /// ALWAYS returns an exception, never null
-        /// </summary>
-        Exception AsError();
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-common/ReefCommon/api/IResourceLaunchHandler.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-common/ReefCommon/api/IResourceLaunchHandler.cs b/lang/cs/Source/REEF/reef-common/ReefCommon/api/IResourceLaunchHandler.cs
deleted file mode 100644
index edea908..0000000
--- a/lang/cs/Source/REEF/reef-common/ReefCommon/api/IResourceLaunchHandler.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-using Org.Apache.Reef.Common.ProtoBuf.DriverRuntimeProto;
-using System;
-
-namespace Org.Apache.Reef.Common.Api
-{
-    public interface IResourceLaunchHandler : IObserver<ResourceLaunchProto>
-    {
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-common/ReefCommon/api/IResourceReleaseHandler.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-common/ReefCommon/api/IResourceReleaseHandler.cs b/lang/cs/Source/REEF/reef-common/ReefCommon/api/IResourceReleaseHandler.cs
deleted file mode 100644
index bcc93ba..0000000
--- a/lang/cs/Source/REEF/reef-common/ReefCommon/api/IResourceReleaseHandler.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-using Org.Apache.Reef.Common.ProtoBuf.DriverRuntimeProto;
-using System;
-
-namespace Org.Apache.Reef.Common.Api
-{
-    public interface IResourceReleaseHandler : IObserver<ResourceReleaseProto>
-    {
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/REEF/reef-common/ReefCommon/api/IResourceRequestHandler.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-common/ReefCommon/api/IResourceRequestHandler.cs b/lang/cs/Source/REEF/reef-common/ReefCommon/api/IResourceRequestHandler.cs
deleted file mode 100644
index 9eda5c8..0000000
--- a/lang/cs/Source/REEF/reef-common/ReefCommon/api/IResourceRequestHandler.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-using Org.Apache.Reef.Common.ProtoBuf.DriverRuntimeProto;
-using System;
-
-namespace Org.Apache.Reef.Common.Api
-{
-    public interface IResourceRequestHandler : IObserver<ResourceRequestProto>
-    {
-    }
-}