Résumé
Ce troisième cours a présenté la traduction des programmes Esterel en circuits booléens optimisés. Véritable révolution conceptuelle par rapport aux approches précédentes fondées sur la théorie des automates, elle est née lors d’une collaboration avec l’équipe de Jean Vuillemin à Digital Equipment qui cherchait à mieux spécifier les parties contrôles des circuits électroniques reconfigurables par logiciel (FPGAs).
Elle a immédiatement joué un rôle majeur en faisant complètement disparaître les explosions exponentielles de la taille du code généré par les premières implémentations à base de génération d’automates finis, qui limitaient fortement leur usage. Elle a ainsi permis aux industriels d’utiliser Esterel pour des applications commerciales en circuits électroniques ou en logiciel embarqué, ce qui a provoqué la création de la société Esterel technologies.
Le cours s’est limité aux programmes sans boucles, en présentant le principe général de la traduction, celle de chaque instruction, puis la connexion avec la sémantique constructive. Le cas des boucles, plus délicat, a été traité dans le cours suivant. Le cours s’est terminé par un rappel des méthodes d’optimisation booléennes présentées en 2013-2014, qui permettent d’optimiser les circuits en atteignant des niveaux de performance souvent hors de portée des méthodes humaines classiques.