Coordination in BIP is achieved through multiparty interactions and scheduling by using dynamic priorities. The associated semantics is defined on a global state model. This makes reasoning about systems easy, however, it is harder to obtain distributed implementations where the primitives available for communication and coordination are less powerful. For example, the implementation of a multiparty interaction as an asynchronous Send/Receive protocol can be done: either in a decentralized manner by adding to each one of the components involved in the interaction a controller; or in a centralized manner by using a single controller coordinating the behavior of the components. Such transformations have been presented in  . In general, we reuse and adapt existing distributed algorithms for realizing multiparty interactions or solving related problems. We study their correctness in this particular context by developing composability arguments e.g, non-interference of the algorithms with the functional behavior of the system. Finally, we assess their performance with respect to different criteria such as the degree of parallelism or the overhead for coordination.
More precisely, our method utilizes the following sequence of transformations preserving observational equivalence: First, we transform the given BIP model into another BIP model that (1) operates in partial-state semantics, and (2) expresses multi-party interactions in terms of asynchronous message passing (Send/Receive primitives). Moreover, the target BIP model is structured in three layers:
- The components layer consists of a transformation of behavioral components in the original model. This layer send offers (enable ports), wait for noti-cations and execute local computations;
- The interaction protocol layer detects enabledness of interactions of the original model and executes them after resolving conflicts either locally or by the help of the third layer. This layer consists of a set of components, each hosting a user-defined subset of interactions (Interactions Parition) from the original BIP model;
- The conflict resolution protocol layer resolves conflicts requested by the interaction protocol. The conflict resolution protocol implements a committee coordination algorithm and our design allows employing any such algorithm. We, in particular, consider three committee coordination algorithms: (1) a fully centralized algorithm, (2) a token-based distributed algorithm, and (3) an algorithm based on reduction to distributed dining philosophers.
Then, by using the Send/Receive code generator we transform the obtained Send/Receive BIP model into C/C++ code that employs either TCP sockets, MPI or shared memory for communication.
contact: Jean Quilbeuf