Modely konkurentných systémov Formálne metódy tvorby softvéru

ii.fmph.uniba.sk
  • No tags were found...

Modely konkurentných systémov Formálne metódy tvorby softvéru

Modely konkurentných systémovFormálne metódy tvorby softvéruDamas GruskaKatedra aplikovanej informatiky, I20, gruska@fmph.uniba.skPrednáška 10.1 / 38


Modálna logika: Hennessy - Milner logikaΦ ::= true|false|Φ 1 ∧ Φ 2 |Φ 1 ∨ Φ 2 |[K]Φ| < K > Φkde K ⊆ Act a Act je množina akcíı.skratky: tt za true a ff za falseP |= ttP ̸|= ffP |= Φ 1 ∨ Φ 2 iff P |= Φ 1 alebo P |= Φ 2P |= Φ 1 ∧ Φ 2 iff P |= Φ 1 a P |= Φ 2P |= [K]Φ iff ∀R ∈ {P ′ |P x → P ′ , x ∈ K} platí R |= ΦP |=< K > Φ iff ∃R ∈ {P ′ |P x → P ′ , x ∈ K} také, že R |= Φ2 / 38


Hennessy - Milner logikaSkratky:−K miesto Act \ K−a 1 , . . . , a n miesto −{a 1 , . . . , a n }− miesto −∅[−]ff - deadlockNil |= [−]ffP môže vykonať a a len a:P |=< − > tt ∧ [−a]ff(K)Φ def = < K > tt ∧ [−K]ff ∧ [−]Φlen K akcie sa môžu vykonať a po vykonaní K akcie výsledok spĺňaΦ3 / 38


Hennessy - Milner logikaAko ďaľšia akcia sa musí vykonať a:(a)ttP |= (a)tt iff ∃R ∈ {P ′ |P a → P ′ } a {P ′ |P b → P ′ , a ≠ b} = ∅4 / 38


Hennessy - Milner logikaRozšírenie:P |= [| |]Φ iff ∀R ∈ {P ′ |P ⇒ P ′ } R |= ΦP |=> Φ iff ∃R ∈ {P ′ |P ⇒ P ′ } R |= Φ[| |] a > sa nedajú nahradiť pomocou [ ] a < >.5 / 38


Hennessy - Milner logikaNechD 0D i+1D0aDi+1adef= τ.Nildef= τ.D idef= a.Nildef= τ.D a iNech veľkosť formuly ψ (|ψ|) je počet výskytov ∨, ∧, [K], < K >.TheoremNech |ψ| = n (ψ neobsahuje [| |] a >). Potom pre každé m,m ≥ nD m |= ψ iff D a m |= ψ6 / 38


Modálna logikaDefinujme nové modálne operátoryK, K ⊆ A (Act = A ∪ {τ})P |= [|K|]Φ def = [| |][K][| |]ΦP |=> Φ def = >< K >> ΦP |= [|K|]Φ iff ∀R ∈ {P ′ |P a ⇒ P ′ , a ∈ K} R |= ΦP |=> Φ iff ∃R ∈ {P ′ |P a ⇒ P ′ , a ∈ K} R |= Φ7 / 38


Modálna logikaP môže vykonať a a len a:P |=< − > tt ∧ [−a]ffobdoba > tt ∧ [| − a|]ffNech:Cl = tick.ClCl ′ = tick.Cl ′ + τ.NilCl ′ |=> tt ∧ [| − tick|]ffale Cl ′ sa môže dostať do deadlocku, t.j.Cl ′ ̸|= [| |] > ttVylepšíme to formulou Φ = [| |] > tt ∧ [| − tick|]ffCl |= ΦCl ′ ̸|= Φ8 / 38


