Projet : EP-ATR

previous up next contents
Précédent : Synthèse de circuits et conception Remonter : Résultats nouveaux Suivant : Contrats industriels (nationaux, européens et


   
Techniques d'algèbre MaxPlus pour l'évaluation de performances

 

Participant : Albert Benveniste.

Mots clés : Signal, évaluation de performance, algèbre MaxPlus .

Glossaire :gloévaluation de performancetechnique permettant l'analyse du comportement temporel (au sens du temps réel) d'un programme sur une architecture. gloautomate temporisémodèle consistant à affecter des spécifications de comportement temporel aux actions situées sur les transitions d'un automate. gloalgèbre MaxPlusalgèbre linéaire construite sur le semi-anneau {Z, max, + }, elle est adaptée à la manipulation formelle pour les modèles d'évaluation de performance.

Résumé :

Ce travail est réalisé avec Claude Jard (projet Pampa) et Stéphane Gaubert (projet Meta2, Rocquencourt). Grâce au travail conduit au sein du projet EP-ATR par A. Kountouris et P. Le Guernic [[12]], nous disposons d'une technique permettant d'associer, à tout couple constitué d'un programme Signal et d'une architecture support (également spécifiée en Signal), un autre programme Signal modélisant la consommation de temps par ce programme s'exécutant sur l'architecture considérée. Restait à développer une technique symbolique permettant le raisonnement sur ce type de modèle. Nous avons développé une extension des techniques d'algèbre MaxPlus, promues et étudiées au sein du groupe du même nom (G. Cohen, J-P. Quadrat, F. Baccelli, S. Gaubert), permettant de couvrir le cas qui nous intéressait. Dans cette algèbre, la manipulation symbolique de modèles d'évaluation de performance de programmes Signal se présente comme un problème d'algèbre linéaire, avec toutefois des spécificités dues aux particularités du semi-anneau ``MaxPlus''.

Le point de départ est le modèle de calcul de la figure 3.

  
Figure 3: Calcul: $ \forall$n yn = yn - 1 + un, modélisé par un automate de graphes. Le premier diagramme montre une abstraction du calcul $ \forall$n  : yn = yn - 1 + un sous la forme d'une chaîne infinie de graphes de dépendance. Dans le second diagramme, les petites pastilles représentent des «épingles», qui permettent de recoller chaque tranche de graphe aux tranches précédente et suivante, ce qui donne une notion de concaténation. Cette notion est utilisée dans le troisième diagramme pour construire le «langage» a$\scriptstyle \omega$, où a est le symbole constitué du graphe figurant sur l'unique transition de cet automate.
\begin{figure}\centerline{\psfig{figure=u+y-pin.eps,width=12cm}} \end{figure}

Les programmes Signal permettent en fait de décrire des calculs qui changent dynamiquement en fonction de l'état logique du programme. Le modèle prototype est donc celui du troisième diagramme de la figure 3, mais avec un automate fini et un alphabet de graphes permettant d'étiqueter les transitions. Le modèle en question est équivalent à celui des graphes de dépendance étiquetés par des horloges. La figure 4 en montre un exemple, avec le graphe infini obtenu par dépliage.
  
Figure 4: Un automate de graphes. Le diagramme en haut à gauche montre l'automate. Ses transitions sont étiquetées par les graphes A, B, C, et la concaténation se fait comme à la figure précédente. On vérifie que le dépliage de cet automate donne bien le graphe infini en bas à gauche -- le symbole * est l'opérateur «étoile» des langages réguliers.
\begin{figure}\centerline{\psfig{figure=automaton.eps,width=11cm}} \end{figure}

Le diagramme de la figure 5 montre la représentation graphique, dans notre algèbre MaxPlus, du modèle de la figure 4.
  
Figure 5: Représentation graphique des équations de point fixe satisfaites par le modèle MaxPlus correspondant à l'automate de graphe de la figure 4. Chaque rond code, à l'aide d'une série formelle dans une algèbre adaptée (résultat de nos travaux), les dates au plus tôt d'occurrences successives de X et Y dans les états S1 et S2 de l'automate. La confluence de flèches vers un rond indique que les dates sont des ``max'' des dates des ronds origines des flèches correspondantes, augmentées de $ \delta_{{\tt X}}^{}$ (resp. $ \delta_{{\tt Y}}^{}$) lorsque l'action A, B ou C est effectuée. L'utilisation du temps multiforme $ \delta_{{\tt X}}^{}$, $ \delta_{{\tt Y}}^{}$ permet de différentier le coût d'une même action selon qu'il s'agit de X ou de Y. On code ainsi une équation de point fixe dont la solution fournit une représentation des dates d'occurrence. La technique consiste alors à effectuer tous les raisonnements sur ce type de diagramme.
\begin{figure}\centerline{\psfig{figure=flow-graph-multi.eps,width=8cm}} \end{figure}

Il existe d'autres représentations, plus compactes, sous la forme d'expressions régulières -- tandis que la figure 5 est une représentation avec états explicites.

Cette année, nous avons consolidé l'étude algébrique de ces séries formelles et de leurs représentations graphiques. Dans [[19]], S. Gaubert étudie en détail les aspects purement algébriques. Dans [[21]], nous présentons une utilisation de ce cadre pour modéliser le comportement temporel de machines modales hiérarchiques, modèles hybrides combinant automates et diagrammes flot de données, de manière hiérarchisée.



previous up next contents
Précédent : Synthèse de circuits et conception Remonter : Résultats nouveaux Suivant : Contrats industriels (nationaux, européens et