Treo: Textual Syntax for Reo Connectors
Kasper Dokter (CWI), Farhad Arbab (CWI)

TL;DR
This paper introduces Treo, a textual syntax for Reo that maintains its core principles and enhances expressiveness with features like parameter passing, iteration, recursion, and conditionals, facilitating practical large-scale applications.
Contribution
It presents a new textual syntax for Reo that preserves its declarative and compositional principles while supporting advanced programming constructs.
Findings
Reo specifications can be compiled into executable code with competitive performance.
The textual syntax enables more intuitive and scalable protocol specifications.
Ongoing work demonstrates compilation into Java, Promela, and Maude.
Abstract
Reo is an interaction-centric model of concurrency for compositional specification of communication and coordination protocols. Formal verification tools exist to ensure correctness and compliance of protocols specified in Reo, which can readily be (re)used in different applications, or composed into more complex protocols. Recent benchmarks show that compiling such high-level Reo specifications produces executable code that can compete with or even beat the performance of hand-crafted programs written in languages such as C or Java using conventional concurrency constructs. The original declarative graphical syntax of Reo does not support intuitive constructs for parameter passing, iteration, recursion, or conditional specification. This shortcoming hinders Reo's uptake in large-scale practical applications. Although a number of Reo-inspired syntax alternatives have appeared in the…
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.
