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 B⊥2 ={?,⊥}, 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σ−B⊥2-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 avecB⊤2 ={?,⊤}.
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.
PourB⊥2 :
[[Π]]B⊥2(σ)=⊥si¬Π(σ)∧ ∀µ∈Σ∞· ¬Π(σ·µ), [[Π]]B⊥2(σ)=?dans les autres cas.
PourB3 :
[[Π]]B3(σ)=⊥si¬Π(σ)∧ ∀µ∈Σ∞· ¬Π(σ·µ), [[Π]]B3(σ)=⊤siΠ(σ)∧ ∀µ∈Σ∞·Π(σ·µ), [[Π]]B3(σ)=?dans les autres cas.
PourB⊤
2 : [[Π]]B⊤
2(σ)=⊤siΠ(σ)∧ ∀µ∈Σ∞·Π(σ·µ),
[[Π]]B⊤2(σ)=?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 B⊥2, 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, avecB⊤2, 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∈φ,[[Π]]B(σgood),[[Π]]B(σbad)
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∗(B⊥2)=Safety(Σ) (ii) MP∗(B⊤2)=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∗(B⊥2). 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 dansB⊥2 de ces deux s´equences sont diff´erentes. D’une part, nous avons queΠ(σgood)(car σgood∈φ) et donc[[Π]]B⊥2(σgood)=?. D’autre part, nous avons¬Π(σbad)etσbad<Af(ψ)(carσbad<φ).
En utilisant la Propri´et´e1du Chapitre3, nous avons ∀µ∈Σ∞,¬Π(σbad·µ),i.e.,[[Π]]B⊥2(σbad)=⊥.
– SoitΠ∈MP∗(B⊥2), 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[[Π]]B⊥2(σmin)=?, 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∗(B⊤2) est similaire au raisonnement pour montrer que Safety(Σ)⊆MP∗(B⊥2). 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∗(B⊤2) ⊆ Guarantee(Σ) se fait de fa¸con analogue au raisonnement montrant que MP∗(B⊥2)⊆Safety(Σ), en montrant que siΠ∈MP∗(B⊤2), alorsΠv´erifie Π =E(Pref(Π)).
Preuve de (iii)
– La preuve deSafety(Σ)∪Guarantee(Σ)⊆MP∗(B3)est ´evidente en remarquant queMP∗(B⊥2)⊂MP∗(B3) et MP∗(B⊤2)⊂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(B⊥2)
MP(B
3)
MP
∗(B
3)
MP(B⊤2)
MP∗(B⊤2) MP∗(B⊥2)
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 avecB⊥2 niB⊤2. 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[[Π]]B3(σgood)=[[Π]]B3(σbad)=?. Ainsi,Πn’est pas B3-monitorable au sens de la D´efinition25.
En revanche,ΠestB4-monitorable et ∀σgood∈Π,∀σbad∈Π,[[Π]]B4(σgood)=⊤p et [[Π]]B4(σbad)=⊥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(B⊤2),
– MP(B⊥2), – et MP(B3).
Les classes MP(B⊤2)etMP(B⊥2)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∗(B⊤2),MP∗(B⊥2),
– 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∗(B⊤2) (resp. MP∗(B⊥2)) 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.