AccueilDossiersManiFeste-2012 > Histoire de faire voler des avions <

Histoire de faire voler des avions

Entretien avec Gérard Berry

Dans cet entretien, l'informaticien Gérard Berry, retrace l'histoire d'Esterel, un langage informatique particulièrement adapté au temps réel et qu'il présentera au colloque « Produire le temps ». Une manière de raconter le temps qui passe...

Comment en êtes-vous arrivé à vous intéresser à la question du temps dans un contexte musical ?

Ce n'est pas que le temps devient numérique, c'est que le numérique a besoin de s'occuper du temps. À titre personnel, j'ai commencé par travailler sur les fondements de l'informatique, sur la logique, etc. Assez rapidement, j'ai été amené à collaborer avec des automaticiens, des personnes qui fabriquent des systèmes de contrôle qui servent, par exemple, pour contrôler les avions, les satellites, etc. Eux parlent du temps. Ils vont faire des contrôles d'objets physiques pour stabiliser leur trajectoire dans le temps: pour qu'une fusée vole droit, qu'un avion vole comme il faut, etc. Pour cela, ce qu'ils ont à faire au début, c'est résoudre les équations différentielles dans le temps. Pour stabiliser un avion, il faut comprendre les rapports entre l'espace et le temps. Moi, je ne faisais pas ça, mais je travaillais avec eux. Et ce qu'on a conçu, c'est un langage de programmation pour leur permettre de s'exprimer de la manière qui leur correspond le mieux. Les langages de programmation actuels sont complètement inadaptés à ce genre de tâches : aussi avons-nous inventé Esterel. On s'est alors aperçu rapidement qu'il fallait généraliser la notion de temps, que le temps dont nous voulions parler n'était pas uniquement le phénomène physique du temps qui passe, mais qu'il y avait autre chose qui était complètement analogue au temps : la gestion de la répétition d'événements quelconques. Imaginons qu'on soit en voiture. Des événements qui se répètent, il y en a de plusieurs sortes. Il y a les secondes qui passent. Il y a aussi les mètres, les tours de roues, les platanes qui passent, etc. Plutôt que de compter les secondes, on va considérer qu'on va compter les tours de roues, les mètres ou les platanes. Si on réfléchit de cette manière, dans la programmation temps réel (c'est-à-dire la programmation des choses faites pendant qu'elles fonctionnent), on s'aperçoit que tous ces temps sont pertinents. On peut dire « attendre trois secondes et faire quelque chose », ou on peut aussi dire « attendre trois mètres et faire quelque chose ». On s'est également aperçu que ces temps avaient une symétrie beaucoup plus grande que ce que l'on pensait. On a tendance à privilégier le temps absolu, mais ce n'est pas forcément vrai. On peut dire « il faut faire trois mètres en moins d'une seconde », mais on peut dire aussi « il faut faire trois secondes en moins d'un mètre. » Tous ces temps-là sont de nature homogène.

Ce que l'on a fait, c'est développer un langage qui parle de ça. Prenons un programme tout simple : « tous les matins, aller sur un stade. Ensuite, pendant quatre tours de piste, faire la chose suivante : à chaque tour de piste, d'abord courir doucement pendant cinquante mètres et ensuite, pendant vingt secondes, sauter et souffler en vérifiant que le cœur ne bat pas trop vite. Une fois cela fait, courir à fond jusqu'à la fin du tour ». Un programme Esterel, ça ressemble à ça. On a les temps suivants : matin, seconde, tour de piste, mètres, pas, etc. Or, on s'est aperçu que ce sont des choses qui ont une très grande importance dans une programmation d'événements temps réel, mais aussi dans des tas d'autres domaines comme les systèmes de télécom, les interfaces homme-machine, etc.

