Treo: Textual Syntax for Reo Connectors

06/26/2018
by   Kasper Dokter, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/17/2019

Multiple Analyses, Requirements Once: simplifying testing & verification in automotive model-based development

In industrial model-based development (MBD) frameworks, requirements are...
research
09/24/2021

Automated Modular Verification for Race-Free Channels with Implicit and Explicit Synchronization

Ensuring the correctness of software for communication centric programs ...
research
05/17/2023

Verification of Population Protocols with Unordered Data is undecidable

We consider the new extension of population protocols with unordered dat...
research
05/19/2021

MetaCP: Cryptographic Protocol Design Tool for Formal Verification

We present MetaCP, a tool to aid the cryptographer throughout the proces...
research
02/14/2020

Flexible Coinduction in Agda

Theorem provers are tools that help users to write machine readable proo...
research
05/27/2018

Safety-Critical Java: Level 2 in Practice

Safety Critical Java (SCJ) is a profile of the Real-Time Specification f...
research
09/15/2017

Tortoise: Interactive System Configuration Repair

System configuration languages provide powerful abstractions that simpli...

Please sign up or login with your details

Forgot password? Click here to reset