• Nenhum resultado encontrado

Correction des transformations

No documento Yliès Falcone (páginas 128-131)

6.5 Synth`ese de moniteurs d’enforcement

6.5.2 Correction des transformations

6.5 : Synth`ese de moniteurs d’enforcement

1 2 3

4 {d auth, g auth}

r auth log

Σ\ {log}

{op, r auth}

log

Σ

1 2 3

4

{d auth, g auth}/dump

r auth/store log/store Σ\ {log}/halt

{op, r auth}/halt log/store

Σ/halt

AΠ4 A↓Π4

Σ\ {r auth} Σ\ {r auth}/dump

P =∅, R={1}

Figure6.8 – Un automate de response et l’EM correspondant pour lar-propri´et´eΠ4

Exemple 27 (Transformation response) Consid´erons un ensemble d’´ev´enements Σ = {a,b,c}, la Fig.6.7(partie gauche) montre un automate de Streett reconnaissant lar-propri´et´e de response exprim´ee en utilisant les expressions r´eguli`eres((a·b),(a·b)ω). Son ensemble d’´etats est{1,2,3}, l’´etat initial est 1, et nous avons R={2}et P=∅. La partie droite montre l’EM enfor¸cant la mˆeme propri´et´e, obtenu par la transformationTransResponse. On peut remarquer qu’il y a un ´etat Haltqui est l’´etat3.

Exemple 28 (Transformation Response) La partie droite de la Fig.6.8montre l’EM enfor¸cant la r-propri´et´e de responseΠ4 introduite dans l’Exemple3, obtenu par la transformationTransResponse. Il y a un ´etatHaltqui est l’´etat4.

Pour la classe des r-propri´et´es de safety. Nous notonsAΠ=(QAΠ,qinit

AΠ,Σ,−→AΠ,(∅,P)). Consi- d´erons une s´equence d’ex´ecution du programme σ ∈ E xec(PΣ). Nous ´etudions l’effet de la soumis- sion de σ `a AΠ. Nous associerons l’ex´ecution de σ sur AΠ `a l’ex´ecution de σ sur AΠ. L’ex´ecution de σ sur AΠ produit une trace (q0, σ0,q1)·(q1, σ1,q2)· · ·(qi, σi,qi+1)· · · qui correspond `a une trace (q0, σ00,q1)· · ·(qi, σii,qi+1)· · · sur AΠ avec q0 = qinitAΠ. Nous distinguons deux cas selon que la s´equenceσsatisfait la propri´et´eΠou non.

Le premier cas estΠ(σ).L’automate de StreettAΠaccepteσ, distinguons selon queσest finie ou non.

– Si σ∈Σ, soitn=|σ|. Commeσest accept´ee parAΠ(et selon la D´efinition17, p. 50), nous savons qu’en lisant σ, l’automate “reste dans les ´etatsP” : nous avonsR=∅ et pas de transition depuis les

´etatsPvers les ´etats PpuisqueAΠ est un automate de safety.

Si σ=ǫ, nous avons (6.22) carǫ⇓AΠ ǫ. De plus,Pref(φ, ǫ)=∅, ce qui donne (6.24).

Sinon (σ , ǫ), selon les contraintes de la relation de transition d’un automate de safety et (TransSafety1), la trace deσsurAΠ est telle que∀i≤n, αi=dump∨αi=off.

En utilisant la trace d’ex´ecution deAΠet la d´efinition des op´erations d’enforcement, nous d´eduisons la d´erivation de configurations suivante :

(qinit

A↓Π, σ, ǫ)σ֒00(q1, σ1···1, ǫ)· · ·σn−2֒→n−2(qn−1, σn−1···n−1, ǫ)σ֒→n−1(qn, σn, ǫ) comme∀i<n·dump(σi, ǫ)=off(σi, ǫ)=(σi, ǫ)

Par d´eduction, en utilisant les d´erivations en plusieurs pas, nous avons(qinit

AΠ, σ, ǫ)⇒σAΠ(qn−1, ǫ, ǫ).

C’est-`a-direσ⇓AΠ σ. Ce qui assure (6.22). Par ailleurs, selon le crit`ere d’acceptation desr-propri´et´es, nous avonsφ(σ), ce qui nous permet de d´eduire (6.23), carσ=σ.

