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...
Main Authors: | , |
---|---|
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 |