• Aucun résultat trouvé

Nous allons proposer une m´ethodologie (semi-automatique) nouvelle et utile en pratique afin de construire une abstraction compl`ete qui nous servira pour la v´erification de propri´et´es de sˆuret´e et de vivacit´e du syst`eme concret. Notre

propo-1.3 RAFFINEMENT ABSTRAIT IT ´ERATIF 15

sition se concr´etise par une approche de la v´erification int´egrant des techniques d’abstraction bool´eenne, de preuve d´eductive et de model checking qui permet de v´erifier une classe riche de propri´et´es de sˆuret´e et de vivacit´e de syst`emes tempo-ris´es. Son objectif est de pouvoir calculer une abstraction finie dont la conformit´e avec le syst`eme concret est garantie par raffinements successifs. Nous appelons cette m´ethode le raffinement abstrait it´eratif (iterative abstract refinement, IAR). Notre m´ethode est fond´ee sur une technique simple, efficace et pr´ecise pour la g´en´eration d’abstractions qui pr´eserve les propri´et´es et qui garantit la correc-tion de l’abstraccorrec-tion. L’id´ee est de partir d’une sur-approximacorrec-tion initiale (que nous appelons souvent abstraction r´eduite dans cette th`ese) du mod`ele et puis de v´erifier deux propos : (1) la conformit´e entre la repr´esentation abstraite et le mod`ele concret et (2) l’´evaluation des propri´et´es requises sur le mod`ele abstrait. Si la repr´esentation abstraite est conforme au mod`ele concret et si les propri´et´es qui nous int´eressent peuvent ˆetre v´erifi´ees sur le mod`ele abstrait alors elles sont aussi vraies pour le syst`eme concret et nous pouvons dire qu’un tel mod`ele abstrait est la repr´esentation abstraite compl`ete.

Soit X une sp´ecification d’un syst`eme temporis´e sous forme d’XTG et F une propri´et´e. Rappelons que dans une perspective de model checking la preuve que X v´erifie F peut ˆetre consid´er´ee comme d´emontrant la validit´e de X |= F. L’ap-proche IAR ´etablit cette validit´e `a l’aide d’un PDT ∆ en d´emontrant `a la fois que ∆ est une abstraction correcte (c’est `a dire que nous allons trouver un ∆ tel que toute ex´ecution de X correspond `a une ex´ecution de ∆) et en v´erifiant que toute ex´ecution de ∆ est un mod`ele de F.

Pour la preuve de la correction, nous consid´erons les ´etiquettes des nœuds de ∆ comme des pr´edicats d’une abstraction bool´eenne sur l’espace d’´etats de X , pouvant ramener l’inclusion des traces `a un ensemble d’obligations de preuve en un langage de premier ordre sur des ´etats et des transitions individuels. Ainsi, cette ´etape utilise des techniques d´eductives. Pour l’autre ´etape, nous consid´erons les ´etiquettes des nœuds comme des variables bool´eennes et ∆ comme un syst`eme fini de transitions. La propri´et´e F du syst`eme est alors ´etablie par model checking du PDT ∆. Une des contributions de cette th`ese est de montrer que le format de repr´esentation choisi est utile pour d´emontrer non seulement des propri´et´es de sˆuret´e mais aussi de vivacit´e. Il n’est gu`ere surprenant que ces derni`eres sont beaucoup plus difficiles `a ´etablir que les propri´et´es de sˆuret´e. Nous allons expliquer ce que sont les conditions auxiliaires et d´efinir plusieurs concepts nouveaux que nous utilisons afin de d´emontrer des propri´et´es de vivacit´e `a l’aide de ∆.

La contribution centrale de IAR est de pouvoir construire une repr´esentation abstraite garantissant que les propri´et´es LTL d´eduites du mod`ele abstrait sont aussi vraies pour le mod`ele concret. Avant de parler plus en d´etail de IAR nous illustrons trois mod`eles diff´erents d’un syst`eme par la figure 1.2 qui contient une abstraction r´eduite, une abstraction compl`ete et le mod`ele concret d’un syst`eme. Le mod`ele abstrait illustr´e par la figure 1.2.(a) r´esulte d’une approximation ; par cons´equent, la pr´eservation des ex´ecutions du mod`ele concret (c) par le mod`ele (a) n’est pas garantie. Le mod`ele de la figure 1.2.(b) est obtenu `a partir du mod`ele

16 R ´ESUM ´E 1.3

2

3 1 0

complete model concrete model abstracted model

abstraction refinement ofabstraction

complete domain

(b) (c) real (infinite) domain forward process

(a) abstract domain

over−approximation (backward process)

forward/backward process concretisation

refinement of

Fig. 1.2:Mod`eles abstrait, complet et concret

abstrait (a) par des raffinements successifs jusqu’`a ce qu’il corresponde au mod`ele concret (c) et que les propri´et´es puissent ˆetre v´erifi´ees. Nous nous attendons `a pouvoir obtenir un tel mod`ele complet (b) en utilisant la m´ethode IAR.

La figure 1.3 (qui est li´ee `a la figure 1.2) illustre le cadre g´en´eral de la m´ethode IAR. Elle prend trois param`etres d’entr´ee : la sp´ecification du syst`eme concret sous la forme d’un XTG X , les propri´et´es `a v´erifier d´ecrivant le comportement attendu et un ensemble fini de pr´edicats d’abstraction.

La m´ethode IAR consiste en l’application de deux processus (dits en avant et en arri`ere) : une premi`ere sur-approximation (la repr´esentation abstraite r´eduite) peut ˆetre obtenue `a la main `a partir de X `a l’aide d’un processus en arri`ere. Partant de cette abstraction r´eduite, IAR it`ere le processus en avant jusqu’`a ce que la repr´esentation abstraite devienne compl`ete :

