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.

76 CHAPITRE 3.<br />

PROBLÈMES SUR LES MACHINES SÉQUENTIELLES<br />

4. Si f et g sont <strong>de</strong>s formules d’état, alors E[fUg] est une formule d’état. <strong>Pour</strong> tout<br />

état ⃗y, ⃗y |= E[fUg] si et seulement si il existe un chemin (⃗y 0 ,⃗y 1 ,...), tel que ⃗y 0 = ⃗y<br />

et ∃k ((⃗y k |= g)∧(∀j (0 ≤ j < k ⇒ ⃗y j |= f))).<br />

5. Si f et g sont <strong>de</strong>s formules d’état, alors A[fUg] est une formule d’état. <strong>Pour</strong> tout<br />

état ⃗y <strong>de</strong> M, ⃗y |= A[fUg] si et seulement si pour tout chemin (⃗y 0 ,⃗y 1 ,...) tel que<br />

⃗y 0 = ⃗y, et ∃k ((⃗y k |= g)∧(∀j (0 ≤ j < k ⇒ ⃗y j |= f))).<br />

Des abréviations commo<strong>de</strong>s sont introduites : EF(f) = E[1Uf], i.e. il existe un chemin<br />

comprenant un état satisfaisant f; AF(f) = A[1Uf], i.e. sur tout chemin il existe un état<br />

où f est satisfaite; EG(f) = ¬AF(¬f), i.e. il existe un chemin où f est toujours satisfaite;<br />

AG(f) = ¬EF(¬f), i.e. f est vraie le long <strong>de</strong> tout chemin.<br />

3.3.2 Algorithme <strong>de</strong> vérification <strong>de</strong> formules CTL<br />

On peut vérifier qu’une machine séquentielle M satisfait une propriété <strong>de</strong> sûreté f en<br />

comparant <strong>la</strong> machine avec un automate obtenu [22] à partir <strong>de</strong> <strong>la</strong> formule f. L’automate<br />

M f associé à une propriété <strong>de</strong> sûreté f est tel que pour toute machine M, on a M |= f<br />

si et seulement si M et M f sont équivalentes sur les signaux observables <strong>de</strong> M f . En<br />

substance, M f est le plus petit modèle <strong>de</strong> f qui décrive tous les comportements possibles<br />

<strong>de</strong>s modèles <strong>de</strong> f. M f est aussi appelé modèle universel. Dans le cas <strong>de</strong>s propriétés<br />

<strong>de</strong> sûreté, <strong>la</strong> preuve peut donc se faire directement par comparaison <strong>de</strong> machines. C’est<br />

cette approche qui a été retenue par l’équipe du <strong>la</strong>ngage LUSTRE <strong>de</strong> Grenoble [71]. Par<br />

exemple, pour vérifier <strong>la</strong> propriété “à tout moment, si y = 1 alors à l’instant d’après<br />

on a forcément z = 1 ”, qui correspond à <strong>la</strong> formule CTL AG(y ⇒ AX(z)), il suffit <strong>de</strong><br />

comparerlessignauxy etz <strong>de</strong>Mavecceuxdéfinispar<strong>la</strong>machine<strong>de</strong>Mooredontlegraphe<br />

<strong>de</strong> transition est montré Figure 20. Mais <strong>la</strong> puissance d’expression <strong>de</strong> CTL est strictement<br />

supérieure à celle <strong>de</strong>s propriétés <strong>de</strong> sûreté, ce qui néccessite un algorithme plus général.<br />

Figure 20. Modèle universel <strong>de</strong> AG(y ⇒ AX(z)).<br />

L’algorithme “Mo<strong>de</strong>l Checking” [40] permet <strong>de</strong> vérifier si (⃗y |= f) pour un état ⃗y<br />

<strong>de</strong> <strong>la</strong> machine et une formule CTL f. Le Mo<strong>de</strong>l Checking est basé sur <strong>de</strong>s parcours du<br />

graphe d’états et <strong>de</strong> transitions <strong>de</strong> <strong>la</strong> machine, et requiert <strong>la</strong> construction <strong>de</strong> celui-ci. Cette<br />

technique est donc limitée par <strong>la</strong> taille du graphe d’états <strong>de</strong> <strong>la</strong> machine, car <strong>la</strong> preuve <strong>de</strong><br />

(⃗y |= f) se fait en O(length(f)×(S +R)), où S est le nombre d’états et R le nombre <strong>de</strong><br />

transitions [40].<br />

Afin <strong>de</strong> s’affranchir <strong>de</strong> cette limite, les ensembles d’états seront considérés non pas<br />

en extention, mais en intention, dénotés par leurs fonctions caractéristiques. Au lieu <strong>de</strong>

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

Saved successfully!

Ooh no, something went wrong!