Modularizing and Specifying Protocols among Threads

Sung-Shik T.Q. Jongmans
Farhad Arbab

We identify three problems with current techniques for implementing protocols among threads, which complicate and impair the scalability of multicore software development: implementing synchronization, implementing coordination, and modularizing protocols. To mend these deficiencies, we argue for the use of domain-specific languages (DSL) based on existing models of concurrency. To demonstrate the feasibility of this proposal, we explain how to use the model of concurrency Reo as a high-level protocol DSL, which offers appropriate abstractions and a natural separation of protocols and computations. We describe a Reo-to-Java compiler and illustrate its use through examples.

In Simon Gay and Paul Kelly: Proceedings Fifth Workshop on Programming Language Approaches to Concurrency- and Communication-cEntric Software (PLACES 2012), Tallinn, Estonia, 31 March 2012, Electronic Proceedings in Theoretical Computer Science 109, pp. 34–45.
Published: 23rd February 2013.

ArXived at: https://dx.doi.org/10.4204/EPTCS.109.6 bibtex PDF
References in reconstructed bibtex, XML and HTML format (approximated).
Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org