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.
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>