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...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Chapitre 5<strong>Calcul</strong> <strong><strong>de</strong>s</strong> Etats AtteignablesPartitionnéNous présentons ici notre algorithme partitionné du calcul <strong><strong>de</strong>s</strong> états <strong>atteignables</strong> introduitau chapitre 3 et basé sur le graphe <strong>de</strong> flot <strong>de</strong> contrôle <strong><strong>de</strong>s</strong> <strong>programmes</strong> <strong>Esterel</strong> défini auchapitre 4. Notre technique repose sur certaines propriétés <strong><strong>de</strong>s</strong> diagrammes <strong>de</strong> décision binaires(voir chapitre 2), déjà existantes dans l’algorithme originel. Dans la section 5.1, nous présentonsnotre algorithme partitionné et nous démontrons sa correction dans la section 5.2. Enfin, nousterminons ce chapitre par une analyse <strong>de</strong> quelques propriétés <strong>de</strong> notre approche à la section 5.3.5.1 Algorithme partitionnéL’algorithme présenté dans cette section permet <strong>de</strong> calculer l’espace <strong><strong>de</strong>s</strong> états <strong>atteignables</strong>d’une machine séquentielle fsm = (ι, Υ, ∆, Γ). Notre algorithme partitionné est guidé par legraphe <strong>de</strong> flot <strong>de</strong> contrôle dans lequel les arcs <strong>de</strong> type “frontière” sont progressivement débloqués.Dans un premier temps, nous choisissons <strong>de</strong> présenter une version simplifiée <strong>de</strong> l’algorithmepartitionné dans laquelle toutes les opérations s’appuyant le graphe <strong>de</strong> flot <strong>de</strong> contrôle ont étéabstraites. L’algorithme complet est donné à la page 66. Ce premier algorithme ne décrit pas lafaçon dont le graphe est utilisé.Dans l’algorithme suivant, toutes les variables sont <strong><strong>de</strong>s</strong> BDDs ou bien <strong><strong>de</strong>s</strong> structures équivalentescomme les CBFs (voir section 2.5.2). Le BDD pending contient les états <strong>atteignables</strong>dont l’image par la fonction <strong>de</strong> transition n’a pas encore été calculée. Le BDD area représentel’ensemble <strong>de</strong> tous les états (<strong>atteignables</strong> ou non) situés à l’intérieur <strong>de</strong> la frontière définie parle graphe. Ainsi, à chaque itération <strong>de</strong> l’algorithme, le calcul <strong>de</strong> l’image est réalisé uniquementà partir <strong><strong>de</strong>s</strong> états <strong>de</strong> pending qui sont situés à l’intérieur <strong>de</strong> area (ligne 10). A la fin <strong>de</strong> chaqueitération, les nouveaux états découverts sont placés dans l’ensemble pending (ligne 12).61

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

Saved successfully!

Ooh no, something went wrong!