Abstract
Synchronous languages, such as Signal, are best suited for the design of dependable real-time systems. Synchronous languages enable a very high-level specification and an extremely modular implementation of complex systems by structurally decomposing them into elementary synchronous processes. Separate compilation in reactive languages is however made a difficult issue by global safety requirements.
We give a simple and effective account to the separate compilation of reactive systems by introducing a specification as type paradigm for reactive languages: reactive types. Just as data-types describe the structure of data in conventional languages, reactive types describe the structure of interaction in synchronous languages. We define an inference system for determining reactive types in the Signal language and show how to reconstruct adequate compile-time information on reactive programs by means of such specifications.
Chapter PDF
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
S. Abramsky, S. Gay and R. Nagarajan. Interaction categories and the foundations of typed concurrent programming. In Proceedings of the 1994 Marktoberdorf Summer School. NATO ASI Series, Springer Verlag, 1995.
T. P. Amagbegnon, L. Besnard and P. Le Guernic. Implementation of the data-flow synchronous language Signal. In Proceedings of the 1995's ACM Conference on Programming Language Design and Implementation, p. 163–173. ACM, 1995.
A. Benveniste, P. Le Guernic and C. Jacquemot. Synchronous programming with events and relations: the Signal language and its semantics. Science of Computer Programming, 16:103–149, 1991.
G. Berry and G. Gonthier. The Esterel synchronous programming language: design, semantics, implementation. In Science of Computer Programming, 19:87–152, 1992.
N. Halbwachs, P. Caspi, P. Raymond and D. Pilaud. The synchronous data-flow programming language Lustre. In Proceedings of the IEEE, 79(9), p. 1305–1320. IEEE Press, September 1991.
T. Jensen. Clock analysis of synchronous data-flow programs. In Proceedings of the 1995's ACM Conference on Partial Evaluation and Program Manipulation. ACM, 1995.
M. Le Borgne. Systèmes dynamiques polynomiaux sur les corps finis. Ph. D. Thesis, Université de Rennes I, September 1991.
O. MaffeÏs and P. Le Guernic. Distributed implementation of Signal: scheduling and graph clustering. In 3rd. International Symposium on Formal techniques in Real-Time and Fault-Tolerant Systems, p. 547–566. LNCS no. 863, Springer Verlag, 1995.
D. Nowak, J.-P. Talpin, T. Gautier, and P. Le Guernic. An ML-like module system for the synchronous language Signal. Submitted for publication, December 1996.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Talpin, JP. (1997). Reactive types. In: Bidoit, M., Dauchet, M. (eds) TAPSOFT '97: Theory and Practice of Software Development. CAAP 1997. Lecture Notes in Computer Science, vol 1214. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0030628
Download citation
DOI: https://doi.org/10.1007/BFb0030628
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-62781-4
Online ISBN: 978-3-540-68517-3
eBook Packages: Springer Book Archive