07.11.2013 Views

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

SHOW MORE
SHOW LESS

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.

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

Saved successfully!

Ooh no, something went wrong!