Compilation séparée et exécution distribuée d'applications synchrones modulaires programmées en Esterel
Institution:
Paris, ENSTDisciplines:
Directors:
Abstract EN:
Pas de résumé disponible.
Abstract FR:
Nous nous intéressons à l'utilisation du langage synchrone Esterel pour le développement de systèmes informatiques réactifs dans un contexte industriel. La problématique abordée est relative a deux aspects importants du processus de compilation du langage pour le type de systèmes cibles : 1/ la possibilité de compiler séparément les modules composant une application, et 2/ la possibilité d'exécuter cette application sur une architecture distribuée. Nous proposons des solutions fondées sur un ensemble d'hypothèses simplificatrices, permettant la réutilisation de la majorité des outils existants sans imposer de contrainte rédhibitoire d'utilisation. Nous exploitons pour cela certaines propriétés essentielles des schémas de traduction d’Esterel vers les circuits numériques séquentiels. La compilation d'un module est effectuée indépendamment de tout contexte d'instanciation et est fondée sur une modélisation du comportement sous forme de graphe de dépendances. Un algorithme de compression pour ce graphe est proposé, réduisant les temps de traitement associes aux manipulations ultérieures et conduisant à des améliorations notables de performances a l'exécution. L'assemblage de modules compiles séparément, conforme à une spécification Esterel donnée, est également modélise sous forme de graphe et donne lieu à la production de code centralise ou distribue. Un algorithme d'identification statique de regroupements de données à faire transporter par les messages est développe, conduisant à une réduction significative du nombre de messages échanges au cours de chaque réaction. Ces travaux ont fait l'objet d'un ensemble d'expériences que nous décrivons, montrant l'intérêt et l'efficacité des algorithmes proposent ainsi que la possibilité effective d'appliquer nos techniques a des systèmes industriels de grande taille.