Une Boite `a Outils Pour la Preuve Formelle de Syst`emes Séquentiels
Une Boite `a Outils Pour la Preuve Formelle de Syst`emes Séquentiels
Une Boite `a Outils Pour la Preuve Formelle de Syst`emes Séquentiels
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
5.2. CALCUL DE PRE( F,CNS,χ) ⃗ À L’AIDE DE ∆ 111<br />
d’état y n+1 ,...,y 2n+1 ajoutées aux n variables d’état y 1 ,...,y n <strong>de</strong> telle façon qu’on ait<br />
y 1 < y n+1 < y 2 < y n+2 < ... < y n < y 2n < y 2n+1 . Avec cet ordre, le graphe <strong>de</strong> <strong>la</strong> fonction<br />
χ ′ a une taille <strong>de</strong> 3n+1. Ainsi le graphe <strong>de</strong> χ ′ est construit en O(n). De même, le graphe<br />
<strong>de</strong> ⃗g est construit en O(n), puisqu’il suffit <strong>de</strong> générer n graphes élémentaires. Donc le<br />
passage <strong>de</strong>s graphes <strong>de</strong> f ⃗ et χ à ceux <strong>de</strong> ⃗g et χ ′ est linéaire avec n. Enfin, comme le<br />
terme Pre(⃗g,1,χ ′ )(⃗y) ne dépend que <strong>de</strong>s variables y 1 ,...,y n , le graphe <strong>de</strong> Img( f,χ) ⃗ est<br />
directement celui <strong>de</strong> Pre(⃗g,1,χ ′ ).<br />
✷<br />
Nous avons montré que l’opération Pre est le goulot d’étranglement <strong>de</strong> <strong>la</strong> procédure <strong>de</strong><br />
vérification <strong>de</strong> formules CTL. Nous étudions dans <strong>la</strong> suite comment cette résolution peut<br />
être effectuée <strong>de</strong> façon efficace.<br />
5.2 Calcul <strong>de</strong> Pre( ⃗ f,Cns,χ) à l’ai<strong>de</strong> <strong>de</strong> ∆<br />
<strong>Une</strong> façon directe <strong>de</strong> calculer Pre( ⃗ f,Cns,χ) passe par <strong>la</strong> construction <strong>de</strong> <strong>la</strong> re<strong>la</strong>tion <strong>de</strong><br />
transition∆définieàpartir<strong>de</strong> ⃗ f etCns, puisparl’utilisation<strong>de</strong>l’i<strong>de</strong>ntitésuivante[29,21].<br />
Pre( ⃗ f,Cns,χ) = λ⃗y.(∃⃗y ′ ∆(⃗y,⃗y ′ )∧χ(⃗y ′ ))<br />
Cependant, on sait que le graphe <strong>de</strong> λ⃗y.λ⃗x.λ⃗y ′ .( ∧ n<br />
k=1 y ′ k ⇔ f k (⃗y,⃗x)), préa<strong>la</strong>ble à <strong>la</strong> construction<br />
<strong>de</strong> ∆, est construit en O(2 n × ∏ n<br />
k=1 |f k |), et l’expérience montre que le pire cas<br />
est “souvent” atteint (voir Section 4.2). Comme <strong>la</strong> re<strong>la</strong>tion <strong>de</strong> transition ne peut être<br />
raisonnablement construite pour <strong>de</strong>s machines trop complexes ou ayant trop <strong>de</strong> variables<br />
d’état, il nous faut trouver une résolution qui ne requiert pas cette construction.<br />
5.3 Evaluation <strong>de</strong> Pre( ⃗ f,Cns,χ)<br />
Le terme Pre( ⃗ f,Cns,χ) est défini par :<br />
Pre( ⃗ f,Cns,χ) = λ⃗y.(∃⃗x Cns(⃗y,⃗x)∧χ( ⃗ f(⃗y,⃗x)))<br />
A partir <strong>de</strong> cette équation, le calcul <strong>de</strong> Pre( ⃗ f,Cns,χ) peut s’effectuer en <strong>de</strong>ux étapes.<br />
La première consiste à construire le graphe <strong>de</strong> (Cns(⃗y,⃗x) ∧ χ( ⃗ f(⃗y,⃗x))), ce qui est non<br />
polynomial à cause <strong>de</strong> <strong>la</strong> composition. La <strong>de</strong>uxième étape consiste à éliminer les variables<br />
quantifiées ⃗x. Cette <strong>de</strong>rnière étape est aussi <strong>de</strong> complexité non polynomiale, mais<br />
l’expérience montre qu’elle reste souvent faisable. La difficulté <strong>de</strong> l’évaluation <strong>de</strong> Pre<br />
vient <strong>de</strong> <strong>la</strong> composition χ( ⃗ f(⃗y,⃗x)) qui y apparait. Il faut donc étudier comment évaluer<br />
efficacement cette composition.<br />
5.3.1 Réduction <strong>de</strong> taille pour <strong>la</strong> composition<br />
L’idée [43, 46] qui nous conduit à l’utilisation d’un opérateur <strong>de</strong> réduction est simi<strong>la</strong>ire à<br />
celle discutée Section 4.7.1. Elle consiste à tenir compte du fait que Pre intervient dans<br />
<strong>de</strong>s équations très particulières, ce qui fait que le terme Pre peut être légèrement modifié<br />
sans altérer <strong>la</strong> validité <strong>de</strong>s équations <strong>de</strong> point fixe.