Modularizing and Specifying Protocols among Threads
Sung-Shik T.Q. Jongmans, Farhad Arbab

TL;DR
This paper proposes using domain-specific languages, specifically Reo, to modularize and specify protocols among threads, improving scalability and clarity in multicore software development.
Contribution
It introduces a novel approach of leveraging Reo as a high-level protocol DSL and provides a compiler from Reo to Java to facilitate implementation.
Findings
Reo effectively abstracts thread protocols.
The Reo-to-Java compiler enables practical implementation.
Modular protocols improve scalability and maintainability.
Abstract
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.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Advanced Software Engineering Methodologies · Distributed systems and fault tolerance
