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.

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.

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

Saved successfully!

Ooh no, something went wrong!