skip to main content
research-article

Compositionality in Dataflow Synchronous Languages

Published: 25 November 2000 Publication History

Abstract

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 generation, in dataflow synchronous languages. As careless reuse of object code in new or evolving system designs fails to work, we first concentrate on what are the additional features needed to abstract programs for the purpose 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 scheduling 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 distributed on an asynchronous architecture without loosening semantic properties. Two new notions of endochrony and isochrony are introduced for this purpose. As a result, we derive a theory for synthesizing additional schedulers and protocols needed to guarantee the correctness of distributed code generation. Corresponding algorithms are implemented in the framework of the DC+ common format for synchronous languages, and the V4 release of the SIGNAL language.

References

[1]
I.J. Aabelsberg, G. Rozenberg, Theory of traces, Theoret. Comput. Sci., 60 (1988) 1-82.
[2]
R. Alur, T.A. Henzinger, Reactive modules, 1996.
[3]
T.P. Amagbegnon, L. Besnard, P. Le Guernic, Inria Research Report (June 1994).
[4]
T.P. Amagbegnon, L. Besnard, P. Le Guernic, Implementation of the dataflow language Signal, Assoc. Comput. Mach, New York, 1995.
[5]
P. Aubry, Univ. Rennes I, 1997.
[6]
A. Benveniste, P. Le Guernic, Hybrid dynamical systems theory and the Signal language, IEEE Trans. Automat. Control, 35 (1990) 535-546.
[7]
A. Benveniste, G. Berry, Real-time systems design and programming, IEEE, New York, 1991.
[8]
A. Benveniste, P. Le Guernic, C. Jacquemot, Synchronous programming with events and relations: The SIGNAL languages and its semantics, Sci. Comput. Programming, 16 (1991) 103-149.
[9]
A. Benveniste, P. Le Guernic, Y. Sorel, M. Sorine, A denotational theory of synchronous communicating systems, Inform. and Comput., 99 (1992) 192-230.
[10]
A. Benveniste, P. Caspi, N. Halbwachs, P. Le Guernic, Data-flow synchronous languages, Springer-Verlag, Berlin/New York, 1994.
[11]
G. Berry, Real time programming: Special purpose or general purpose languages, 1989.
[12]
G. Berry, Dec. 1995.
[13]
Berry, G, and, Sentovich, E. M. Nov. 1998, An implementation of constructive synchronous programs in polis, manuscript.
[14]
B. Caillaud, P. Caspi, A. Giraud, C. Jard, Distributing automata for asynchronous networks of processors, Eur. J. Automat. Systems (JESA), 31 (1997) 503-524.
[15]
P. Caspi, Clocks in dataflow languages, Theoret. Comput. Sci., 94 (1992) 125-140.
[16]
M. Clerbout, M. Latteux, Semicommutations, Inform. and Comput., 73 (1987) 59-74.
[17]
W.-P. de Roever, H. Langmaack, A. Pnueli, Compositionality: The significant difference, Springer-Verlag, Berlin/New York, 1998.
[18]
P. Le Guernic, T. Gautier, Dataflow to von Neumann: The Signal approach, in: Advanced Topics in Dataflow Computing, Prentice¿Hall, New York, 1991, pp. 413-438.
[19]
N. Halbwachs, Kluwer Academic, Dordrecht/Norwell, 1993.
[20]
L. Lamport, Specifying concurrent program modules, ACM Trans. Programm. Languages Systems, 5 (1983) 190-222.
[21]
L. Lamport, What good is temporal logic?, in: Proceedings, IFIP 9th World Congress, North-Holland, Amsterdam, 1983, pp. 657-668.
[22]
P. Le Guernic, T. Gautier, M. Le Borgne, C. Le Maire, Programming real-time applications with Signal, IEEE, New York, 1991.
[23]
O. Maffeis, P. Le Guernic, Distributed implementation of Signal: Scheduling and graph clustering, Springer-Verlag, Berlin/New York, 1994.
[24]
Z. Manna, A. Pnueli, Springer-Verlag, New York, 1992.
[25]
Z. Manna, A. Pnueli, Springer-Verlag, New York, 1995.
[26]
Sacres Consortium, May 1996, The Declarative Code Dc+, Version 1.2; Esprit project EP 20897: Sacres, see, http://www.tni.fr/sacres/
[27]
Sorel, Y, and, Lavarenne, C. SynDEx v4.2 User Guide;, http://www-rocq.inria.fr/syndex/.articles/doc/doc/SynDEx42.html.
[28]
Y. Sorel, Sorel: Real-time embedded image processing applications using the A3 methodology, Sept. 1996.
[29]
TNI, 1999, Sildex tool; see, http://www.tni.fr/indexgb.htm.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Information and Computation
Information and Computation  Volume 163, Issue 1
Nov. 25, 2000
244 pages
ISSN:0890-5401
Issue’s Table of Contents

Publisher

Academic Press, Inc.

United States

Publication History

Published: 25 November 2000

Author Tags

  1. desynchronization
  2. distributed code generation
  3. modularity
  4. separate compilation
  5. synchronous languages

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 10 Feb 2025

Other Metrics

Citations

Cited By

View all

View Options

View options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media