Calcul des etats atteignables de programmes Esterel partitionne ...
Calcul des etats atteignables de programmes Esterel partitionne ...
Calcul des etats atteignables de programmes Esterel partitionne ...
- 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.
4.2. LE GRAPHE DE CONTRÔLE 55initiaux <strong>de</strong> chacune <strong>de</strong> ses branches :si G(P i ) = (I i , O i , N i , E i , F i ) pour i ∈ [1, 2]alors G(par L P 1 P 2 end L′ ) = ( {L} , O ′ , N ′ , E ′ , F ′)où O ′ = O 1 ∪ O 2N ′ = N 1 ∪ N 2 ∪ {L}E ′ = E 1 ∪ E 2∪ {L} × (I i ∪ I 2 )F ′ = F 1 ∪ F 2 (4.10)Test <strong>de</strong> présence d’un signal. Dans une instruction present, nous souhaitons placer nosfrontières afin d’explorer P 1 , puis P 2 , puis tous les blocs qui sont exécutés après cette instructiondans le programme. Par conséquent, les frontières sont placées avant et après la branche “then”et la branche “else” :si G(P i ) = (I i , O i , N i , E i , F i ) pour i ∈ [1, 2]alors G(present L s P 1 P 2 end L′ ) = ( {L} , { L ′} , N ′ , E ′ , F ′)où N ′ = N 1 ∪ N 2 ∪ { L, L ′}E ′ = E 1 ∪ E 2F ′ = F 1 ∪ F 2∪ {L} × (I 1 ∪ I 2 )∪ (O 1 ∪ O 2 ) × { L ′} (4.11)La préemption. Une instruction abort est susceptible <strong>de</strong> se terminer après chaque instructionpause qui la constitue. De telles transitions sont <strong><strong>de</strong>s</strong> frontières qui nous ai<strong>de</strong>ront à <strong>partitionne</strong>rle calcul <strong><strong>de</strong>s</strong> états <strong>atteignables</strong> et sont donc placées dans l’ensemble F. Pour réalisernotre <strong>partitionne</strong>ment, il est nécessaire que le corps <strong>de</strong> l’instruction abort soit parfaitementisolé par <strong><strong>de</strong>s</strong> frontières. Ainsi, les terminaisons naturelles du corps du abort sont égalementconsidérées comme <strong><strong>de</strong>s</strong> frontières :si G(P ) = (I , O , N , E , F)alors G(abort L s P end L′ ) = ( I , { L ′} , N ′ , E , F ′)où N ′ = N ∪ { L ′}F ′ = F∪ O × { L ′}{}∪ l / (pause l r) ∈ N × { L ′} (4.12)4.2.2 ExempleNous présentons ici un exemple <strong>de</strong> programme <strong>Esterel</strong> avec sa représentation sous forme<strong>de</strong> graphe <strong>de</strong> flot <strong>de</strong> contrôle correspondante (figure 4.1).