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.
72 CHAPITRE 5. CALCUL DES ETATS ATTEIGNABLES PARTITIONNÉ∀x ∈ R part ∆(x) ∈ R part . Des <strong>de</strong>ux propriétés précé<strong>de</strong>ntes, nous déduisons que l’image<strong>de</strong> tout élément <strong>de</strong> R part est aussi contenue dans R part .R part ⊇ Θ n . Nous montrons que les applications successives <strong>de</strong> la fonction <strong>de</strong> transition sontcontenues dans l’ensemble R part :∀n ≥ 0∆ n (ι) ⊆ R partNous savons que R part ⊇ ι et par la propriété précé<strong>de</strong>nte, nous savons également que si∆ n−1 (ι) ⊆ R part alors ∆ n (ι) ⊆ R part pour tout n > 0.La décomposition <strong>de</strong> Θ n donnée à la section 5.2.1 nous permet donc <strong>de</strong> dire que :R part ⊇ Θ n (5.22)5.2.3.4 R n ⊆ Θ nOn démontrerait facilement que R n ⊆ Θ n et ainsi que R part ⊆ µ(Θ) : l’algorithme partitionnéne génère spontanément aucun nouvel état et à chaque étape <strong>de</strong> l’algorithme, les nouveaux étatssont calculés à partir d’anciens états eux-mêmes inclus dans µ(Θ).Pour conclure cette section, nous pouvons affirmer que notre algorithme partitionné estcorrect et calcule bien le point fixe µ(Θ).5.3 Analyse <strong><strong>de</strong>s</strong> caractéristiquesNous terminons ce chapitre par une brève analyse <strong><strong>de</strong>s</strong> caractéristiques <strong>de</strong> notre algorithmece qui amène une réflexion sur la forme <strong><strong>de</strong>s</strong> <strong>programmes</strong> pour lesquels cet algorithme est particulièrementadapté, compte tenu <strong>de</strong> sa complexité empirique. Nous terminons par <strong><strong>de</strong>s</strong> commentairessur la possibilité d’adapter notre technique à un autre type <strong>de</strong> codage <strong><strong>de</strong>s</strong> <strong>programmes</strong>que celui que nous utilisons (voir 2.1.4).5.3.1 ComplexitéThéoriquement, il est impossible <strong>de</strong> démontrer que notre algorithme est globalement meilleurque l’algorithme Breadth First Search : dans le pire <strong><strong>de</strong>s</strong> cas, ces <strong>de</strong>ux algorithmes sont exponentielsen espace par rapport au nombre <strong>de</strong> registres, et la complexité en temps <strong>de</strong> notrealgorithme est possiblement beaucoup moins bonne puisqu’elle divise les étapes. Les qualités <strong>de</strong>notre algorithme ne peuvent être mises en évi<strong>de</strong>nce qu’empiriquement (voir chapitre 7).Soit p la “profon<strong>de</strong>ur” du programme exploré, c’est à dire le nombre d’itérations nécessairespour calculer l’espace <strong><strong>de</strong>s</strong> états <strong>atteignables</strong> par l’algorithme Breadth First Search. Soit r lenombre <strong>de</strong> registres <strong>de</strong> ce programme. Dans le pire <strong><strong>de</strong>s</strong> cas, l’algorithme partitionné effectue <strong>de</strong>l’ordre <strong>de</strong> p × r itérations (la libération <strong>de</strong> chacun <strong><strong>de</strong>s</strong> r registres peut déclencher à chaque foisp itérations).Chaque ouverture <strong>de</strong> frontière nécessite l’appel à <strong><strong>de</strong>s</strong> fonctions <strong>de</strong> manipulation <strong>de</strong> graphe(Closure, Surface). Dans le pire <strong><strong>de</strong>s</strong> cas, chacune <strong>de</strong> ces fonctions est polynomiale par rapportau nombre <strong>de</strong> noeuds du graphe et en pratique très rapi<strong>de</strong> et particulièrement par rapport auxfonctions <strong>de</strong> manipulation <strong><strong>de</strong>s</strong> BDDs.