– Siσ∈Σω, alors en utilisant la d´efinition du crit`ere d’acceptation des s´equences finies (D´efinition17, p. 50) pour un automate de Streett et la d´efinition des automates de safety, nous avonsvinf(σ)⊆P.

Ce qui signifie que les seuls ´etats visit´es infiniment souvent sont des ´etatsP. Comme il n’y a pas de transition depuis un ´etat dans Pvers un ´etat dans P, aucun ´etat deP n’est visit´e. Le run de σ surAΠ estt.q.∀i∈N·qi∈P. Ce qui par un raisonnement similaire nous conduit `a trouver la trace de σsur AΠ. La s´equence des op´erations d’enforcement v´erifie ainsi l’expression r´eguli`ere dumpω+dump·offω. Nous avons∀σ ∈Σ, σ ≺σ ⇒σAΠ σ. Il s’en suit que σ⇓AΠ σ. Nous avons ainsi (6.22) et (6.23).

Le deuxi`eme cas est ¬Π(σ). La s´equence σ n’est pas accept´ee par AΠ. Il y a deux cas selon que Pref(φ, σ)=∅ou non.

– Si Pref(φ, σ)=∅.Selon les contraintes sur les automates de safety,AΠd´emarre dans un ´etat Pet reste dedans : il n’y a pas de transition depuis les ´etats Pvers les ´etatsP. Nous d´eduisons que la trace d’ex´ecution deσsurAΠ estt.q.∀i>0·qi<P. En utilisant la d´efinition de la transformation TransSafetynous pouvons trouvertrace(σ,AΠ). Ainsi, l’op´eration d’enforcement r´ealis´ee parAΠ

est toujourshalt. C’est-`a-direσ⇓AΠ ǫ. (6.22). Ensuite Pref(φ, σ)=∅implique que∀σ≺σ,¬φ(σ).

Nous avons (6.24).

– Sinon (Pref(φ, σ),∅), il y a au moins un pr´efixe deσsatisfaisantφ. CommeΠest uner-propri´et´e de safety, nous pouvons d´ecomposerσ enσgood·σbad o`u :

– σgood est le plus long pr´efixe deσsatisfaisantφ (et ´egalementΠ), et tous les pr´efixes deσgood

satisfontφ; – σbad,ǫ.

En utilisant un raisonnement similaire `a celui utilis´e dans le premier cas, nous pouvons trouver surAΠune trace(q0, σ0,q1)· · ·(qs−1, σs−1,qs), avec s=|σgood|. `A laquelle nous pouvons associer une trace surA↓Π :(q0, σ00,q1)· · ·(qs−1, σs−1s−1,qs). De plus comme∀i∈[0,s−1],ReachAΠ(qi)*P, nous avons∀i∈[0,s−1], αi=dump.

L’ex´ecution de σbad produit une trace (qs, σs,qs+1)· · ·(qs+j, σs+j,qs+j+1)· · ·, avec j > 0. Ensuite, AΠ passe de qs−1 ∈ P `a qs < P. Apr`es quoi, selon (TSafety2), nous obtenons pour i > s, (q0, σ0/dump,q1)· · ·(qs−1, σs−1/dump,qs)·(qs, σs/halt,qs+1)· · ·(qi, σi/halt,qi+1)· · · (avec∀i>s·qi<P).

Comme dans le premier cas, comme dump(σi, ǫ) = (σi, ǫ) nous trouvons que (qinit

AΠ, σ, ǫ) σgood (qs−1, σbad, ǫ). Ensuite, en utilisant ∀i > |σgood| ·halt(σi, ǫ) = (ǫ, ǫ), ∀i > |σgood|,(qinit

AΠ, σ, ǫ) σgood (qi, σi···, ǫ),i.e., σ···iAΠ σgood. Il s’en suit que nous avons :

– Pour toutσ∈Σ t.q.σσgood≺σ, nous avonsσAΠ σ, ce qui donne (6.22). Ensuite comme

6.5 : Synth`ese de moniteurs d’enforcement φ(σ), nous obtenons (6.23).

– Pour toutσ∈Σt.q.σgood≺σ≺σ, nous avonsσA↓Π σgood(6.22). De plus¬φ(σ), etσgoodest le plus long pr´efixe deσ satisfaisantφ. C’est-`a-direPref(φ, σ),∅, etMax(Pref(φ, σ))=σgood. Ce qui donne (6.24).

