Skip to main content

Research Repository

Advanced Search

What are Communicating Process Architectures? Towards a Framework for Evaluating Message-passing Concurrency Languages

Chalmers, Kevin

Authors

Kevin Chalmers



Abstract

What does it mean to be a message-passing concurrent language? This work attempts to build a framework for classifying such languages by judging four in regards to features and performance. Features of process calculi are used to evaluate Go, Rust, Erlang, and occam-pi. Furthermore, standard communication time, selection time, and multicore utilisation are examined. Although each of these languages use message-passing concurrency, their approaches and characteristics are different. We can start to build an initial classification based on message-passing type, language support, and feature support. Such classification allows an initial discussion of the suitability of the evaluation framework, whether it is useful, and how it can be expanded. Approximately 50 further languages have been identified as potentially supporting message-passing concurrency to further build up the classification.

Citation

Chalmers, K. (2019). What are Communicating Process Architectures? Towards a Framework for Evaluating Message-passing Concurrency Languages. . https://doi.org/10.3233/978-1-61499-949-2-227

Conference Name Communicating Process Architectures 2017
Conference Location Malta
Start Date Aug 20, 2017
Acceptance Date Jun 23, 2017
Online Publication Date Aug 20, 2017
Publication Date 2019
Deposit Date Aug 20, 2019
Publisher IOS Press
Series Title Concurrent Systems Engineering Series
Series Number 70
Series ISSN 1879-8039
DOI https://doi.org/10.3233/978-1-61499-949-2-227
Keywords evaluation framework; Erlang; Go; Rust; occam-π
Public URL http://researchrepository.napier.ac.uk/Output/1273242