From high-level component-based models to distributed implementations

  • Authors:
  • Borzoo Bonakdarpour;Marius Bozga;Mohamad Jaber;Jean Quilbeuf;Joseph Sifakis

  • Affiliations:
  • University of Waterloo, Waterloo, ON, Canada;VERIMAG, Grenoble, France;VERIMAG, Grenobler, France;VERIMAG, Grenoble, France;VERIMAG, Grenoble, France

  • Venue:
  • EMSOFT '10 Proceedings of the tenth ACM international conference on Embedded software
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Although distributed systems are widely used nowadays, their implementation and deployment is still a time-consuming, error-prone, and hardly predictive task. In this paper, we propose a methodology for producing automatically efficient and correct-by-construction distributed implementations by starting from a high-level model of the application software in BIP. BIP (Behavior, Interaction, Priority) is a component-based framework with formal semantics that rely on multi-party interactions for synchronizing components. Our methodology transforms arbitrary BIP models into Send/Receive BIP models, directly implementable on distributed execution platforms. The transformation consists of (1) breaking atomicity of actions in atomic components by replacing strong synchronizations with asynchronous Send/Receive interactions; (2) inserting several distributed controllers that coordinate execution of interactions according to a user-defined partition, and (3) augmenting the model with a distributed algorithm for handling conflicts between controllers preserving observational equivalence to the initial models. Currently, it is possible to generate from Send/Receive models stand-alone C++ implementations using either TCP sockets for conventional communication, or MPI implementation, for deployment on multi-core platforms. This method is fully implemented. We report concrete results obtained under different scenarios.