Emit - Communicating sequential processes in Ruby

Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review

  • Mads Ohm Larsen
  • Brian Vinter

CSP is an algebra for reasoning about concurrent systems of processes. Being able to do so has become a necessity for computer scientists. Having to think about abstractions like mutexes and threads in practice can be cumbersome, complex, and erroneous. Ruby as a programming language has been described as fun to program in. It is however missing a CSP framework that it can call its own. Emit, which is presented in this paper, tries to mitigate this by providing such a CSP framework. As a CSP framework, Emit makes it easy to think about processes, channels, and communication. It is not yet feature complete, however comparing it to its nearest peer, PyCSP, shows good performance for the COMMSTIME benchmark, where Emit is 100 times faster.

Original languageEnglish
Title of host publicationCommunicating Process Architectures 2017 and 2018, WoTUG-39 and WoTUG-40 - Proceedings of CPA 2017 (WoTUG-39) and Proceedings of CPA 2018 (WoTUG-40)
EditorsJan Baekgaard Pedersen, Kevin Chalmers, Jan F. Broenink, Brian Vinter, Kevin Vella, Peter H. Welch, Marc L. Smith, Kenneth Skovhede
Number of pages10
PublisherIMIA and IOS Press
Publication date2019
Pages299-308
ISBN (Electronic)9781614999485
DOIs
Publication statusPublished - 2019
Event39th WoTUG Conference on Communicating Process Architectures, CPA 2017 and 40th WoTUG Conference on Communicating Process Architectures, CPA 2018 - Dresden, Germany
Duration: 19 Aug 201822 Aug 2018

Conference

Conference39th WoTUG Conference on Communicating Process Architectures, CPA 2017 and 40th WoTUG Conference on Communicating Process Architectures, CPA 2018
LandGermany
ByDresden
Periode19/08/201822/08/2018
SeriesConcurrent Systems Engineering Series
Volume70
ISSN1383-7575

    Research areas

  • Concurrency, CSP, Ruby

ID: 241090370