Microsoft Robotics Developers Studio (MRDS) is built on two basic components: the Concurrency and Coordination Runtime (CCR) and the Decentralized Software Services (DSS). This chapter covers many of the concepts of the CCR; the next chapter discusses DSS.
To quickly clarify the differences between the CCR and DSS: The CCR is a programming model for handling multi-threading and inter-task synchronization, whereas DSS is used for building applications based on a loosely coupled service model. Services can run anywhere on the network, so DSS provides a communications infrastructure that enables services to transparently run on different nodes using all of the same CCR constructs that they would use if they were running locally.
Although you can use the CCR on its own, completely outside MRDS, this is not how you use it for creating robotics applications. Consequently, there is some overlap with DSS in this chapter because it provides an environment that makes CCR easier to use. In fact, there was some discussion during the writing of this book regarding whether CCR or DSS should be covered first. You can take a peek at the next chapter and decide for yourself in which order you want to read them.
A large amount of documentation is supplied with MRDS and the authors do not intend to reproduce it all here. You should read the online CCR User Guide (
http://msdn2.microsoft.com/en-us/library/bb905447.aspx), which is also in the documentation ...