• Nenhum resultado encontrado

Operations de composition sur les moniteurs d’enforcement

No documento Yliès Falcone (páginas 118-123)

6.4 : Operations de composition sur les moniteurs d’enforcement

α∈Ops, αest l’op´eration d’enforcement compl´ementaire deα. Nous d´efinissonsdump=store,off =halt, etα=αpourα∈Ops.

6.4.1 N´ egation

Consid´erant une r-propri´et´e de safety ou de guarantee (enfor¸cable), nous montrons comment un EM peut ˆetre transform´e de telle mani`ere que l’EM obtenu enforce la n´egation de lar-propri´et´e enforc´ee originalement. Remarquons que nous ne pouvons pas d´efinir de n´egation pour un moniteur d’enforcement pour d´edi´e `a uner-propri´et´e de response. En effet, la n´egation d’uner-propri´et´e de response est une r-propri´et´e de persistence (voir Chapitre3). Cette transformation s’applique de mani`ere indirecte pour les r-propri´et´es d’obligation, en utilisant leur d´ecomposition comme des compositions bool´eennes de r-propri´et´es de safety et de guarantee.

D´efinition 47 (N´egation d’un EM). Etant donn´e un EM´ AΠ=(QAΠ,qinit

AΠ,−→AΠ,Ops,ΓAΠ)d´e- fini sur l’alphabetΣet enforcant lar-propri´et´eΠ, nous d´efinissons Negation(AΠ)=(QAΠ,qinit

AΠ

,−→A

Π

,Ops,ΓAΠ)comme : – QA↓Π =QAΠ,qinit

A↓Π =qinitA↓Π, – →AΠ est d´efinie comme →AΠ

– la fonction de sortieΓAΠ, produisant les op´erations d’enforcement est d´efinie par

∀α∈Ops,ΓAΠ(α)= ΓAΠ(α)

Th´eor`eme λ (Correction de l’op´eration de n´egation d’un EM) : Etant´ donn´e un (QA↓Π,qinitA↓Π,−→AΠ,Ops,ΓA↓Π) d´efini relativement `a un langage d’entr´ee Σ enforcant une r- propri´et´eΠde safety ou de guarantee, l’EM obtenu en utilisant la transformationNegation enforceΠ. Plus formellement :∀Π⊆Σ×Σω

Enf(A↓Π,Π,PΣ)⇒Enf(Negation(A↓Π),Π,PΣ)

Preuve : Soit Π =(φ, ϕ)la r-propri´et´e, avecφ ⊆Σ etϕ⊆Σω. NotonsA↓Π =Negation(AΠ), et ⇒ la relation de d´erivation multipas d´efinie sur les configurations deA↓Πet−→A↓Π. Aussi, commeQAΠ =QAΠ, nous utiliseronsQpour noter les ´etats des deux EMs. Similairement,qinitd´enote les ´etats de d´epart des deux EMs. Nous devons montrer queEnf(A↓Π,Π,PΣ), ce qui signifie que, pour toute s´equence σ∈E xec(PΣ), nous devons montrer que∃o∈Σ t.q.:

σ⇓AΠ o (6.10)

Π(σ)⇒σ=o (6.11)

¬Π(σ)∧Pref(φ, σ)=∅ ⇒o=ǫ (6.12)

¬Π(σ)∧Pref(φ, σ),∅ ⇒o=Max(Pref(φ, σ)) (6.13)

La preuve se r´ealise en deux ´etapes. La premi`ere est pour les s´equences finies, la seconde pour les s´equences infinies.

S´equences finies. La preuve pour les s´equences finies se fait par une induction sur|σ|.

Cas de base.Pour le cas de base|σ|=0; nous avonsσ=ǫ, ensuite nous avons facilement (6.10) car ǫ⇓AΠ ǫ. De plus,Pref(φ, ǫ)=∅, ce qui donne (6.12).

Enonc´e d’induction.´ Soitn∈N, supposons que pour toutes les s´equencesσ t.q.|σ|=n, nous avons l’existence d’une sortieo∈Σ t.q.les contraintes (6.10), (6.11), (6.12) et (6.13) soit v´erifi´ees. Maintenant consid´eronsa∈Σ, et une s´equenceσ·at.q.|σ·a|=n+1, nous ´etudions l’effet de la soumission en entr´ee du dernier ´ev´enementa. Nous voulons prouver qu’il existe une nouvelle sortiet.q.les mˆemes contraintes soient v´erifi´ees.

