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 the issues of compositionality aiming at modular code generation, for dataflow synchronous languages. As careless storing of object code for further reuse in systems design 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. Then we study separate compilation for synchronous programs, and we discuss the issue of distributed implementation using an asynchronous medium of communication; for both topics we provide a complete formal study in the extended version [B1GA97] of this paper. Corresponding algorithms are currently under development in the framework of the DG+ common format for synchronous languages.
This work is or has been supported in part by the following projects: Eureka-SYNCHRON, Esprit R&D -SACRES (Esprit project EP 20897), Esprit LTR-SYRF (Esprit project EP 22703). In addition to the listed authors, the following people have indirectly, but strongly, contributed to this work: the STS formalism has been shamelessly borrowed from Amir Pnueli, and the background on labelled partial orders is mostly ackowledged to Paul Caspi.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
A. Benveniste and P. Le Guernic and P. Aubry, “Compositionality in dataflow synchronous languages: specification & code generation”, extended version of this paper, IRISA Research Report 1150, November 1997. http://www.irisa.fr/EXTERNE/bibli/pi/1150/1150.html
I.J. Aabelsberg, and G. Rozenberg, Theory of traces, Theoretical Computer Science, 60, 1–82, 1988.
P. Aubry, “Mises en œuvre distribuées de programmes synchrones”, PhD Thesis, Univ. Rennes I, 1997.
A. Benveniste, G. Berry, “Real-Time systems design and programming”, Another look at real-time programming, special section of Proc. of the IEEE, vol. 9 n∘ 9, September 1991, 1270–1282.
A. Benveniste, P. Le Guernic, and C. Jacquemot. Synchronous programming with events and relations: the SIGNAL languages and its semantics. Sci. Comp. Prog., 16:103–149, 1991.
A. Benveniste, P. Caspi, N. Halbwachs, and P. Le Guernic, Dataflow synchronous languages. In A Decade of Concurrency, reflexions and perspectives, REX School/Symposium, pages 1–45, LNCS Vol. 803, Springer Verlag, 1994.
Gérard Berry, The Constructive Semantics of Esterel, Draft book, http://www. inria. fr/meije/esterel, December 1995.
B. Caillaud, P. Caspi, A. Giraud, and C. Jard, “Distributing automata for asynchronous networks of processors”, European Journal on Automated Systems (JESA), Hermes, 31(3), 503–524, May 1997.
M. Clerbout, and M. Latteux, Semi-commutations, Information and Computation, 73, 59–74, 1987.
Sacres Consortium, The Declarative Code DC+, Version 1.2, May 1996; Esprit project EP 20897: Sacres.
N. Halbwachs, Synchronous programming of reactive systems,. Kluwer Academic Pub., 1993.
Y. Kesten and A. Pnueli, An αSTS-based common semantics for signal and Statecharts, March 1996. Sacres Manuscript.
L. Lamport, Specifying concurrent program modules, ACM Trans, on Prog. Lang, and Sys., 5(2):190–222, 1983.
L. Lamport, What good is temporal logic? In Proc. IFIP 9th World Congress, R.E.A. Mason (Ed.), North Holland, 657–668, 1983.
P. Le Guernic, T. Gautier, M. Le Borgne, C. Le Maire, “Programming real-time applications with Signal”, Another look at real-time programming, special section of Proc. of the IEEE, vol. 9 n∘ 9, September 1991, 1321–1336.
O. Maffeis and P. Le Guernic, “Distributed implementation of Signal: scheduling and graph clustering”, in: 3rd International School and Symposium on Formal Techniques in Real-Time and Fault-Tolerant Systems, Lecture Notes in Computer Science 863, Springer Verlag, 149–169, Sept. 1994.
Z. Manna and A. Pnueli, The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer-Verlag, New York, 1992.
Z. Manna and A. Pnueli, The Temporal Logic of Reactive and Concurrent Systems: Safety. Springer-Verlag, New York, 1995.
A. Pnueli, personal communication.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Benveniste, A., Le Guernic, P., Aubry, P. (1998). Compositionality in dataflow synchronous languages: specification & code generation. In: de Roever, WP., Langmaack, H., Pnueli, A. (eds) Compositionality: The Significant Difference. COMPOS 1997. Lecture Notes in Computer Science, vol 1536. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-49213-5_3
Download citation
DOI: https://doi.org/10.1007/3-540-49213-5_3
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-65493-3
Online ISBN: 978-3-540-49213-9
eBook Packages: Springer Book Archive