• Nenhum resultado encontrado

Une d´efinition alternative du monitoring

No documento Yliès Falcone (páginas 82-86)

4.2 Monitorabilit´e dans la classification Safety-Progress

4.2.2 Une d´efinition alternative du monitoring

4.2 : Monitorabilit´e dans la classification Safety-Progress Au del`a des r-propri´et´es de type obligation, l’espace des r-propri´et´es monitorables ne peut ˆetre caract´eris´e simplement comme une classe de la hi´erarchie. Il existe desr-propri´et´es deresponsequi sont monitorables et d’autres qui ne le sont pas. Similairement, nous pouvons trouver des r-propri´et´es de persistence monitorables, et non-monitorables (e.g., la r-propri´et´e repr´esent´ee sur la Fig. 4.6). Nous verrons cependant plus loin qu’il est possible de donner une caract´erisation exacte dans la vue automate de la classificationSafety-Progress.

Monitorabilit´e avec B2. En restreignant B3 `a un domaine de valeurs de v´erit´e de cardinal 2, on s’int´eresse uniquement `a la d´etermination positive ou n´egative. Ce qui r´eduit ainsi l’ensemble des propri´et´es monitorables. Cependant, il n’y a pas de caract´erisation simple de cet espace de propri´et´es dans la hi´erarchieSafety-Progress.

Intuitivement, on pourrait penser que avec B2 ={?,⊥}, l’ensemble desr-propri´et´es monitorables serait l’ensemble desr-propri´et´es de safety. Mais en fait, il existe plusieursr-propri´et´es de safety qui ne peuvent ˆetre d´etermin´ee n´egativement. La plus simple d’entre elle est la propri´et´e “toujours vraie”true=(Σω) qui ne peut bien ´evidemment ni ˆetre d´etermin´ee n´egativement ni mˆeme falsifi´ee. De plus, toutes les r-propri´et´es de safety qui sont valides pour les s´equences d’ex´ecution plus longues qu’un certain rangk ne sont pasσ−B2-monitorables lorsque|σ|>k. Pour ce type der-propri´et´es, un moniteur produirait uniquement une s´equence de “ ?” lorsqu’il ´evaluerait cette propri´et´e sur une s´equence donn´ee.

De fa¸con similaire, il existe pas mal der-propri´et´es de guarantee qui ne peuvent ˆetre positivement d´etermin´ees, et ainsi ne sont pas monitorables avecB2 ={?,⊤}.

Cependant, dans le Chapitre5 Section5.1, nous donnons un crit`ere syntaxique sur les automates de Streett pour d´eterminer si uner-propri´et´e (sp´ecifi´ee par un automate de Streett donn´e) est monitorable sous ces conditions.

La notion de d´etermination n´egative ou positive nous semble int´eressante car elle indique les cas o`u l’observation des continuations d’une s´equence d’ex´ecution n’est plus n´ecessaire lorsque l’on cherche `a connaˆıtre la satisfaction vis-`a-vis d’une propri´et´e. En revanche l’exigence qu’une propri´et´e doit toujours pouvoir ˆetre d´etermin´ee n´egativement ou positivement, exprim´ee dans la d´efinition de monitorabilit´e, nous semble trop forte. Nous avions fait ce constat d´ej`a dans [FFM09b]. Ainsi, nous proposons donc une d´efinition alternative de monitoring qui semble mieux correspondre aux besoins d’observation d’un moniteur et aux impl´ementations existantes d’outils de monitoring. La d´efinition de d´etermination n´egative ou positive nous semble toutefois int´eressante dans un contexte de test. Ce que nous verrons dans la Section4.4.

PourB2 :

[[Π]]B2(σ)=⊥si¬Π(σ)∧ ∀µ∈Σ· ¬Π(σ·µ), [[Π]]B2(σ)=?dans les autres cas.

PourB3 :

[[Π]]B3(σ)=⊥si¬Π(σ)∧ ∀µ∈Σ· ¬Π(σ·µ), [[Π]]B3(σ)=⊤siΠ(σ)∧ ∀µ∈Σ·Π(σ·µ), [[Π]]B3(σ)=?dans les autres cas.

PourB

2 : [[Π]]B

2(σ)=⊤siΠ(σ)∧ ∀µ∈Σ·Π(σ·µ),

[[Π]]B2(σ)=?dans les autres cas.

PourB4 :