6.4 : Operations de composition sur les moniteurs d’enforcement Comme σ ⇓A

↓Π o (hypoth`ese d’induction), il existe une configuration (q, ǫ,m) ∈ Q×Σ×Σ t.q.

(qinit, σ, ǫ)⇒o (q, ǫ,m). Ce qui implique que(qinit, σ·a, ǫ)⇒o (q,a,m). C’est-`a-dire que, apr`es avoir luσ,A↓Π est dans un ´etatqavecaen entr´ee, etmcomme contenu m´emoire. Ensuite depuis la configuration(q,a,m), il ´evolue vers une configuration (q, ǫ,m), i.e., (q,a,m) o

֒→ (q, ǫ,m) avec α(a,m) =(o,m), α∈ Ops. La lecture deσ·a surAΠ, induit une ´evolution similaire des configurations :

(qinit, σ·a, ǫ)⇒o (q,a,m) o

֒→(q, ǫ,m) (qinit, σ·a, ǫ)⇒pAΠ(q,a,n)p

֒→AΠ(q, ǫ,n), avec :

– q−→a qAΠ(q)=α, α(a,m)=(o,m), α∈Ops;q,q∈Q;m,m,o,o∈Σ – q−→a AΠ qA↓Π(q)=α, α(a,n)=(p,n), α∈Ops;q,q∈Q;n,n,p,p∈Σ Il y a deux cas selon queφ(σ·a):

– Le premier cas estφ(σ·a). CommeEnf(Π,A↓Π,PΣ),A↓Π produitσ·a, c’est-`a-direσ·a⇓AΠ σ·a.

N´ecessairement,α=dump. Cela correspond `a une op´erationα=storesurAΠ. Maintenant nous distinguons selon queφ(σ)ou non.

– Siφ(σ), en utilisant l’hypoth`ese d’induction (|σ|=n), nous avons soito=ǫ (Pref(φ, σ)=∅) ou o=Max(Pref(φ, σ))(Pref(φ, σ),∅).

Si Pref(φ, σ)=∅, alors nous avons ´egalementPref(φ, σ·a)=∅. La sortie deA↓Πest toujoursǫ, i.e.,o·o=ǫ(6.12).

SiPref(φ, σ),∅, en utilisant l’hypoth`ese d’induction,o=Max(Pref(φ, σ)). Aussiφ(σ·a), ce qui implique queo=Max(Pref(φ, σ·a))(6.13).

– Si ¬φ(σ),i.e., φ(σ), en utilisant l’hypoth`ese d’induction, nous avons queσ ⇓A

Π o avec σ=o.

Ensuiteσ=Max(Pref(φ, σ))carφ(σ). Nous obtenons ´egalement (6.13).

– Le deuxi`eme cas est φ(σ·a). Nous avons soitPref(φ, σ·a),∅soit Pref(φ, σ·a)=∅.

– Si Pref(φ, σ·a), ∅, alors comme Enf(Π,A↓Π,PΣ), nous avons p =Max(Pref(φ, σ·a)). Nous savons que p≺σ·a(car par hypoth`eseφ(σ·a)). Il s’en suit queα∈ {store,halt}. En cons´equence α=dumpet σ·a⇓AΠ σ·a, et par hypoth`ese, nous avonsφ(σ·a). Nous avons (6.10) et (6.11).

– Si Pref(φ, σ·a)=∅. N´ecessairement,α∈ {store,halt}etα∈ {dump,off}. Doncσ·a⇓AΠ σ·a.

S´equences infinies. Nous traitons maintenant la preuve pour les s´equences infiniesσ∈Σω. Dans la suite, nous distinguons selon la classe de lar-propri´et´eΠ. Consid´erons σ∈Σω.

– Si Πest une r-propri´et´e de safety.Nous avons deux cas, selon que ϕ(σ)ou non.

– ϕ(σ). CommeEnf(Π,AΠ,PΣ), nous avons queσ⇓AΠ σ. De plus commeΠest uner-propri´et´e de safety, tous les pr´efixes deσsatisfontφ, c’est-`a-dire∀σ≺σ·φ(σ), et en cons´equenceσAΠ σ. Il s’en suit (Propri´et´e.11) que la s´equence des op´eration d’enforcement produite surAΠest de la forme dumpω+dump·offω. Alors en utilisant la d´efinitions de la transformationNegation, nous trouvons que la s´equence des op´erations d’enforcement surA↓Πest de la formestoreω+store·haltω. Il s’en suit que σ⇓AΠ ǫ. (6.10). CommePref(φ, σ)=∅, nous obtenons (6.12).

