2
$\begingroup$

In Winskel's The formal semantics of programming languages 1993, Ch14 Nondeterminism and parallelism says

This chapter is an introduction to nondeterministic and parallel (or concurrent) pr<r grams and systems, their semantics and logic. Starting with communication via shared variables it leads through Dijkstra's language of guarded commands to a language closely related to Occam and Hoare's CSP, and thence to Milner's CCS. In the latter languages communication is solely through the synchronised exchange of values. A specification language consisting of a simple modal logic with recursion is motivated. An algorithm is derived for checking whether or not a finite-state process satisfies a specification. This begins a study of tools for the verification of parallel systems of the kind supported by the Edinburgh-Sussex Concurrency Workbench and the Aalborg TAV system. The chapter concludes with an indication of other approaches and some current research issues in the semantics and logic of parallel processes.

Are CCS and CSP are still worth studying? Are they useful in real world, or can they be? (I saw a course using that book as one of its textbooks talked about pi calculus instead of CCS and CSP.) If not, what should one study instead?

$\endgroup$
14
  • 1
    $\begingroup$ Why restrict yourself to the so-called real world? You can also find happiness in the ideal world of mathematics. $\endgroup$ – Bob Feb 18 at 11:35
  • 2
    $\begingroup$ I don't think this should be closed. There are plenty of similar "opinion-based" questions on TCS SE that have been kept open and have received good answers: for example, this, this and this (the latter is the 5th most upvoted question on this site!). In this specific case, CCS is definitely still worth studying, and this is not opinion-based: it's enough to look at the current literature on process calculi to know that. $\endgroup$ – Damiano Mazza Feb 19 at 6:53
  • 1
    $\begingroup$ @DamianoMazza Thanks. I see a lot of opinions conflated with what is answerable and what is not. If there is something which I can say to some people here, then it is: be open minded. $\endgroup$ – Tim Feb 19 at 10:30
  • 1
    $\begingroup$ @MartinBerger The question was not "Is the original paper by Milner worth reading", but whether CCS, perhaps with a more modern syntax (e.g. "$\pi$-calculus without name passing"), is still an interesting model of concurrency. The answer is yes: non-name-passing calculi of various nature (reversible, probabilistic, multiparty, you name it) are investigated in contemporary research as test-beds for more complex models, and these are all based on CCS (there's at least one CONCUR 2019 paper explicitly on CCS, I don't have time to dig to find more). $\endgroup$ – Damiano Mazza Feb 20 at 8:42
  • 1
    $\begingroup$ Finally, going meta, I agree this could be an extremely interesting question and I did not request for it to be closed, but, by empirical induction on history, I doubt that "Tim" is in a position to do this. $\endgroup$ – Martin Berger Feb 20 at 13:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.