[[Π]]B4(σ)=[[Π]]B3(σ)si[[Π]]B3(σ)=⊥ou[[Π]]B3(σ)=⊤, [[Π]]B4(σ)=⊤psi[[Π]]B3(σ)=?etΠ(σ)

[[Π]]B4(σ)=⊥psi[[Π]]B3(σ)=?et¬Π(σ) Figure4.2 – ´Evaluation d’uner-propri´et´e dans les diff´erents domaines de v´erit´e le cadreSafety-Progress (cf. Chapitre3).

Evaluation d’une´ r-propri´et´e dans un domaine de v´erit´e. Nous introduisons tout d’abord, ´etant donn´ee uner-propri´et´e, comment nous ´evaluons une s´equence d’ex´ecution dans un domaine de v´erit´e.

D´efinition 24 (´Evaluation de propri´et´e dans un domaine de v´erit´e). Pour chaque domaine de v´erit´e B que nous avons consid´er´e jusqu’`a pr´esent, nous d´efinissons les fonctions d’´evaluation [[·]]B(·) : (Σ×Σω)×Σ→Bcomme expos´e sur la Fig.4.2.

Lors de l’´evaluation avec le domaine B2, on distingue la situation o`u une s´equence ainsi que toutes ses continuations sont fausses (´evaluation⊥) ; les autres situations sont confondues en produisant l’´evaluation

?. Similairement, avecB2, l’´evaluation⊤est produite lorsqu’une s´equence ainsi que toutes ses continuations satisfont lar-propri´et´e et?dans les autres cas. L’´evaluation avec le domaineB3correspond `a celle produite dans la d´efinition classique de monitorabilit´e. L’´evaluation avec le domaineB4 raffine l’´evaluation avecB3 lorsque cette derni`ere produisait?.

Notons que l’´evaluation dansB3correspond `a la s´emantique de la logique temporelleLT L3[BLS07a]. De plus, l’´evaluation dansB4 correspond `a la s´emantique de logique RV-LTL [BLS09] introduite r´ecemment.

Une d´efinition alternative de la monitorabilit´e. Intuitivement, la notion de monitorabilit´e d’une propri´et´eΠrepose sur la capacit´e d’un moniteur donn´e de distinguer les bonnes et mauvaises s´equences d’ex´ecution finies.

D´efinition 25 (Monitorabilit´e). Uner-propri´et´eΠ =(φ, ϕ)est dite monitorable sur le domaine de v´erit´eB, ouB-monitorable ssi

∀σgood∈φ,∀σbad∈φ,[[Π]]Bgood),[[Π]]Bbad)

Nous notonsMP(B), selon cette d´efinition, l’ensemble des propri´et´es monitorables avec le domaine de v´erit´eB.

Ainsi uner-propri´et´e est monitorable avec le domaine de v´erit´eBssi les s´equences d’ex´ecution finies mauvaises et bonnes peuvent ˆetre ´evalu´ees de fa¸cons distinctes. Remarquons que la d´efinition ne d´epend pas directement de la partie infinitaire de lar-propri´et´e. La partie infinitaire de la propri´et´e v´erifi´ee est utilis´ee par la fonction d’´evaluation de lar-propri´et´e.

Lemme δ(MP(B3) et propri´et´es de reactivity qui ne sont pas des safety ou guarantee) : Il n’y a pas de propri´et´e de reactivity non safety et non guarantee qui soit monitorable au sens de la D´efinition25avecB3. Formellement :

MP(B3)⊆(Safety(Σ)∪Guarantee(Σ))=∅

exemple, on pourrait distinguer diff´erentes valeurs “presumably false” pour refl´eter les diff´erents degr´es de panne d’un syst`eme.

4.2 : Monitorabilit´e dans la classification Safety-Progress La preuve de ce th´eor`eme est donn´ee dans l’AnnexeASection A.2.

Th´eor`eme ε(Caract´erisation multivalu´ee de la monitorabilit´e) : Les ensembles der-propri´et´es monitorables selon les domaines de v´erit´e consid´er´es jusqu’`a pr´esent sont les suivants :

(i) MP(B2)=Safety(Σ) (ii) MP(B2)=Guarantee(Σ)

(iii) Safety(Σ)∪Guarantee(Σ)=MP(B3) (iv) MP(B4)=Reactivity(Σ)

