In the last few years, there have been a number of new programming languages which incorporate message-passing concurrency. Examples, such as Google's Go and Mozilla's Rust, have shown an increased industry and academic interest in the ideas of message-passing concurrency as a first order concern. These languages have joined existing ones such as occam-π, Erlang, and Ada with strong communication-based concurrency. It is therefore argued that the concurrent systems programmer has a number of options for exploiting message-based concurrency.
The Communicating Process Architectures (CPA) community, and others, have for a number of years developed libraries to support message-passing concurrency within existing programming languages and run-times. This support is normally built upon the thread support libraries of the host language. JCSP (for Java) and PyCSP (for Python) are commonly discussed, but support for CPA ideas has also been implemented in Haskell, C++, Lua, and other languages.
The languages and libraries supporting message-passing concurrency are normally inspired by one or more process algebras. Hoare's Communicating Sequential Processes (CSP) and Milner's π-calculus are the two main inspirations for message-passing work. It is questionable, however, how well these process algebras are supported in the languages and libraries they inspire.
Slides used introducing this workshop can be downloaded from .
IOS Press, Inc.
6751 Tepper Drive
Clifton, VA 20124
Tel.: +1 703 830 6300
Fax: +1 703 830 2300 firstname.lastname@example.org
(Corporate matters and books only) IOS Press c/o Accucoms US, Inc.
For North America Sales and Customer Service
West Point Commons
Lansdale PA 19446
Tel.: +1 866 855 8967
Fax: +1 215 660 5042 email@example.com