07 fév 2018
16:00 - 18:30
Amphithéâtre Maurice Halbwachs, Site Marcelin Berthelot
En libre accès, dans la limite des places disponibles
URL de la vidéo

Ce premier cours a d’abord présenté les raisons qui ont conduit à la création et à l’approfondissement des langages parallèles synchrones, dédiés à la programmation des systèmes dits « réactifs », dont la fonction est de maintenir une interaction constante et temporellement précise avec leur environnement.

Il a ensuite étudié l’évolution de ces langages, et en particulier la progression de leurs styles de programmation, depuis les styles initiaux d’Esterel et Lustre inventés au milieu des années 1980 jusqu’au langage industriel SCADE 6 d’Esterel technologies. Ce dernier est devenu dans les années 2000 leader pour les systèmes embarqués certifiés en avionique et dans d’autres domaines où la sûreté de l’informatique est critique. Les avancées ont été dues soit à de nouveaux résultats scientifiques, soit au besoin de résoudre des problèmes industriels difficiles.

Le cours a mis en valeur les nombreuses influences externes qui ont enrichi les langages synchrones, en particulier par l’introduction de la programmation graphique ou mixte textuelle/graphique, tout en les gardant très différents des langages parallèles asynchrones classiques. Il a étudié l’opposition entre l’approche synchrone, qui réconcilie mathématiquement et pratiquement parallélisme et déterminisme comportemental, et d’autres approches qui cherchent à marier la programmation réactive avec la programmation séquentielle classique ou avec la programmation parallèle asynchrone non déterministe. Les inconvénients de ces approches deviennent rapidement très gênants pour toute application sérieuse.

Le cours a finalement montré comment on peut assembler à haut niveau des composants synchrones à l’aide de communications asynchrones, construisant ainsi des systèmes GALS (globally asynchronous locally synchronous) bien adaptés par exemple à la robotique, aux systèmes électroniques sur puces et à la programmation du Web.

Cycle associé