– ϕ(σ). Comme Enf(Π,AΠ,PΣ), nous avons que soit Pref(φ, σ) = ∅ ∧o = ǫ ou ∃o ∈ Σ·o = Max(Pref(φ, σ)).

– Traitons d’abord le cas o`uPref(φ, σ)=∅. Dans ce cas, nous avons∀σ∈Σ, σ≺σ,¬φ(σ). Il s’en suit que la s´equences des op´erations d’enforcement produite surAΠeststoreω+store·haltω. En utilisant la d´efinition deNegation, la s´equences des op´erations d’enforcement surAΠ est de la formedumpω+dump·haltω. Il s’en suit queσ⇓A

Π σ. Nous obtenons (6.10).

– MaintenantPref(φ, σ),∅. Soitn=|o|. CommeΠest uner-propri´et´e de safety, nous avons que

∀i≤n·φ(σ···i−1)∧ ∀i>n· ¬φ(σ···i). Ensuite, en utilisant la Propri´et´e11(p.105), nous pouvons trouver la s´equence des op´erations d’enforcement r´ealis´ee parAΠ:dumpn·

storeω+store·haltω . SurA↓Π, en utilisant la d´efinition de la transformationNegation, la s´equence des op´erations d’enforcement devientstoren·

dumpω+dump·offω

. Il s’en suit queσ⇓A

↓Π σ(6.10). Ensuite, ϕ(σ)etσ=σassure (6.11).

– Si Πest une r-propri´et´e de guarantee.Nous avons deux cas, selon queϕ(σ)ou pas.

– ϕ(σ). Comme Enf(Π,AΠ,PΣ), nous avons que σ ⇓AΠ σ. De plus Π est une r-propri´et´e de guarantee, il existe un pr´efixeσdeσt.q.∀σ′′∈Σ, σσ′′, φ(σ′′)∧ ∀σ′′∈Σ, σ′′≺σ⇒ ¬φ(σ′′).

Notons n =|σ|. En cons´equence, comme Π est enforc´ee par AΠ, nous avons ∀σ′′ ∈ Σ, σ′′

σ⇒σ′′A↓Π σ′′∧ ∀σ′′≺σ, σ′′A↓Π ǫ. Il s’en suit que la s´equence des op´erations d’enforcement sur AΠ eststoren·offω. Ensuite, en utilisant la d´efinition de la transformationNegation, nous trouvons que la s´equence des op´erations d’enforcement sur AΠestdumpn·haltω. Il s’en suit que σ⇓A

Π σ(6.10). De plus, nous avons vu queφ(σ), nous avons (6.13).

– ¬ϕ(σ). Sachant queΠest uner-propri´et´e de guarantee,¬ϕ(σ)implique qu’il n’y a pas de pr´efixe deσsatisfaisantφ. CommeEnf(Π,A↓Π,PΣ), nous avons que∀σ≺σ·σ⇓AΠ ǫ. La s´equence des op´erations d’enforcement r´ealis´ee par A↓Πest de la formestore·haltω+(halt)ω. En utilisant la d´efinition de la transformationNegation, la s´equence des op´erations d’enforcement surAΠest de la formedumpω+dump·offω. Il s’en suit queσ⇓AΠ σ. Nous avons (6.10) et (6.11).

6.4.2 Union et intersection

Nous montrons comment la disjonction (resp. conjonction) de propri´et´es enfor¸cables peut ˆetre enforc´ee en construisant l’union (resp. l’intersection) de leur moniteurs d’enforcement associ´es. Ces op´erations entre les EMs sont bas´ees sur la construction de produits entre les EMs et la combinaison des op´erations d’enforcement par rapport au treillis complet(Ops,⊑).

D´efinition 48 (Union de EMs). Etant´ donn´es deux EMs, (QA↓1,qinit

A↓1,−→A↓1,Ops,ΓA↓1), (QA↓2,qinit

A↓2,−→A↓2,Ops,ΓA↓2) d´efinis relativement `a un mˆeme langage d’entr´ee Σ, nous d´efinissons A↓⊔ =Union(A↓1,A↓2)avec QA↓⊔ =(QA↓1×QA↓2), qinit

