Esterel (langage)
Un article de Wikipédia, l'encyclopédie libre.
![]() |
Cet article est une ébauche à compléter concernant l'informatique, vous pouvez partager vos connaissances en le modifiant. |
Esterel est le nom d'un langage informatique apparu dans les années 1980. Son « père » est Gérard Berry.
Ce langage est dit synchrone et réactif. Il est impératif et permet l'expression simple du parallélisme, de la préemption. Il est de ce fait bien adapté à la modélisation des systèmes à contrôle dominant.
En tant que langage appartenant à la classe des systèmes informatiques réactifs :
- le programme ne se termine pas, il est cyclique ;
- il possède une grande vitesse de réaction en même temps qu'une connaissance de l'environnement exacte ;
- la parallélité lui permet de gérer plusieurs capteur et/ou incidents simultanément ;
- ses processus peuvent être interrompus ou stoppés.
Ce langage peut modéliser de nombreux systèmes et milieux : logiciels, matériels, contrôle de flux etc.
Sommaire |
[modifier] Syntaxe/comportement du langage
Un signal S peut être activé ou désactivé. On l'active via l'instruction « emit S », et le signal est instantanément activé. On change sa valeur (par exemple un valeur du type entier) via l'instruction « emit S(valeur) »
Pour illustrer l'instantanéité de l'activation des signaux, les instructions emit O; emit O1; emit O2; aboutissent à l'activation instantanée et simultanée en une seule itération des trois signaux O, O1, et O2. Une autre illustration : le symbole || signifie la paralléléité des instructions qu'il sépare.
Un exemple de module :
module ABRO: input A, B, R; output O; loop [ await A || await B ]; emit O each R end module
Un exemple d'utilisation du module précédent dans un autre module :
module ABCRO: input A, B, C, R; output O; signal AB in run ABRO [ signal AB / O ] || run ABRO [ signal AB / A, C / B ] end module
AB / O signifie que le O de la sous-fonction ABRO est nommé AB dans la fonction ABCRO.
Le langage est encore en développement, sans véritable standard établi. Il existe plusieurs compilateurs Esterel qui permettent de générer du code C, VHDL ou Verilog. La société Esterel Technologies a engagé un processus de normalisation de la version 7 du langage à l'IEEE en 2005. Le manuel de référence présenté pour normalisation est diponible au format pdf.
[modifier] Voir aussi
[modifier] Liens externes
- Esterel Technologies, Inc.
- Des diapositives sur ce langage
- TPs/exercices
- Publications scientifiques
- Langages proches :