Séminaire / Conférence
  • Set Séminaires MaMuX
  • Séminaires Mamux - 2011-10-07 - 2012-05-04 > Langages synchrones
  • Feb. 3, 2012
  • Ircam, Paris
Participants
  • Marc Pouzet (conférencier)

Les langages synchrones permettent de programmer des systèmes réactifs embarqués à la fois très complexes et très sûrs, et on en trouve des exemples d'utilisation très significatifs dans l'avionique, le transport terrestre ou l'énergie.
Ils sont fondés sur le modèle du "parallélisme synchrone" qui introduit une notion de temps discret global dans les programmes et donne la possibilité d’écrire des programmes parallèles déterministes. Le compilateur d’un langage synchrone garantit des propriété de sûreté importantes pour le logiciel critique: déterminisme, absence de blocage (deadlock), génération de code séquentiel s’exécutant en temps et mémoire bornés, etc. En somme, les langages synchrones permettent de programmer dans un langage de haut niveau, le code final embarqué étant produit directement par compilation.
Dans cet exposé, je montrerai comment et pourquoi étendre un langage synchrone existant pour programmer des systèmes hybrides combinant des signaux mixtes continus et discrets. Le résultat est un langage qui permet de programmer, dans un source unique, le controleur discret et son environnement physique continu. La combinaison de signaux mixtes soulève des questions nouvelles de sémantique, de typage et de compilation. Je montrerai les solutions que nous avons proposées et les illustrerai, à l'aide d'un prototype en cours de développement, et qui étend Lucid Synchrone avec des équations différentielles ordinaires (ODEs).

Langages synchrones

Cette séance, organisée à l'initiative des équipes Parkas (Ecole Normale Supérieure, département d'informatique) et Représentations Musicales (IRCAM/UMR STMS/INRIA), aura pour but de présenter un panorama des travaux et outils actuels dans le domaines des langages synchrones et leur utilisation dans la conception de systèmes réactifs, notamment dans le domaine musical.

From the same archive