A↓⊔ =(qinit

A↓1,qinit

A↓2) etHaltA↓⊔ =HaltA↓1×HaltA↓2. La relation de transition de ce moniteur d’enforcement est d´efinie en prenant la borne sup´erieure (⊔) des op´erations d’enforcement. Plus formellement →A↓⊔: QA↓⊔×Σ×Ops → QA↓⊔ est d´efini comme

∀a∈Σ,∀q=(q1,q2)∈QA↓⊔,

q1−→a A↓1q1 q2−→a A↓2q2 A↓⊔

(q1,q2)−→aA↓⊔(q1,q2) ΓA↓⊔((q1,q2))=⊔n

ΓA↓1(q1),ΓA↓2(q2)o

Notons que cette construction n’introduit pas de non-d´eterminisme dans l’EM r´esultant. En effet, comme les deux EMs initiaux sont d´eterministes, il y a toujours une et une seule transition avec un ´element deΣ dans l’EM r´esultant.

Notons queApeut ˆetre d´efini ´egalement de mani`ere ´equivalente en utilisant des versions⊥-complet´ee deA1 etA2 avec la construction pr´edemment d´efinie de l’op´eration union lorsqueA1 et A2 ne sont pas d´efinis sur des vocabulaires identiques. Ceci est du au fait que⊥est idem-potente pour⊔, et ainsi lorsque l’on compose une op´erationop∈Opsavec⊥en utilisant⊔, le r´esultat estop.

Exemple 20 (Union de EMs) Sur la droite de la Fig.6.1 est repr´esent´e l’EM union A↓⊔ construit depuis les EMs A↓e1,A↓e2. Suivant la d´efinition de la construction, l’ensemble d’´etats est le produit cart´esienQA↓1×QA↓2 dans lequel l’´etat(1,2)n’est pas atteignable. L’´etat initial est(1,1). Notons qu’il n’y a pas d’´etatHaltdans l’EM r´esultant carHaltA↓e1×HaltA↓e2 =∅.

L’op´eration d’intersection entre les moniteurs d’enforcement est d´efinie de mani`ere similaire en utilisant l’op´eration borne inf´erieure⊓entre les op´erations d’enforcement :

D´efinition 49 (Intersection d’EMs). Etant donn´es deux EMs´ (QA↓1,qinitA↓1,−→A↓1,Ops,ΓA↓1), (QA↓2,qinitA↓2,−→A↓2,Ops,ΓA↓2) d´efinis relativement `a un mˆeme langage d’entr´ee Σ et un ensemble d’op´erations d’enforcementOps, nous d´efinissons l’EM intersection(QA↓⊓,qinitA↓⊓,−→A↓⊓,Ops,ΓA↓⊓)avec QA↓⊓ =(QA↓1×QA↓2),qinit

A↓⊓=(qinit

A↓1,qinit

A↓2)etHaltA↓⊓ =HaltA↓1×QA↓2∪QA↓1×HaltA↓2. La relation de transition de ce moniteur d’enforcement est d´efinie en prennant la borne inf´erieure (⊓) des op´erations d’enforcement. Plus formellement→A↓⊓:QA↓⊓×Σ×Ops→QA↓⊓est d´efinie par∀a∈Σ,∀q=(q1,q2)∈QA↓⊓,

6.4 : Operations de composition sur les moniteurs d’enforcement

1

2 b/off 1

2

Σ\ {a}/halt

Σ\ {b}/store a/dump

Σ/off

1,1

2,2 2,1 Σ\ {a, b}/store

Σ/off

Σ\ {b}/store

A

Σ/halt

a/dump

A↓Π2

b/off b/off

A↓Π1

1,2

Figure6.1 – Union de deux moniteurs d’enforcement :A↓e1 et A↓e2

q1−→a A↓1q1 q2−→a A↓2q2 A↓⊓

(q1,q2)−→aA↓⊓(q1,q2)

La fonction de sortie des op´erations d’enforcement ΓA↓⊓ est d´efinie par :

∀(q1,q2)∈QA↓⊓A↓⊓((q1,q2))=⊓n

ΓA↓1(q1),ΓA↓2(q2)o

Notons que entre la transformation r´ealisant l’union et celle r´ealisant l’intersection, seule la mani`ere de composer la fonction de sortie change.

