1 / 42

Formaalne verifitseerimine: mudelikontroll

Mudelikontroll on tehnika omaduste kontrolliks. Formaalne verifitseerimine: mudelikontroll. M udelikontroll. Kui v õrreldavad skeemid on järjestik-skeemid ja olekute vastavus pole teada, siis ei tule ekvivalentsuskontroll kõne alla

marcel
Download Presentation

Formaalne verifitseerimine: mudelikontroll

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. Mudelikontroll on tehnika omaduste kontrolliks Formaalne verifitseerimine: mudelikontroll Digitaalsüsteemide verifitseerimise kursus

  2. Mudelikontroll • Kui võrreldavad skeemid on järjestik-skeemid ja olekute vastavus pole teada, siis ei tule ekvivalentsuskontroll kõne alla • Mudelikontroll käib läbi kogu olekuruumi (piiratud või piiramatu), et kontrollida, kas skeem vastab mingile omadusele • Mudelikontrolli on tarvis kui verifitseeritakse mittetäielikke ja abstratseid spetsifikatsioone Digitaalsüsteemide verifitseerimise kursus

  3. Omaduste liigid • Ohutuse omadus (safety property) ütleb, et mingi soovimatu nähtus ei tohi esineda • Eluline omadus (liveness property) ütleb, et mingid vajalikud tingimused peavad kehtima • Õigluse omadus (fairness property) ütleb, et mingid olekud läbitakse korduvalt Digitaalsüsteemide verifitseerimise kursus

  4. Omadused automaadina Vaatleme, kuidas suhtlevad TLC ja omaduste automaat kui omadusteks on: • Põhja-lõuna suunalisel liiklusel on erinev tuli kui ida-lääne suunalisel • Valgusfoor peab järgima tsüklit R,G,Y,R,G,Y.... Digitaalsüsteemide verifitseerimise kursus

  5. Omadused automaadina Digitaalsüsteemide verifitseerimise kursus

  6. Temporaalstruktuur ja arvutuspuud • Omaduste automaadi kasutamine on üldjuhul väga kohmakas • Seepärast kasutatakse teisi lähenemisi: temporaalloogikat, arvutuspuid, Kripke struktuure jt. Digitaalsüsteemide verifitseerimise kursus

  7. Temporaalstruktuur ja arvutuspuud • Olekudiagramm ja olekujada Digitaalsüsteemide verifitseerimise kursus

  8. Temporaalstruktuur ja arvutuspuud • Atomaadi üleminekute puu Digitaalsüsteemide verifitseerimise kursus

  9. Kripke struktuuride süntees • Jaga olekusse sisenevad üleminekud sisendväärtuste järgi gruppidest • Loo iga grupi jaoks olek • Märgi olek tõeste sisendbittidega ja olekubittidega • Kustuta sisendite väärtused kaartelt Digitaalsüsteemide verifitseerimise kursus

  10. Kripke struktuuride süntees Digitaalsüsteemide verifitseerimise kursus

  11. Kripke struktuuride süntees Digitaalsüsteemide verifitseerimise kursus

  12. Kripke struktuurid: arvutuspuu Digitaalsüsteemide verifitseerimise kursus

  13. Temporaal-loogika • Vaatleme kolme loogikat: • LTL (linear temporal logic), • CTL (computation tree logic) ja • CTL* • Temporaal-loogikas kaht tüüpi valemeid: oleku valemid ja tee valemid Digitaalsüsteemide verifitseerimise kursus

  14. Temporaal-loogika: LTL • LTL vaatleb ühte teed • 2 temporaaloperatsiooni: X(neXt) ja U(Until) • LTL-i valemid: • iga Boole’i muutuja on LTL valem • kui f ja g on LTL valemid, siis ~f ja f+g on LTL valemid • kui f ja g on LTL valemid, siis fUg ja Xg on LTL valemid Digitaalsüsteemide verifitseerimise kursus

  15. Temporaal-loogika: LTL • Saab tuletada keerulisemaid operatsioone nagu: • Fg = TRUE U g, s.t. g saab kunagi tõeseks • Gf = ~(F~f), s.t. f on alati (globally) tõene • fRg = ~(~f U ~g), s.t. f peab olema väär kuni g saab tõeseks (Release operatsioon) Digitaalsüsteemide verifitseerimise kursus

  16. Temporaal-loogika: LTL Digitaalsüsteemide verifitseerimise kursus

  17. Temporaal-loogika: CTL, CTL* • Vaatleme hargnemistega aja mudelit, kus on paralleelselt mitu teed (vt. arvutuspuu!) • CTL kasutab samu temporaaltehteid kui LTL, kuid lisab kvantorid A (kõigi teede jaoks) ja E (eksisteerib tee) • CTL* on võimsam CTL-st, kuna lubab tehteid tee valemitega • CTL on seevastu lihtsam verifitseerida Digitaalsüsteemide verifitseerimise kursus

  18. Temporaal-loogika: CTL • CTL-s kaheksa operaatorit: AX,EX,AG,EG,AF,EF,AU ja EU • Nende kirjeldamiseks piisab vaid kolmest: EX,EG ja EU AXf = ~EX(~f) AF(f) = ~EG(~f) AG(f) = ~EF(~f) EF(f) = E( TRUE U f) A(fUg) = (~E(~gU(~f)(~g)))(~EG(~g)) Digitaalsüsteemide verifitseerimise kursus

  19. Temporaal-loogika: CTL • Operatsioon AX(f): Digitaalsüsteemide verifitseerimise kursus

  20. Temporaal-loogika: CTL • Operatsioon EX(f): Digitaalsüsteemide verifitseerimise kursus

  21. Temporaal-loogika: CTL • Operatsioon AG(f): Digitaalsüsteemide verifitseerimise kursus

  22. Temporaal-loogika: CTL • Operatsioon EG(f): Digitaalsüsteemide verifitseerimise kursus

  23. Temporaal-loogika: CTL • Operatsioon AF(f): Digitaalsüsteemide verifitseerimise kursus

  24. Temporaal-loogika: CTL • Operatsioon EF(f): Digitaalsüsteemide verifitseerimise kursus

  25. Temporaal-loogika: CTL • Operatsioon A(fUg): Digitaalsüsteemide verifitseerimise kursus

  26. Temporaal-loogika: CTL • Operatsioon E(fUg): Digitaalsüsteemide verifitseerimise kursus

  27. LTL, CTL ja CTL* väljenduslikkus Digitaalsüsteemide verifitseerimise kursus

  28. Temporaal-loogika: System Verilog Assertions • Väidete loengus vaadeldud System Verilog Assertions on ka temporaalne keel! Digitaalsüsteemide verifitseerimise kursus

  29. Omadusekontroll automaatides • Kirjeldame omadused automaadina nii, et teatud olekud kirjeldavad omaduse tõesust (või selle mittekehtimist) • Kombineerime skeemi automaadi ja omaduse automaadi • Omadus kehtib ainult siis kui tõesuse olek on saavutatav (mittekehtimise olekud pole saavutatavad) Digitaalsüsteemide verifitseerimise kursus

  30. Omadusekontroll automaatides: täringumängu näide • A ja B viskavad täringuid. Kui A saab rohkem silmasid, siis A skoor kasvab 1 võrra, kui skoor ei ole 2. Kui on 2, siis läheb nulli tagasi. • Siis ka B skoor väheneb 1 võrra, kui pole 0. • Kui B saab rohkem silmasid, siis samad reeglid, kuid A ja B vahetatud. • Kui A, B silmad võrdsed, siis seis ei muutu Digitaalsüsteemide verifitseerimise kursus

  31. Omadusekontroll automaatides: täringumängu näide • Kontrollime kahte omadust: • Kas seis võib jääda viiki 1:1? • Kas seis võib jääda viiki 2:2? Digitaalsüsteemide verifitseerimise kursus

  32. Omadusekontroll automaatides: täringumängu näide Digitaalsüsteemide verifitseerimise kursus

  33. Omadusekontroll automaatides: täringumängu näide Digitaalsüsteemide verifitseerimise kursus

  34. Keelte sisalduvus: ω-automaat • ω-automaat võtab vastu (kinnitab) lõpmatuid jadasid • E on kinnitav kaar • Jada 0 101 101 ... kinnitatakse, sest ta läbib E lõpmatu palju kordi • Jadad 001111111111... ja 0 1000 1000 1000 ei kinnitata Digitaalsüsteemide verifitseerimise kursus

  35. Keelte sisalduvus: ω-automaat • ω-automaadi poolt kinnitatud jadad on automaadi keel • Abstraktsem versioon süsteemist on omadus (property, P), detailsem on realisatsioon (design D) • D vastab abstraktsema P spetsifikatsioonile kui iga D kinnitatud jada on kinnitatud ka P poolt, s.t. L(D)  L(P) Digitaalsüsteemide verifitseerimise kursus

  36. Keelte sisalduvus verifitseerimisel • Verifitseerime: kas L(D)  L(P)? • Konstrueerime omaduse automaadi P täiendautomaadi ¬P • Kombineerime automaadid: D ׬P • L(D)  L(P), siis kui L(D ׬P) = Ø Digitaalsüsteemide verifitseerimise kursus

  37. Keelte sisalduvus verifitseerimisel Digitaalsüsteemide verifitseerimise kursus

  38. Sümbolarvutus ja mudelikontroll • Eelnevas kirjeldatud graafialgoritmid töötasid automaatidel ja Kripke struktuuridel • Need ei ole rakendatavad suurte skeemide jaoks, sest skeemis, milles 100 trigerit on 2100 olekut... • Sümbolarvutuses teisendame graafide läbimise Boole’i funktsioonideks ja operatsioonideks – saame vaadelda suuremaid skeeme Digitaalsüsteemide verifitseerimise kursus

  39. Sümbolarvutus ja mudelikontroll • Olekute läbimine edasisuunas: Digitaalsüsteemide verifitseerimise kursus

  40. Kontranäite genereerimine • Viime läbi sümbolarvutust edasisuunas, kuni jõuame keelatud olekuni • Nüüd liigume keelatud olekust tagasi, kasutades jällegi sümbolarvutust • Tagasiliikudes kitsendame eelnevate olekute hulkade arvutust edasiliikudes läbitud hulkadega • Vajalik, et tagada algolekusse jõudmise! Digitaalsüsteemide verifitseerimise kursus

  41. Kontranäite genereerimine Digitaalsüsteemide verifitseerimise kursus

  42. Järjestikskeemide ekvivalents • Kuidas kontrollida ekvivalentsust skeemide puhul, kui nende olekud pole 1:1 vastavuses? • Tuleb uurida, ega kombineeritud skeemi ükski olek, mille väljundfun. = 1 ei ole saavutatav Digitaalsüsteemide verifitseerimise kursus

More Related