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.
5.2. CORRECTION DES ALGORITHMES 651 . . .2 pending ′ ← pending3 tantque ( (pending ∩ area) = ∅ ) faire4 . . .5 si ( pending ′ ∩ Or(R new ) ≠ ∅ ) alors6 pending ′ ← pending ′ ∩ Or(R new )7 open? ← true8 . . .Algorithme 5.5 – Test <strong>de</strong> franchissement d’une frontière “compatible”Dans notre exemple précé<strong>de</strong>nt, une fois que r 1 a été activé, il est impossible d’activer r 2 avantr 3 par cette technique.5.1.2.3 Ouverture d’une frontièreA partir du moment où nous avons décidé l’ouverture d’un arc-frontière, nous <strong>de</strong>vons simplementeffectuer quelques mises à jour :1 E ← E ∪ {f}2 F ← F {f}3 inner ← inner ∪ inner new4 R + ← R + ∪ R new5 area ← NOr(R R + )Algorithme 5.6 – Ouverture d’une frontièreTout d’abord, l’arc f est déplacé <strong>de</strong> l’ensemble <strong><strong>de</strong>s</strong> frontières F vers l’ensemble <strong><strong>de</strong>s</strong> noeudsnormaux E (lignes 1 et 2). L’intérieur <strong>de</strong> la frontière est élargi en conséquence (ligne 3) et lesnouveaux registres actifs <strong>de</strong> R new sont ajoutés à l’ensemble <strong><strong>de</strong>s</strong> registres actifs <strong>de</strong> R + (ligne 4).Enfin, l’ensemble area est élargi (ligne 5).5.2 Correction <strong><strong>de</strong>s</strong> algorithmesNous définissons formellement l’ensemble <strong><strong>de</strong>s</strong> états <strong>atteignables</strong> d’une machine séquentiellefsm = (ι, Υ, ∆, Γ) comme le plus petit point fixe d’une fonction Θ définie <strong>de</strong> la manière suivante :Θ(X) = ι ∪ ∆(X) (5.1)Ce point fixe est forcément défini puisque Θ est une fonction croissante et que nous travaillonsdans l’ensemble fini B K . Dans cette section, nous choisissons <strong>de</strong> ne pas tenir compte <strong>de</strong> l’ensemble<strong><strong>de</strong>s</strong> entrées vali<strong><strong>de</strong>s</strong> Υ <strong>de</strong> la machine séquentielle qui ne pose aucun problème particuliersinon rendre la lecture plus difficile.Si nous appelons R bfs l’ensemble <strong><strong>de</strong>s</strong> états <strong>atteignables</strong> calculé par l’algorithme traditionnel etR part l’ensemble <strong><strong>de</strong>s</strong> états <strong>atteignables</strong> calculé par notre algorithme partitionné, alors le but <strong>de</strong>cette section est <strong>de</strong> montrer que :R bfs = µ(Θ) (5.2)et R part = µ(Θ) (5.3)