Article,

Implementation of communicating reactive processes

.
Parallel Computing, 25 (6): 703--727 (June 1999)
DOI: http://dx.doi.org/10.1016/S0167-8191(99)00013-7

Abstract

Communicating reactive processes (CRP) is a new paradigm that unifies capabilities of synchronous and asynchronous approaches to parallel programming; Esterel and Statecharts are two important languages following the synchronous approach while the asynchronous approach is followed by languages like ADA, CSP and Occam. CRP is designed for complex applications like process/robot control requiring both forms of concurrency. A CRP program consists of independent reactive Esterel nodes that communicate via CSP like rendezvous mechanism. CRP has capabilities of both the classes of languages: nondeterminism, rendezvous, instantaneous reaction, preemption as well as new features like watchdogs over asynchronous communication. This paper discusses an implementation of the rendezvous mechanism of CRP. The implementation is nontrivial due to the following constraints: (1) there has to be a mutual agreement between the participating processes over the selection of rendezvous and 2. the implementation is to be distributed with no process having instantaneous global knowledge. It has been shown earlier that no fully distributed implementation that allows complete autonomy to Esterel nodes is possible. So any implementation has to weaken one of these assumptions. Here we have proposed an implementation of CRP by weakening the assumption of complete autonomy of Esterel nodes. A detailed description of this solution along with a formal proof of correctness has been given in the paper.

Tags

Users

  • @leonardo

Comments and Reviews