J'avais le sentiment que ces idées étaient beaucoup plus puissantes, qu'elles dépassaient les seules applications qu'on en avait et qu'elles pouvaient s'appliquer à d'autres mondes. Lors d'un cours que je faisais au Collège de France, un jeune post-doc, Arshia Cont, qui connaissait ce travail, est venu me voir pour me dire, qu'à l'Ircam, il y avait des choses très proches. On a commencé à travailler ensemble sur la question du temps dans la musique. En effet, son problème c'est de pouvoir suivre un musicien qui lit une partition. Pour cela, il a conçu le système Antescofo. Et, avec ce système, on voit bien qu'il y a énormément de problèmes analogues à ceux auxquels j'avais été confronté sur la gestion du temps, ou plutôt des temps. Car il y a plusieurs temps : le temps des notes écrites sur la partition et le temps de l'interprète qui n'est pas le même. Jouer une partition comme elle est écrite, ce n'est pas quelque chose qu'il faut faire. En musique, il y a toujours des décalages. En jazz, on joue avant le temps. En classique, après le temps. Suivre une interprétation, c'est comprendre la relation entre deux temps, celui de la partition et celui de l'interprète. En outre, il y a d'autres temps, par exemple, le temps du compositeur quand il écrivait. Avec Arshia Cont, on s'est rendus compte que le langage que j'avais conçu pour faire voler des avions fonctionnait très bien lorsqu'on l'appliquait au domaine musical. Ce qu'a fait Arshia Cont c'est de prendre les primitives qu'il y a dans ce langage, la méthode de programmation, en l'orientant vers la composition musicale. L'idée, c'est de remplacer la partition qui est faite de notes posées les unes à la suite des autres par un programme qui parle de temps, d'événements, de choses comme ça. Ensuite, on met en place un système mixte avec des interprètes qui vont jouer et le système de suivi Antescofo va comprendre comment ils jouent, va détecter les événements temporels attendus dans le jeu de ces personnes et déclencher les programmes de la partition électronique jouée par des instruments électroniques. Cette solution a été implémentée assez vite et immédiatement utilisée par les compositeurs. C'est le cas dans Tensio de Philippe Manoury.

En parlant des langages informatiques Esterel et Lustre, vous dites qu'ils racontent différemment la même chose. Est-ce que l'informatique raconte le monde ?

Effectivement, quand on parle de logique temporelle, quand on parle de vérification temporelle, on parle de scénario. Le mot de scénario n'a pas été choisi au hasard. On vérifie que les scénarios qui peuvent se passer dans ce qu'on a écrit sont bien ce dont on a envie. Donc, les scénarios racontent le développement de l'exécution du programme. On avait pensé s'appuyer sur le langage Esterel pour d'autres utilisations : faire des scénarios de dessins animés, ou encore faire des scénarios pour la commande de robots. Quand on donne des commandes complexes à un robot qui doit se promener dans un environnement, on peut lui donner une commande avant et cette commande est complètement dans le temps. Cela donne quelque chose de cet ordre : « avance jusque-là, tourne à gauche, ramasse cette chose, etc. » Il s'agit de scénarios.

Vous êtes informaticien, mais également pataphysicien. Faire voler des avions et être pataphysicien c'est un grand écart.

Dans la pataphysique, je travaille beaucoup sur le langage. Ça éclaire pas mal de choses. C'est toujours intéressant de pousser les choses dans leurs limites. Une de mes idoles scientifiques, c'est Georges Perec. Je considère Cantatrix Sopranica comme l'un des plus beaux articles scientifiques jamais écrits. C'est drôle et incisif. Pour inventer des choses en science, il faut sans arrêt sortir des sentiers battus. La pataphysique, pour moi, c'est un moyen de faire ça. J'ai appris pas mal de choses en travaillant le langage sur le temps. Quand on dit « à tout bout de champ », que fait-on sinon une relation entre le temps et l'espace, en renvoyant au geste du laboureur. Le laboureur qui fait demi-tour au bout du champ. Chercher, c'est aller ouvrir d'autres portes.

Vous avez donc une vision du temps très linguistique...

Oui ! Quand on a inventé Esterel c'était d'abord lié à des préoccupations linguistiques. Après, une fois que le langage s'est imposé à nous, à ce moment-là c'est devenu des mathématiques. Parce qu'on s'est demandé comment donner un vrai sens à tout cela. Un sens, d'un point de vue logique, d'un point de vue mathématique. Car, pour faire voler des avions, il fallait passer de la linguistique aux mathématiques. Même si les premières préoccupations étaient linguistiques.

Commentaires

Aucun commentaire n'a été soumis pour cet article.

Commenter cet article

Les commentaires sont modérés. Ils n'apparaîtront pas sur ce site tant qu'ils n'auront pas été approuvés.
Prénom *
Nom *
Email *  ne sera pas rendu public
Veuillez entrer ici le mot ou le nombre tel qu'il apparaît dans l'image. Ceci vise à prévenir les abus.*.Si vous ne pouvez lire toutes les lettres ou chiffres, cliquez ici. Image CAPTCHA pour prévenir l'utilisation abusive
Commentaire *