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