1 / 16

Dijkstra-féle leggyengébbelőfeltétel-kalkulus

Dijkstra-féle leggyengébbelőfeltétel-kalkulus. [p]C[q]= sp. (C,s,C).n>0. n (C,s,C)(n)q.

conroy
Download Presentation

Dijkstra-féle leggyengébbelőfeltétel-kalkulus

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Dijkstra-féle leggyengébbelőfeltétel-kalkulus

  2. [p]C[q]=sp. (C,s,C).n>0.n(C,s,C)(n)q A definícióból következik, hogy rögzítettCutasítás ésqutófeltétel mellett létezik leggyengébb (legbővebb) pelőfeltétel, amely mellett a totális helyesség még fennáll. Ezt jelöli a következőkben wp: wp: Uts  Felt  Felt weakest precondition wp(C,q) = { s : (C,s,C).n>0.n(C,s,C)(n)q }

  3. A wp függvény alaptulajdonságai: • A csoda kizárásának elve wp(C,) =  • Művelettartás wp(C,q1q2) = wp(C,q1)wp(C,q2) • Monotonitás Ha q1  q2, akkor wp(C,q1)  wp(C,q2)

  4. A wp függvény és az utasítások: • A skip utasítás wp(skip,q) = q • A determinisztikus értékadás wp(X:=E,q) = {s: s(X:=E(s))q} • A nemdeterminisztikus értékadás wp(X:=?,q) = {s: dD.s(X:=d)q}

  5. A wp függvény és az utasítások: • A kompozíció wp((C1;C2), q) = wp(C1,wp(C2,q)) • A determinisztikus szelekció wp((BC1C2), q) = (Bwp(C1,q))(Bwp(C2,q)) • A nemdeterminisztikus szelekció wp((B1C1 B2C2), q) = (B1B2)(B1wp(C1,q))(B2wp(C2,q))

  6. A wp függvény és az utasítások: • Az iteráció Feltételezés: (B*C) nemdeterminizmusa véges. wp((B*C),q) =lkfp(p.((Bq)  (Bwp(C,p)))) • Ez megegyezik a p-re vonatkozó alábbi egyenlet legszűkebb megoldásával: p = (Bq)  (Bwp(C,p)) • Ennek megoldása: • p0 = Bq, pi+1 = p0  (Bwp(C,pi)) • wp((B*C),q) = i0 pi

  7. {p}C{q} = ((pS)  C)  (Sq) A definícióból következik, hogy rögzítettCutasítás ésqutófeltétel mellett létezik leggyengébb (legbővebb) pelőfeltétel, amely mellett a parciális (az eredménytelen végrehajtást is megengedő) helyesség még fennáll. Ezt jelöli a következőkben wlp: wlp: Uts  Felt  Felt weakest liberal precondition wlp(C,q) = { s : s'S. (s,s'C  s'q) }

  8. A wlp függvény alaptulajdonságai: • wlp(C,S) = S • Művelettartás wlp(C,q1q2) = wlp(C,q1)  wlp(C,q2) • Monotonitás Ha q1  q2, akkor wlp(C,q1)  wlp(C,q2)

  9. A wlp függvény és az utasítások: • A skip utasítás wlp(skip,q) = q • A determinisztikus értékadás wlp(X:=E,q) = {s: s(X:=E(s))q} • A nemdeterminisztikus értékadás wlp(X:=?,q) = {s: dD.s(X:=d)q}

  10. A wlp függvény és az utasítások: • A kompozíció wlp((C1;C2), q) = wlp(C1,wlp(C2,q)) • A determinisztikus szelekció wlp((BC1C2), q) = (Bwlp(C1,q))(Bwlp(C2,q)) • A nemdeterminisztikus szelekció wlp((B1C1 B2C2), q) = (B1wlp(C1,q))(B2wlp(C2,q))

  11. A wlp függvény és az utasítások: • Az iteráció wlp((B*C),q) =lnfp(p.((Bq)  (Bwlp(C,p)))) • Ez megegyezik a p-re vonatkozó alábbi egyenlet legbővebb megoldásával: p = (Bq)  (Bwlp(C,p)) • Ennek megoldása: • p0 = (Bq)  B, pi+1 = (Bq)  (Bwlp(C,pi)) • wlp((B*C),q) =  i0 pi

  12. {p}C{q} = ((pS)  C)  (Sq) A definícióból következik, hogy rögzítettCutasítás éspelőfeltétel mellett létezik legerősebb (legszűkebb) qutófeltétel, amely mellett a parciális (az eredménytelen végrehajtást is megengedő) helyesség még fennáll. Ezt jelöli a következőkben slp: slp: Felt Uts  Felt strongest liberal postcondition slp(p,C) = { s : s'p. s',sC }

  13. Az slp függvény alaptulajdonságai: • slp(,C) =  • Művelettartás slp(p1 p2 ,C,) = slp(p1,C)  slp(p2,C) • Monotonitás Ha p1  p2, akkor slp(p1,C)  slp(p2,C)

  14. Az slp függvény és az utasítások: • A skip utasítás slp(p, skip) = p • A determinisztikus értékadás slp(p, X:=E) = {s(X:=E(s)): sp} • A nemdeterminisztikus értékadás slp(p, X:=?) = {s: dD. s(X:=d)p}(d itt az X eredeti tartalma)

  15. Az slp függvény és az utasítások: • A kompozíció slp(p, (C1;C2)) = slp( slp(p, C1), C2) • A determinisztikus szelekció slp(p, (BC1C2)) = slp(pB, C1)  slp(pB, C2) • A nemdeterminisztikus szelekció slp(p, (B1C1 B2C2)) = slp(pB1, C1)  slp(pB2, C2)

  16. Az slp függvény és az utasítások: • Az iteráció slp(p,(B*C)) =lkfp(q. (pslp(qB,C)))B • Ez megegyezik a q-ra vonatkozó alábbi egyenlet legszűkebb megoldásával: q = p  slp((qB), C) • Ennek megoldása: • q 0 = p, q i+1 = slp((q iB), C) • slp(p, B*C) = ( i0 q i)  B

More Related