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.

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

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

Saved successfully!

Ooh no, something went wrong!