This Article 
 Bibliographic References 
 Add to: 
The SL Synchronous Language
April 1996 (vol. 22 no. 4)
pp. 256-266

Abstract—We present SL, a new programming language of the synchronous reactive family in which hypotheses about signal presence/absence are disallowed. One can decide that a signal is absent during an instant only at the end of this instant, and so reaction to this absence is delayed to the next instant. Sources of causal circularities are avoided, while only weak preemption remains. A structural operational semantics is provided through rewrite rules, and an implementation is described. In addition to directly executing programs, this implementation can also be used to produce automata by symbolic evaluation.

[1] G. Berry and G. Gonthier, "The ESTERELSynchronous Programming Language: Design, Semantics, Implementation," Science of Computer Programming, vol. 19, no. 2, pp. 87-152, 1992.
[2] F. Boussinot, "Programming a Reflex Game in Esterel v3_2," Research report 07 91, Centre de Mathématique Appliquées, Ecole des Mines de Paris, Sophia-Antipolis, 1991.
[3] F. Boussinot, "Reactive C: An Extension of C to Program Reactive Systems," Software Practice and Experience, vol. 21, no. 4, pp. 401-428, 1991.
[4] F. Boussinot and R. de Simone, "The Esterel Language," Another Look at Real Time Programming, Proc. IEEE, vol. 79, pp. 1,293-1,304, 1991.
[5] P. Caspi, A. Girault, and D. Pilaud, "Distributing Reactive Systems," Proc. Seventh Int'l Conf. Parallel and Distributed Computing Systems, PDCS '94,Las Vegas, Oct. 1994.
[6] P. Caspi, D. Pilaud, N. Halbwachs, and J. Plaice, "Lustre: A Declarative Language for Real-Time Programming," Proc. 14th ACM Symp. Principles of Programming Languages, pp. 178-188, Jan. 1987.
[7] Cisi Ingénierie, Esterel v3 Language Reference Manual, 1990.
[8] G. Gonthier, "Sémantique et Modèles d'Exécution des Langages Réactifs Synchrones; ApplicationsàEsterel," Thèse d'informatique, Univ. d'Orsay, 1988.
[9] P. Le Guernic, A. Benveniste, P. Bournai, and T. Gautier, "Signal: A Data-Flow Oriented Language for Signal Processing," IEEE-ASSP, vol. 34, no. 2, pp. 362-374, 1986.
[10] N. Halbwachs and F. Maraninchi, "On the Symbolic Analysis of Combinatorial Loops in Circuits and Synchronous Programs," Proc. Euromicro '95, Sept. 1995.
[11] O. Maffeos and P. Le Guernic, "Distributed Implementation of SIGNAL: Scheduling and Graph Clustering," Proc. Third Int'l School and Symp. Formal Techniques in Real-Time and Fault-Tolerant Systems, no. 863, Lecture Notes in Computer Science, pp. 547-566, 1994.
[12] G. Plotkin, "A Structural Approach to Structural Semantics," Technical Report DAIMI FN-19, Univ. of Aarhus, 1981.
[13] T. Shiple, G. Berry, and H. Touati, "Constructive Analysis of Cyclic Circuits," Proc. Int'l Design and Testing Conf. (ITDC),Paris, 1996.

Index Terms:
Parallelism, concurrency, synchronous programming languages, automata, reactive systems.
Frédéric Boussinot, Robert de Simone, "The SL Synchronous Language," IEEE Transactions on Software Engineering, vol. 22, no. 4, pp. 256-266, April 1996, doi:10.1109/32.491649
Usage of this product signifies your acceptance of the Terms of Use.