Résumé
Le langage synchrone Esterel v5 a été développé à partir de 1982 dans mon équipe mixte École des mines/Inria à Sophia-Antipolis. En parallèle, celle de N. Halbwachs et P. Caspi développait Lustre à Grenoble et celle d’A. Benveniste et P. Le Guernic développait Signal à Rennes. Esterel visait les applications à contrôle dominant (grands automates, protocoles de communication, interfaces homme-machine, etc.) alors que Lustre et Signal visaient les applications de type flot de données (contrôle continu, traitement du signal). Les trois équipes, chacune composée d’informaticiens et d’automaticiens, ont convergé vers l’utilisation du principe synchrone avec un temps logique nul et un temps physique prédictible, implémenté par une boucle à 4 temps attente / lecture des entrées / calcul de la réaction / production des sorties. L’approche synchrone conduit à un parallélisme déterministe et à la prédictibilité des spécifications et de l’implémentation. Les sémantiques formelles des trois langages ont dirigé leur conception et leur implémentation.