From Global Choreographies to Provably Correct and Efficient Distributed Implementations

05/31/2019
by   Mohamad Jaber, et al.
0

We define a method to automatically synthesize provably-correct efficient distributed implementations from high-level global choreographies. A global choreography describes the execution and communication logic between a set of provided processes which are described by their interfaces. The operations at the level of choreographies include multiparty communications, choice, loop, and branching. Choreographies are master-triggered, that is each choreography has one master to trigger its execution. This allows to automatically generate conflict free distributed implementations without controllers. The behavior of the synthesized implementations follows the behavior of choreographies. In addition, the absence of controllers ensures the efficiency of the implementation and reduces the communication needed at runtime. Moreover, we define a translation of the distributed implementations to equivalent Promela versions. The translation allows verifying the distributed system against behavioral properties. We implemented a Java prototype to validate the approach and applied it to automatically synthesize micro-services architectures. We illustrate our method on the automatic synthesis of a verified distributed buying system.

READ FULL TEXT
research
05/13/2020

Multiparty Session Programming with Global Protocol Combinators

Multiparty Session Types (MPST) is a typing discipline for communication...
research
05/25/2022

Katara: Synthesizing CRDTs with Verified Lifting

Conflict-free replicated data types (CRDTs) are a promising tool for des...
research
12/21/2019

Verifying x86 Instruction Implementations

Verification of modern microprocessors is a complex task that requires a...
research
02/20/2022

Runtime-Assured, Real-Time Neural Control of Microgrids

We present SimpleMG, a new, provably correct design methodology for runt...
research
11/16/2022

Distributed and Adversarial Resistant Workflow Execution on the Algorand Blockchain

We provide a practical translation from the Dynamic Condition Response (...
research
06/26/2018

SENSE: Abstraction-Based Synthesis of Networked Control Systems

While many studies and tools target the basic stabilizability problem of...
research
05/01/2020

Automatically Eliminating Speculative Leaks With Blade

We introduce BLADE, a new approach to automatically and efficiently synt...

Please sign up or login with your details

Forgot password? Click here to reset