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.

3.4.L’OPÉRATEUR PARALLÈLE ET LES SIGNAUX 45comportements du programme avant l’émission du signal et la <strong>de</strong>uxième concerne les comportementsdu programme après l’émission. Il s’agit ici <strong>de</strong> l’ordre <strong><strong>de</strong>s</strong> réactions et non pas <strong>de</strong> l’ordre<strong><strong>de</strong>s</strong> instructions instantanées dans l’instant. Avant l’émission <strong>de</strong> S, seuls les blocs P 1 et Q 1 sontactifs. Lorsque S est émis, seuls les blocs P 2 et Q 2 sont actifs.En partitionnant les <strong>programmes</strong> parallèles <strong>de</strong> cette manière, le nombre <strong>de</strong> partitions obtenuesest linéaire par rapport au nombre <strong>de</strong> signaux locaux. L’exemple suivant présente unparallèle à trois branches synchronisées par <strong>de</strong>ux signaux locaux :P 1 ; Q 1 ;emit S1; || await S1;P 2 Q 2 ; R 1 ;emit S2; || await S2;Q 3 R 2Ici encore, nous supposons que chaque signal émis est intercepté. L’utilisation <strong><strong>de</strong>s</strong> signaux S1 etS2 permet <strong>de</strong> <strong>partitionne</strong>r ce programme en trois parties. Dans la première partie, aucun signaln’est émis. Ainsi, seuls les blocs P 1 , Q 1 et R 1 sont actifs. Dans un <strong>de</strong>uxième temps, S1 est émis.A la suite <strong>de</strong> cet événement, seuls les blocs P 2 , Q 2 et R 1 sont actifs. Enfin, le signal S2 est émiset seuls les blocs P 2 , Q 3 et R 2 sont actifs.S1S1S1S2S2S2Fig. 3.12 – Métho<strong>de</strong> <strong>de</strong> <strong>partitionne</strong>ment d’un bloc parallèle. Trois blocs en parallèle sont synchroniséspar <strong>de</strong>ux signaux. Notre technique vise à <strong>partitionne</strong>r suivant les blocs en noir. Lesblocs en gris sont censés être supprimées automatiquement par les métho<strong><strong>de</strong>s</strong> <strong>de</strong> cofactoring.Comme pour le <strong>partitionne</strong>ment <strong><strong>de</strong>s</strong> <strong>programmes</strong> séquentiels, nous faisons grossir progressivementla fonction <strong>de</strong> transition. Le <strong>partitionne</strong>ment que nous proposons est illustré par la figure3.12. La première étape consiste à saturer l’exploration du bloc [P 1 ||Q 1 ||R 1 ] avec une fonction<strong>de</strong> transition dans laquelle nous avons enlevé toutes les transitions consécutives à l’émissionet à la réception <strong>de</strong> S1 et <strong>de</strong> S2. En pratique, cela revient à dire que nous construisons unefonction <strong>de</strong> transition qui n’enco<strong>de</strong> que les comportements <strong>de</strong> P 1 , Q 1 et R 1 , soit les blocs situésen amont <strong>de</strong> toute émission et <strong>de</strong> toute réception <strong>de</strong> S1 et S2. Dans la <strong>de</strong>uxième étape, nousrajoutons à la fonction <strong>de</strong> transition les transitions consécutives à l’émission et la réception <strong>de</strong>S1 (nous rajoutons les comportements <strong>de</strong> P 2 et Q 2 à la fonction <strong>de</strong> transition). L’application<strong>de</strong> l’opérateur <strong>de</strong> cofacteur sur cette nouvelle partie <strong>de</strong> fonction <strong>de</strong> transition nous permet ainsi<strong>de</strong> ne saturer que l’exploration du bloc [P 2 ||Q 2 ||R 1 ]. Dans la <strong>de</strong>rnière étape, nous rajoutons lestransitions consécutives à l’émission et la réception <strong>de</strong> S2. Nous recouvrons ainsi la fonction <strong>de</strong>transition globale qui, après utilisation <strong>de</strong> l’opérateur <strong>de</strong> cofacteur, nous permet d’achever lescalculs par l’exploration du seul bloc [P 2 ||Q 3 ||R 2 ].

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

Saved successfully!

Ooh no, something went wrong!