Th´eor`eme µ(Correction des op´erations d’union et intersection d’EMs) : Etant´ donn´es (QAΠ1,qinit

AΠ1,−→AΠ1,Ops,ΓAΠ1)et(QAΠ2,qinit

AΠ2,−→AΠ2,Ops,ΓAΠ2), deux moniteurs d’enforcement enforcant deux propri´et´esΠ12 ∈EPsur un programmePΣ, lar-propri´et´eΠ1∨Π2(resp.Π1∧Π2) est enforc´ee par le moniteur d’enforcement union (resp. intersection). Plus formellement :∀Π12⊆Σ×Σω,

Enf(AΠ11,PΣ)∧Enf(AΠ22,PΣ)⇒Enf(Union(AΠ1,AΠ2),Π1∨Π2,PΣ) Enf(AΠ11,PΣ)∧Enf(AΠ22,PΣ)⇒Enf(Intersection(AΠ1,AΠ2),Π1∧Π2,PΣ)

Preuve : Nous traitons la preuve pour l’op´erateurUnion. Pouri∈ {1,2}, nous avonsEnf(AΠii,PΣ), i.e., pour toutσ∈E xec(PΣ), il existeoi∈Σ:

σ⇓AΠi oi (6.14)

Πi(σ)⇒σ=oi (6.15)

¬Πi(σ)∧Prefi, σ)=∅ ⇒oi=ǫ (6.16)

¬Πi(σ)∧Prefi, σ),∅ ⇒oi=Max(Prefi, σ)) (6.17)

NotonsA=Union(A↓ϕ1,A↓ϕ2)(Q,qinit,−→,Ops,Γ),ϕ=ϕ1∨ϕ2, et⇒la relation de d´erivation multi-pas d´efinie sur les configurations deA et−→. Nous devons montrerEnf(A, ϕ,PΣ), ce qui signifie que, ´etant donn´eσ∈E xec(PΣ), nous devons prouver l’existence deo∈Σt.q.:

σ⇓AΠ o (6.18)

Π(σ)⇒σ=o (6.19)

¬Π(σ)∧Pref(φ, σ)=∅ ⇒o=ǫ (6.20)

¬Π(σ)∧Pref(φ, σ),∅ ⇒o=Max(Pref(φ, σ)) (6.21)

Nous consid´erons tout d’abordσ∈Σ, la preuve suivante est faite par r´ecurrence sur|σ|.

Cas de base. Pour le cas de base |σ|=0; nous avonsσ=ǫ. Ensuite nous avons facilement (6.18) car ǫ⇓A↓Π ǫ. De plus,Pref(φ, ǫ)=∅, ce qui donne (6.20).

Enonc´´ e d’induction. Soitn∈Net supposons que pour toutes les s´equencesσt.q.|σ|=n, nous avons l’existence d’une sortieo deAt.q.(6.19) et (6.20).

Comme σ ⇓A o (hypoth`ese d’induction), il existe une configuration (q, ǫ,m) ∈ Q×Σ×Σ t.q.

(qinit, σ, ǫ)⇒o (q, ǫ,m). Ce qui implique(qinit, σ·a, ǫ)⇒o (q,a,m). C’est-`a-dire, apr`es avoir luσ, l’EMA est dans un ´etatqaveca en entr´ee, etmcomme contenu m´emoire. Ensuite depuis la configuration(q,a,m), il

