Un système de type avec effets pour la distribution modulaire de programmes synchrones
Les langages synchrones permettent de décrire des systèmes fonctionnellement centralisés, où toutes les valeurs, entrées, sorties, ou fonctions intermédiaires, sont accessibles directement. Cependant, la plupart des systèmes embarqués sont de nos jours composés de plusieurs unités de calculs (et ne sont donc pas centralisés). Nous avons proposé une approche orientée langage permettant la description de systèmes réactifs fonctionnellement distribués. Nous avons étendu un noyau synchrone fonctionnel (à la Lustre ou Lucid Synchrone) avec des primitives pour la distribution de programmes. Ces primitives permettent au programmeur de décrire l'architecture du système en terme de sites symboliques représentant les diverses unités de calcul, ainsi que les liens de communications possibles entre ces sites, puis d'exprimer sur quel site les données doivent être calculées. La compilation de ce langage produit ensuite un programme réactif par site symbolique, où des instructions de communication ont été insérées aux bons endroits. Le système réactif distribué résulte de l'exécution simultanée de ces programme sur chacun des sites physiques. Un système de types spaciaux, basé sur les types avec effets, permet de vérifier la cohérence des annotations de distribution.
Ce travail est fait dans le cadre de la thèse de Gwenael Delaval dirigée par Alain Girault (INRIA PopArt) et Marc Pouzet (LRI).
Pascal Raymond 2006-11-16