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

ii.fmph.uniba.sk

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 4.1 / 36


PočítadloCount 0Count ndef= inc.Count 1 + zero.Count 0def= inc.Count n+1 + dec.Count n−1 (n > 0)2 / 36


PočítadloCDBdef = inc.(C ⌢ C) + dec.Ddef= ¯d.C + ¯z.Bdef = inc.(C ⌢ B) + zero.BP ⌢ Q def = (P[i ′ /i, z ′ /z, d ′ /d]|Q[i ′ /inc, z ′ /zero, d ′ /dec]) \ {i ′ , z ′ , d ′ }3 / 36


Počítadlo✛ ✘✛inczerodecC¯z¯dinczerodecB✚ ✙✚4 / 36


C (n) = C ⌢ C ⌢ . . . ⌢ C ⌢ Binczerodec✛ ✘✛✘CC . . .✚ ✙✚✙✛B✚5 / 36


PočítadloC (n) =n×{ }} {C ⌢ C ⌢ . . . ⌢ C ⌢ BMusíme ukázať, že:C (0) = inc.C (1) + zero.C (0)C (n) = inc.C (n+1) + dec.C (n−1) (n > 0)Pre n > 0C (n) = C ⌢ C (n−1)= inc.((C ⌢ C) ⌢ C (n−1) ) + dec.(D ⌢ C (n−1) )= inc.C (n+1) + dec.(D ⌢ C (n−1) )6 / 36


PočítadloÚloha:ukázať, že platíD ⌢ C ≈ C ⌢ DD ⌢ B ≈ B ⌢ BB ⌢ B = B7 / 36


Prepisvací systémMajme množinu rovností (axióm, prepisovacích pravidiel) A.To, že term t sa dá prepísať na term t ′ použitím A budemeoznačovať A ⊢ t = t ′ .A ⊢ x = xAk A ⊢ x = y potom A ⊢ y = x.Ak A ⊢ x = y a A ⊢ y = z potom A ⊢ x = z.Ak A ⊢ x i = y i pre i ∈ {1, . . . , n} takA ⊢ f (x 1 , . . . , , x n ) = f (y 1 , . . . , y n )8 / 36


AxiomatizáciaDefinitionProces je konečný ak neobsahuje rekurziu. Proces je sériový, akneobsahuje operátory |, \, [f ].Každý konečný proces je bisimulárny nejakému konečnémusériovému procesu.V ďalšom sa budeme zaoberať len konečnými sériovými procesmi.9 / 36


AxiomatizáciaP = Q znamená, že P a Q sú o-kongruentnéA ⊢ P = Q znamená, že rovnosť môže byť odvodená pomocouaxióm AA 1 :P + Q = Q + P A1P + (Q + R) = (Q + P) + R A2P + P = P A3P + Nil = P A4A 2 :x.τ.P = x.P A5P + τ.P = τ.P A6x.(P + τ.Q) + x.Q = x.(P + τ.Q) A710 / 36


AxiomatizáciaDefinitionP je v štandardnej forme ak P ≡ ∑ ni=1 x i.P i kde každé P i je opäťv štandardnej forme.Poznámka: Nil je v štandardnej forme ak zobereme n = 0.a.Nila.Nil + b.(c.Nil + τ.Nil)sú v štandardnej formeNil + b.Nila.(Nil + b.Nil)nie sú v štandardnej forme11 / 36


AxiomatizáciaTheoremPre každé P existuje P ′ v štandardnej forme, také že A 1 ⊢ P = P ′ .Nil môžeme povyhadzovať a výsledok je v štandardnej forme.12 / 36


AxiomatizáciaTheoremP ∼ Q iff A 1 ⊢ P = Q.Dôkaz:⇐ (bezospornosť)toto už bolo dokázané pre ∼⇒ (úplnosť)Predpokladajme P ∼ Q a že P a Q sú v štandardnej formeP ≡ ∑ ni=1 x i.P i a Q ≡ ∑ mi=1 x i.Q iIndukciou podľa hĺbky P a Q- ak maximálna hĺbka P a Q je 0 tak P a Q sú rovné Nil.- inak nech x.P ′ je sumand P tak P → x P ′ a keďže P ∼ Q takexistuje Q ′ Q → x Q ′ , P ′ ∼ Q ′ t.j. x.Q ′ je sumand Q a podľaindukcie A 1 ⊢ P ′ = Q ′ .13 / 36


AxiomatizáciaIdeme dokázať obdobné tvrdenie pre =.P ≡ a.(b.Nil + τ.Nil), Q ≡ a.(b.Nil + τ.Nil) + a.NilP a Q majú rôzne štandardné formy ale P = Q.DefinitionP je v plne štandardnej forme ak(i) P ≡ ∑ ni=1 x i.P i kde každé P i je opäť v plne štandardnej forme,(ii) ak P ⇒ x P i tak P → x P i .P ≡ τ.(a.(τ.Nil + b.Nil))P ′ ≡ a.(τ.Nil + b.Nil)P, P ′ nie sú v plne štandardnej forme.14 / 36


AxiomatizáciaTheoremAk P x ⇒ P ′ tak A 1 ∪ A 2 ⊢ P = P + x.P ′ .Dôkaz:Indukciou podľa hĺbky štruktúry P.P ⇒ x P ′1. prípad x.P ′ je sumand P (A3)2. prípad x.Q je sumand P a Q ⇒ τ P ′ potom podľa indukcieA 1 ∪ A 2 ⊢ Q = Q + τ.P ′ aA 1 ∪ A 2 ⊢ P = P + x.Q (A3)A 1 ∪ A 2 ⊢ P = P + x.(Q + τ.P ′ ) (podľa predchádzajúcich dvoch)A 1 ∪ A 2 ⊢ P = P + x.(Q + τ.P ′ ) + x.P ′ (A7)A 1 ∪ A 2 ⊢ P = P + x.Q + x.P ′ (z A 1 ∪ A 2 ⊢ Q = Q + τ.P ′ )A 1 ∪ A 2 ⊢ P = P + x.P ′ (z A 1 ∪ A 2 ⊢ P = P + x.Q)15 / 36


Axiomatizácia3. prípad τ.Q je sumand P a Q ⇒ x P ′ potom podľa indukcieA 1 ∪ A 2 ⊢ Q = Q + x.P ′ aA 1 ∪ A 2 ⊢ P = P + τ.Q (A3)A 1 ∪ A 2 ⊢ P = P + τ.Q + Q (A6)A 1 ∪ A 2 ⊢ P = P + τ.Q + Q + x.P ′ (z A 1 ∪ A 2 ⊢ Q = Q + τ.P ′ )A 1 ∪ A 2 ⊢ P = P + τ.Q + x.P ′ (A6)A 1 ∪ A 2 ⊢ P = P + x.P ′ (z A 1 ∪ A 2 ⊢ P = P + τ.Q)16 / 36


AxiomatizáciaTheoremPre každý proces P v štandardnej forme existuje proces P ′ v plneštandardnej forme rovnakej hĺbky, taký že A 1 ∪ A 2 ⊢ P = P ′ .Dôkaz.Indukciou podľa hĺbky P.Nech P ≡ Nil - tak P je už v plne štandardnej forme. Inak prekaždý sumand y.Q procesu P môžeme predpokladať že už je vplne štandardnej forme.Uvažujme všetky dvojice x i .P i , 1 ≤ i ≤ k také, že P x i⇒ P i ale nieP x i→ P i .Potom zoberemeP ′ ≡ P + x 1 .P 1 + · · · + x k .P ka podľa predchádzajúcej vety mámeA 1 ∪ A 2 ⊢ P = P ′ .17 / 36


AxiomatizáciaTheoremP = Q iff A 1 ∪ A 2 ⊢ P = Q.Dôkaz:⇐ (bezospornosť)toto už bolo dokázané pre =⇒ (úplnosť)Podľa predchádzajúcich viet môžeme predpokladať, že P, Q sú vplne štandardnej forme.Indukciou podľa hĺbky P a Q.Ak P ≡ Q ≡ Nil - triviálne.Nech P = Q a x.P ′ je sumand P.Keďže P x → P ′ vieme, že existuje Q ′ , Q x ⇒ Q ′ a P ′ ≈ Q ′ .Navyše Q x → Q ′ keďže Q je v plne štandardnej forme a teda x.Q ′je sumand Q.18 / 36


AxiomatizáciaVieme, že keďže P ′ ≈ Q ′ tak P ′ = Q ′ alebo P ′ = τ.Q ′ aleboτ.P ′ = Q ′ak platí P ′ = Q ′ a keďže oba sú menšej hĺbkyA 1 ∪ A 2 ⊢ P ′ = Q ′a tedaA 1 ∪ A 2 ⊢ x.P ′ = x.Q ′ 19 / 36


Axiomatizáciaak platí P ′ = τ.Q ′ musíme τ.Q ′ previesť do plne štandardnej formyQ ′′A 1 ∪ A 2 ⊢ τ.Q ′ = Q ′′ .Suma dĺžok P ′ a Q ′′ je nižšia a tak môžeme použiť indukčnýpredpokladA 1 ∪ A 2 ⊢ P ′ = Q ′′a tedaA 1 ∪ A 2 ⊢ P ′ = τ.Q ′ a podľa A5A 1 ∪ A 2 ⊢ x.P ′ = x.Q ′Ukázali sme, že každý sumand P ”je” (A 1 ∪ A 2 ⊢) aj sumand Q(a naopak).20 / 36


AxiomatizáciaTheoremµX (X + E) ∼ µXE. (B1)TheoremµX (τ.X + E) = µX (τ.E). (B2)µX (τ.(X + E) + F ) = µX (τ.X + E + F ). (B3)Vieme, že platíµXE ∼ E[µXE] (B4)Vieme, že platí (ak X je strážené v E)Ak F ∼ E[F /X ] tak F ∼ µXE. (B5)Vieme, že platí (ak X je silne strážené a sériové v E)Ak F = E[F /X ] tak F = µXE. (B6)21 / 36


AxiomatizáciaTheoremA 1 ∪ {B1, B4, B5} tvorí axiomatizáciu silnej bisimulácie pre sériovéprocesy. (aj nekonečné)TheoremA 1 ∪ A 2 ∪ {B2, B3, B4, B6} tvorí axiomatizáciu o-kongruencie presériové procesy. (aj nekonečné)22 / 36


Modálna logikaMajme prechodvý systém (CCS, Act, { x →, x ∈ Act}).DefinitionPL je najmenšia trieda formúl taká, že ak φ, φ i ∈ PL tak ajformuly(i) < x > φ(ii) ¬φ(iii) ∧ i∈I φ i , kde I je indexová množinasú z PL.Ak zobereme v ∧ i∈I φ i za I prázdnu množinu, výslednú formulubudeme označovať tt (true).23 / 36


Modálna logikaNeformálne význam formuly < x > φ:P spĺňa < x > φ ak P vie vykonať akciu x a výsledný proces Qspĺňa φ.φ ≡< x > tt ∧ ¬ < y > ttproces môže vykonať akciu x a nemôže vykonať akciu y.φ ≡< x > (< z > tt ∧ ¬ < y > tt)proces môže vykonať akciu x a po jej vykonaní dosihne stav(proces), ktorý môže vykonať akciu z a nemôže vykonať akciu y.24 / 36


Modálna logikaDefinitionDefinujme reláciu splniteľnosti (|=)medzi CCS a PL:(i) P |=< x > φ ak existuje P ′ také, že P → x P ′ a P ′ |= φ(ii) P |= ¬φ ak P ̸|= φ(iii) P |= ∧ i∈I φ i ak ∀i, i ∈ I , P |= φ iP ≡ a.(b.Nil + c.Nil), Q ≡ a.b.Nil + a.c.Nilφ ≡< a > (< b > tt∧ < c > tt)P |= φQ ̸|= φ25 / 36


Modálna logikaffφ 1 ∧ φ 2∨ i∈I φ iφ 1 ∨ φ 2φ 1 ⇒ φ 2def= ¬ttdef= ∧ i∈{1,2} φ idef= ¬ ∧ i∈I ¬φ idef= ∨ i∈{1,2} φ idef= ¬φ 1 ∨ φ 2< x 1 . . . x n > φ def = < x 1 > · · · < x n > φ[s]φdef = ¬ < s > ¬φ, s ∈ Act ∗[s]ff - proces nemôže vykonať postupnosť akcii s.26 / 36


Modálna logikaTheoremBinárna relácia S ⊆ CCS × CCS je (silná) bisimulácia, iff(P, Q) ∈ S implikuje ∀s, s ∈ Act ∗1) ak P s → P ′ tak existuje Q ′ také, že Q s → Q ′ a platí (P ′ , Q ′ ) ∈ S2) ak Q s → Q ′ tak existuje P ′ také, že P s → P ′ a platí (P ′ , Q ′ ) ∈ SDefinition- P ∼ 0 Q pre každé P, Q (∼ 0 = CCS × CCS)- P ∼ k+1 Q ak ∀s, s ∈ Act ∗1) ak P s → P ′ tak existuje Q ′ také, že Q s → Q ′ a platí P ′ ∼ k Q ′2) ak Q s → Q ′ tak existuje P ′ také, že P s → P ′ a platí P ′ ∼ k Q ′- pre každý limitný ordinál λP ∼ λ Q ak ∀k, k < λ platí P ∼ k Q (∼ λ = ∩ k


Modálna logikaTheoremAk k < l tak ∼ l ⊆∼ k .Theorem∼= ⋂ k∈O ∼ k28 / 36


Modálna logikaTheorem∼ 0 , ∼ 1 , . . . , ∼ ω sú ostro klesajúce.Dôkaz.Ukážeme, že P i ∼ i Q i ale P i ≁ i+1 Q i kdeP 0 ≡ b.Nil, Q 0 ≡ c.NilP i+1 ≡ a.(P i + Q i ), Q i+1 ≡ a.P i + a.Q iDôkaz indukciou.Nech P i ∼ i Q i ale P i ≁ i+1 Q i .P i+1a → Pi + Q i a Q i+1a → Pi alebo Q i+1a → Qiale keďže P i ∼ i Q i mámeP i+1 ∼ i+1 Q i+1teraz ukážeme, že P i+1 ≁ i+2 Q i+1t.j že P i + Q i ≁ i+1 P i a P i + Q i ≁ i+1 Q iAk by ale P i + Q i ∼ i+1 P i a P i + Q i ∼ i+1 Q i tak by sme maliP i ∼ i+1 Q i čo je spor s predpokladom.29 / 36


Modálna logikaTheorem∼ ω ≠∼ ω+1 ak povoĺıme neobmedzené ∑ .Dôkaz.NechR 0R 1R 2R ωdef= ∑0≤i


Modálna logikaNech R ≡ ∑ i


Modálna logikaNech φ ≡< a > [a](< b > tt∧ < c > tt)Potom mámeP 2 |= φaleQ 2 ̸|= φPodobne môžeme rozĺıšiť každé P i a Q i .32 / 36


Modálna logikaUvažujme modifikáciu PL takú, že za základný operátor budemepovažovaž < s > pre s ∈ Act ∗ .Definitiondepth(< s > φ)depth(¬φ)depth(∧ i∈I φ i )def= depth(φ) + 1def= depth(φ)def= sup i∈I {depth(φ i )}Pre každý ordinál k definujeme:PL k = {φ, depth(φ) ≤ k}33 / 36


Modálna logikaTheorem(i) Pre každý ordinál k platíP ∼ k Q iff pre každé φ, φ ∈ PL k , P |= φ ⇔ Q |= φ.(ii) P ∼ Q iff pre každé φ, φ ∈ PL, P |= φ ⇔ Q |= φ.34 / 36


Modálna logikaDôkaz.Stačí ukázať (i) keďže to implikuje (ii).⇒Nech P ∼ k Q a P |= φ pre φ ∈ PL k .Chceme ukázať, že potom Q |= φ.Najzaujímavejší prípad je, keďφ ≡< s > φ ′ a depth(φ) = l, l < k.Potom P → s P ′ pre nejaké P ′ , také, že P ′ |= φ ′ .Z P ∼ k Q plynie P ∼ l+1 Q a tedaQ → s Q ′ pre nejaké Q ′ a P ∼ l Q.Z indukčného predpokladu máme Q ′ |= φ ′ .odkiaľ máme Q |= φ. 35 / 36


Modálna logika⇐Nech P ≁ k Q. potom nájdeme formulu φ, φ ∈ PL k , takú žeP |= φ a Q ̸|= φUvažujme prípad, že k = l + 1.Bez ujmy na všeobecnosti, môžeme predpokladať, že pre nejaké s aP ′ , P s → P ′ a pre každé Q ′ ak Q s → Q ′ tak P ′ ≁ l Q ′ .Nech {Q i , i ∈ I } je množina všetkých s derivátov Q.Potom pre každé i, i ∈ I , P ′ ≁ l Q i .Podľa indukčného predpokladu existujú formule φ i , φ i ∈ PL l také,že P ′ |= φ i a Q i ̸|= φ i .Zoberme φ ≡< s > ∧ i∈I φ i .Ľahhko vidno, že P |= φ a Q ̸|= φ a φ ∈ PL k .Nech k je limitný ordinál. Potom P ≁ l Q pre nejaké l, l < k.Potom podľa indukcie existuje φ, φ ∈ PL l také, že P |= φ a Q ̸|= φale φ ∈ PL k .36 / 36

More magazines by this user
Similar magazines