• Aucun résultat trouvé

M´ethodes Formelles Approche Probabiliste

N/A
N/A
Protected

Academic year: 2022

Partager "M´ethodes Formelles Approche Probabiliste"

Copied!
13
0
0

Texte intégral

(1)

M´ethodes Formelles Approche Probabiliste

Arnaud Sangnier IRIF - Universit´e de Paris

Cours 5

(2)

M´ethodes Formelles Approche Probabiliste

Arnaud Sangnier IRIF - Universit´e de Paris

Cours 5

(3)

Logique Temporelle Lin´eaire (LTL)

• La logique LTL permet de d´ecrire les traces d’un syst`eme de transitions

• Une formule de LTL permet donc de d´ecrire un sous-ensemble de(2PA)!

• Une formule de LTL permet de parler d’un ´etat particulier, par exemple siPA={a,b,c}, alors la formule(a^¬b)_cd´ecrit les

´etats ou soit l’on trouve la propositionamais pasb, soit l’on ac (^veut dire ’ET’,_veut dire ’OU’ et¬veut dire ’NON’).

• Exemple d’´etats v´erifiant(a^¬b)_c:

(4)

Syntaxe

• Dans la logique LTL on va s’autoriser `a se d´eplacer le long d’une trace.

• On a pour cela deux op´erateurs temporels :

1 X veut dire ”Next ” pour dire que l’on regarde si l’´etat suivant dans la trace v´erifie

2 1U 2veut dire ” 1Until 2”, une propri´et´e 1reste vraie jusqu’`a ce que l’on atteigne un ´etat o`u 2est vraie (et un tel ´etat est atteint).

Syntaxe de LTL

::= > | a | ^ | ¬ | X | U o`ua2PA

• Une formule de LTL reconnaˆıt des s´equences dans(2PA)!et

´etant donn´ee une telle s´equence elle se ”d´eplace dessus” pour v´erifier certaines choses

(5)

Exemple

{

la. --I e e

A

a

O

-

Osos

. . . .

Exalt

lb. -- I. ''

son

.. .

4. aub O

-

Osos

.. . '

nos . . ..

aura !

"

oil

.

(6)

S´emantique

• Soit = 0 1 2. . .in(2PA)!. Pouri 2N, on note [i...]la s´equence infinie i i+1 i+2. . ..

• Soit une formule de LTL, on d´efinite la relation |= de fac¸on inductive:

|=> est toujours vraie

|=a , a2 0

|= 1^ 2 , |= 1et |= 2

|=¬ , 6|=

|=X , [1..]|=

|= 1U 2 , 9j 2N. [j..]|= 2et80i <j. [i..]|= 1

• On noteSeq( ) ={ 2(2PA)!| |= }

Ti EPA

4 Seyed ) Ef

"

K

,

seqq )

estane

popiiti

ten.radle

line.Aire

(7)

Raccourcis et formules classiques

On a les raccourcis suivants :

1_ 2 ´equivaut `a¬(¬ 12)

1! 2 ´equivaut `a¬ 1_ 2

• F ´equivaut `a>U (Un jour on a )

• G ´equivaut `a¬(F¬ )(On a toujours ) Quelques formules usuelles en plus :

• GF : est vraie infiniment souvent

• FG : un jour devient toujours vraie

(8)

Exemples

• Syst`emes avec deux processus qui veulent entrer en section critique etPA={crit1,crit2}

• Les deux processus ne sont jamais en mˆeme temps en section critique :G(¬crit1_¬crit2)

• Chaque processus acc`ede infiniment souvent `a sa section critique :GF(crit1)^GF(crit2)

Attention :C’est diff´erent deGF(crit1^crit2)

• Syst`emes avec un feu de circulationPA={V,O,R}

• Quand il est rouge, le feu ne peut pas ˆetre vert directement au coup suivant :G(R!(¬XV))

• Quand il est rouge, le feu devient orange au bout d’un moment apr`es avoir ´et´e tout le temps rouge avant, puis il devient vert au bout d’un moment et entre temps il est rest´e orange :

