Skip to main content

Research Repository

Advanced Search

All Outputs (3)

What are Communicating Process Architectures? Towards a Framework for Evaluating Message-passing Concurrency Languages (2017)
Presentation / Conference Contribution
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

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, E... Read More about What are Communicating Process Architectures? Towards a Framework for Evaluating Message-passing Concurrency Languages.

Building a C++CSP Channel Using C++ Atomics (2017)
Presentation / Conference Contribution
Chalmers, K. (2019). Building a C++CSP Channel Using C++ Atomics. . https://doi.org/10.3233/978-1-61499-949-2-19

Mutex-based implementations of synchronous channels are slow. This work investigates atomic operations as a technique to improve communication efficiency between two threads via a busy channel. Such a channel provides faster communication than a mute... Read More about Building a C++CSP Channel Using C++ Atomics.

Communicating Connected Components: Extending Plug-and-Play to Support Skeletons (2017)
Presentation / Conference Contribution
Chalmers, K., Kerridge, J., & Pedersen, J. B. (2017). Communicating Connected Components: Extending Plug-and-Play to Support Skeletons. In Communicating Process Architectures 2016

For a number of years, the Communicating Process Architecture (CPA) community have developed languages and runtimes supporting message passing concurrency. For these we always provide a set of reusable processes called plug and play. These components... Read More about Communicating Connected Components: Extending Plug-and-Play to Support Skeletons.