Modálna logikaNech:Cl ′′ = tick.Cl ′′ + τ.Cl ′′Cl ′′ |= Φale Cl ′′ nemusí nikdy vykonať tick.Proces diverguje ak môže stále vykonávať interné τ akcie (P ↑).Proces konverguje ak nediverguje (P ↓).Cl ′ ↓ a Cl ′′ ↑Zataǐl toto nevieme vyjadriť modálnou logikou.9 / 38


Modálna logikaZavedieme nové operátory.P |= [| ↓ |]Φ iff P ↓ a ∀R ∈ {P ′ |P τ ⇒ P ′ } R |= ΦP |= [| ↓ K|]Φ iff P ↓ a ∀R ∈ {P ′ |P a ⇒ P ′ , a ∈ K} R |= Φ10 / 38


Modálna logikakombinácie:[|K ↓ |] . . . [| |][K][| ↓ |][| ↓ K ↓ |] . . . [| ↓ |][K][| ↓ |]To čo sme chceli pôvodne vyjadriť je teda:Φ ′ = [| ↓ |] > tt ∧ [| − tick|]ffCl |= Φ ′ a Cl ′′ ̸|= Φ ′ 11 / 38


Modálna logikaNechCl 0Cl i+1def= Nildef= tick.Cl iaP def = ∑ i≥0 Cl i a R def = P + ClPotom P ≁ R ale nedajú sa rozĺıšiť žiadnou formulou, t.j. ∀Φ platíP |= Φ iff R |= Φ.12 / 38


Modálna logikaDefinitionProces P voláme bezprostredne image finite ak množina{P ′ |P x → P ′ , x ∈ Act} je konečná.Proces voláme image finite ak každý proces z{P ′ |P s → P ′ , s ∈ Act ∗ } je bezprostredne image finite.TheoremAk P, Q sú image finite a ∀Φ platí P |= Φ iff R |= Φ potomP ∼ R.13 / 38


Temporálne vlastnostiPomocou predchádzajúcich modálnych formúl nevieme vyjadriťvlastnosti, ako:- akcia x je vždy možná,- akcia x sa raz musí vykonať,- ak sa raz vykoná akcia x, tak potom sa raz bude môcť vykonaťakcia y.Definujme:||Φ|| E = {P ∈ E|P |= Φ}t.j. podmnožina E, ktorá spĺňa Φ.14 / 38


Temporálne vlastnostiPriama definícia:||tt|| E||ff || E||Φ ∧ Ψ|| E||Φ ∨ Ψ|| Edef= Edef= ∅def= ||Φ|| E ∩ ||Ψ|| Edef= ||Φ|| E ∪ ||Ψ|| E 15 / 38


Temporálne vlastnostiZavedieme zobrazenie:||♯|| E : 2 E → 2 Epre ♯ ∈ {[K], < K >, [| |], >, [| ↓ |]}.||♯Φ|| E = ||♯|| E ||Φ|| E||[K]|| E (X ) = {P ∈ E| ak P y → P ′ a y ∈ K tak P ′ ∈ X }|| < K > || E (X ) = {P ∈ E| existuje P ′ ∈ X , existuje y ∈ K a P y → P ′ }16 / 38


Temporálne vlastnostiPríklad:Cl 1 = tick.tak.Cl 1E = {Cl 1 , tak.Cl 1 }|| < K > || E (X ) = {P ∈ E| existuje P ′ ∈ X , existuje y ∈ K a P y → P ′ }|| < tick > tt|| E = || < tick > || E ||tt|| E= || < tick > || E E= {P ∈ E| existuje P ′ ∈ E, P tick → P ′ }= {Cl 1 }17 / 38


Temporálne vlastnostiMnožina procesov E je transition closed akak P ∈ E a P x → P ′ tak P ′ ∈ EP - bude neprázdna transition closed množina procesov.P(E) - bude najmenšia transition closed množina procesovobsahujúca E.TheoremAk P ∈ P tak P ∈ ||Φ|| P iff P |= Φ.18 / 38


