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.
82 CHAPITRE 3.<br />
PROBLÈMES SUR LES MACHINES SÉQUENTIELLES<br />
3.5 Conclusion<br />
Nous avons distingué trois gran<strong>de</strong>s problématiques sur les machines séquentielles : <strong>la</strong> comparaison<br />
<strong>de</strong> <strong>la</strong>nguages générés par <strong>de</strong>ux machines ; <strong>la</strong> validation <strong>de</strong> propriétés temporelles<br />
sur une machine ; <strong>la</strong> réduction et/ou minimisation d’une machime. A partir d’une <strong>de</strong>scription<br />
algorithmique d’une machine à états finis, on sait générer un modèle décrit par<br />
<strong>de</strong>s fonctions booléennes. C’est sur ce modèle que nous avons exprimé <strong>la</strong> résolution <strong>de</strong>s<br />
<strong>de</strong>ux premiers problèmes. Nous avons aussi étudié quelques aspects <strong>de</strong> <strong>la</strong> réduction et<br />
minimisation d’une machine.<br />
Les métho<strong>de</strong>s <strong>de</strong> résolution proposées dans le passé pour <strong>la</strong> comparaison <strong>de</strong> machines et <strong>la</strong><br />
validation <strong>de</strong> propriétés temporelles consistent en un traitement explicite <strong>de</strong>s états et <strong>de</strong>s<br />
transitions, et nécéssitent donc l’énumération <strong>de</strong> ceux-ci, voire une construction explicite<br />
du graphe d’états et <strong>de</strong> transitions <strong>de</strong> <strong>la</strong> machine. Ces métho<strong>de</strong>s sont donc limitées par<br />
<strong>la</strong> taille (i.e. nombre d’états et <strong>de</strong> transitions) <strong>de</strong>s machines traitées. Plus précisément,<br />
le temps et <strong>la</strong> mémoire que requièrent ces algorithmes sont linéairement dépendants <strong>de</strong> <strong>la</strong><br />
taille <strong>de</strong> <strong>la</strong> machine.<br />
Nous avons montré comment <strong>la</strong> comparaison <strong>de</strong> machines et <strong>la</strong> validation <strong>de</strong> propriétés<br />
temporelles peuvent être exprimées par <strong>de</strong>s équations booléennes. L’idée est <strong>de</strong> remp<strong>la</strong>cer<br />
le traitement individuel <strong>de</strong>s états et <strong>de</strong>s transitions par <strong>de</strong>s manipu<strong>la</strong>tions <strong>de</strong> formules<br />
propositionnelles. Celles-ci sont <strong>de</strong>s fonctions caractéristiques dénotant <strong>de</strong>s ensembles<br />
d’états et <strong>de</strong> transitions. Les algorithmes que nous avons proposés correspon<strong>de</strong>nt donc à<br />
<strong>de</strong>s calculs sur <strong>de</strong>s ensembles implicitement représentés. Par exemple, <strong>la</strong> comparaison <strong>de</strong><br />
machines correspond au calcul du plus petit ensemble d’états contenant un sous-ensemble<br />
d’états initiaux, clos par <strong>la</strong> re<strong>la</strong>tion d’accessibilité <strong>de</strong> <strong>la</strong> machine. Si il n’y pas <strong>de</strong> re<strong>la</strong>tion<br />
entre <strong>la</strong> taille <strong>de</strong> <strong>la</strong> représentation d’une formule propositionnelle et le nombre d’éléments<br />
qu’elle représente en tant que fonction caractéristique 1 , on peut s’attendre à <strong>de</strong>s algorithmes<br />
<strong>de</strong> preuve dont <strong>la</strong> complexité ne dépend pas du nombre d’états et <strong>de</strong> transitions<br />
<strong>de</strong> <strong>la</strong> machine. La complexité sera reportée sur <strong>la</strong> “complexité intrinsèque” <strong>de</strong>s formules<br />
propositionnelles en présence.<br />
Nous représenterons les fonctions booléennes par <strong>de</strong>s TDGs (graphes <strong>de</strong> décision typés),<br />
présentés au Chapitre 2. La taille d’un DAG ne dépend pas du nombre d’interprétations<br />
qui le satisfait. Ceci permet, avec les équations booléennes que nous avons décrites, <strong>de</strong><br />
nous affranchir <strong>de</strong> l’étroite dépendance avec <strong>la</strong> taille <strong>de</strong> <strong>la</strong> machine que subissent les techniques<br />
basées sur un parcours explicite du diagramme d’états <strong>de</strong> <strong>la</strong> machine. Dans nos<br />
équations boolénnes sont utilisées les combinaisons booléennes usuelles (¬,∨,∧,...), plus<br />
<strong>de</strong>ux opérateurs complexes que nous avons distingué : <strong>la</strong> comparaison <strong>de</strong> machines utilise<br />
l’opérateur Img, qui correspond au calcul <strong>de</strong> l’image d’une fonction, et <strong>la</strong> validation <strong>de</strong><br />
propriétés temporelles utilise l’opérateur Pre, qui correspond au calcul d’une projection<br />
<strong>de</strong> l’image réciproque d’une fonction. Comme les combinaisons boolénnes usuelles sont effectuées<br />
au pire quadratiquement sur les DAGs, il ne nous reste plus qu’à réaliser le calcul<br />
<strong>de</strong> Img et Pre pour obtenir <strong>de</strong>ux algorithmes <strong>de</strong> preuve symboliques, dont les complexités<br />
dépendront <strong>de</strong> celles <strong>de</strong> Img et Pre. C’est ce qui constitue <strong>la</strong> matière <strong>de</strong>s <strong>de</strong>ux chapitres<br />
1 C’est le nombre d’interprétations satisfiant <strong>la</strong> formule.