A. Benveniste et al., Compositionality in dataflow synchronous languages: Specification and distributed code generation, INF COMPUT, 163(1), 2000, pp. 125-171
Modularity is advocated as a solution for the design of large systems; the
mathematical translation of this concept is often that of compositionality.
This paper is devoted to the issues of compositionality for modular code g
eneration, in dataflow synchronous languages. As careless reuse of object c
ode in new or evolving system designs fails to work, we first concentrate o
n what are the additional features needed to abstract programs for the purp
ose of code generation: we show that a central notion is that of scheduling
specification as resulting from a causality analysis of the given program.
Using this notion, we study separate compilation for synchronous programs.
An entire section is devoted to the formal study of causality and scheduli
ng specifications. Then we discuss the issue of distributed implementation
using an asynchronous medium of communication. Our main results are that it
is possible to characterize those synchronous programs which can be distri
buted on an asynchronous architecture without loosening semantic properties
. Two new notions of endochrony and isochrony are introduced for this purpo
se. As a result, we derive a theory for synthesizing additional schedulers
and protocols needed to guarantee the correctness of distributed code gener
ation. Corresponding algorithms are implemented in the framework of the DC,
common format for synchronous languages, and the V4 release of the SIGNAL
language. (C) 2000 Academic Press.