<p>There are not that many books on this subject, as it continues to evolve at a rapid pace.</p>

<p>Classic books on process calculi (that don't focus on &pi;-calculus-like mobility) are:</p>

<ul>
<li>C. A. R. Hoare, <a href="http://www.usingcsp.com/cspbook.pdf" rel="noreferrer">Communicating Sequential Processes</a>.</li>
<li>A. W. Roscoe, <a href="https://www.cs.ox.ac.uk/bill.roscoe/publications/68b.pdf" rel="noreferrer">The Theory and Practice of Concurrency</a>.</li>
<li>M. C. B. Hennessy, Algebraic Theory of Processes.</li>
<li>R. Milner, Concurrency and Communication.</li>
</ul>

<p>There are two main books on &pi;-calculus:</p>

<ul>
<li>R. Milner, <a href="http://www.cambridge.org/gb/academic/subjects/computer-science/communications-information-theory-and-security/communicating-and-mobile-systems-pi-calculus?format=PB&amp;isbn=9780521658690" rel="noreferrer">Communicating and Mobile Systems: The Pi Calculus</a>.</li>
<li>D. Sangiorgi, D. Walker, <a href="http://www.cambridge.org/gb/academic/subjects/computer-science/programming-languages-and-applied-logic/pi-calculus-theory-mobile-processes?format=PB&amp;isbn=9780521543279" rel="noreferrer">The Pi-Calculus: A Theory of Mobile Processes</a>.</li>
</ul>

<p>The Sangiorgi/Walker book is not easy reading. The others books above can be used by a learner.  </p>

<p>All of the books above are (mostly) about untyped processes. There is a single book on types for interactive processes (from June 2017).</p>

<ul>
<li>S. Gay, A. Ravara, <a href="http://www.riverpublishers.com/research_details.php?book_id=439" rel="noreferrer">Behavioural Types: from Theory to Tools</a>.</li>
</ul>

<p>Regarding recommendations, that would depend on your background and specific goals. The Milner and Hoare books should be easy to access. After those you can read the original papers.</p>

CC BY-SA 3.0
2017-08-25T14:18:22.297Z
2017-08-25T14:24:17.900Z
2017-08-25T14:24:17.900Z
Martin Berger
<p>I want to know more about concurrency theory from a formal/mathematical point of view, I know there are a lot of computer science branches that relates to concurrency theory like <a href="https://en.wikipedia.org/wiki/Process_calculus" rel="noreferrer">process algebra</a>, <a href="https://en.wikipedia.org/wiki/Petri_net" rel="noreferrer">Petri nets</a>, <a href="https://en.wikipedia.org/wiki/Actor_model_theory" rel="noreferrer">Actor model</a>, <a href="https://en.wikipedia.org/wiki/Communicating_sequential_processes" rel="noreferrer">CSP</a>, etc.</p>

<p>But I don't know about classic books on that topics, and also I would like to know in which order it's better to study, I'm new to this field, I have some basic knowledge on λ-calculus and Turing machines theory. </p>

<p>What resources do you recommend to begin with this theory?</p>

<lambda-calculus><concurrency><process-algebra><petri-nets>
Resources (books, etc) to learn about concurrency theory
Miguel A. Carrasco
# Resources (books, etc) to learn about concurrency theory

(Asked by: username_0 on 2017-08-24)

I want to know more about concurrency theory from a formal/mathematical point of view, I know there are a lot of computer science branches that relates to concurrency theory like [process algebra](https://en.wikipedia.org/wiki/Process_calculus), [Petri nets](https://en.wikipedia.org/wiki/Petri_net), [Actor model](https://en.wikipedia.org/wiki/Actor_model_theory), [CSP](https://en.wikipedia.org/wiki/Communicating_sequential_processes), etc.

But I don't know about classic books on that topics, and also I would like to know in which order it's better to study, I'm new to this field, I have some basic knowledge on λ-calculus and Turing machines theory.

What resources do you recommend to begin with this theory?

**Tags:** lambda-calculus, concurrency, process-algebra, petri-nets


---

## 1 answers

### Answer by username_1 on 2017-08-25. Score: 6 | Accepted answer

There are not that many books on this subject, as it continues to evolve at a rapid pace.

Classic books on process calculi (that don't focus on π-calculus-like mobility) are:

* C. A. R. Hoare, [Communicating Sequential Processes](http://www.usingcsp.com/cspbook.pdf).
* A. W. Roscoe, [The Theory and Practice of Concurrency](https://www.cs.ox.ac.uk/bill.roscoe/publications/68b.pdf).
* M. C. B. Hennessy, Algebraic Theory of Processes.
* R. Milner, Concurrency and Communication.

There are two main books on π-calculus:

* R. Milner, [Communicating and Mobile Systems: The Pi Calculus](http://www.cambridge.org/gb/academic/subjects/computer-science/communications-information-theory-and-security/communicating-and-mobile-systems-pi-calculus?format=PB&isbn=9780521658690).
* D. Sangiorgi, D. Walker, [The Pi-Calculus: A Theory of Mobile Processes](http://www.cambridge.org/gb/academic/subjects/computer-science/programming-languages-and-applied-logic/pi-calculus-theory-mobile-processes?format=PB&isbn=9780521543279).

The Sangiorgi/Walker book is not easy reading. The others books above can be used by a learner.

All of the books above are (mostly) about untyped processes. There is a single book on types for interactive processes (from June 2017).

* S. Gay, A. Ravara, [Behavioural Types: from Theory to Tools](http://www.riverpublishers.com/research_details.php?book_id=439).

Regarding recommendations, that would depend on your background and specific goals. The Milner and Hoare books should be easy to access. After those you can read the original papers.


---

