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.

2.4. CALCUL SYMBOLIQUE DES ÉTATS ATTEIGNABLES 23Chaque fonction <strong>de</strong> transition δ i possè<strong>de</strong> son propre support <strong>de</strong> variable. L’opérateur existentieln’est pas distributif par rapport à l’opérateur “∧” ce qui nous interdit <strong>de</strong> simplifier l’équationprécé<strong>de</strong>nte par une formule <strong>de</strong> la forme ∧ pi=1 ∃I i, R i / r i ′ = δ i(I i , R i ). En évitant <strong>de</strong> rentrer dansles détails, la solution consiste à fractionner l’opération existentielle en cherchant les fonctionsayant <strong><strong>de</strong>s</strong> supports communs. Par exemple, une formule comme :peut se réécrire <strong>de</strong> la manière suivante :∃x, y, z / f(x) ∧ g(x, y) ∧ h(x, z)∃x / f(x) ∧ [ ∃y / g(x, y) ] ∧ [ ∃z / h(x, z) ]Dans le calcul <strong>de</strong> l’image, chaque quantification est ainsi appliquée sur un nombre minimal<strong>de</strong> fonctions <strong>de</strong> transitions. Par rapport à une élimination existentielle globale, cette techniquepermet souvent en pratique <strong>de</strong> briser la complexité exponentielle originale.L’ordre dans lequel est appliqué l’opérateur existentiel a une influence sur les performances<strong>de</strong> ce <strong>partitionne</strong>ment. Dans une formule comme :∃x, y, z / f(x, y) ∧ g(x, z) ∧ h(y, z)nous pouvons <strong>partitionne</strong>r le calcul <strong>de</strong> trois manières différentes selon que l’on souhaite quantifieren priorité x, y ou z :∃x, y / f(x, y) ∧ [ ∃z / g(x, z) ∧ h(y, z) ]∃x, z / g(x, z) ∧ [ ∃y / f(x, y) ∧ h(y, z) ]∃y, z / h(y, z) ∧ [ ∃x / f(x, y) ∧ g(x, z) ]Des travaux permettent d’améliorer le <strong>partitionne</strong>ment proposé dans [21] afin <strong>de</strong> déterminer unordre intéressant. Dans [62, 60, 61], cet ordre est déterminé directement à partir <strong><strong>de</strong>s</strong> formulesbooléennes. Dans [74], <strong><strong>de</strong>s</strong> informations <strong>de</strong> haut niveau permettent <strong>de</strong> gui<strong>de</strong>r et d’améliorer cecalcul.2.4.2 CofacteurLe calcul symbolique <strong>de</strong> l’image d’un ensemble par une fonction utilise largement <strong><strong>de</strong>s</strong> techniques<strong>de</strong> simplification connues sous le nom <strong>de</strong> techniques <strong>de</strong> cofactoring [28, 29, 30]. Contrairementà d’autres métho<strong><strong>de</strong>s</strong> <strong>de</strong> simplification, cette technique s’accompagne <strong>de</strong> perte (contrôlée)d’information. Le principe est que si la valeur d’une fonction f n’est pertinente que sur undomaine <strong>de</strong> définition restreint S, alors S peut être utilisé pour simplifier l’expression <strong>de</strong> f(éventuellement en changeant la valeur <strong>de</strong> f en <strong>de</strong>hors <strong>de</strong> S). Nous notons f ↓S le cofacteur <strong>de</strong>f par l’ensemble S :{f(X) si X ∈ Sf ↓S (X) = λX →(2.16)? si X ∉ SLa valeur <strong>de</strong> f ↓S en <strong>de</strong>hors <strong>de</strong> S n’est pas utilisée et peut valoir n’importe quoi. En pratique,<strong><strong>de</strong>s</strong> techniques existent pour simplifier la taille <strong>de</strong> la représentation <strong>de</strong> la fonction f ↓S . La figure2.10 illustre l’effet du cofacteur sur une fonction.

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

Saved successfully!

Ooh no, something went wrong!