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.

3.2. COMPARAISON DE MACHINES SÉQUENTIELLES 73<br />

produits initiaux, pour énumérer l’ensemble <strong>de</strong> ses états et transitions vali<strong>de</strong>s, et vérifier<br />

que ceux-ci ne peuvent produire que <strong>la</strong> sortie 1.<br />

Le problème est évi<strong>de</strong>mment l’explosion combinatoire : une machine (n,m,ω,δ,Init)<br />

possè<strong>de</strong> potentiellement 2 n états et 2 n+m transitions. La simu<strong>la</strong>tion est donc vite dépassée<br />

par le nombre prohibitif <strong>de</strong> cas à envisager. Cette technique fut ensuite améliorée [118]<br />

en n’énumérant que <strong>de</strong>s cubes représentant <strong>de</strong>s groupes <strong>de</strong> transitions. Cependant,<br />

l’énumération <strong>de</strong>s états vali<strong>de</strong>s <strong>de</strong>meure. Les limites <strong>de</strong>s métho<strong>de</strong>s présentées ci-<strong>de</strong>ssus<br />

découlent du fait que les ensembles d’états sont représentés en extention, et donc que les<br />

états sont manipulés individuellement.<br />

Afin <strong>de</strong> se libérer <strong>de</strong> ces limites, nous proposons ici <strong>de</strong> manipuler <strong>de</strong>s ensembles d’états,<br />

représentés en intention par leur fonction caractéristique. L’ensemble <strong>de</strong>s états vali<strong>de</strong>s<br />

d’une machine (n,m,r,ω,δ,Init) peut être défini comme <strong>la</strong> limite <strong>de</strong> <strong>la</strong> suite d’ensembles<br />

(V k ) k≥0 définie par les équations<br />

V 0 = Init, et (3.1)<br />

V k+1 = V k ∪{⃗y ′ / ∃⃗y ∈ V k , ∃⃗x ∈ {0,1} m , ⃗y ′ = δ(⃗y,⃗x)}. (3.2)<br />

La preuve se fait en montrant que, pour k ≥ 0, on a l’égalité<br />

{ω(⃗y,⃗x) / ⃗y ∈ V k , ⃗x ∈ {0,1} m } = {1}. (3.3)<br />

Leséquationsci-<strong>de</strong>ssuspeuvents’écrireavecl’opération“Img”,oùImg(g,A)estl’ensemble<br />

{g(x) / x ∈ A}, c’est à dire l’image <strong>de</strong> <strong>la</strong> fonction g sur l’ensemble A. Le second terme<br />

droite <strong>de</strong> 3.2 est Img(δ,V k ×{0,1} m ), c’est à dire Img( ⃗ f,λ⃗y.λ⃗x.(V k (⃗y)∧Cns(⃗y,⃗x))). De<br />

même, le terme gauche <strong>de</strong> l’équation 3.3 est Img(ω,V k ×{0,1} m ), c’est à dire Img(ω,V k ).<br />

Le calcul <strong>de</strong>s états vali<strong>de</strong>s <strong>de</strong>vient donc :<br />

V 0 = Init, et (3.4)<br />

(<br />

V k+1 = λ⃗y. V k (⃗y)∨Img ( f,λ⃗y.λ⃗x.(Vk ⃗ (⃗y)∧Cns(⃗y,⃗x)) ) )<br />

(⃗y) . (3.5)<br />

Cetteéquation<strong>de</strong>pointfixecorrespondàunparcoursvirtuel en avant et en <strong>la</strong>rgeur d’abord<br />

du diagramme d’états <strong>de</strong> <strong>la</strong> machine séquentielle M. La figure ci-<strong>de</strong>ssous montre un calcul<br />

<strong>de</strong>s états vali<strong>de</strong>s, effectué en 4 étapes en utilisant les équations 3.1 et 3.2. Chacun <strong>de</strong>s<br />

ensembles grisés est l’ensemble <strong>de</strong>s états nouvellement découverts à chaque itération <strong>de</strong><br />

l’équation 3.2, qui est égal à (V k+1 \V k ).

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

Saved successfully!

Ooh no, something went wrong!