´evolue vers une configuration(q, ǫ,m), c’est-`a-dire(q,a,m) o

֒→(q, ǫ,m)avecα(a,m)=(o,m), α∈Ops.

En lisantσ·a,A produit une sortieo·o. Aussi, la lecture deσ·a surAΠi,i∈ {1,2}, induit l’´evolution de configurations suivante :

(qinit, σ·a, ǫ)⇒oi (qi,a,mi) o

֒→i (qi, ǫ,mi), avecαi(a,mi)=(oi,mi);qi,qi∈QA↓Πi;mi,mi,oi,oi∈Σ.

Il y a deux cas selon queφ(σ·a)ou non.

– Le premier cas estφ(σ·a). Dans ce cas, cela signifie que soitφ1(σ·a)ouφ2(σ·a). Traitons le casφ1(σ·a), le casφ2(σ·a)est identique. CommeEnf(Π1,AΠ1,PΣ), nous avons que∃o1∈Σ·σ·a⇓AΠ1 o1. De plus,φ1(σ·a)implique queo1=σ·a. In´evitablement la derni`ere op´eration d’enforcement deAΠ1est dumpouoff,i.e.,α1={dump,off}(Propri´et´e11, p.105). Il s’en suit que α=⊔({α1, α2})∈ {dump,off}. Selon la d´efinition des op´erations d’enforcement et la Propri´et´e10, nous obtenons queσ·a⇓Aσ·a, i.e., (6.18) et (6.19).

– Le deuxi`eme cas est ¬φ(σ·a). Ce qui implique que¬φ1(σ·a)∧ ¬φ2(σ·a). En utilisant la d´efinition des op´erations d’enforcement, nous avons quatre cas selon quePrefi, σ·a)=∅,i∈ {1,2}.

– Le premier cas estPrefi, σ·a),∅,i∈ {1,2}. Pouri∈ {1,2}, commeEnf(Πi,A↓Πi,PΣ), ¬φi(σ·a) nous donne∃oi∈Σ·oi=Max(Prefi, σ·a)). Maintenant, nous avons soito1≺o2,o2 ≺o1 soit o1=o2.

– Consid´erons le cas o1 ≺o2 (o2 ≺o1 est identique). Dans ce cas, nous avons ∀o1 ∈Σ·o1 ≺ o1 σ·a· ¬φ1(o1), et ∀o2 ∈ Σ ·o2 ≺ o2 σ·a· ¬φ2(o2). Ensuite o1 ≺ o2 implique que o2 =Max(Pref(φ, σ·a)). Nous devons montrer que σ·a⇓A o2. Examinons la s´equence des op´erations d’enforcement r´ealis´ee par A. Nous avons queo2A o2, car la derni`ere op´eration d’enforcement r´ealis´ee en lisanto2σ·aest undumpou unoff (Aest obtenu en prenant la borne sup´erieure des op´erations d’enforcement).

– Similairement au cas o1 =o2, nous avons queo1=o2=Max(Pref(φ, σ·a)). Le raisonnement pr´ec´edent est v´erifi´e.

– Le deuxi`eme cas estPrefi, σ·a)=∅,i∈ {1,2}. Pouri∈ {1,2}, commeEnf(Πi,AΠi,PΣ),¬φi(σ·a) cela nous donneσ·a⇓A↓Π

i,i∈ {1,2}.

– Le trois`eme cas est Pref1, σ·a)=∅ ∨Pref2, σ·a)=∅. SupposonsPref1, σ·a)=∅, le cas Pref2, σ·a)=∅ est identique. CommeEnf(Π1,AΠ1,PΣ), nous avons queσ·a⇓AΠ1 ǫ. Il s’en suit que la s´equence des op´erations d’enforcement sur A↓Π1 est(store+halt). SurA↓Π2, comme Enf(Π2,A↓Π2,PΣ), nous avons que∃o1 ∈Σ·o1=Max(Pref1, σ·a)). Il s’en suit que la s´equence des op´erations d’enforcement r´ealis´ee par A↓Π2 est(store+dump)k−1·dump·(halt+store)n−k o`u k=|o2|. Ensuite la d´efinition suivante de la constructionUnion,A r´ealise la mˆeme s´equence d’op´erations d’enforcement. Avec un raisonnement similaire nous obtenons le r´esultat attendu.

Pour les s´equences infinies, le raisonnement est similaire au raisonnement fait pour le cas inductif.

Cela est fait sur la forme de la s´equences des op´erations d’enforcement r´ealis´ee et en distinguant deux cas selon queϕ(σ)ou¬ϕ(σ).

La preuve pour la construction intersection est conduite de mani`ere similaire. Une cons´equence de ce th´eor`eme est que la classeEPdes propri´et´es enfor¸cables est ferm´ee par union et intersection.

No documento Yliès Falcone (páginas 118-123)