Preuve : Nous prouvons chacun des 4 faits annonc´es successivement. Pour les ´egalit´es, nous montrons `a chaque fois l’inclusion dans les deux sens des ensembles concern´es.

Preuve de (i).

– SoitΠ =(φ, ϕ)∈Safety(Σ), montrons queΠ∈MP(B2). CommeΠ∈Safety(Σ), il existe une propri´et´e finitaireψ⊆Σ,t.q. Π =(Af(ψ),A(ψ)). Consid´eronsσgood ∈φ etσbad∈φ, il s’agit de montrer que l’´evaluation dansB2 de ces deux s´equences sont diff´erentes. D’une part, nous avons queΠ(σgood)(car σgood∈φ) et donc[[Π]]B2good)=?. D’autre part, nous avons¬Π(σbad)etσbad<Af(ψ)(carσbad<φ).

En utilisant la Propri´et´e1du Chapitre3, nous avons ∀µ∈Σ,¬Π(σbad·µ),i.e.,[[Π]]B2bad)=⊥.

– SoitΠ∈MP(B2), montrons queΠ∈Safety(Σ). D’apr`es la caract´erisation des propri´et´es de safety donn´ee dans la Propri´et´e2(Chapitre 3, Section3.4), montrer queΠest uner-propri´et´e de safety revient `a montrer qu’elle v´erifie Π =(Af(Pref(Π)),A(Pref(Π))). Ce que nous faisons en montrant l’inclusion dans les deux sens.

– Π∩Σ⊆Af(Pref(Π))est ´evident car pour tout motσ∈Π,σa tous ses pr´efixes dansPref(Π). Il en est de mˆeme pourΠ∩Σω⊆A(Pref(Π)).

– MontronsAf(Pref(Π))⊆Π. Soitσ∈Af(Pref(Π)), montrons queσ∈Π. Comme σ∈Af(Pref(Π)), tous les pr´efixes deσ appartiennent `aPref(Π). C’est-`a-dire que tous les pr´efixes de σsont les pr´efixes d’un mot dans Π. Soitσmin le plus petit de ces mots. Nous distinguons deux cas. Soit σmin=σ, ce qui donneσ∈Π. Soitσ≺σmin. On a forc´ement[[Π]]B2min)=?, sinon on ne pourrait pas avoir σmin∈φ. En utilisant la remarque formul´ee au d´ebut de cette preuve, on obtientσ∈φ et doncσ∈Π. Le mˆeme raisonnement peut ˆetre conduit pour montrer queA(Pref(Π))⊆Π∩Σω. Au final d’apr`es la d´efinition desr-propri´et´es (Section 3.3, D´efinition8, p.38), nous avons queΠ peut s’´ecrireΠ =(Af(Pref(Π)),A(Pref(Π))), ce qui donne le r´esultat attendu.

Preuve de (ii).

– Le raisonnement pour montrer que Guarantee(Σ) ⊆MP(B2) est similaire au raisonnement pour montrer que Safety(Σ)⊆MP(B2). Il suffit de montrer que toutes les mauvaises s´equences s’´evaluent

`a”?”. De plus, toutes les bonnes s´equences s’´evaluent `a⊤. En effet, une fois qu’une s´equence satisfait une r-propri´et´e de guarantee, toutes ses continuations la satisfont.

– Montrer que MP(B2) ⊆ Guarantee(Σ) se fait de fa¸con analogue au raisonnement montrant que MP(B2)⊆Safety(Σ), en montrant que siΠ∈MP(B2), alorsΠv´erifie Π =E(Pref(Π)).

Preuve de (iii)

– La preuve deSafety(Σ)∪Guarantee(Σ)⊆MP(B3)est ´evidente en remarquant queMP(B2)⊂MP(B3) et MP(B2)⊂MP(B3).

– Le fait queMP(B3)⊆Safety(Σ)∪Guarantee(Σ)est une cons´equence du Lemmeδ.

Preuve de (iv). La preuve est ´evidente en remarquant que toute r-propri´et´e peut ˆetre ´evalu´ee en distinguant bien les bonnes et les mauvaises s´equences. Autrement dit, touter-propri´et´e de reactivity peut s’´evaluer “de mani`ere consistente” avec B4. En effet, une bonne s´equence σgood s’´evalue `a ⊤p ou

