Treo: Textual Syntax for Reo Connectors

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 int...

Full description

Bibliographic Details
Main Authors: Kasper Dokter, Farhad Arbab
Format: Article
Language:English
Published: Open Publishing Association 2018-06-01
Series:Electronic Proceedings in Theoretical Computer Science
Online Access:http://arxiv.org/pdf/1806.09852v1
id doaj-fc47211ef7804ed5b82b05c74537d5f6
record_format Article
spelling doaj-fc47211ef7804ed5b82b05c74537d5f62020-11-25T01:48:32ZengOpen Publishing AssociationElectronic Proceedings in Theoretical Computer Science2075-21802018-06-01272Proc. MeTRiD 201812113510.4204/EPTCS.272.10:12Treo: Textual Syntax for Reo ConnectorsKasper Dokter0Farhad Arbab1 CWI CWI 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 past, none of them follows the primary design principles of Reo: a) declarative specification; b) all channel types and their sorts are user-defined; and c) channels compose via shared nodes. In this paper, we offer a textual syntax for Reo that respects these principles and supports flexible parameter passing, iteration, recursion, and conditional specification. In on-going work, we use this textual syntax to compile Reo into target languages such as Java, Promela, and Maude.http://arxiv.org/pdf/1806.09852v1
collection DOAJ
language English
format Article
sources DOAJ
author Kasper Dokter
Farhad Arbab
spellingShingle Kasper Dokter
Farhad Arbab
Treo: Textual Syntax for Reo Connectors
Electronic Proceedings in Theoretical Computer Science
author_facet Kasper Dokter
Farhad Arbab
author_sort Kasper Dokter
title Treo: Textual Syntax for Reo Connectors
title_short Treo: Textual Syntax for Reo Connectors
title_full Treo: Textual Syntax for Reo Connectors
title_fullStr Treo: Textual Syntax for Reo Connectors
title_full_unstemmed Treo: Textual Syntax for Reo Connectors
title_sort treo: textual syntax for reo connectors
publisher Open Publishing Association
series Electronic Proceedings in Theoretical Computer Science
issn 2075-2180
publishDate 2018-06-01
description 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 past, none of them follows the primary design principles of Reo: a) declarative specification; b) all channel types and their sorts are user-defined; and c) channels compose via shared nodes. In this paper, we offer a textual syntax for Reo that respects these principles and supports flexible parameter passing, iteration, recursion, and conditional specification. In on-going work, we use this textual syntax to compile Reo into target languages such as Java, Promela, and Maude.
url http://arxiv.org/pdf/1806.09852v1
work_keys_str_mv AT kasperdokter treotextualsyntaxforreoconnectors
AT farhadarbab treotextualsyntaxforreoconnectors
_version_ 1725011559703379968