It’s interesting that you decided to include CSP instead of tuplespaces. The reasons for including CSP are well stated and justified. Would you consider including some discussion of the viability of the tuplespace model, its potential applications, and suggestions for futher reading?
My view is that tuplespaces have been neglected in the resurgence of concurrent programming, and that they can benefit from some recent ideas in distributed transactional databases. (If you’re interested in details: https://github.com/vjoel/tupelo.)
I’m enjoying the book so far. Having each model presented in the same context, by the same author, makes it so much easier to cut through the hype, see where the use cases of one model overlap with another, and understand the tradeoffs in those cases.