Le temps et les événements en informatique

[Gérard Berry]

C’est le sujet sur lequel Gérard Berry a principalement travaillé depuis 1982, d’abord comme chercheur à l’Ecole des mines de Paris et à l’Inria, puis comme directeur scientifique de la société Esterel Technologies qui développe et commercialise des ateliers logiciels pour la conception certifiée de systèmes critiques en avionique, ferroviaire, industrie lourde, etc. Gérard Berry a développé le langage synchrone Esterel, sa sémantique mathématique, ses techniques de compilation vers des langages de programmations classiques ou des circuits électroniques, ainsi que les techniques associées de vérification formelle de propriétés temporelles des programmes. Ce travail a été fait en collaboration avec les équipes du laboratoire CNRS Verimag de Grenoble (langage Lustre de Paul Caspi et Nicolas Halbwachs), de l’Inria Rennes (langage Signal d’Albert Benveniste et Paul Le Guernic) et du Laboratoire Lassy à Nice (formalisme graphique SyncCharts de Charles André). Les formalismes Esterel, Lustre et SyncCharts ont été unifiés dans le langage Esterel v7 dédié à la synthèse de circuits électroniques, puis dans l’outil SCADE 6 d’Esterel Technologies, devenu un standard pour le logiciel embarqué critique. Notons que la France a toujours été leader dans ce domaine, qui s’étend maintenant mondialement.

Gérard Berry a aussi travaillé sur les modèles du parallélisme asynchrone dans lesquels les acteurs parallèles n’ont pas de modèle de temps commun. Avec Gérard Boudol (Inria) il a en particulier défini en 1992 la machine abstraite chimique ou CHAM (Chemical Abstract Machine), formalisme mathématique particulièrement simple et devenu maintenant un standard conceptuel du domaine.

Les cours et séminaires 2012-2013 ont été consacrés essentiellement au modèle synchrone qui est à la base des langages précités : de leur design, de leur sémantique mathématique, de leurs techniques de compilation et de leurs applications. Les cours et séminaires 2013-2014 ont élargi l’approche vers des modèles de temps plus riches mêlant d’une part synchronisme et asynchronisme et d’autre part temps discret et temps continu. Ces modèles mixtes sont à la base des systèmes les plus récents : logiciels temps-réels distribués, circuits électroniques muti-horloges, bases de données mondialement réparties mais synchronisées simulation mixtes de phénomènes physiques à composantes discrètes et continues, musique mixte interprètes humains / sons synthétisés par ordinateur, orchestration d’activités sur le Web, etc. Ils deviennent la norme en pratique mais posent encore des problèmes scientifiques considérables, dont le plus critique est la coopération entre modèle de temps différents.