G(R!(RU(O^X(OUV))))

(9)

S´emantique des raccourcis

• Les raccourcis peuvent aussi ˆetre d´efinis s´emantiquement

|=F , 9j2N. [j..]|=

|=G , 8j2N. [j..]|=

|=GF , 8j2N.9k 2N.k j et [k..]|=

|=FG , 9j2N.8k 2N.k j implies [k..]|=

(10)

Model-checking

• SoitST = (S,!,sin,PA,L)un syst`eme de transitions et une formule de LTL.

• On dit queST v´erifie , not´eST |= si, et seulement si, Traces(ST)✓Seq( ).

• Comme LTL est clos par n´egation, on aST |= si, et seulement si,Traces(ST)\Seq(¬ ) =;

Attention :On n’a pas que siST 6|= alorsST |=¬

T

Ex ST # Fa

¥0 ' fair

.

affinal

la, ST

0

(11)

Exemple

• ST |=X(a^b)

• ST |=Ga

• ST |=G(¬b!G(a^¬b))

• ST 6|=bU(a^¬b)

-

la

.b) la.

H lat

(12)

Model-checking en pratique

• Si est une formule de LTL alorsSeq( )est une propri´et´e temporelle lin´eaire r´eguli`ere

• Il existe donc un automate de B¨uchiA tel queL!(A ) =Seq( )

• Du coup,¬ est aussi r´eguli`ere et il existe un automate de B¨uchi A¬ tel queL!(A¬ ) =Seq(¬ ) = (2PA)!\Seq( )

• Pour v´erifier siST |= , on v´erifie siTraces(ST)\L!(A¬ )est vide ou non en passant par le produitST ⌦A¬

Si Traces

( SH

a

Lw

CA

roll to dm 5TH

ol

si Trachsel

n You CA

roll

= of

dos

ST

to

(13)

Model-checking en pratique

• Si est une formule de LTL alorsSeq( )est une propri´et´e temporelle lin´eaire r´eguli`ere

• Il existe donc un automate de B¨uchiA tel queL!(A ) =Seq( )

• Du coup,¬ est aussi r´eguli`ere et il existe un automate de B¨uchi A¬ tel queL!(A¬ ) =Seq(¬ ) = (2PA)!\Seq( )

• Pour v´erifier siST |= , on v´erifie siTraces(ST)\L!(A¬ )est vide ou non en passant par le produitST ⌦A¬

Références

Documents relatifs

● L'alias pour désigner l'adresse de diffusion intégrale pour n'importe quelle réseau est donc l'adresse :.

● Le mot clef synchronized est utilisé dans le code pour garantir qu'à certains endroits et à un moment donné au plus un processus exécute la portion du code. ●

● Ainsi les objets champs d'un objet implémentant Serializable doivent aussi implémenter Serializable. ● Il ne faut pas sérialiser n'importe

● Comme pour connect, en IPv4, le deuxième argument sera souvent de type struct sockaddr_in et le troisième sera sizeof(struct sockaddr_in). ● Comme on est sur le serveur, on n'a

● On utilise la méthode public int read(byte[] input, int offset, int length) throws IOException. ● Cette méthode remplit length octet du tableau input à partir de la

1) Créer une socket pour se connecter au service 2) Récupérer les flux d'entrée et sortie et les filtrer 3) Envoyer une chaîne de caractères &#34;Hello&#34;. 4) Attendre et

• Les mod `eles peuvent ˆetre diff ´erents selon les caract ´eristiques du syst `eme que l’on souhaite prendre en compte. • Les sp ´ecifications d ´ependent aussi de ce que

• Les deux processus ne sont jamais en mˆeme temps en section critique et un jour un processus arrive en section critique.. • Ce n’est pas une propri´et´e de vivacit´e,