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, σ0/α0,q1)· · ·(qi, σi/αi,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↓Π, σ, ǫ)σ֒0→/α0(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, σ0/α0,q1)· · ·(qs−1, σs−1/αs−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., σ···i⇓A↓Π σ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ω).