Processus en arri`ere. Une abstraction triviale et incompl`ete de X est obtenue par abstraction bool´eenne, voir la direction de (c) vers (a) de la figure 1.2. Il en r´esulte un PDT ∆ comme d´efini dans le chapitre 1.2.2 ; la figure 5.1.(a) de la section 5.4 illustre comment obtenir une telle abstraction `a travers un petit exemple. Cependant, ce PDT ∆ r´eduit obtenu par le processus en arri`ere ne garantit pas la condition de compl´etude car tous les chemins de X ne sont pas repr´esent´es. Un autre processus, dit en avant, est n´ecessaire afin d’affiner de telles repr´esentations incompl`etes.

Processus en avant. Pour un PDT ∆ obtenu, la m´ethode IAR v´erifie s’il est complet, c’est `a dire que les propri´et´es sont d´ecidables et pr´eserv´ees par ∆ et que ∆ est conforme `a X . Dans ce cas, une repr´esentation abstraite correcte a ´et´e obtenue et la v´erification r´eussit. Si ∆ n’est pas complet, elle assure la compl´etude (affinant ∆) au travers les deux op´erations de scindage et d’exclusion.

1.3 RAFFINEMENT ABSTRAIT IT ´ERATIF 17 excluding operation splitting operation N decidable? conform ? decidability checking conformance checking backward process forward process Y approximating XTG properties to verify abstraction done

Completeness Checking

− prove a set of proof obligations − compute the successor configurations

− identify new predicates

Refine the PDT

− model checking − theorem proving

Fig. 1.3:IAR : pr´esentation g´en´erale

par un PDT est compl`ete, elle v´erifie (1) le probl`eme de d´ecidabilit´e sur ∆ et (2) la conformit´e entre ∆ et X .

– Si IAR n’arrive pas `a d´emontrer ces deux probl`emes, alors le PDT est scind´e par rapport `a des pr´edicats d’abstraction afin d’enrichir ∆ en ajoutant des d´etails.

– Pendant cette op´eration, certaines obligations de preuve (des conditions de v´erification formul´ees en logique de premier ordre) sont d´emontr´ees afin d’exclure des transitions dupliqu´ees pendant le scindage. Les deux op´era-tions de scindage et d’exclusion sont it´er´ees jusqu’`a ce que le PDT devienne complet.

La m´ethode IAR termine lorsqu’elle obtient un PDT ∆ dont les chemins cor-respondent `a ceux de X de mani`ere `a ce que les propri´et´es v´erifi´ees par ∆ le soient aussi par X . Plus sp´ecifiquement, partant de la premi`ere abstraction, IAR g´en`ere des abstractions en ajoutant de nouveaux nœuds et arˆetes correspondant `a X . Ceci continue jusqu’`a ce que les propri´et´es soient v´erifi´ees par rapport `a ∆ et qu’aucun nœud et aucune arˆete ne doivent ˆetre ajout´es.

La m´ethode IAR construit donc une repr´esentation abstraite `a partir du mod`ele concret et justifie sa compl´etude en utilisant une combinaison de proc´edures de d´ecision et la v´erification de la conformit´e. Dans la suite de cette th`ese nous allons ´etudier `a travers quelques exemples comment la m´ethode IAR ´etablit un cadre pour la v´erification.

Dans ce qui suit, le raffinement d’abstractions guid´e par les contre-exemples (counterexample-guided abstraction refinement, CEGAR) n’est pas vraiment

n´e-18 R ´ESUM ´E 1.4

cessaire car nous utilisons la propri´et´e de sˆuret´e (d´ecrivant les comportements attendus) comme l’un des pr´edicats pour la construction du mod`ele abstrait. Ceci suffit `a garantir que le PDT repr´esente toutes les ex´ecutions de l’XTG, y compris le comportement attendu. Cependant nous pensons que des am´eliorations notables pourraient ˆetre obtenues en utilisant CEGAR car cela r´esulterait en de meilleurs raffinements.

Documents relatifs