Temporálne vlastnostiTheoremNech E ⊆ F. Potom||Φ|| P ∩ E ⊆ ||Φ|| P ∩ F||Φ|| P ∪ E ⊆ ||Φ|| P ∪ F||♯|| P E ⊆ ||♯|| P F19 / 38


Temporálne vlastnostiMajme reťazec podmnožín P = {E i ⊆ P|i ≥ 0, E i ⊆ E j ak i < j}.||♯|| P je spojitý, ak pre každý takýto reťazec platí:.||♯|| P ⋃ E i = ⋃ ||♯|| P E i20 / 38


Temporálne vlastnostiNech P = {Cl i , Cl|i ≥ 0}.Cl je rôzne od ostatných v P tým, že vei urobiť ľubovoľne veľa kráttick. Táto vlastnosť rozdeľuje P na dve časti {Cl} a P \ {Cl} aletúto vlastnosť nemôžeme vyjadriť jednou formulou.TheoremPre každé Φ ak Cl ∈ ||Φ|| P tak existuje j, j ≥ 0 také, že pre k ≥ jCl k ∈ ||Φ|| P .21 / 38


Temporálne vlastnostiBeh procesu P 0 je konečná alebo nekonečná postupnosť:xP0 x0 →1 xP1 →2P2 → . . .Ak má beh konečnú dĺžku tak jeho posledný proces je deadlock. 22 / 38


Temporálne vlastnostiIdeme vyjadriť, že proces Cl môže vykonať akciu tick:Z def = < tick > ttIdeme vyjadriť, že proces Cl môže stále vykonávať akciu tick:Z def = < tick > ZE = || < tick > || P E = {P ∈ P| existuje P ′ ∈ E, P tick → P ′ }t.j E je pevný bod nasledujúcej funkcie:teda f (E) = Ef (X ) = || < tick > || P X23 / 38


Temporálne vlastnostiInak povedané, E je pre-pevný bod funkcie f , t.j.f (E) ⊆ E (|| < tick > || P E ⊆ E)a zároveň post-pevný bod funkcie f , t.j.E ⊆ f (E) (E ⊆ || < tick > || P E)24 / 38


Temporálne vlastnostiZ toho dostávame dve podmienky pre riešenie:PRE:Ak P ∈ P a P tick → P ′ a P ′ ∈ E potom P ∈ E.POST:Ak P ∈ E potom P tick → P ′ pre nejaké P ′ ∈ E.Ak P = {Cl} tak úloha má dve riešenie ∅, {Cl}, ∅ ⊆ {Cl} -najmenšie a najväčšie.25 / 38


Temporálne vlastnostiPríklad:P = {C i |i ∈ N}C 0C 2i+1C 2i+2def= tick.C 0 + inc.C 1def= inc.C 2i+2 + dec.C 2idef= tick.C 2i+2 + inc.C 2i+3 + dec.C 2i+1Každá podmnožina {C 2i |i ∈ N} spĺňa PRE a POST.∅ je najmenšie riešenie,{C 2i |i ∈ N} je najväčšie riešenie a má to nekonečne veľa riešení.Nech P je generované z Cl 1 = tick.tak.Cl 1 . Potom to má lenjedno riešenie - ∅.26 / 38


Temporálne vlastnostiVo všeobecnosti majú takéto rovnosti dve špeciálne riešenia -najväčšie a najmenšie (v množinovom zmysle - ⊆), i keď tietomôžu byť rovnaké.Najmenšie riešenie je prienik všetkých pre pevných bodov anajväčšie je zjednotenie všetkých post=pevných bodov.TheoremNech P je množina a nech g : 2 P → 2 P je monotónne zobrazenievzhľadom na ⊆. Potom- g má najmenší pevný bod vzhľadom na ⊆ daný⋂{E ⊆ P|g(E) ⊆ E}- g má najväčší pevný bod vzhľadom na ⊆ daný⋃{E ⊆ P|E ⊆ g(E)}27 / 38


