Projet : EP-ATR

previous up next contents
Précédent : Résultats nouveaux Remonter : Résultats nouveaux Suivant : Ordre supérieur et mobilité


   
Signal V4

 

Mots clés : programmation synchrone, Signal, format commun, DC+, transformation de programme .



Participants : Loïc Besnard, Patricia Bournai, Thierry Gautier, Paul Le Guernic.

Résumé :

La version nouvelle de Signal, Signal V4, a été définie en coopération avec la société TNI (François Dupont), qui développe et commercialise l'environnement Sildex issu des travaux sur Signal.

Afin de pouvoir définir de manière plus pratique des automates en Signal, nous avons ajouté au langage, en plus des types énumérés, une notion de choix sur processus représenté par une instruction case.

L'essentiel du travail sur Signal V4 a porté cette année sur la compilation. Un travail important de restructuration a été réalisé en vue de la connexion du compilateur Signal à la machine virtuelle développée autour du format DC+. Désormais la représentation interne des graphes est commune aux deux formalismes. Les transformations inter-formats telles qu'elles avaient été définies pour DC+ (voir section 7.4) ont été ré-implémentées sur cette représentation commune et sont maintenant disponibles comme des fonctionnalités de l'environnement Signal- DC+. Une nouvelle représentation des types a été définie et implémentée, permettant la représentation des types de Signal V4 et des types de DC+. La compilation de bibliothèques de programmes Signal a été mise en oeuvre. Cette fonctionnalité permet d'avoir rapidement des bibliothèques équivalentes en DC+.

Les algorithmes de manipulation de graphes permettant la compilation séparée et la distribution de programmes Signal ou DC+ ont été implémentés (voir section 6.11). Le générateur de code C a été modifié afin qu'un processus puisse être appelé en tant que processus compilé séparément.

L'éditeur graphique de programmes a été enrichi par la notion de bibliothèque et par l'utilisation possible d'icônes : une expression de processus peut maintenant être représentée par une icône choisie dans une bibliothèque. Les utilisateurs peuvent ainsi construire eux-mêmes leurs propres bibliothèques qui peuvent être dédiées à un domaine particulier (architecture, communications...) ou être générales.

Le compilateur a été intégré complètement à l'éditeur et toutes ses fonctionnalités sont accessibles graphiquement via des boutons. Un automate (écrit en Signal) gère l'accès à ces fonctionnalités en rendant inaccessibles certains boutons à certains moments (toutes les fonctionnalités ne peuvent être appelées à n'importe quel moment).

Un simulateur de programmes peut être généré de manière quasi-automatique. L'utilisateur peut alors choisir ses entrées (uniquement booléennes pour le moment) à travers une interface graphique. Il existe plusieurs modes de fonctionnement : mode pas à pas, mode continu, mode aléatoire. La partie graphique du simulateur est écrite en Java.



previous up next contents
Précédent : Résultats nouveaux Remonter : Résultats nouveaux Suivant : Ordre supérieur et mobilité