⊤ en fonction de ses continuations. Une mauvaise s´equence σbad s’´evalue `a ⊥p ou ⊥ en fonction de ses continuations. Ajouter des valeurs de v´erit´e ne fait que raffiner le verdict produit par le moniteur sous-jacent.

L’Exemple12illustre uner-propri´et´e d’obligation qui n’est pasB3-monitorable.

Reactivity

Persistence

Guarantee Progress

Safety

Obligation

Response

Safety

MP

(B

4

)

MP(B2)

MP(B

3

)

MP

(B

3

)

MP(B2)

MP(B2) MP(B2)

Figure4.3 –r-propri´et´es monitorables dans la classification Safety-Progress

Exemple 12 (Monitoring d’une propri´et´e d’obligation) Consid´erons la r-propri´et´e exprim´ee en LTL :

Π =(p)∨(♦q)

d´eclarant que le pr´edicat d’´etat p doittoujoursˆetre vrai ou alors le pr´edicat d’´etat qdoit in´evitablement ˆetre vrai. C’est uner-propri´et´e d’obligation, elle ne peut donc pas ˆetre monitor´ee avecB2 niB2. Examinons si elle peut ˆetre monitor´ee avecB3. Consid´erons les s´equences d’ex´ecution suivantes :σgood={p} · {p}et σbad=∅ · {p}. DansB3, nous avons[[Π]]B3good)=[[Π]]B3bad)=?. Ainsi,Πn’est pas B3-monitorable au sens de la D´efinition25.

En revanche,ΠestB4-monitorable et ∀σgood∈Π,∀σbad∈Π,[[Π]]B4good)=⊤p et [[Π]]B4bad)=⊥p. Cette d´efinition de monitorabilit´e a l’avantage d’identifier les propri´et´es qui ne devraient pas ˆetre monitor´ees avec un domaine de v´erit´e qui “n’est pas assez fin”. En effet, la derni`ere propri´et´e montre que si l’on construisait un moniteur pour une telle propri´et´e avec le domaine de v´erit´e3, le moniteur produirait une ´evaluation `a “ ?” pour `a la fois des s´equences correctes et incorrectes par rapport `a la propri´et´e. Ce qui nous semble ind´esirable.

Nous montrerons dans le Chapitre5Section5.2que, pour une s´equence d’ex´ecution finie donn´eeσ, [[Π]]B4(σ)peut ˆetre obtenu simplement par un calcul sur les ´etats d’un automate de Streett reconnaissant Π.

Remarque 5 (“Passage `a la limite pour les verdicts faibles”) Il peut ˆetre int´eressant de re- marquer que l’interpr´etation des s´equences avec des “verdicts faibles” (⊥p, ⊤p) s’´etend aux s´equences infinies, selon la classe de propri´et´es consid´er´ee. Consid´erons une s´equence infinieσ∈Σω.

– pour une propri´et´e de safetyΠ,(∀i∈N,[[Π]](σ···i)=⊤p)⇔Π(σ) – pour une propri´et´e de guaranteeΠ,(∀i∈N,[[Π]](σ···i)=⊥p)⇔ ¬Π(σ) – pour une propri´et´e de responseΠ,(∃i∈N,[[Π]](σ···i)=⊤p)⇔Π(σ) – pour une propri´et´e de persistence Π,(∃i∈N,[[Π]](σ···i)=⊥p)⇔ ¬Π(σ)

o`u ∃signifie “il existe une infinit´e de”. ∗

Les r´esultats de cette section sont r´esum´es sur la Fig. 4.3:

– Les classes de propri´et´es monitorables, dans la d´efinition classique, sont : – MP(B2),

– MP(B2), – et MP(B3).

Les classes MP(B2)etMP(B2)ne peuvent ˆetre compar´ees directement avec aucune autre classe. La classeMP(B3)contient strictement la classe des propri´et´es d’obligation.

– Les classes de propri´et´es monitorables, dans la d´efinition que nous avons introduite, sont : – MP(B2),MP(B2),

– MP(B3), – et MP(B4).

4.3 : Enfor¸cabilit´e par rapport `a la classificationSafety-Progress

events

memory

events E MΠ

o|= Π σ|= Π?

(oσ)

Figure4.4 – Sch´ema de principe de l’enforcement

La classe MP(B2) (resp. MP(B2)) est exactement la classe des r-propri´et´es de safety (resp. de guarantee). La classeMP(B3)est strictement contenue dans la classe desr-propri´et´es d’obligation.

Enfin, la classe MP(B4)est exactement la classe desr-propri´et´es de reactivity.

No documento Yliès Falcone (páginas 82-86)