Temporálne vlastnostiVo všeobecnosti, νZ. < K > Z vyjadruje schopnosť vykanávaťakcie z K donekonečna.νZ. < − > Z - nekonečné chovanieνZ. < τ > Z - divergenciaPredchádzajúca veta sa dá aplikovať na každú modálnu rovnicuZ def = Ψ, kde Ψ pozostáva z modálnych a boolovských spojok,konštánt tt, ff a Z.30 / 38


Temporálne vlastnostiNech Ψ neobsahuje Z aZ = Ψ∨ < K > Zkaždé riešenie E ⊆ P musí spĺňaťE = ||Ψ|| P ∪ || < K > || P EPRE (f (E) ⊆ E)ak P ∈ P a (P |= Ψ alebo P x → P ′ pre x ∈ K a P ′ ∈ E) potomP ∈ EPOST (E ⊆ f (E))ak P ∈ E potom P |= Ψ alebo P x → P ′ pre nejaké x ∈ K a nejakéP ′ ∈ E31 / 38


Temporálne vlastnosti- najmenšie riešenie je prienik všetkých PRE a najväčšie riešenie jezjednotenei všetkých POST- každé riešenie E čo spĺňa PRE musí obsahovať tie procesy z P svlastnosťou Ψ.Obsahuje aj tie, čo nemajú vlastnosť Ψ ale môžu vykonaťpostupnosť akcíı z K a výsledok spĺňa Φ.P 0 má vlastnosť µZ.Ψ∨ < K > Z akxP0 x0 →1 xP1 →2P2 → . . .kde P n |= Ψ pre nejaké n a pre j < n platí x j ∈ K.Maximálne riešenie obsahuje i proces, keď Ψ nikdy nebude platiť.32 / 38


Temporálne vlastnostiµZ.Ψ∨ < − > Zraz bude Ψ platiťµZ.Ψ∨ < τ > Z> Ψ33 / 38


Temporálne vlastnostiNech Ψ neobsahuje Z aZ = Ψ∧ < K > Z- najmenšie riešenie ff- najväčšie riešeniePOST (E ⊆ f (E))ak P ∈ E potom P |= Ψ a P x → P ′ pre nejaké x ∈ K a nejakéP ′ ∈ Eprocesy majú nekonečné behy a všetky spĺňajú Ψ34 / 38


Dualita||¬Ψ|| P = P \ ||Ψ|| Pno nechceme negáciu - keďže s ňou nie je zaručená monotónnosť ateda riešenie rovníc - existencia pevného boduPríklad:Z = ¬ZMohli by sme používať negáciu ak by v rovniciZ = Ψv Ψ bolo Z obsiahnuté v rozsahu párneho počtu negácíı.35 / 38


Dualitanegácíı sa možno vyhnúťΨ c ... komplementárna formula k Ψtt c = ffff c = tt(Ψ ∧ Φ) c = Ψ c ∨ Φ c(Ψ ∨ Φ) c = Ψ c ∧ Φ c([K]Ψ) c = < K > Ψ c(< K > Ψ) c = [K]Ψ c(µZ.Ψ) c = νZ.Ψ c(νZ.Ψ) c = µZ.Ψ c 36 / 38


DualitaPríklad:(< tick > tt∧ < tak >) c = [tik]ff ∨ [tak]ffTheorem||Ψ c || P = P \ ||Ψ|| P 37 / 38


DualitaPríklad:νZ < τ > Z ... divergencia(νZ < τ > Z) c = µZ[τ]Z ... konvergenciaP má vlastnosť µZ[K]Z ak nedokáže urobiť nekonečný behpozostávajúci výlučne z K akcíı.P má vlastnosť µZ[−]Z ak nemá nekonečné behy.(neznamená to, že existuje n také, že po n krokoch proces skončí)38 / 38

More magazines by this user
Similar magazines