12.07.2015 Views

Calcul des etats atteignables de programmes Esterel partitionne ...

Calcul des etats atteignables de programmes Esterel partitionne ...

Calcul des etats atteignables de programmes Esterel partitionne ...

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

6.3. CALCUL PARTITIONNÉ DE L’ESPACE DES ÉTATS ATTEIGNABLES 796.3 <strong>Calcul</strong> partitionné <strong>de</strong> l’espace <strong><strong>de</strong>s</strong> états <strong>atteignables</strong>Nous avons utilisé la librairie TiGeR [31] pour la manipulation <strong><strong>de</strong>s</strong> BDDs. Notre calculpartitionné <strong><strong>de</strong>s</strong> états <strong>atteignables</strong> a été intégré à l’outil evcl développé par Yannis Bres aucours <strong>de</strong> sa thèse [17]. Cet outil repose sur une extension <strong>de</strong> la librairie TiGeR appelée TiGeREnhégalement développée par Yannis Bres.6.3.1 TiGeR et TiGeREnhLa librairie TiGeR implémente efficacement les BDDs et les CBFs décrits à la section 2.5.Elle implémente toutes les fonctions <strong>de</strong> calcul symbolique décrites à la section 2.4. Elle possè<strong>de</strong>également la particularité <strong>de</strong> simplifier la représentation <strong>de</strong> la fonction <strong>de</strong> transition en fonctiondu domaine auquel elle est appliquée. En réalité, les fonctions <strong>de</strong> transition <strong>de</strong> chaque registresont reconstruites à chaque étape <strong>de</strong> l’algorithme en fonction <strong>de</strong> ce domaine. Ceci permet <strong>de</strong> nejamais représenter la fonction <strong>de</strong> transition complète.En plus <strong><strong>de</strong>s</strong> BDDs, la librairie TiGeR permet <strong>de</strong> construire <strong><strong>de</strong>s</strong> circuits séquentiels. Elle proposeégalement une routine monolithique permettant <strong>de</strong> calculer l’espace <strong><strong>de</strong>s</strong> états <strong>atteignables</strong> d’uncircuit par l’algorithme Breadth First Search présenté à la section 2.3.La librairie TiGeREnh a été développée dans le but d’expérimenter les métho<strong><strong>de</strong>s</strong> d’abstractiondécrites dans [17]. Yannis Bres s’est également appliqué à rendre la routine <strong>de</strong> calcul <strong><strong>de</strong>s</strong>états <strong>atteignables</strong> plus souple et beaucoup plus interactive que celle <strong>de</strong> TiGeR. Ceci nous apermis d’intégrer très facilement notre technique <strong>de</strong> <strong>partitionne</strong>ment au reste <strong>de</strong> la librairie.Précisons également que l’approche par abstraction <strong>de</strong> Yannis Bres est orthogonale à la notre.Par conséquent, il est possible d’utiliser notre technique <strong>de</strong> <strong>partitionne</strong>ment dans le calcul <strong><strong>de</strong>s</strong>états <strong>atteignables</strong> avec abstraction.La librairie TiGeREnh permet <strong>de</strong> redéfinir un module dont le but à chaque étape est d’enregistrerl’ensemble <strong><strong>de</strong>s</strong> nouveaux états atteints à l’étape courante et <strong>de</strong> retourner un ensemble d’étatsutilisé comme domaine <strong>de</strong> définition pour le calcul d’image à l’étape suivante. Le module pardéfaut se contente d’enregistrer les nouveaux états atteints et <strong>de</strong> renvoyer cet ensemble lors <strong>de</strong>l’étape suivante. Nous avons donc redéfini ce module afin d’y intégrer notre métho<strong>de</strong> <strong>de</strong> <strong>partitionne</strong>ment.Ce module fonctionne avec un graphe <strong>de</strong> flot <strong>de</strong> contrôle et permet à chaque étape<strong>de</strong> choisir un nouveau domaine pour la fonction <strong>de</strong> transition.6.3.2 evclevcl est l’outil <strong>de</strong> vérification fondé sur la librairie TiGeREnh. Il constitue un outil trèssouple permettant <strong>de</strong> calculer l’ensemble <strong><strong>de</strong>s</strong> états <strong>atteignables</strong> d’un circuit séquentiel. Il procureégalement une information très riche sur la quantité mémoire utilisée, la taille <strong><strong>de</strong>s</strong> BDDset les temps <strong>de</strong> calcul à chaque étape <strong>de</strong> l’algorithme. Nous avons intégré notre métho<strong>de</strong> <strong>de</strong> <strong>partitionne</strong>mentà cet outil, ce qui nous a permis d’obtenir facilement les résultats expérimentauxdonnés au chapitre 7.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!