If you have a MSDN subscription, you can now download the FULL VERSION of Microsoft Robotics Studio and the CCR & DSS Toolkit!
Microsoft Robotics Studio is a development and virtual simulation environment for creating robotics applications for a wide variety of robotics platforms. Perhaps you saw us demonstrating Robotics Studio at Maker Faire Austin last year - it’s a great environment for learning about robots, and a uniquely cool environment for getting kids plugged into programming. Using the visual programming language it’s easy to assemble new robotics applications that can run against a targeted set of robots. Don’t have a robot alread? You can use the simulation environment to work with a number of different “virtual” robots including a $250 LEGO Mindstorms kit all the way to some $10,000 advanced sensor robots. If you’re working with your kids on this, you can use the simulation environment to gauge their interest, and only upgrade to one of the “real” robots when you’re satisfied that the interest is really there. Visit http://microsoft.com/robotics for some tutorials, “getting started” help and links to online resources.
The CCD/DSS Toolkit is a managed code library for dealing with highly-observable, loosely coupled, multi-core and concurrent applications. Originally delivered as part of the Robotics Studio, the CCR & DSS toolkit is now available as a separate, stand-alone download for you to use in your non-Robotics applications. The CCR/DSS web site does a much better job than I could about explaining what it is, so I’ll defer to them:
Concurrency and Coordination Runtime (CCR) provides a highly concurrent programming model based on message-passing with powerful orchestration primitives enabling coordination of data and work without the use of manual threading, locks, semaphores, etc. CCR addresses the need of multi-core and concurrent applications by providing a programming model that facilitates managing asynchronous operations, dealing with concurrency, exploiting parallel hardware and handling partial failure.
Decentralized Software Services (DSS) provides a lightweight, state-oriented service model that combines representational state transfer (REST) with a formalized composition and event notification architecture enabling a system-level approach to building applications. In DSS, services are exposed as resources which are accessible both programmatically and for UI manipulation. By integrating service composition, structured state manipulation, and event notification with data isolation, DSS provides a uniform model for writing highly observable, loosely coupled applications running on a single node or across the network.
With just about every computer produced today having either multiple processors, or multiple cores, learning to work in a multi-threaded concurrent environment is getting more and more important. Head over to the Robotics web site ad get yourself some help on learning this cool technology!