Distributed Implementations of Component-based Systems Using Source-to-source Transformations in BIP

Subscribers:
344,000
Published on ● Video Link: https://www.youtube.com/watch?v=hYe6iUSEpds



Duration: 35:01
108 views
2


Although distributed systems are widely used nowadays, their implementation and deployment is still a time-consuming, error-prone, and hardly predictive task. In this talk, I will present 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 and dynamic priorities for scheduling between interactions. Our methodology transforms arbitrary BIP models into Send/Receive BIP models, directly implementable on distributed execution platforms. The transformation consists of (1) breaking the atomicity of actions in atomic components by replacing strong synchronizations with asynchronous Send/Receive interactions; (2) inserting several distributed controllers that coordinate the execution of interactions according to a user-defined assignment of interactions to controllers, and (3) augmenting the model with a distributed algorithm for handling distributed conflicts between controllers. The obtained Send/Receive BIP models are proven observationally equivalent to their corresponding initial models. Hence, all functional properties of the initial high-level model are preserved by construction in the implementation. Moreover, Send/Receive BIP models can be used to automatically derive distributed implementations. Currently, it is possible to generate distributed C++ implementations using (1) TCP sockets for conventional communication, (2) MPI primitives for multi-processor platforms, and (3) POSIX Threads for deployment on multi-core platforms. This method is fully implemented. I will present concrete results obtained under different scenarios (i.e., partitioning of interactions and choice of algorithm for distributed conflict resolution) and case various case studies.




Other Videos By Microsoft Research


2016-08-16HOW THE DIGITAL UNIVERSE GOT ITS SPOTS
2016-08-163D Reconstruction meets GPGPU meets Image Analysis
2016-08-16Percolation on Self-Dual Polygon Configurations
2016-08-16Automated Traceability Techniques for Software Engineering and e-Science
2016-08-16Digital Archeology of Software
2016-08-16Executable Knowledge for Molecular Systems Biology
2016-08-16WISPs, Computational RFID and the Internet of Things
2016-08-16High-level Languages for Low-level Systems
2016-08-16Decision Making under Uncertainty
2016-08-16Recognizing a Million Voices: Low Dimensional Audio Representations for Speaker Identification
2016-08-16Distributed Implementations of Component-based Systems Using Source-to-source Transformations in BIP
2016-08-16Coping with Uncertain Data: Multi-Source Integration and Fuzzy Lookups
2016-08-16Providing Richer Descriptions for Images
2016-08-16Building and Evaluating Creative Interaction
2016-08-16Enforcing topological constraints in energy-based image segmentation
2016-08-16Probabilistic Approximation Theorems in Game Theory; The Theory of Crowdsourcing
2016-08-16Longitudinal Evaluation of API Usability and Designing Support for Collaborative Search
2016-08-16On a first-order primal-dual algorithm with applications to convex problems in computer vision
2016-08-16Two Vignettes in Computational Finance
2016-08-16MSR Overview: Introduction & Logistics, Overview, The 4th Paradigm; Tech Surveys
2016-08-16Inductive Synthesis of Recursive Functional Programs



Tags:
microsoft research