Pour la classe des r-propri´et´es de guarantee. La preuve pour les r-propri´et´es de guarantee suit le mˆeme principe que celle pour les r-propri´et´es de safety. Aussi, nous ne faisons que d´ecrire la preuve, la preuve compl`ete peut ˆetre trouv´ee dans l’AnnexeA.4.1(p.197). Consid´erons une s´equence d’ex´ecutionσ∈Exec(PΣ). En examinant le run deσsurAΠ, nous d´eduisons, en utilisant la d´efinition de la transformationTransGuarantee, la forme de la s´equence des op´erations d’enforcement. Nous distinguons deux cas :Π(σ)et¬Π(σ).

– Le premier cas est Π(σ). Cela signifie que le run deσsurAΠa atteint un ´etatRet reste dedans. Si σest une s´equence finie, alors la s´equence est de la formestore·off+. Sinon (σest une s´equence infinie) la s´equence est de la formestore·offω.

– Le deuxi`eme cas est¬Π(σ). Ce qui signifie que le run deσsurAΠ n’atteint pas un ´etatRet reste donc dans les ´etatsR. Siσest une s´equence finie, la s´equence des op´erations d’enforcement est de la formestore·halt. Sinon (σest une s´equence infinie), la s´equence des op´erations d’enforcement v´erifie l’expression r´eguli`erestoreω+store·haltω.

Pour la classe des r-propri´et´es d’obligation. Pour prouver la correction de cette transformation, nous allons montrer que : l’EM obtenu par l’application des transformationsTransSafety,TransGuarantee, l’op´erationIntersection (cet EM est correct par construction) ; et l’EM obtenu par l’application directe de TransObligation, sont les mˆemes.

Pour prouver le th´eor`eme, nous montrons que la propri´et´e suivante est v´erifi´ee : ´etant donn´e AΠ

reconnaissantΠ

∀k≥1, Π∈Obligationk(Σ)∧ AΠ=TransObligation(AΠ)⇒Enf(AΠ,Π,PΣ) Pour cela, nous r´ealisons une induction surko`u lar-propri´et´eΠest unek-obligation.

Cas de base.Pour le cas de base,k=1,Πest une simple obligation. Nous notonsAΠ=(QAΠ,qinit

AΠ,Σ,−→AΠ

,{(R,P)}). Soitσ∈Σ. ´Etudions l’effet de la soumission de deσsurAΠ. Il y a deux cas en fonction de Π(σ).

– Le premier cas est Π(σ).Dans ce cas, la s´equence σ est accept´ee par AΠ. Selon les contraintes d’un automate d’obligation, l’ex´ecution de σ sur AΠ produit une trace d’ex´ecution (q0, σ0,q1)· (q1, σ1,q2)· · ·(qi, σi,qi+1)· · · deσtelle queq0=qinitAΠ et

– soit chaque ´etatqiest dans P,

– soit il existe 0≤kt.q.∀i<k·qi∈R∧ ∀i≥k·qi∈R

(il n’y a pas de transition depuisq∈Pversq∈Pet depuisq∈Rversq∈R).

Dans les deux cas, nous pouvons suivre le raisonnement pr´ec´edemment utilis´e pour lesr-propri´et´es de safety et guarantee pour obtenir la trace surAΠ. Notons que si les deux contraintes pr´ec´edentes sont vraies simultan´ement, la forme de la s´equence d’ex´ecution est la mˆeme.

– Le deuxi`eme cas est ¬Π(σ). Similairement dans ce cas, cela revient aux cas o`u Π est soit une r-propri´et´e de safety soit de guarantee.

Enonc´e d’induction.´ Soitn ∈N, supposons que pourk≤n, siΠ est unek-obligation reconnue par un automate dek-obligationAΠ, alors l’EMAΠ=TransObligation(AΠ)enforceΠ, c’est-`a-dire, nous avons Enf(AΠ,Π,PΣ).

Maintenant consid´erons Πune r-propri´et´e de(k+1)-obligation, AΠreconnue par un automate de (k+1)-obligation, et A↓Π=TransObligation(AΠ). CommeΠest uner-propri´et´e de(k+1)-obligation,Π peut ˆetre exprim´ee commeTk+1

i=1Πi o`u lesΠisont des simplesr-propri´et´es d’obligation (Lemmeα, p.44).

L’expression de Π peut ˆetre r´ecrite commeΠ = (Tk

i=1Πi)∩Πk+1. En utilisant le Lemme β(p. 51), on peut trouver deux automates reconnaisseursAΠ/{1,...,k} reconnaissantTk

i=1ΠietAΠ/{k+1} reconnaissantΠk+1. Maintenant en utilisant l’hypoth`ese d’induction, nous pouvons appliquer TransObligation() `a ces deux automates pour obtenir deux EMsAΠ/{1,...,k} enforcantTk

i=1ΠietAΠ/{k+1} enforcantΠk+1. En utilisant l’op´eration Intersection(D´efinition49), on peut obtenir un EMAΠ =Intersection(AΠ/{1,...,k},AΠ/{k+1}) enforcant (Th´eor`emeµ)(Tk

i=1Πi)∩Πk+1=Tk+1

