Abstract
esterel is a synchronous concurrent programming language dedicated to reactive systems (controllers, protocols, man-machine interfaces etc.). esterel has an efficient standard software implementation based on well-defined mathematical semantics. We present a new hardware implementation of the pure synchronization subset of the language. Each program generates a specific circuit that responds to any input in one clock cycle. When the source program satisfies some statically checkable dynamic properties, the circuit is shown to be semantically equivalent to the source program. The hardware translation has been effectively implemented on the programmable active memory perle0 developed by J Vuillemin and his group at Digital Equipment.
Similar content being viewed by others
References
Berry G 1989Real-time programming: general purpose or special-purpose languages, Information Processing 1989 (ed.) G X Ritter (Amsterdam: Elsevier Science/North Holland) pp. 11–17
Berry G, Benveniste A 1991 The synchronous approach to reactive and real-time systems. Another look at real time programming.Proc. ieee 79: 1270–1282
Berry G, Cosserat L 1984 The synchronous programming languages Esterel and its mathematical semantics. InSeminar on concurrency. Lecture Notes in Computer Science Vol. 197 (eds) S Brookes, G Winskel) (Berlin: Springer Verlag) pp. 389–448
Berry G, Couronne P, Gonthier G 1988 Synchronous programming of reactive systems: an introduction to Esterel. InProgramming of future generation computers (eds) K Fuchi, M Nivat (Amsterdam: Elsevier Science/North Holland) pp. 35–55
Berry G, Gonthier G 1989 The Esterel synchronous programming language: Design, semantics, implementation, Res. Rep. 842, to appear inScience of computer programming
Berry G, Gonthier G 1991 Incremental development of an hdlc entity in Esterel.Comput. Networks 22: 35–49
Berthet C, Coudert O, Madre J -C 1990 New ideas on symbolic manipulations of finite state machines. InProc. International Conference on Computer Design (ICCD)
Bertin P, Roncin D, Vuillemin J 1989 Introduction to programmable active memories. InSystolic array processors (eds) J McCanny, J McWhirter, E Swartzlander (Englewood Cliffs, nj: Prentice-Hall) pp. 301–309
Boudol G, Roy V, de Simone R, Vergamini D 1990 Process calculi. from theory to practice: verification tools. InAutomatic verification methods for finite state systems. Lecturer Notes in Computer Science. Vol. 407 (Berlin: Springer Verlag) pp. 1–10
Boussinot F, de Simone R 1991 The Esterel language. Another look at Real Time Programming.Proc. ieee 79: 1293–1304
Brayton R K, Hachtel G D, Sangiovanni-Vincentelli A L 1990 Multilevel logic synthesis.Proc. ieee 78: 264–300
Caspi P, Halbwachs N, Pilaud D, Plaice J 1987 Lustre: a declarative language for programming synchronous systems. InProc. 14th Annual acm Symposium on Principles of Programming Languages, Munich, pp. 177–188
Clarke E M, Long D E, McMillan K L 1991 A language for compositional specification and verification of finite state hardware controllers. Another look at real time programming.Proc. ieee 79: 1283–1292
Clement D, Incerpi J 1989 Programming the behaviour of graphical objects using Esterel. InTAPSOFT’89. Lecture Notes in Computer Science. Vol. 352 (Berlin: Springer Verlag)
Coudert O, Madre J -C 1990 A unified framework for the formal verification of sequential circuits. InProc. of International Conference on Computer Aided Design (ICCAD) Santa Clara, USA
Cousineau G 1980 An algebraic definition for control structure.Theor. Comput. Sci. 12: 175–192
Gauthier T, Le Guernic P, Besnard L 1987 Signal, a declarative language for synchronous programming of real-time systems. InProc. 3rd Conf. on Functional Programming Languages and Computer Architecture. Lecture Notes in Computer Science. Vol. 274 (Berlin: Springer Verlag)
Gonthier G 1988 Sémantique et Modeles d’Execution des languages Réactifs Synchrones; Application {ie130-1} Esterel, There d’Informatique, Universite d’Orsay
Halbwachs N, Caspi P, Pilaud D 1991 The synchronous dataflow programming language Lustre. Another look at real time programming.Proc. ieee 79:
Kahn G 1988 Natural semantics. InProgramming of future generation computers (eds) K Fuchi, M Nivat (Amsterdam: North Holland) pp. 237–258
Le Guernic P, Le Borgne M, Gauthier T, Le Maire C 1991 Programming real time applications with signal. Another look at real time programming.Proc. ieee 79:
Mejia Olvera M C 1989Contribution a la Conception d’un Réseau Local Temps Récl pour la Robotique, These de Docteur-Ingenieur, Universite de Rennes
Murakami G, Sethi R 1990 Terminal Call Processing in Esterel, Research Report 150, AT & T Bell Laboratories
Savoj H, Touati H, Brayton R K 1991 The use of image computation techniques in extracting local don’t cares and network optimization. InProceedings ieee International Conference on Computer-Aided Design (ICCAD), pp. 514–517
Shand M, Bertin P, Vuillemin J 1990 Hardware speedups in long integer multiplication. InProc. 2nd Annual acm Symposium on Parallel, Algorithms and Architectures, pp. 138–145
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Berry, G. A hardware implementation of pure ESTEREL. Sadhana 17, 95–130 (1992). https://doi.org/10.1007/BF02811340
Issue Date:
DOI: https://doi.org/10.1007/BF02811340