CSP and CCR

Lots of things have been written on concurrency since the 80s when Tony Hoare's book on Communicating Sequential Processes (CSP) was published, and the state of the art has advanced since then, but I still find it a great book to go back to every now and then for a relatively straight-forward discussion of the kind of principles that form the foundation for the safe kind of concurrency Ed Lee talks about (see my previous post). Apparently, the book is still in print, I just saw it available at Amazon.

While waiting for a safe, deterministic programming model based on isolated components, another technology that is really intriguing and worth taking a look at is the CCR, which is available as a component of the Microsoft Robotics SDK. While the CCR lacks an isolation model, it's message-passing infrastructure is really light-weight. This article introduces the runtime API, and the MSDN download is available here. It's well worth spending a few hours (or more) playing with the CCR -- it's applicable to much more than robotics. Be fore-warned, though, using it will change how you think about programming! :-)