i=1Πi, c’est-`a-direΠ.

Maintenant, examinons l’EMAΠobtenu en appliquant directement la transformationTransObligation sur AΠ. Nous comparons cet EM avec AΠ obtenu par l’hypoth`ese d’induction et la construction intersection (correct par construction).

– Pour AΠ, selon la D´efinition52deTransObligation: – QAΠ =QAΠ,

– qinit

AΠ =qinit

AΠ,

– et ∀q∈QAΠ,Γ(q))=⊓ki=+11⊔({βi, γi}).

– Pour AΠ, selon la D´efinition49de l’intersection entre deux EMs : – QAΠ =QAΠ/{k+1} ×QAΠ/{1,...,k} =QAΠ×QAΠ,

– qinit

AΠ

=qinit

AΠ/{k+1} ×qinit

AΠ/{1,...,k} =qinit

AΠ×qinit

AΠ,

– et ∀(q,q)∈QAΠ,Γ((q,q))=⊓ki=1⊔({βi, γi})⊓(⊔({βk+1, γk+1)), i.e.,α=⊓ki=+11⊔({βi, γi}).

– o`u,∀i∈ {1, . . . ,k+1}: – βi est

– off siq∈Pi∧ReachAΠ(q)⊆Pi – dumpsiq∈Pi

– halt siq<Pi – γi est

– off siq∈Ri

– halt siq<Ri∧∄q∈Ri·q∈ReachAΠ(q) – store siq<Ri∧ ∃q∈Ri·q∈ReachAΠ(q)

C’est-`a-dire que nous pouvons exhiber une bijection entre AΠ

etAΠ: ∀q∈QAΠ, l’´etatq dansAΠ

est en relation avec l’´etat (q,q)dansAΠ. Formellement, entre les deux EMsAΠ etAΠ, il y a une relation R ⊆(QAΠ ×(QAΠ×QAΠ)) d´efinie parR ={(q,(q,q)) |q ∈ QAΠ}. Les deux EMs sont ´egaux (ils diff´erent seulement par le nom de leur ´etats). En cons´equence, l’EM produit en appliquant directement TransObligationsurAΠest correct. Ce qui conclut la preuve pour lesr-propri´et´es de la classeObligation.

Pour la classe des r-propri´et´es de response. De fa¸con similaire auxr-propri´et´es de guarantee, nous examinons le run d’une s´equence d’ex´ecution σ∈Exec(PΣ), et ensuite, suivant la d´efinition de la transformationTransResponse, nous d´eduisons la forme de la s´equence des op´erations produites. La preuve compl`ete peut ˆetre trouv´ee dans l’AnnexeA.4.2.

– Le premier cas estΠ(σ). Nous distinguons deux cas selon le fait queσsoit une s´equence finie ou non.

– Siσest une s´equence finie, cela signifie que le run deσsurAΠ termine dans un ´etatR. Ainsi, la derni`ere op´eration d’enforcement produite par AΠ estdump. La forme de la s´equence des op´erations d’enforcement est de la forme (store+dump)·dumpou(store+dump)·off .

– Si σest une s´equence infinie, alors cela signifie qu’un ´etatRest visit´e infiniment souvent. D’o`u, AΠr´ealise r´eguli`erement l’op´erationdumpouoff (cf. Propri´et´e9, p.104). Ainsi la forme de la s´equence des op´erations d’enforcement est(store·dump)ω.

– Le deuxi`eme cas est ¬Π(σ). Nous distinguons selon queσsoit une s´equence finie ou non.

– Si σest une s´equence finie, alors cela signifie que le run deσsurAΠtermine dans ´etatR. Ainsi, la derni`ere op´eration d’enforcement r´ealis´ee par AΠeststoreouhalt. La forme de la s´equence des op´erations d’enforcement est

(store+dump)·(halt+store)

+store·halt.

– Si σ est une s´equence infinie, alors cela signifie que les ´etats R ne sont pas visit´es infiniment souvent. Alors, A↓Πr´ealise l’op´erationhalt oustore `a partir d’un certain pr´efixe deσ. Ensuite, la forme de la s´equence des op´erations d’enforcement est(store+dump)·(storeω+store·haltω).

No documento Yliès Falcone (páginas 128-131)