CCR and DSS Toolkit

The CCR & DSS Toolkit was originally released along with Robotics Developer Studio 2008 (RDS). It was a subset of RDS containing the core technologies of Concurrency and Coordination Runtime (CCR) and Decentralized Software Services (DSS).

With the RDS 2008 R3 release, the CCR & DSS Toolkit has been merged back into the RDS package and is no longer available as a separate product. The CCR & DSS Runtime can be distributed at no charge. Please refer to the End-User License Agreement for RDS (included in the package) for more information.

For existing Toolkit customers, the RDS 2008 R3 package can be downloaded at no cost from the web. It still contains the full functionality of CCR and DSS. You can find a runtime-only package in the redistributables folder under the RDS installation point after installing RDS. This allows you to deploy the CCR and DSS binaries without having to install RDS on target machines.

CCR and DSS will continue to be developed as part of RDS, and the objective is to integrate the functionality of CCR into .NET. (See below for more details).

What is Concurrency and Coordination Runtime (CCR)?

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.

What is Decentralized Software Services (DSS)?

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.

The Future of CCR and DSS


CCR and DSS are covered by a support policy similar to that of Microsoft Robotics Developer Studio. This means that support questions typically are handled through the MSDN Forums. The forums are driven by the community and on a best-effort basis by the Microsoft Robotics Group. Limited assistance is also available through Microsoft Support on a pay-per-use basis.


CCR and DSS can be used in both commercial and non-commercial applications. Please read the license agreement for more information.

Sun Setting

As the CCR and DSS technologies transition to the .NET Framework they will get rolled back into Microsoft Robotics Developer Studio and some of the functionality provided by the CCR and DSS Toolkit will gradually be phased out in favor of the .NET equivalents.

Transition to the Microsoft Frameworks

Because of their initial focus, CCR and DSS have gone further in addressing certain problem areas than the general .NET Framework. However, as CCR in particular transitions to the .NET Framework is it important to note the conditions under which the transition will happen.

Feature Parity

The stated goal of the alignment is to provide the models provided by CCR and DSS as part of the .NET Framework. This means that with the explicit caveats described in this section it will be possible to write certain applications using a similar architectural style once the transition has completed. It does not mean that there will be feature parity between the offerings provided by CCR and DSS Toolkit and the similar offerings provided by .NET Framework.

API Compatibility

As the technologies transition into the .NET Framework, API changes are likely and should be anticipated. That is, APIs will change between the existing CCR and DSS APIs and the APIs made available in .NET Framework. Migrating to future .NET technologies will require changes to application code.

Wire Compatibility

DSS uses the DSSP Protocol for inter-service communication. DSSP is a SOAP-based protocol specification that is fully composable with WS-* protocols such as WS-addressing, WS-security, etc. DSSP has been published under the Microsoft Open Specification Promise which means that anybody can implement the specification for whatever purpose following the guidelines of the Open Specification promise. The architectural principles embodied in DSSP will be carried over as part of the transition but the wire format and encoding may change from what it is now.

Additional Questions and Answers

Do CCR and DSS intend to replace existing models in .NET Framework?

No. Technologies and APIs do change over time in the .NET Framework but the purpose of the CCR and DSS Toolkit is to enable scenarios not currently addressed by the .NET Framework.

Visual Studio 2010 and .NET 4.0 contain a component called "Parallel Extensions to the .NET Framework", which complements the CCR’s capabilities for in-process message-passing and coordination. This runtime offers a highly tuned core and a programming model targeting computational algorithms. As capabilities of CCR and DSS are transitioned into the .NET framework, the overlap will be addressed. For instance, as CCR is integrated it will be based on the .NET work item scheduler.

Online Information

There are public discussion forums that are applicable to CCR and DSS.



© 2010 Microsoft Corporation. All Rights Reserved.